У меня есть два ноутбука с Linux в сети и нет дополнительного хранилища. Я хочу сделать резервную копию первого жесткого диска ноутбука (сделать полный образ жесткого диска), на втором ноутбуке. Как я могу сделать это, используя сжатие в реальном времени?
1 ответ
Чтобы сделать копию раздела жесткого диска, которая будет работоспособна и монтируется локально, вам нужно действовать следующим образом:
- Подключите 2 компьютера через сеть;
- Запустите linux на обоих (LiveCD отлично подходит, если на любом из них не установлен linux);
- Смонтируйте внешние файлы (через сеть, например, ssh, samba, ftp, nfs и т.д.) На компьютер, содержащий интересующий раздел hdd;
- Дайте необходимые разрешения для доступа к файлу раздела в /dev (fe /dev /sda2);
Выполните следующее:
$ dd if=/dev/sda2 conv=fdatasync bs=8096 | gzip -cf > $PATH_IN_EXTERNAL_FS/sda2.img.gz $ dd if=/dev/sda2 bs=8096 | md5sum - > $PATH_IN_EXTERNAL_FS/sda2.orig.md5
Примечание: вы можете выполнять эти два параллельно;
Примечание. Это может занять ДЛИННОЕ время (например, при беспроводном (G) соединении обработка образа NTFS размером 150 ГБ заняла 34 часа, а изображение было сжато до 106 ГБ, а подсчет суммы md5 за это занял около часа); Примечание. Вы можете наблюдать за продвижением dd, выполнив следующее в другом окне терминала:$ watch -n30 "kill -USR1 $PID_OF_DD"
Когда это будет завершено на другом компьютере (где сейчас хранится изображение), выполните следующее:
$ gunzip -c sda2.img.gz | dd of=sda2.img bs=8096 && dd if=sda2.img bs=8096 | md5sum - > sda2.img.md5
Теперь сравните суммы md5 исходного раздела и изображения:
$ cat sda2.orig.md5 && cat sda2.img.md5
Примечание: если строки равны, все в порядке;
Теперь вы можете смонтировать sda2.img так же, как и с оригинальным разделом, но вы должны указать опцию loop для монтирования инструмента. Следующее должно работать:
# mount -o loop sda2.img /mnt/sda2_img
Примечание: возможно, вам нужно будет указать некоторые другие параметры инструмента монтирования, чтобы он работал;
- Хорошего дня!