Назад | Перейти на главную страницу

Cronjob для создания образа диска Ubuntu Server 12.04 на внешнем жестком диске USB

У меня есть внешний жесткий диск емкостью 1 ТБ, и я хотел бы периодически (например, раз в неделю) делать снимки всего сервера. Что касается cronjob, я планирую указать на сценарий bash в:

$ sudo crontab -e

но понятия не имею, какой инструмент я могу использовать для создания образа диска сервера во время его работы. Должен ли он быть выключен при создании изображения? Я смотрел на Clonezilla, но похоже, что сначала мне нужно настроить сервер DRBL, который мне не нужен.

Я также не знаю, сколько времени может занять выполнение резервного копирования и есть ли способ вносить только инкрементные изменения. Я планирую хранить там ~ 500 ГБ данных.

Нужно ли мне каким-то образом форматировать внешний жесткий диск? Кто-нибудь знает хорошие учебники / отправные точки?

Заранее спасибо.

Вы можете использовать rsync, чтобы сделать копию всей системы. Это не будет «образ» как таковой, но он будет содержать копии всех файлов в системе. Например, вы можете:

rsync -aHAXxv / / mnt / backup /

Это скопирует все в корневой файловой системе в / mnt / backup. (Обратите внимание, он копирует только одну файловую систему из-за -x, поэтому, если у вас несколько файловых систем, вам нужно будет выполнить несколько команд или опустить -x и использовать --exclude, чтобы исключить путь к резервной копии.)

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

  • какая-то предустановленная черная магия, которая создает образ при загрузке (звучит сложно), а затем cron при перезагрузке
  • запустить сервер под каким-то гипервизором и использовать снимки, управляемые хостом

Другие варианты - сделать резервную копию ваших созданных данных и конфигураций и оставить «биты ОС» для воссоздания при новой установке - возможно, вы даже могли бы создать сценарий установки для сверхбыстрого аварийного восстановления. Это также сэкономит вам много гигабайт пространства для резервных копий, а это означает, что вы сможете выполнять резервное копирование чаще и сохранять более длительное хранение.

Попробуйте fsarchiver http://www.fsarchiver.org/QuickStart Это позволяет создавать живую резервную копию из раздела и многопоточное сжатие изображений. К сожалению, инкрементное резервное копирование с этим довольно сложно. Может быть, использовать rsync на образе раздела dd? Рассмотрите возможность создания сжатого образа раздела и, возможно, инкрементного резервного копирования некоторых папок с помощью rsync / bacula.

Как упоминалось в @yesterday, вы можете использовать rsync следующим образом:

rsync -aHAXxv / /mnt/backup/

Это создаст резервную копию auf / но не других смонтированных разделов, таких как /var Таким образом, вы должны сделать это для каждого раздела, который вам нужно создать.

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

# create snapshots
lvcreate -s vg0/root -n root_snapshot -L2G
lvcreate -s vg0/var  -n var_snapshot  -L2G
# mount snapshots to make a copy
mount /dev/vg0/root_snapshot /mnt/snapshot
mount /dev/vg0/var_snapshot  /mnt/snapshot/var
# backup all files (no need for -x here)
rsync -aHAXv /mnt/snapshot/  /mnt/backup/
# unmount the snapshots
umount /mnt/snapshot/var /mnt/snapshot
# remove the snapshots
lvremove vg0/root_snapshot
lvremove vg0/var_snapshot