Я пытался заставить Time Machine снова работать на моем OS X 10.7 (Lion) iMac и удаленном диске на базовой станции аэропорта, и единственным работающим решением было переименование моего файла .sparsebundle на жестком диске в «INVALID». sparsebundle ", чтобы он начался заново на этом томе.

Резервная копия .sparsebundle (которая на самом деле представляет собой папку, полную файлов) имеет размер около 400 ГБ. Я попробовал эту команду этим утром в 8 часов утра, а в 18:30 она все еще не выполнена:

sudo rm -rf INVALID.sparsebundle

Есть ли способ узнать, почему он висит или что делает? В командных строках Mac OS X возможны всевозможные хитрые трюки, и даже с использованием некоторых приятных графических инструментов OS X, возможно, включающих использование отладчика GCC, или dtrace, или, возможно, даже какой-то процесс мониторинга ядра, который может сказать мне, что вызов функции или системный вызов в настоящее время выполняется.

Я могу найти PID для команды rm:

$ ps aux |grep "rm -rf"

root             392   0.0  0.3  2454248  20232 s001  U+    9:08am   0:12.04 rm -rf /Volumes/Backup3tb/INVALID.sparsebundle

Могу ли я что-нибудь сделать, чтобы узнать, чем сейчас занимается PID 392 и действительно ли он завис или нет? (Я собираюсь оставить его на ночь, и после 24 часов безответной работы я рассмотрю его отмену, и если я это сделаю, я просто отформатирую этот том.)

Я попробовал iosnoop, вот так:

$ sudo iosnoop -p 392
  UID   PID D    BLOCK   SIZE       COMM PATHNAME

Это ничего не показывает мне. Я подозреваю, что это означает, что процесс хорошо и действительно что-то повесил?

2 ответа2

1

К счастью, .sparsebundle - это фактически иерархия каталогов, заполненная 8-мегабайтными "полосовыми файлами". Если вы перейдете в эту иерархию каталогов и посмотрите, возможно, вы увидите, удаляются ли какие-либо файлы. Если вы хотите сделать это из Finder, используйте опцию контекстного меню, чтобы "Показать содержимое пакета" при щелчке правой кнопкой мыши на .sparsebundle.

Я полагаю, что Time Machine использует .sparsebundle только при резервном копировании на удаленный сервер AFP, такой как Time Capsule или Mac OS X Server (или "клиент" Mac OS X с включенным общим доступом к файлам или netatalk на Unix, так далее). Таким образом, вы можете испытывать медленную работу сети или сервера; это не может быть проблемой с вашей локальной машиной. Если это возможно, попробуйте перезагрузить сервер AFP, а затем перезапустите процесс удаления.

Для локального USB-накопителя Time Machine обычно требуется выделенный раздел для резервного копирования, и он грамотно использует жесткие ссылки файловой системы, чтобы отслеживать, какие файлы остаются неизменными от резервного копирования до резервного копирования. Ваш вопрос звучит так, как будто это локальный USB-накопитель, поэтому тот факт, что вы говорите о .sparsebundle, удивил меня. Раньше он был подключен к удаленному серверу AFP, но теперь он локальный или что-то?

0

Я обнаружил, что системный монитор в Mac OS имеет удобную функцию, называемую Sample Process, которая позволяет мне увидеть, выполняет ли он что-либо или зависает.

Обнаружив, возможно, зависший процесс и выбрав его, я могу видеть, какие функции выполняются (если есть). Если я ничего не получу, справедливо предположить, что процесс завис.

Обратите внимание, что при удалении .sparsebundle по сетевому протоколу Apple (AFP), например при подключении компьютера Mac к удаленному сетевому диску на экстремальной базовой станции Airport и удалении резервной копии в сетевом режиме, созданной Time-Machine, надежно зависает "/bin/rm "утилита командной строки darwin/bsd rm для меня.

Я также обнаружил, что Time Machine повредит .sparsebundles, когда они станут очень большими, в моем случае, более 600 ГБ в моей системе. Я могу надежно использовать Time Machine либо (а) без подключения к сети, либо (б), если общий размер резервной копии остается ниже 500 ГБ.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .