0

First off: I'm a Linux Admin, but have to do a few MacOS things around the place (had very little exposure to it previously).

One of the tasks I have is to take a backup-copy of a 10TB Promise Pegasus2 array attached to a mac-mini running el capitan 10.11.4.

I'm root on the mac (sudo -i from admin account).

I'm trying to rsync the data from the array to a backup server with ample storage (a Linux box). All went swimmingly till the process hit a certain 52MB file - on that one it just "sticks". No timeout, no error, nothing.

The perms/flags look like this:

ls -leO@  CCCBB15A-5DA6-433F-BD37-001CB6151E08.key
-r--r--r--@ 1 user  staff  compressed 54994229 17 Sep  2015 CCCBB15A-5DA6-433F-BD37-001CB6151E08.key
    com.apple.finder.copy.source.checksum#N        4 
    com.apple.genstore.info       91 
    com.apple.genstore.orig_perms_v1           1 
    com.apple.genstore.origdisplayname        31 
    com.apple.genstore.origposixname          31 
    com.apple.iwork.documentUUID#PS       16 
    com.apple.metadata:_kTimeMachineNewestSnapshot        50 
    com.apple.metadata:_kTimeMachineOldestSnapshot        50 
    com.apple.quarantine          22 
 0: group:everyone deny write,delete,append,writeattr,writeextattr,chown

Which of these are responsible for root being "stuck"? :)

And, more importantly, what do I need to do to make it "unstuck"?

Edit1: And this is what it does (indefinitely, by the looks of it) ... used dtruss.

stat64("Backups.backupdb/Chiltepin/2016-01-22-164610/Macintosh HD/.DocumentRevisions-V100/PerUID/502/24c/com.apple.documentVersions/805FC10B-F41B-4825-A0EB-41BE7505E79B.key/preview-micro.jpg\0", 0x7FFF5DEF6A08, 0x1000)       = 0 0
lstat64("Backups.backupdb/Chiltepin/2016-01-22-164610/Macintosh HD/.DocumentRevisions-V100/PerUID/502/24c/com.apple.documentVersions/805FC10B-F41B-4825-A0EB-41BE7505E79B.key/preview-web.jpg\0", 0x0, 0x0)      = 0 0
read(0x3, "\0", 0x40000)         = 262144 0
read(0x3, "\0", 0x40000)         = 262144 0
read(0x3, "\0", 0x40000)         = 262144 0
read(0x3, "\0", 0x40000)         = 262144 0
read(0x3, "\0", 0x40000)         = 262144 0
read(0x3, "\0", 0x40000)         = 262144 0
read(0x3, "\0", 0x40000)         = 262144 0
read(0x3, "\0", 0x40000)         = 262144 0
read(0x3, "\0", 0x40000)         = 262144 0
read(0x3, "\0", 0x40000)         = 262144 0
read(0x3, "\0", 0x40000)         = 262144 0
read(0x3, "\0", 0x40000)         = 262144 0

Not a fast rate, mind you, looks like it tries once every 15 seconds.

Edit2: The saga continues. I tried bsdtar & gnu tar (installed via homebrew) to generate a local tar ball of the volumes on the Promise array. Those processes, too, just get stuck, typically on files within Backups.backupdb which seem to be TimeMachine data? It's always a file with the extension .key. Is there ANY way at all to copy these? I assume it's a privilege thing as Disk Utility -> First Aid showed no problems with the file-system.

Edit3: I still don't understand why a simple cp of the files that are acting up w/ any other means works, but that seems to be the status quo. Creating an image of the device in question seems to have worked, too. I am not confident that //restoring// from that image will work, though ... sigh

  • have you tried dtrace on the Reyna to see what says all it is hanging on? – skarface Apr 5 '16 at 3:24
  • @skarface: thanks for the input; will look at dtrace. What's the Reyna? – tink Apr 5 '16 at 3:34
  • it is autocorrect from my phone that I didn't catch. I meant dtrace on the rsync ... apologies. – skarface Apr 5 '16 at 13:13
  • thanks @skarface. that makes sense :) I'm now leaning towards rebooting and disabling the SIP features, the trace tells me nothing about why the read just (re?-)tries every 15 seconds and never gets success or failure. – tink Apr 6 '16 at 1:08
1

I'm not an expert by any means, but when I use rsync I use the flags -vaE --progress. I believe one of those flags (I don't remember which) allows you to copy files which may be corrupt and which the GUI (Finder) copy will get hung up on. So the syntax I use is:

$ sudo rsync -vaE --progress [source path] [destination path]

I'd try using one or more of those flags in the command. Let me know if this helps you at all.

  • Thanks for the input, but the flags aren't that different from -av I usually use, and adding the -E to preserve executability doesn't impact on the process at all. It still stalls. – tink Apr 6 '16 at 1:06
  • "ditto" better over "cp/rsync" with OSX stackoverflow.com/a/160268 – Denis Denisov Sep 22 '16 at 19:55

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .