Клонирование живой системы "на лету" (с целью создания "живого" клона-бекапа)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
Goodvin
Ведущий рубрики
Сообщения: 4333
Статус: ⚝⚠⚒⚑⚖☭☞☣☤&

Клонирование живой системы "на лету"

Сообщение Goodvin »

Доброго времени суток.

Вводная:
Есть сервер, на нем система (Linux, само собой), все настроено и работает.
Система стоит на sda, винт разюит на несколько разделов (/boot, /home, /usr, /tmp сделаны отдельными партициями).

Сервер находится от меня далеко, на удаленной площадке, руками до сервера может дотянуться только местный персонал, квалификациихватит только на замену вышедшей из строя железки на исправную.

На сервере имеется второй HDD (/dev/sdb), который подключен, но не размечен и не используется системой никак.

Что хочу сделать:
Регулярно с помощью какого-то инструмента автоматически клонировать рабочий винт с системой на второй запасной HDD.
Для того, чтобы в случае выхода первого HDD из строя - персонал на месте просто пеерключил шлейфики винтов и сервер загрузился с HDD-"клона", который теперь становится рабочим.
Вместо этого клона подключается новый чистый запасной HDD и рабочая система снова регулярно сбрасывает копию себя на запасной HDD /dev/sdb.

Вопрос:
Каким бы инструментом сделать этот самое клонирование, при условии, что система работает "онлайн" и клон-копию надо делать на ходу, при работающей системе ?

Сейчас пишу скрипт, который будет переносить на чистый винт таблицу разделов с помощью sfdisk, переносить MBRс помощью dd, копировать все разделы с помощью dd, переносить загрузчик.

Но есть сомнения насчет корректности работы всей этой связки при снаятии клон-копии с примонтированных файловых систем "на лету".

Кроме того, на тестах, при клонировании с помощью dd вся процедура занимает около часа.
Partimage работает значительно быстрее, но опять же - вопросы насчет снятия копии "на лету".

Прошу высказывать Ваши соображения и предложения.


Да, поставить аппаратный RAID, сделать на нем зеркало и перестать страдать ерундой - просьба не предлагать.
С удовольстием бы так сделал, если бы была хоть малейшая возможность.
Но увы, таковой нет, по целому ряду причин.
Спасибо сказали:
Аватара пользователя
blackst0ne
Сообщения: 528
Статус:
ОС: Ubuntu 9.04

Re: Клонирование живой системы "на лету"

Сообщение blackst0ne »

Администрация! Пожалуйста, добавьте птичку "решено", а также соответствующую кнопку на ajax'е в теме (подробнее здесь).
Спасибо сказали:
Аватара пользователя
firewolf
Сообщения: 65
ОС: altlinux sisyphus

Re: Клонирование живой системы "на лету"

Сообщение firewolf »

клонировал домашнюю машину наживую dd
работало
Спасибо сказали:
Аватара пользователя
Goodvin
Ведущий рубрики
Сообщения: 4333
Статус: ⚝⚠⚒⚑⚖☭☞☣☤&

Re: Клонирование живой системы "на лету"

Сообщение Goodvin »

Это читал, пути, подходящего для меня, там нет, увы :-(
Нет у меня LVM и не предвидится.
А сервер очень далеко.
Спасибо сказали:
Аватара пользователя
Goodvin
Ведущий рубрики
Сообщения: 4333
Статус: ⚝⚠⚒⚑⚖☭☞☣☤&

Re: Клонирование живой системы "на лету"

Сообщение Goodvin »

firewolf писал(а):
07.04.2008 18:43
клонировал домашнюю машину наживую dd
работало
Клонирование с помощью dd длится более 40 минут, за это время данные на ФС могут измениться.
Есть подозрения на возможность некорректного клонирования.
Всё-таки домашняя машина и сервер - отличаются.
Спасибо сказали:
Аватара пользователя
KiWi
Бывший модератор
Сообщения: 2521
Статус: статус, статус, статус

Re: Клонирование живой системы "на лету"

Сообщение KiWi »

Goodvin писал(а):
07.04.2008 17:45
Да, поставить аппаратный RAID, сделать на нем зеркало и перестать страдать ерундой - просьба не предлагать.

Предлагаю: сделать программный RAID(mdadm).
Спасибо сказали:
Аватара пользователя
quadrik
Сообщения: 350
ОС: gentoo, только на серверах

Re: Клонирование живой системы "на лету"

Сообщение quadrik »

Если копировать систему rsync-ом (можно в несколько прогонов), то разница в данных будет очевидно много меньше чем при прямом копировании.
Спасибо сказали:
Аватара пользователя
nesk
Сообщения: 2268
Статус: Линукссаксовец
ОС: MS Windows XP Home SP3

Re: Клонирование живой системы "на лету"

Сообщение nesk »

KiWi писал(а):
07.04.2008 19:03
Goodvin писал(а):
07.04.2008 17:45
Да, поставить аппаратный RAID, сделать на нем зеркало и перестать страдать ерундой - просьба не предлагать.

Предлагаю: сделать программный RAID(mdadm).

+1
Если нет LVM и zfs, то остается только mdadm
Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.

0xDEFEC8ED
Спасибо сказали:
Аватара пользователя
Goodvin
Ведущий рубрики
Сообщения: 4333
Статус: ⚝⚠⚒⚑⚖☭☞☣☤&

Re: Клонирование живой системы "на лету"

Сообщение Goodvin »

KiWi писал(а):
07.04.2008 19:03
Goodvin писал(а):
07.04.2008 17:45
Да, поставить аппаратный RAID, сделать на нем зеркало и перестать страдать ерундой - просьба не предлагать.

Предлагаю: сделать программный RAID(mdadm).
Переносить живую систему на софтовый RAID - то еще "удовольствие".
И от программного RAID я отказался, ибо в случае выхода из строя одного из винтов нужно как-то сообщить местному "боту" (возле сервера) какой из винтов заменить + нетривиальная и ни разу не автоматическая процедура введения нового винта в работу.

Придуманная мной схема - ИМХО проще.
У нас всегда работает HDD номер 1, висящий на SATA1.
На SATA2 всегда висит запасной.
Удаленному работнику в случае аварии рабочего HDD надо сделать ровно два тупых действия:
1. Переткнуть запасной винт из SATA2 в SATA1
2. Воткнуть новый чистый винт в SATA2

Причем действия будут именно такими ВСЕГДА.
Ибо я уже нарывался на то, что удаленный человек, сидящий возле сервера, видит одно, мне сообщает другое, делает третье, в итоге имеет невосстановимый хлам вместо сервера.
А "оно" оправдывается тем, что "а я перепытал/не заметил".
Спасибо сказали:
Аватара пользователя
nesk
Сообщения: 2268
Статус: Линукссаксовец
ОС: MS Windows XP Home SP3

Re: Клонирование живой системы "на лету"

Сообщение nesk »

Goodvin писал(а):
07.04.2008 23:51
Переносить живую систему на софтовый RAID - то еще "удовольствие".


Перенос файловой системы на RAID-1

Goodvin писал(а):
07.04.2008 23:51
Придуманная мной схема - ИМХО проще.
У нас всегда работает HDD номер 1, висящий на SATA1.
На SATA2 всегда висит запасной.
Удаленному работнику в случае аварии рабочего HDD надо сделать ровно два тупых действия:
1. Переткнуть запасной винт из SATA2 в SATA1
2. Воткнуть новый чистый винт в SATA2

Причем действия будут именно такими ВСЕГДА.

SATA2 так же имеет все шансы умереть, при живом SATA1 :)
Так что действия не всегда могут быть такими.
Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.

0xDEFEC8ED
Спасибо сказали:
Аватара пользователя
KiWi
Бывший модератор
Сообщения: 2521
Статус: статус, статус, статус

Re: Клонирование живой системы "на лету"

Сообщение KiWi »

Goodvin писал(а):
07.04.2008 23:51
И от программного RAID я отказался, ибо в случае выхода из строя одного из винтов нужно как-то сообщить местному "боту" (возле сервера) какой из винтов заменить

Попросить местного бота наклеить на них наклейки 0 и 1, например? (до этого различив их по производителям/..., которые легко берутся из показаний SMART).

+ нетривиальная и ни разу не автоматическая процедура введения нового винта в работу.

Да как бы вполне тривиальная... Перед отключением -- remove, после включения -- add.
А если воткнуть 3 хард как spare, то, вроде бы, и rebuild запустится автоматом...
Спасибо сказали:
allez
Сообщения: 2223
Статус: Не очень злой админ :-)
ОС: SuSE, CentOS, FreeBSD, Windows

Re: Клонирование живой системы "на лету"

Сообщение allez »

Goodvin, мне уже приходилось сталкиваться с подобной задачей. Мое решение описано здесь: http://www.opennet.ru/openforum/vsluhforumID1/54401.html. Посмотрите на второй вариант.

P. S. Пользуюсь подобной методой уже больше десяти лет (в том числе и для клонирования системы "на лету") и пока не разочаровался. :)
Спасибо сказали:
Аватара пользователя
Goodvin
Ведущий рубрики
Сообщения: 4333
Статус: ⚝⚠⚒⚑⚖☭☞☣☤&

Re: Клонирование живой системы "на лету"

Сообщение Goodvin »

KiWi писал(а):
08.04.2008 01:00
Goodvin писал(а):
07.04.2008 23:51
И от программного RAID я отказался, ибо в случае выхода из строя одного из винтов нужно как-то сообщить местному "боту" (возле сервера) какой из винтов заменить

Попросить местного бота наклеить на них наклейки 0 и 1, например? (до этого различив их по производителям/..., которые легко берутся из показаний SMART).
Дело как раз в том, что винты (по крайней мере сейчас, до первого "вылета") стоят совершенно одинаковые. Отличаются только серийниками. Я то могу их отличить - а вот "бот" в большой вероятностью ошибётся. Прецеденты уже были и продолжаются время от времени.

KiWi писал(а):
08.04.2008 01:00
+ нетривиальная и ни разу не автоматическая процедура введения нового винта в работу.

Да как бы вполне тривиальная... Перед отключением -- remove, после включения -- add.
А если воткнуть 3 хард как spare, то, вроде бы, и rebuild запустится автоматом...
Моя идея была в том, чтобы после сообщения бота о выходе из строя рабочего винта (который висит на SATA1) свести процедуру к телефонной команде голосом:
1. Выключи сервер и переключи винт c SATA2 на SATA1
2. Подключи чистый новый винт на SATA2 и включи сервер.

P.S.
У меня таких удаленных серверов много. :-(
И все в разных местах, все далеко и практически везде (за редким-редким исключением) "боты".
Отсюда и запросы мои такие к "изобретению".
Спасибо сказали:
Аватара пользователя
McLeod095
Сообщения: 477
ОС: Люблю слаку

Re: Клонирование живой системы "на лету"

Сообщение McLeod095 »

Может конечно глупость скажу, а что если попробовать заюзать rsyncd на localhost'е и допустим раз в 10 минут запускать по скрипту.
Или найти нечто аналогичное, что бы позволяло именно инкрементно копировать файлы.

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

А вообще чем не устраивает dump, restore. У меня на одном серваке тоже сделано так что бы при поломке рэйда можно было тупо пеергрузить его с другого харда и почтовик опять живой. Делается бэкап раз в неделю, чаще просто не надо т.к. он релейный.
"Work PC" E6750/2GB/Asus P5B Deluxe/2x250GB/6600GT 128/Slackware Current (Win 2003 in VmWare)
New Work: E6400/3GB/Arch
Home Book: Asus W6k00A/Arch, Asus 701/Arch
Спасибо сказали:
Аватара пользователя
Goodvin
Ведущий рубрики
Сообщения: 4333
Статус: ⚝⚠⚒⚑⚖☭☞☣☤&

Re: Клонирование живой системы "на лету"

Сообщение Goodvin »

allez писал(а):
08.04.2008 06:05
Goodvin, мне уже приходилось сталкиваться с подобной задачей. Мое решение описано здесь: http://www.opennet.ru/openforum/vsluhforumID1/54401.html. Посмотрите на второй вариант.

P. S. Пользуюсь подобной методой уже больше десяти лет (в том числе и для клонирования системы "на лету") и пока не разочаровался. :)
Отдельное спасибо за ссылочку, перекапывал опеннет около трех дней, но этого не видел.
Обязательно рассмотрю вариант номер два.
Спасибо сказали:
D1AMOND
Сообщения: 70

Re: Клонирование живой системы "на лету"

Сообщение D1AMOND »

Я лично для этих целей использую Acronis , удаленно им рулю через Acronis косоль, ставиться в RPM сам все делал через Putty , единственно придеться сервак ребутнуть
Спасибо сказали:
Аватара пользователя
Goodvin
Ведущий рубрики
Сообщения: 4333
Статус: ⚝⚠⚒⚑⚖☭☞☣☤&

Re: Клонирование живой системы "на лету"

Сообщение Goodvin »

Акронис не годится для моей ситуации, ибо платный.
Спасибо сказали:
LVS
Сообщения: 264
Статус: All Hail Random
ОС: Kubuntu, CentOS, Slackware

Re: Клонирование живой системы "на лету"

Сообщение LVS »

Как вариант. Ребутом отключать систему и перед загрузкой поставить скрипт клонирования системы.
А после обычная загрузка.
Спасибо сказали:
Аватара пользователя
igorvek
Сообщения: 103
Статус: предупрежденный
ОС: XP,Debian 4.0

Re: Клонирование живой системы "на лету"

Сообщение igorvek »

Обратитесь к Ассемблеру, у него такие штучки делаются, как за здравствуй живешь, ( придется немного манов перелопатить) , зато можно ещё бабушек телефонисток на серверы разсадить.... :rolleyes: А если серьезно, Ассемблер решает все проблемы. Ассемблер умеет с дисками работать через операции AND , NOT , XOR , OR и этого достаточно , что бы записывать или не записывать информацию, ( в зависимости от ситуации ) сразу на два диска
если смерть - свет в конце тоннеля, то жизнь, тьма в конце тоннеля ?
Спасибо сказали:
Аватара пользователя
Goodvin
Ведущий рубрики
Сообщения: 4333
Статус: ⚝⚠⚒⚑⚖☭☞☣☤&

Re: Клонирование живой системы "на лету"

Сообщение Goodvin »

igorvek писал(а):
15.04.2008 22:42
Обратитесь к Ассемблеру, у него такие штучки делаются, как за здравствуй живешь, ( придется немного манов перелопатить) , зато можно ещё бабушек телефонисток на серверы разсадить.... :rolleyes: А если серьезно, Ассемблер решает все проблемы. Ассемблер умеет с дисками работать через операции AND , NOT , XOR , OR и этого достаточно , что бы записывать или не записывать информацию, ( в зависимости от ситуации ) сразу на два диска
Это бред ?
Или Вы переведете на русский ?
Спасибо сказали:
BasilKiselev
Сообщения: 80
ОС: SLES

Re: Клонирование живой системы "на лету"

Сообщение BasilKiselev »

Как то давно читал на сайте акрониса, правдо сейчас там уже найти не смог, есть у них продукт true image linux enterprise server backup - вот такое вот название, так он умеет делать бекапы системы на лету по графику, а в случае установки демона может как было написанно скопировав однажды всю систему докопировать только изменяющеися данные - правда или нет, не знаю, но буду благодарен за информацию если вы всеже потестируете его... Я лично имею 4 сервера на однои аж 500 гигов хард из них 350 занято, там оракловская база, и раз в неделю снимать сервак и бекапить надоедает, а акронис покупать пока стремненько... а вареза ненашел)
Спасибо сказали:
Аватара пользователя
0ut
Сообщения: 307
Статус: Злыдень
ОС: *nix

Re: Клонирование живой системы "на лету"

Сообщение 0ut »

pax
Запросы ошибок к операционной системе игнорироваться не могут.
Спасибо сказали:
Аватара пользователя
Goodvin
Ведущий рубрики
Сообщения: 4333
Статус: ⚝⚠⚒⚑⚖☭☞☣☤&

Re: Клонирование живой системы "на лету"

Сообщение Goodvin »

BasilKiselev писал(а):
16.04.2008 07:50
Как то давно читал на сайте акрониса, правдо сейчас там уже найти не смог, есть у них продукт true image linux enterprise server backup - вот такое вот название, так он умеет делать бекапы системы на лету по графику, а в случае установки демона может как было написанно скопировав однажды всю систему докопировать только изменяющеися данные - правда или нет, не знаю, но буду благодарен за информацию если вы всеже потестируете его... Я лично имею 4 сервера на однои аж 500 гигов хард из них 350 занято, там оракловская база, и раз в неделю снимать сервак и бекапить надоедает, а акронис покупать пока стремненько... а вареза ненашел)
Вы не пробовали для разнообразия читать тему, в которую пишете ?
См. СЮДА.
Спасибо сказали:
allez
Сообщения: 2223
Статус: Не очень злой админ :-)
ОС: SuSE, CentOS, FreeBSD, Windows

Re: Клонирование живой системы "на лету"

Сообщение allez »

Goodvin писал(а):
15.04.2008 23:10
Это бред ?
Или Вы переведете на русский ?

Сдается мне, что igorvek предлагает написать свой собственный драйвер для RAID1 с расширенными возможностями. :)
Спасибо сказали:
Аватара пользователя
igorvek
Сообщения: 103
Статус: предупрежденный
ОС: XP,Debian 4.0

Re: Клонирование живой системы "на лету"

Сообщение igorvek »

Goodvin писал(а):
15.04.2008 23:10
Это бред ?
Или Вы переведете на русский ?


Всё написаное мной на русском языке. Вот смотрите, люди пользуются и ничего... http://lug.yaroslavl.ru/forums/viewtopic.php?f=10&t=56
Что касается меня, то я завязал по причине малости мозга. У Вас же хватит, я думаю терпения побороть эти все MOV EXX XOR ?
Это действительно дельный совет! Вы молоды, умны, энергичны, у Вас получиться, с Вашим пытливым умом всё получится...
если смерть - свет в конце тоннеля, то жизнь, тьма в конце тоннеля ?
Спасибо сказали:
Аватара пользователя
INF[SZ]
Сообщения: 395
ОС: Centos

Re: Клонирование живой системы "на лету"

Сообщение INF[SZ] »

igorvek писал(а):
16.04.2008 19:47
Goodvin писал(а):
15.04.2008 23:10
Это бред ?
Или Вы переведете на русский ?


Всё написаное мной на русском языке. Вот смотрите, люди пользуются и ничего... http://lug.yaroslavl.ru/forums/viewtopic.php?f=10&t=56
Что касается меня, то я завязал по причине малости мозга. У Вас же хватит, я думаю терпения побороть эти все MOV EXX XOR ?


Тихий ужас.

P.S. модераторы прикройте тему пожалуйста от греха подальше.
Я не понял Вашего вопроса, но я Вам на него отвечу.
Спасибо сказали:
Аватара пользователя
igorvek
Сообщения: 103
Статус: предупрежденный
ОС: XP,Debian 4.0

Re: Клонирование живой системы "на лету"

Сообщение igorvek »

INF писал(а):
16.04.2008 19:53
P.S. модераторы прикройте тему пожалуйста от греха подальше.


А чем тема не нравиться? Человек спрашивает наилучший путь решения проблем, я подсказываю, ассемблером пользуються в линуксе так же, как и во всех ОСях и языках программирования, это не реклама ОСи , так что извините....
если смерть - свет в конце тоннеля, то жизнь, тьма в конце тоннеля ?
Спасибо сказали:
Аватара пользователя
INF[SZ]
Сообщения: 395
ОС: Centos

Re: Клонирование живой системы "на лету"

Сообщение INF[SZ] »

igorvek писал(а):
16.04.2008 19:59
INF писал(а):
16.04.2008 19:53
P.S. модераторы прикройте тему пожалуйста от греха подальше.


А чем тема не нравиться? Человек спрашивает наилучший путь решения проблем, я подсказываю, ассемблером пользуються в линуксе так же, как и во всех ОСях и языках программирования, это не реклама ОСи , так что извините....


У меня нет ни времени, ни сил, ни желания ВАС в чем то убеждать.
Я не понял Вашего вопроса, но я Вам на него отвечу.
Спасибо сказали:
Аватара пользователя
guglez
Сообщения: 394
ОС: GNU/Linux

Re: Клонирование живой системы "на лету"

Сообщение guglez »

Чем все закончилось? Нашлось какое-либо решение?
Спасибо сказали:
Аватара пользователя
Goodvin
Ведущий рубрики
Сообщения: 4333
Статус: ⚝⚠⚒⚑⚖☭☞☣☤&

Re: Клонирование живой системы "на лету"

Сообщение Goodvin »

Да, я написал себе собственное решение, используя стандартные системные средства.
По крону регулярно с одного винта (рабочего) делается копия на второй (запасной).
Если первый винт вышел из строя - он отключается, второй подключается на место первого, а на место второго подключается новый исправный и всё начинается с начала.
Время простоя сведено к минимуму.
Спасибо сказали: