Программа с графическим интерфейсом для создания образа резервной копии раздела не больше, чем его файлы?

8

Мне нравится «Диски» ( gnome-disk-utility) и его способность создавать резервные копии системных разделов.

введите описание изображения здесь

Но в какой-то момент я прочитал в интернете о программе, которая создала бы такие изображения, которые были бы не такими большими, как весь раздел, а такими же большими, как файлы на нем. Теперь я не могу найти его снова.

Есть ли такая утилита?


источник
3
Может быть, CloneZilla?
Муру
1
Как я вижу, clonezilla можно запускать только в режиме реального времени. Я отредактировал, чтобы указать, что я ищу программу, которая может быть установлена ​​и запущена из ОС, я использую несколько Ubuntus и предпочитаю это решение

Ответы:

9

В следующем ответе используется TUI , а не GUI- решение:

В зависимости от вашего варианта использования (я использую его для резервного копирования системы), вы можете использовать CloneZilla Live . Это может создать:

  • редкие изображения,
  • сжатые изображения:
    • целые системы,
    • целые диски
    • просто отдельные перегородки.

Основными преимуществами являются:

  • что он загружается с:
  • поставляется с собственной ОС (на основе Ubuntu)
  • это может сделать точные резервные копии системы, которые легко восстанавливаются.

Помимо всех этих вкусностей, он также может копировать MBR.

Если резервная копия холодной системы - это не то, что вам нужно, вы все равно можете использовать технологию, на которой основана CloneZilla, и это так partclone.

Fabby
источник
1
Я отредактировал, чтобы указать, что я ищу программу с графическим интерфейсом, которую можно установить и запустить из ОС, я использую несколько Ubuntus и предпочитаю это решение
как установить Pyclonezilla? не одна запись Google для этого вопроса
1
Я был слишком быстр, чтобы указать на графический интерфейс: он не работает. Только CLI! Я удалю свой ответ после того, как вы оставите заметку, что прочитали это.
Fabby
1
Поскольку, похоже, нет программы для выполнения обоих условий: 1) иметь графический интерфейс в виде «диска»; 2) Создайте образ диска размером с используемое пространство, нет смысла удалять ваш ответ. Ответы CLI на вопросы GUI обычно представлены здесь и часто принимаются по уважительной причине. Я просто пытался добиться того, чего хотел.
1
:
D Я
4

Достижение меньших образов дисков обычно выполняется путем не копирования нулевых блоков из исходной файловой системы в образ. Это понятие называется разреженным пространством в файлах или пробелами в файлах, и файловая система вашего хоста должна его поддерживать. немного командной строки, но попробуйте это:

sudo apt-get install virt-manager qemu-utils 

И после установки вы можете использовать:

qemu-img convert -f raw -O raw  /dev/sdX /home/<user>/Ubuntu.img

Это создаст разреженный (нули в файле не записаны) образ вашего диска. где -f = формат, -O выходной формат. sdX диск (также можно использовать разделы). Программа имеет расширенные функции, такие как снимки и различные форматы вывода (vdi, vmdk и т. Д.). Ваше место , где сохранить изображение должно поддерживать разреженные файлы , либо размер будет так же , как большая, так как нули в разделе будет записаны на диск. И чтобы извлечь максимальную пользу из этого, запустите на разделе программу, например sfillили zerofreeнайденную в apt, потому что свободное пространство не всегда означает нулевое пространство, и вы хотите максимизировать количество нулевого пространства в файловой системе.

Бонусные очки ниндзя. Поскольку linux считает диски «файлами», вы также можете использовать простой cp с условием, что ваш выходной раздел, где вы храните файл, знает разреженные файлы.

sudo cp --sparse=always /dev/sdX /home/<user>/Ubuntu.img

Который создаст сырую копию с помощью cp ..

Примеры файловых систем, которые поддерживают разреженные: ext4, btrfs, xfs, ntfs (однако ntfs-3g может не разрешать разреженные записи).

Примеры файловых систем, которые не: fat32.

user283885
источник
Я отредактировал, чтобы указать, что я ищу программу с графическим интерфейсом, которую можно установить и запустить из ОС, я использую несколько Ubuntus и предпочитаю это решение
какой будет команда для восстановления образа?
Обычно в фермах серверов у нас не так много вариантов графического интерфейса и сценариев сборки вокруг указанных команд. Вот почему командная строка обычно более полная / мощная в Unix. Преобразование обратно так же легко , как инвертирующие параметры .. sudo cp /home/<user>/Ubuntu.img /dev/sdX, или если вы фантазия дд, sudo dd if=/home/<user>/Ubuntu.img of=/dev/sdX. То же самое с qemu-img convert .. Если вы говорите, хотите установить виртуальную машину на реальном оборудовании. Когда он записывает назад, он записывает нули на диск, таким образом, вы разбираетесь , так как он должен правильно обращаться к геометрии раздела.
user283885
1
Я понимаю вашу точку зрения и приношу свои извинения за то, что не знаю ни одного инструмента с графическим интерфейсом, который бы соответствовал вашим потребностям. Я просто подумал, что, по крайней мере, что-то второе, что может быть полезным для вас.
user283885
1
Добро пожаловать на эту сторону забора. Причина, по которой я указал на серверные фермы, заключается в том, что большая часть разработки выполняется в последнее время. Например, qemu-img - это утилита из гораздо более крупного проекта (openstack, запущенного redhat, rackspace & nasa). У вас есть эти крупные компании, которые разрабатывают программное обеспечение для своих центров обработки данных, а затем есть такие ребята, как мы, которые поддерживают эти усилия. Конечно, это работает, но это в лучшем случае спартанский. На данный момент лучшее, что я могу сделать, это поделиться ноу-хау с другими.
user283885
4

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

1) иметь графический интерфейс в стиле «Disks»;

2) Создайте образ диска размером с используемое пространство,

Я думал о довольно простом обходном пути, но с участием двух программ с графическим интерфейсом, очень распространенных в Ubuntu:

Одним из них будут те же «Диски» (gnome-disk-utility) , используемые для создания образа резервной копии данного раздела, а вторым будет Gparted, чтобы максимально сжать раздел перед созданием его образа резервной копии, и после этого изменить его размер до оригинального .

Я не вижу неудобств в такой операции: сжатие раздела до минимума займет всего несколько минут (около минуты для 10 ГБ) и создаст пустое пространство справа. После создания резервной копии диска с помощью «Дисков» с помощью Gparted можно изменить размер раздела обратно вправо в пустое пространство до его исходного состояния, и это займет всего несколько секунд.

Протестировано на разделе с установкой Ubuntu:


источник
1
Поскольку я только что получил ответ на мой ответ, читайте, нашли ли вы когда-нибудь идеальный ответ, и это, кажется, тот! Почему ты не принимаешь это?
Fabby
2

Изменить : Это не будет работать хорошо, если файлы, удаленные из файловой системы, все еще присутствуют в разделе, поэтому сначала необходимо стереть свободное место на целевом разделе:

  1. Смонтируйте целевой раздел
  2. Запустить dd if=/dev/zero of=<path_to_partition_volume>/file.dd && rm <path_to_partition_volume>/file.dd
  3. Размонтировать целевой раздел

Затем:


Вы можете прочитать весь раздел раздел за блоком ddи вывести все в утилиту сжатия, как gzip. Скорее всего, любой инструмент сжатия, даже используя самые быстрые / самые низкие настройки сжатия, сожмет все свободное пространство во время процесса.

С gzip:

sudo dd if=/dev/sdX | GZIP=-1 gzip >/path/to/backup.gz

( GZIP=-1Временно устанавливает переменную окружения , GZIPчтобы -1достичь наиболее быстрых / наименьшую компрессию)

Чтобы восстановить резервную копию:

gzip -d /path/to/backup.gz >/dev/sdX

кос
источник
Что вы думаете о сокращении раздела с помощью gparted перед использованием дисков для его резервного копирования?
@cipricus Лучше подождать, пока кто-нибудь еще что-то скажет об этом, потому что я не уверен, даже трудно, я думаю, что это тоже должно быть хорошо
kos
@kos Я обнаружил, что команда ddrescue, которую вы даете, довольно легко создает изображение, но оно совсем не уменьшает размер файла. Я представлял NTFS-раздел в ext4, оба из которых, похоже, работают с разреженными файлами, но размер файла .img, показанный в Nautilus, точно соответствует размеру исходного раздела. Так что похоже, что возиться с gParted все еще нужно?
PhilJ
1

Как насчет использования ddrescueс -Sопцией?

ddrescue -S /dev/sdXY /<path_to_backup>/backup.img

Это будет клонировать каждый блок , но нулевые блоков находятся в блоке устройстве /dev/sdXYдля/<path_to_backup>/backup.img

кос
источник
Звучит здорово. Но какой будет команда для восстановления образа?
@cipricus Я обнаружил, что это на самом деле сильно зависит от системы и не будет работать на каждом дистрибутиве, поэтому я добавил более простой, но, возможно, чуть более медленный метод, чтобы выполнить то же самое, не загружая дополнительное программное обеспечение, - это метод, который я на самом деле использовать
Кос
0

Его нельзя использовать для копирования на меньший диск. Когда у меня есть диск на 64 Гб, который заполнен данными только на 10%. Я хотел бы иметь возможность скопировать его в файл образа 6 ГБ, который я могу скопировать на его диске 16 ГБ, а затем расширить его до 16 ГБ

Единственная возможность, которую я знаю сейчас, - использовать GParted, чтобы уменьшить оригинал, затем скопировать его и затем изменить размер обоих. Очень рискованная операция, так как вам нужно уменьшить и изменить размер оригинала.

adonet
источник
0

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

Оба, вероятно, имеют (несколько) графических интерфейсов, но я никогда не использовал их сам.

Pelle
источник
0

Клонезилла может быть довольно дружелюбной. Live CD не требует использования командной строки - я был бы счастлив назвать его GUI, даже если он не использует мышь - и я думаю, что по умолчанию все в порядке во многих случаях. Проблема в том, что вы явно не вызывали: похоже, она не предназначена для установки в произвольной системе Linux. Он специально для Debian / Ubuntu, и Live CD - самый простой способ его запустить.


Clonezilla / partclone используют клонирование с учетом файловой системы и используют собственный сжатый формат изображения.

Есть еще одна возможность без графического интерфейса для создания простых (монтируемых) разреженных файлов, которые не зависят от обнаружения нулевых секторов.

virt-sparsify /dev/your-block-device backup.img

Если / tmp является виртуальным диском, он предупредит, что ему может понадобиться больше места для временных файлов. Так что вам может понадобиться добавить опцию --tmp /var/tmp.

sourcejedi
источник
Я обнаружил, что метод virt-sparsify, безусловно, уменьшает размер файла .img, но для него требуется очень большой каталог / tmp, примерно равный размеру создаваемого раздела. Он выдал предупреждающее сообщение, но когда я попробовал параметр --tmp, показанный выше (варьируется для моей настройки), он дал мне> неизвестную опцию `--tmp '. Я не уверен, как теперь отойти от вывода / tmp в другом месте и любой совет на этот счет будет полезен для меня и будущих читателей этого поста.
PhilJ
Уточните virt-sparsify --version? Опция задокументирована в mine ( man virt-sparsify) ... Я не могу поклясться, что использовал ее, но по крайней мере мой ток /tmp- tmpfs. Если вы можете использовать --in-place, похоже, что это позволит избежать временного хранения. Наконец, вы можете попробовать TMPDIR=/var/tmp virt-sparsify .... Документы для моей версии говорят, что именно так вы должны установить каталог tmp для версий до 1.28.
sourcejedi