Клонирование с помощью команды DD

Как сделать резервную копию раздела (не всего диска) на другом разделе на внешнем жестком диске с помощью DD?

Я добился этого с помощью следующей команды:

sudo dd if=/dev/sda6 of=/dev/sdb3 bs=1M 

Однако мои требования:

  1. Мне нужно сделать резервную копию /dev/sda6 и сохранить это как файл изображения (.img) в /dev/sdb3

  2. Предпочтительно в виде сжатого (.gz) файла изображения (на самом деле это то, что я пытаюсь достижения)

(Вот мои глупые попытки, которые, очевидно, не сработали:

sudo dd if=/dev/sda6 of=/dev/sdb3/backup.img bs=4096 conv=notrunc,noerror

sudo dd bs=1M if=/dev/sda6 | gzip -c > /dev/sdb3/backup.gz
2
задан 1 May 2015 в 14:29

2 ответа

Если /dev/sdb3 не , на самом деле смонтировался на /dev/sdb3 (я сомневаюсь относительно него, исследование немного в области устройств и точек монтирования), Вы должны были бы:

  1. Узнают, где /dev/sdb3 смонтирован. Используйте эти mount команда для этого. Предположите, что /dev/sdb3 смонтирован в /home.
  2. Точка Ваш файл, пишущий в то место:

    sudo dd if=/dev/sda6 of=/home/backup.img
    
  3. Когда-то сделанный, проверьте, что img файл содержит то, что Вы ожидаете.

кроме того, там какая-либо потребность создать резервную копию всего раздел ? Я обычно нахожу его легче и более полезным для поддержки файлов с помощью rsync или что-то подобное, тогда в случае необходимости сжимая получающийся резервный каталог. Но это действительно ваше дело.

0
ответ дан 1 May 2015 в 14:29

То, что Вы хотите сделать, включает 3 простых шага:

  1. Создание дискового файла
  2. Копирование данных из раздела в дисковый файл
  3. Сожмите дисковый файл

Создание дискового файла

  1. Смонтируйтесь и CD к разделу, где Вы хотите сохранить дисковый файл
  2. Использовать fallocate создать и предварительно выделить блоки дисковому файлу. Это намного быстрее, чем создание файла путем заполнения его нулевым использованием dd или другие инструменты. Для определения размера дискового файла, можно использовать MB/MiB/GB/GiB префиксы. Например, если Вы хотите образ диска с размером 50 гибибайт, Вы делаете

    $ fallocate -l 50GiB part_backup.img

  3. Отформатируйте дисковый файл. В этом примере я использую ext4 и отключите опцию журналирования, потому что нет никакой потребности в ней в этом случае

    $ mkfs.ext4 -O '^has_journal' part_backup.img

  4. Теперь, когда мы имеем наш готовый дисковый файл, монтируем дисковый файл с losetup. Передача --show опция к нему так, это печатает устройство закольцовывания, что Ваш дисковый файл смонтирован к, например, /dev/loop0

    $ sudo losetup --show -f part_backup.img

  5. Создайте папку монтирования в /mnt и смонтируйте устройство закольцовывания к папке

    $ sudo mount /dev/loop0 /mnt/my_disk_file

Копирование данных из раздела в дисковый файл

  1. Смонтируйте раздел, который содержит файлы, Вы хотите скопировать и определить точку монтирования
  2. Использовать rsync для копирования файлов в дисковый файл, Вы просто смонтировались.

    $ sudo rsync -avzPSX /mnt/media_partition/ /mnt/my_disk_file

  3. Ищите то, что выбирает каждый из тех rsync, делает в rsync человеке, если Вы - unusure. Также прочитайте примечание о запаздывающей наклонной черте в источнике резервной копии

Сожмите дисковый файл

  1. Размонтируйте дисковый файл согласно нормальному

    $ sudo umount /mnt/my_disk_file
    $ sudo losetup -d /dev/loop0

  2. Использовать gzip сжимать дисковый файл

1
ответ дан 1 May 2015 в 14:29

Другие вопросы по тегам:

Похожие вопросы: