Чи є швидший спосіб копіювання файлів машини часу з одного диска на інший?


15

Я намагаюся перемістити файли резервного копіювання моєї машини часу під Backups.backupdb на інший диск. Я ініціював копію файлу протягом ночі (б / с я побачив, що для підготовки до копії вічно знадобився OSX ... він в основному рахував файли годинами). Вранці я побачив, що копіюються лише певні резервні копії (папки з датами). Потім я спробував скопіювати те, що не було скопійовано ... але ОС не дозволила мені це зробити. У мене з’явилася помилка, що "Операцію неможливо завершити, оскільки елементи резервного копіювання неможливо змінити". Тож мій план - видалити неповну копію на новому диску, а потім спробувати скопіювати знову папку Backups.backupdb.

Досить засмучує. Чи є більш швидкий спосіб скопіювати ці файли за допомогою команди терміналу, щоб він не виконував підрахунок усіх файлів, які підготовлені?

Я, ймовірно, можу налаштувати всю папку, а потім зробити копію, але чи буде це заважати будь-якому дозволу на файл тощо? Єдине, що при такому підході - це те, що у мого вихідного об'єму для дьогтю немає більше місця.

ОНОВЛЕННЯ

Я спробував деякі методи, які люди запропонували нижче, зокрема, використовуючи функцію відновлення Disk Utility, і це дає мені кілька повідомлень про помилки та несподівані результати (принаймні для мене). Я намагався відновити два способи:

  • Якщо встановлено прапорець "Стерти призначення": Кожного разу (я двічі намагався), коли відновлення закінчилося, я бачу повідомлення "Не вдалося відновити - Недійсна операція" та "Не вдалося відновити - Недійсний аргумент". Однак мій диск отримує копію файлів ТМ. Дивна річ у тому, що мій цільовий диск ТОЧНО, як мій вихідний диск ... навіть розмір. Мій цільовий диск насправді становить 1 ТБ, але після відновлення він показує 200 ГБ, коли я отримую інформацію від пошуку. Але в Disk Utility він показує розділ на 1 ТБ!

Потім я спробував перевірити / відновити диск і отримав:

    Недійсний розмір вузла B-дерева
    Перевірка розміщеної гучності HFS Plus.
    Недійсний розмір вузла B-дерева
    Об'ємний ремонт завершено.
    Оновлення розділів підтримки завантажувача на необхідний об'єм.
    Помилка: Disk Utility не може відновити цей диск. Створіть резервну копію якомога більшої кількості файлів, переформатуйте диск та відновіть резервні файли.

Не знаю, чи я навіть припускаю перевірити / відремонтувати диск TM ...

  • Поле "Стерти призначення" не встановлено: Відновлення ніколи не починається, і я отримую:
    Не вдалося відновити - Операція заборонена


2
Я думаю, що це добре відповідає - інше питання стосується навантаження на IO копіювання жорстких посилань, але загорнене в мережу та корпус капсули, тому це особливий випадок загальної проблеми, яку тут задають.
bmike

Якщо ви можете оновити до MacOS 10.13.4+, виправлено помилку, яка запобігла копіюванню псевдонімів / жорстких посилань у Finder. Я сам спробував скопіювати резервний диск Time Machine на інший, і він відмінно працював (і це було досить швидко). Більше інформації тут: apple.stackexchange.com/a/323691/261070 .
youngrrrr

Відповіді:


13

Звичайна копія (або копія за допомогою rsync або ditto) не буде повторювати машину часу повністю, оскільки вона перетворить два каталоги, пов'язані між собою (як це відбувається у послідовних резервних копіях TM без зміни між), у два окремі каталоги.

Найкращий спосіб - скопіювати весь диск за допомогою утиліти диска або блок-копії частини Carbon Copy Cloner і, можливо, подібного на SuperDuper .


1
На сторінці "ditto man": "ditto зберігає жорсткі посилання файлів (але не жорсткі посилання), що містяться у вихідних каталогах", тому тут ніякої допомоги. Це або Disk Utility або такий інструмент, як SuperDuper або CCC.
nohillside

@patrix Спасибі - сторінка веб-сторінки про це нічого не говорить - CCC використовує ditto або rsync для копіювання, тому це зробиться
kb/

Мій диск містить лише резервну копію Time Machine. Мій цільовий диск містить інші файли. Я не хочу клонувати свій вихідний диск. Я просто хочу скопіювати файли Time Machine на диск призначення.
milesmeow

3
Після багатьох спроб скопіювати мої файли TM на новий диск, Disk Utility та Carbon Copy Cloner обидва НЕ зробили фокус. SuperDuper зробив це ідеально під час першого запуску і не зменшив розмір мого пункту призначення!
миль

2
Ще один голос за SuperDuper! тут. v3.2.4 успішно скопіював велику папку резервного копіювання Time Machine на новий диск під macOS 10.14.2 Mojave, не займаючи більше місця. (Що Finder не міг зробити ...) Time Machine із задоволенням продовжує використовувати новий диск, ніби це був старий.
gidds

5

Мігруючи повний зашифрований накопичувач 3TB Time Machine на новий 8TB на macOS 10.14, я зіткнувся з усілякими проблемами. При спробі зробити відновлення в Disk Utility помилилися з "не в змозі перевірити джерело" або "Операція не дозволена". Спробувавши деякі інші пропозиції в цій публікації та інших, я зміг отримати нові захоплюючі повідомлення про помилки, наприклад, "Каталог файлів на зображенні / обсязі занадто сильно фрагментований", але жодної копії.

Що працювало врешті-решт, у терміналі:

  1. Стерти новий диск за допомогою утиліти Disk Utility, що відповідає формату вихідного диска: MacOS Extended (Journaled, Encrypted)
  2. Використання diskutil cs listв терміналі , щоб отримати точний розмір в байтах логічного тому на старому диску, і GUID нового логічного тому, а також номери дисків для обох, наприклад, disk4.
  3. Використовуйте точний розмір байту з кроку 2 як розмір нового тома. У моєму випадку з 3TB накопичувачем це було 2,999,772,905,472 байтів:

    sudo diskutil cs resizeVolume $new_lv_guid 2999772905472
    
  4. За допомогою pvкоманди з домашньої мови зробіть блокову копію на низькому рівні дисками. Це дуже схоже на використання dd, за винятком того, що ви отримуєте метр прогресу за допомогою ETA.

    Вам потрібно отримати номери дисків з diskutil cs listвиводу. Будь обережний. Тут дуже просто випадково перезаписати повний накопичувач із новим порожнім.

    sudo sh -c "$(which pv) --buffer-size 50M -s 2999772905472 < /dev/rdisk${source} > /dev/rdisk${target}"
    

    Якщо ви отримали відмову в дозволі / помилка експлуатації тут не дозволена, увійдіть у розділ Налаштування безпеки та конфіденційності та додайте повний диск для Terminal.app.

    Для мене це зайняло близько 10 годин - я дав йому працювати протягом ночі - але, pvпринаймні, ви отримаєте метр прогресу з еталоном.

  5. Тепер розгорніть гучність, щоб зайняти весь залишок місця на диску:

    sudo diskutil cs resizeVolume $new_lv_guid 0
    

    Для мене це зайняло ~ 3 години, із резервними копіями приблизно 5 років. Більшу частину цього часу витрачав macOS fscking.

Тепер ви можете насолоджуватися своїм новим, просторішим приводом Time Machine. Ви можете перевстановити старий або зберегти його кудись у безпечному випадку, якщо щось станеться з новим накопичувачем.


Етапи зміни розміру здаються важливими; пропуск їх призвів до 10-годинної копії файлу, яка дала об'єм 8 ТБ, що містить файлову систему 3 ТБ, і я не міг зрозуміти, як змінити розмір.


ОНОВЛЕННЯ Одним із можливих недоліків цього підходу є те, що оскільки це бітова копія, ідентифікатори однакові між старим і новим диском. Якщо я підключую старий повний диск, Time Machine думає, що це новий диск, намагається створити резервну копію та починає видаляти старі резервні копії, щоб звільнити місце для нових. Це здається прекрасним підходом до переміщення даних на більший диск, де старий менший диск буде потім стертий.


Привіт, Ендрю! Дякуємо, що знайшли час для введення цього покрокового посібника (і я сподіваюся використовувати його для передачі моєї резервної копії 1 Тб на диск 4 ТБ, яка досі не була успішною, оскільки папки та файли, скопійовані Finder займають набагато більше місця на новому диску, ніж на оригінальному). Моє запитання до вас: чи можу я зробити ці кроки без cs включеного основного зберігання? Увімкнення основного сховища представляється потенційно непотрібним ПДФА , але це може знадобитися через крок 3.
Керівництво.

@MichaelDautermann Core Storage необхідний для FileVault, що вкрай рекомендується для накопичувачів резервних копій, щоб захистити вашу конфіденційність у випадках втрати, крадіжки або неналежного розпорядження.
andrew

Хочу додати, що мені не вдалося скопіювати згаданий метод. Причиною було те, що система підказала, що ця "операція заборонена". Після короткого пошуку я виявив, що мені потрібно вимкнути всі функції SIP. Це можна зробити, перезапустивши macOS, утримуючи команду + R та відкрити термінал. Тут вам потрібно відключити, ввівши "csrutil disabled". При наступному перезапуску мені вдалося скопіювати резервну копію TM
Олівер Келер

@andrew моя версія 10.14.6, і я повністю розумію ризик, який ви згадали. Однак я не зміг здійснити резервне копіювання часу або зберегти резервну копію свого TimeMachine - резервного копіювання без відключення SIP. Якщо є інший спосіб, я би радий почути.
Олівер Келер

Я продовжую отримувати "pv: не вдалося записати: помилка вводу / виводу" на рівні 99% (через 30 годин, 3 спроби - так реально 90 годин). Диски відключені. Функції SIP вимкнено. Помилка Googling нічого не придумає. Схожа на початкову ситуацію (3 ТБ -> 8 ТБ). sudo sh -c "$(which pv) --buffer-size 50M -s 3000249008128 < /dev/rdisk3 > /dev/rdisk5"- 8 Тб був раніше успішно зміненийResized Core Storage Logical Volume to 3,000,249,008,128 bytes
кс

2

Чому б просто не використовувати термінал:

cp -RnpP Backups.backupdb
  • -R рекурсивний
  • -n не перезаписувати (якщо наявні залишки копії залишаються від попередньої спроби)
  • -p зберегти ACL, дозволи, дати створення / моди тощо.
  • -P зберігайте жорсткі посилання, не слідкуйте за будь-якими твердими або посиланнями.

Це не правда. Читайте man cpдля macOS. Звичайна cpкоманда, що постачається з macOS , не копіює жорсткі посилання з -P. На головній сторінці фактично написано "Зауважте, що cp копіює жорсткі файли як окремі файли. Якщо вам потрібно зберегти жорсткі посилання, подумайте про використання замість tar (1), cpio (1) або pax (1)."
chmac

0

Ця відповідь не буде виконана швидше, але я знайшов, що це спосіб копіювати дані належним чином, зберігаючи дедублювання (жорсткі посилання) та дозволи. Як додатковий бонус, я використовую це, щоб зробити стислий dmg кінцевого продукту для архівації.

  1. За допомогою дискових утиліт зробіть зображення диска, яке перевищує ваш каталог Backups.backupdb. Я б також запропонував використовувати образ розрідженого диска в комплекті для формату зображення та жорсткого диска для розділів. Після монтажу цього зображення, одержуйте інформацію про нього та зніміть виділення Ігнорувати право власності на цей том.

  2. Тепер вимкніть Time Machine і скопіюйте папку Backups.backupdb за допомогою пошуку, щоб приєднати зображення. Шукач попросить супердозволених користувачів на копіювання даних. Напійся чи зайняйся чимось іншим.

  3. Коли копія закінчена, переконайтеся, що все в порядку, і зніміть зображення. У програмі Disk Utility виберіть Конвертувати та перетворіть розріджене зображення в стиснене зображення. Знову ж, це може зайняти деякий час.

Ви повинні створити дві копії резервної копії Time Machine, ви можете видалити розріджену версію пакету та вчасно поставити dmg у безпечне місце як архів.

Одне, що я не намагався з цим - це відновлення системи з dmg, але я підозрюю, що це повинно працювати, моя мета була більше для архівації поступових змін машини машини та збереження структури жорсткої зв'язку.

Я також спробував rsync і cp, але, схоже, вони не зберігають жорстку структуру посилань, яка в кінцевому підсумку зробить х разів більшим за розмір, x - кількість дат, які ви мали в минулому. Цей метод спрацював добре, але знову може не набрати швидкість рішення блокової копії.


0

Apple має офіційний підручник з цього питання: " Машина часу: Як перенести резервні копії з поточного накопичувача на новий накопичувач ".

Кроки на високому рівні з цієї сторінки:

  1. Перевірте формат нового накопичувача
  2. Встановіть дозволи на новому резервному диску
  3. Тимчасово вимкніть машину часу
  4. Скопіюйте резервні дані з оригінального диска на новий диск
  5. Встановіть машину часу для використання нового диска

Ось як сторінка рекомендує виконувати крок копіювання:

Скопіюйте резервні дані з оригінального диска на новий диск

  1. Відкрийте нове вікно Finder. На бічній панелі Finder натисніть значок оригінального диска резервного копіювання.
  2. Відкрийте нове вікно Finder. На бічній панелі Finder натисніть значок нового диска резервного копіювання.
  3. Перетягніть папку "Backups.backupdb" з оригінального диска резервного копіювання до верхнього рівня нового накопичувача.
  4. Введіть ім’я та пароль адміністратора, а потім натисніть кнопку ОК, щоб розпочати процес копіювання.

Копіювання даних резервної копії може зайняти деякий час, залежно від розміру резервної копії.


5
Я, наприклад, дивлюсь на це питання, оскільки після цього підручника (який пропонує скопіювати папку резервного копіювання за допомогою Finder) і залишити її працювати протягом ночі, він закінчився певним випуском дозволу, скопійованим приблизно 500/940 ГБ. Тоді я робив sudo rsyncминулу ніч, але сьогодні вранці знайшов, ERROR: out of memory in flist_expand [sender]і моя копія зараз ~ 600 Гб. Я не вирішив, що робити далі, але підозрюю, що більшість людей, які читають, уже знають офіційний підручник.
PeterT

@PeterT Я щойно спробував tuto теж отримав те саме питання, що і ти. Я не впевнений, що хтось знав про підручник, інакше хтось би згадав про це тут і результат за ним. Тепер люди знають, що не варто намагатися.
Девід Андреолетті

1
Використання Finder для копіювання папки займає вік для складання списку файлів, а потім все-таки виходить з ладу з недостатньою кількістю дискового простору, тому необхідно неправильно підрахувати.
мальхал

1
Це саме моя проблема. Оригінальний об'єм TM - 550 ГБ, новий - 600 ГБ. Все-таки Мохаве скаржився на недостатнє місце в гучності. Я зараз використовую SuperDuper! в режимі "Резервне копіювання - всі файли".
Маркус Рудель

1
Підручник Apple для мене не вдалося , в macOS Mojave 10.14.2. Я спробував скопіювати архів резервного копіювання 3TB на 8TB диск; Finder витратив майже 5 днів на копіювання (сказавши, що "більша частина цього" залишилось 5 секунд), перш ніж здаватися і скаржитися, що накопичувач повний! І це було - хоча він лише скопіював близько 2/3 резервних копій. Зрозуміло, що це не збереження жорстких посилань, а створення нових копій кожного. Тож ця відповідь наразі не є правильною.
gidds

0

+1 для дискових утиліт, занадто довгий для коментарів:

Оцінено 12.250.329 файлів, скопійовано файли 10.408.594. Ефективна швидкість копіювання 8,68 Мб / с.

для клонування магнітного накопичувача 2 Тб із резервними копіями через кілька років резервного копіювання через SuperDuper! цього року.

Це займало 63 години (SuperDuper буде скидати годинник кожні 24 години, тому він показав 15:04:43 врешті-решт) на відміну від копії Finder, яку я скасував приблизно через 4 дні та чверть файлів.

Очевидно, що магнітний диск не був причиною цього забирати так довго. Причиною Finder копіює стійло на довго працюючих резервних дисках - це велика кількість каскадних символьних посилань на незмінені файли, особливо для багатьох невеликих файлів, таких як Git індекси.


0

rsync - це чудова утиліта для таких матеріалів. Я зазвичай використовую його для подібних речей. У цьому випадку я можу використовувати прапорці -aP. Я думаю, що частина -a ("архіву") також полягає у збереженні дозволів, ACL тощо тощо, але я не впевнений.

IIRC, є також опція --delete, яка дозволяє видалити вихідний файл, як тільки він був успішно скопійований до пункту призначення. Я б насторожено використовував це, хоча - зазвичай я роблю повне дзеркало без параметра --delete, тоді я повторно запускаю команду з параметрами -c та --delete. -c є контрольною сумою, тому вона перевіряє всі завантажені файли проти всіх тих, що надходять у джерело через контрольну суму, а потім видаляє джерело, якщо є відповідність, інакше воно повторно копіює або відновить копіювання залежно від випадку.

EDIT: будь ласка, використовуйте прапор -H у цьому випадку відповідно до коментарів, щоб зберегти жорсткі посилання.


5
rsync не підтримує жорсткі посилання на каталоги. Копіювання часу резервного копіювання TM копіюватиме безліч каталогів
nohillside

1
@patrix - я можу це підтвердити. Я спробував це. Жорсткі посилання каталогів майже унікальні для HFS +, і rsync їх не розуміє.
Підроблене ім’я

3
-H, - тверді посилання зберігають жорсткі посилання
Піт Ешдаун

-2

З жорсткими дисками, коли ви переміщуєте кілька файлів з одного диска, зчитувач рухається вперед і назад, видаючи страхітливий шум при натисканні, і це значно сповільнює швидкість передачі, наприклад - один файл з USB 2.0 рухається на 30 mbps на моєму комп’ютері від 2 зовнішні жорсткі диски, але 2 файли рухаються зі швидкістю 11 мбіт / с. і 3 файли рухаються зі швидкістю 6 Мбіт / с. тощо. ZIP-файли рухатимуться швидше, ніж файли.


2
Як це відповідає на питання ОП?
fsb
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.