Создание образа диска со сжатием в реальном времени по сети в Linux

У меня есть два ноутбука с Linux в сети и нет дополнительного хранилища. Я хочу сделать резервную копию первого жесткого диска ноутбука (сделать полный образ жесткого диска), на втором ноутбуке. Как я могу сделать это, используя сжатие в реальном времени?

1 ответ

Решение

Чтобы сделать копию раздела жесткого диска, которая будет работоспособной и монтируемой локально, вам нужно действовать следующим образом:

  • Подключите 2 компьютера через сеть;
  • Запустите linux на обоих (LiveCD отлично подходит, если на любом из них не установлен linux);
  • Смонтируйте внешнюю файловую систему (через сеть, fe ssh, samba, ftp, nfs и т. Д.) На компьютер, содержащий раздел жесткого диска, представляющий интерес;
  • Дайте необходимые разрешения для доступа к файлу раздела в /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
    

    Примечание: возможно, вам потребуется указать некоторые другие параметры инструмента монтирования, чтобы он работал;

  • Хорошего дня!
Другие вопросы по тегам