Клонирование Linux-системы "на лету"

Oct 03, 2018 20:00


Уже в который раз проделываю подобные фокусы. Пора написать памятку.

Есть работающая Linux-система. Гасить её нельзя. Требуется сделать полный бэкап / клон изнутри её самой.

Решение.
  1. Создаём требуемую таблицу разделов на носителе реципиента и файловые системы на ней. Проще говоря, разбиваем и форматируем целевой жесткий диск.
  2. Монтируем корень файловой ( Read more... )

hints, linux, it, manual

Leave a comment

Comments 67

karpion October 3 2018, 19:04:23 UTC
3. Файлы данных, открытые в монопольном режиме - не копируются. Файлы данных, в которых идет работа - копируются, но превращаются в кашу, ибо меняются в ходе копирования. Особенно актуально для СУБД.

Слово snapshot" Вам знакомо?

Reply

mnogo_hodovka October 3 2018, 19:24:50 UTC
Ну без LVM-снапшотов или ZFS-снапшотов тут точную консистентную копию создать не получится.

Reply

klink0v October 3 2018, 22:50:25 UTC
Вот те на. Много раз так делал. Сам. Лично. И тут вдруг "не получится". А мужики-то и не знали... :-D

Если речь идёт о СУБД или реальных боевых системах под нагрузкой, то смотри мой ответ предыдущему комментатору. Понятно, что сервисы, которые постоянно что-то пишут на диск, придётся остановить до начала копирования. В идеале - перевести систему в runlevel 1, если это допустимо.

Reply

karpion October 4 2018, 01:55:17 UTC
А во FreeBSD снэпшоты на UFS/FFS - разве не катят?

Reply


pan_2 October 6 2018, 01:13:58 UTC
>>Что касается СУБД, то тут есть два варианта: либо делать бэкап встроенными в неё саму инструментами, либо останавливать её работу перед копированием файлов. Всё остальное, включая snapshot-ы, - "от лукавого". Понятно, что база неизбежно "побьётся" в результате тупого копирования.
Ну да, ну да...
Шёл 2018 год, а попенсорц так и не смог осилить VSS 15 летней давности.

Reply

klink0v October 7 2018, 13:39:52 UTC
Почему? LVM Snapshot - это фактически и есть VSS. И появился он в "попенсорц" 1998-м году. Так что ещё большой вопрос, где раньше.

Reply

pan_2 October 8 2018, 20:33:40 UTC
Ну ваапервых, в HP-UX, из которого и была срисована реализация LVM, когда с чпуксом ковыряешься - это сильно заметно.
Во вторых, VSS - это не тупой снапшотинг блочного устройства, о чём адепты попенсорца всегда забывают. VSS - это в первую очередь Service, который позволяет оповестить всех желающих о начале/конце снятия снимка, что позволяет не страдать хернёй в виде "либо останавливать её работу перед копированием файлов". Снапшоты VSS - всегда консистенты, если конечно разработчик невероятно важной херни озаботился немножечко почитать доки и написать Writer.
Более того, поскольку VSS изначально расширяем, можно получить консистентный снапшот не только внутренним софт провайдером Shadow Copy, но и на внешнем устройстве хранения, достаточно просто установить Provider, который будет передавать запрос на хоронилку. Причём это может быть даже не хоронилка per se, чем с удовольствием пользуются админы любой системы виртуализации у которой есть Integration Tools.
Так что - нет, попенсорц до сих пор не дорос.

Reply

klink0v October 8 2018, 20:55:24 UTC
А вот кстати вопрос, в HP-UX или в AIX. В последнем ведь тоже есть LVM с весьма похожим функционалом. Но я не знаток коммерческих UNIX-ов, спорить не буду.

Что касается остального - это всё относительно несложно скриптуется в духе unix-way. Послал какой-нибудь SIGUSR-сигнал базе, сказал "sync", сделал снапшот, снова послал сигнал базе. Принципиальное отличие Microsoft-овской реализации только в том, что разработчики софта заранее достоверно знают о том, что в целевой системе точно будет присутствовать такая фича. В любом случае, требуется поддержка со стороны приложения.

Reply


Leave a comment

Up