Використання dd для резервного копіювання диска на той же диск


3

Я намагався використовувати ddрезервну копію жорсткого диска комп'ютера, але зіткнувся з деякими досить заплутаними результатами. Я бачив у багатьох джерелах (наприклад: http://www.backuphowto.info/linux-backup-hard-disk-clone-dd , http://debianhelp.co.uk/ddcommand.htm ), що вони включають щось роду:

dd if=/dev/sda of=~/backup.img

1) Якщо я не збентежений, це спробує створити резервну копію всього диска у файлі на диску, чи не так?

Я намагався використовувати цей метод, але спершу стиснув вихід, щоб заощадити місце. Для того, щоб стиснутий файл не зайняв купу місця, намагаючись скопіювати всі вільні дані, я використав zerofreeзаписи 0 на весь невикористаний простір мого диска. Мій диск має загальну ємність ~ 320 ГБ, і використовується близько 100 ГБ, залишаючи ~ 220 ГБ безкоштовно.

Коли я спробував використати таку команду:

dd if=/dev/sda | gzip -c > ~/image.img.gz

Перед тим, як я вийшов з резервної копії, резервний файл досяг розміру ~ 160 Гб (з метою з'ясувати, як створити резервну копію на зовнішній диск, завдання, в якому я з тих пір досяг успіху).

2) Чому резервне копіювання займає стільки місця? Це тому, що він ddбачить файл, до якого написано, а потім намагається створити резервну копію? Або можливо, що мені не вдалося використати zerofreeцілком належним чином, і тому існує лише купа резервних даних, що не вмикаються, незважаючи на мої зусилля, щоб не допустити цього?


2
Не можна використовувати секторний інструмент, такий як ddрезервне копіювання запущеного диска.
kinokijuf

Тоді що це може бути записане у файл? І чи повинен я тоді виконувати резервну копію на сеансі завантаження?
Бен Сандін

1
Ви можете використовувати це, якщо: 1) Ви записуєте на інший диск, ніж ви створюєте резервну копію. 2) Диск, на який ви створюєте резервну копію, не записується. Інакше у вас може виникнути непослідовне зображення. Завантажити a la 'root = / dev / sda1 ro init = / bin / bash' (або будь-який сучасний заклик), а потім зробити резервну копію на інший диск (або через netcat по мережі) має працювати.
Геннес

Відповіді:


3

Ви не можете точно дублювати жорсткий диск під час його зміни.

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

Так, спробуємо. ddКоманда прочитає блок (з диска), стискати блок, записати блок (в файл на цьому диску), і перейти до наступного блоку. Зображення матиме частково записані backup.imgта частково записані файлові системи вказівники на цей файл.

Примітка: я значно спростив буферизацію труб між ddі, gzipоскільки деталі тут не мають значення.

Чому б резервне копіювання займало стільки місця?

Ймовірна причина полягає в тому, що він намагається скопіювати частково записаний backup.imgфайл. Інші фактори вимагають розширеного знання структур файлової системи для використовуваної файлової системи.

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