Клонирование живой системы "на лету" (с целью создания "живого" клона-бекапа)
Модераторы: SLEDopit, Модераторы разделов
-
Goodvin
- Ведущий рубрики
- Сообщения: 4333
- Статус: ⚝⚠⚒⚑⚖☭☞☣☤&
Клонирование живой системы "на лету"
Доброго времени суток.
Вводная:
Есть сервер, на нем система (Linux, само собой), все настроено и работает.
Система стоит на sda, винт разюит на несколько разделов (/boot, /home, /usr, /tmp сделаны отдельными партициями).
Сервер находится от меня далеко, на удаленной площадке, руками до сервера может дотянуться только местный персонал, квалификациихватит только на замену вышедшей из строя железки на исправную.
На сервере имеется второй HDD (/dev/sdb), который подключен, но не размечен и не используется системой никак.
Что хочу сделать:
Регулярно с помощью какого-то инструмента автоматически клонировать рабочий винт с системой на второй запасной HDD.
Для того, чтобы в случае выхода первого HDD из строя - персонал на месте просто пеерключил шлейфики винтов и сервер загрузился с HDD-"клона", который теперь становится рабочим.
Вместо этого клона подключается новый чистый запасной HDD и рабочая система снова регулярно сбрасывает копию себя на запасной HDD /dev/sdb.
Вопрос:
Каким бы инструментом сделать этот самое клонирование, при условии, что система работает "онлайн" и клон-копию надо делать на ходу, при работающей системе ?
Сейчас пишу скрипт, который будет переносить на чистый винт таблицу разделов с помощью sfdisk, переносить MBRс помощью dd, копировать все разделы с помощью dd, переносить загрузчик.
Но есть сомнения насчет корректности работы всей этой связки при снаятии клон-копии с примонтированных файловых систем "на лету".
Кроме того, на тестах, при клонировании с помощью dd вся процедура занимает около часа.
Partimage работает значительно быстрее, но опять же - вопросы насчет снятия копии "на лету".
Прошу высказывать Ваши соображения и предложения.
Да, поставить аппаратный RAID, сделать на нем зеркало и перестать страдать ерундой - просьба не предлагать.
С удовольстием бы так сделал, если бы была хоть малейшая возможность.
Но увы, таковой нет, по целому ряду причин.
Вводная:
Есть сервер, на нем система (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: Клонирование живой системы "на лету"
Администрация! Пожалуйста, добавьте птичку "решено", а также соответствующую кнопку на ajax'е в теме (подробнее здесь).
-
firewolf
- Сообщения: 65
- ОС: altlinux sisyphus
Re: Клонирование живой системы "на лету"
клонировал домашнюю машину наживую dd
работало
работало
-
Goodvin
- Ведущий рубрики
- Сообщения: 4333
- Статус: ⚝⚠⚒⚑⚖☭☞☣☤&
Re: Клонирование живой системы "на лету"
Это читал, пути, подходящего для меня, там нет, увы :-(
Нет у меня LVM и не предвидится.
А сервер очень далеко.
-
Goodvin
- Ведущий рубрики
- Сообщения: 4333
- Статус: ⚝⚠⚒⚑⚖☭☞☣☤&
Re: Клонирование живой системы "на лету"
Клонирование с помощью dd длится более 40 минут, за это время данные на ФС могут измениться.
Есть подозрения на возможность некорректного клонирования.
Всё-таки домашняя машина и сервер - отличаются.
-
KiWi
- Бывший модератор
- Сообщения: 2521
- Статус: статус, статус, статус
-
quadrik
- Сообщения: 350
- ОС: gentoo, только на серверах
Re: Клонирование живой системы "на лету"
Если копировать систему rsync-ом (можно в несколько прогонов), то разница в данных будет очевидно много меньше чем при прямом копировании.
-
nesk
- Сообщения: 2268
- Статус: Линукссаксовец
- ОС: MS Windows XP Home SP3
Re: Клонирование живой системы "на лету"
+1
Если нет LVM и zfs, то остается только mdadm
Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.
0xDEFEC8ED
0xDEFEC8ED
-
Goodvin
- Ведущий рубрики
- Сообщения: 4333
- Статус: ⚝⚠⚒⚑⚖☭☞☣☤&
Re: Клонирование живой системы "на лету"
Переносить живую систему на софтовый RAID - то еще "удовольствие".
И от программного RAID я отказался, ибо в случае выхода из строя одного из винтов нужно как-то сообщить местному "боту" (возле сервера) какой из винтов заменить + нетривиальная и ни разу не автоматическая процедура введения нового винта в работу.
Придуманная мной схема - ИМХО проще.
У нас всегда работает HDD номер 1, висящий на SATA1.
На SATA2 всегда висит запасной.
Удаленному работнику в случае аварии рабочего HDD надо сделать ровно два тупых действия:
1. Переткнуть запасной винт из SATA2 в SATA1
2. Воткнуть новый чистый винт в SATA2
Причем действия будут именно такими ВСЕГДА.
Ибо я уже нарывался на то, что удаленный человек, сидящий возле сервера, видит одно, мне сообщает другое, делает третье, в итоге имеет невосстановимый хлам вместо сервера.
А "оно" оправдывается тем, что "а я перепытал/не заметил".
-
nesk
- Сообщения: 2268
- Статус: Линукссаксовец
- ОС: MS Windows XP Home SP3
Re: Клонирование живой системы "на лету"
Перенос файловой системы на RAID-1
Goodvin писал(а): ↑07.04.2008 23:51Придуманная мной схема - ИМХО проще.
У нас всегда работает HDD номер 1, висящий на SATA1.
На SATA2 всегда висит запасной.
Удаленному работнику в случае аварии рабочего HDD надо сделать ровно два тупых действия:
1. Переткнуть запасной винт из SATA2 в SATA1
2. Воткнуть новый чистый винт в SATA2
Причем действия будут именно такими ВСЕГДА.
SATA2 так же имеет все шансы умереть, при живом SATA1
Так что действия не всегда могут быть такими.
Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.
0xDEFEC8ED
0xDEFEC8ED
-
KiWi
- Бывший модератор
- Сообщения: 2521
- Статус: статус, статус, статус
Re: Клонирование живой системы "на лету"
Попросить местного бота наклеить на них наклейки 0 и 1, например? (до этого различив их по производителям/..., которые легко берутся из показаний SMART).
+ нетривиальная и ни разу не автоматическая процедура введения нового винта в работу.
Да как бы вполне тривиальная... Перед отключением -- remove, после включения -- add.
А если воткнуть 3 хард как spare, то, вроде бы, и rebuild запустится автоматом...
-
allez
- Сообщения: 2223
- Статус: Не очень злой админ :-)
- ОС: SuSE, CentOS, FreeBSD, Windows
Re: Клонирование живой системы "на лету"
Goodvin, мне уже приходилось сталкиваться с подобной задачей. Мое решение описано здесь: http://www.opennet.ru/openforum/vsluhforumID1/54401.html. Посмотрите на второй вариант.
P. S. Пользуюсь подобной методой уже больше десяти лет (в том числе и для клонирования системы "на лету") и пока не разочаровался.
P. S. Пользуюсь подобной методой уже больше десяти лет (в том числе и для клонирования системы "на лету") и пока не разочаровался.
-
Goodvin
- Ведущий рубрики
- Сообщения: 4333
- Статус: ⚝⚠⚒⚑⚖☭☞☣☤&
Re: Клонирование живой системы "на лету"
Дело как раз в том, что винты (по крайней мере сейчас, до первого "вылета") стоят совершенно одинаковые. Отличаются только серийниками. Я то могу их отличить - а вот "бот" в большой вероятностью ошибётся. Прецеденты уже были и продолжаются время от времени.
Моя идея была в том, чтобы после сообщения бота о выходе из строя рабочего винта (который висит на SATA1) свести процедуру к телефонной команде голосом:
1. Выключи сервер и переключи винт c SATA2 на SATA1
2. Подключи чистый новый винт на SATA2 и включи сервер.
P.S.
У меня таких удаленных серверов много. :-(
И все в разных местах, все далеко и практически везде (за редким-редким исключением) "боты".
Отсюда и запросы мои такие к "изобретению".
-
McLeod095
- Сообщения: 477
- ОС: Люблю слаку
Re: Клонирование живой системы "на лету"
Может конечно глупость скажу, а что если попробовать заюзать rsyncd на localhost'е и допустим раз в 10 минут запускать по скрипту.
Или найти нечто аналогичное, что бы позволяло именно инкрементно копировать файлы.
у меня пару серваков бекапятся на удаленное хранилище.
Если же прикрутить к локалхосту и примонтировать заранее размеченный хард, то по идее можно сливать.
А вообще чем не устраивает dump, restore. У меня на одном серваке тоже сделано так что бы при поломке рэйда можно было тупо пеергрузить его с другого харда и почтовик опять живой. Делается бэкап раз в неделю, чаще просто не надо т.к. он релейный.
Или найти нечто аналогичное, что бы позволяло именно инкрементно копировать файлы.
у меня пару серваков бекапятся на удаленное хранилище.
Если же прикрутить к локалхосту и примонтировать заранее размеченный хард, то по идее можно сливать.
А вообще чем не устраивает 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
New Work: E6400/3GB/Arch
Home Book: Asus W6k00A/Arch, Asus 701/Arch
-
Goodvin
- Ведущий рубрики
- Сообщения: 4333
- Статус: ⚝⚠⚒⚑⚖☭☞☣☤&
Re: Клонирование живой системы "на лету"
Отдельное спасибо за ссылочку, перекапывал опеннет около трех дней, но этого не видел.allez писал(а): ↑08.04.2008 06:05Goodvin, мне уже приходилось сталкиваться с подобной задачей. Мое решение описано здесь: http://www.opennet.ru/openforum/vsluhforumID1/54401.html. Посмотрите на второй вариант.
P. S. Пользуюсь подобной методой уже больше десяти лет (в том числе и для клонирования системы "на лету") и пока не разочаровался.
Обязательно рассмотрю вариант номер два.
-
D1AMOND
- Сообщения: 70
Re: Клонирование живой системы "на лету"
Я лично для этих целей использую Acronis , удаленно им рулю через Acronis косоль, ставиться в RPM сам все делал через Putty , единственно придеться сервак ребутнуть
-
Goodvin
- Ведущий рубрики
- Сообщения: 4333
- Статус: ⚝⚠⚒⚑⚖☭☞☣☤&
Re: Клонирование живой системы "на лету"
Акронис не годится для моей ситуации, ибо платный.
-
LVS
- Сообщения: 264
- Статус: All Hail Random
- ОС: Kubuntu, CentOS, Slackware
Re: Клонирование живой системы "на лету"
Как вариант. Ребутом отключать систему и перед загрузкой поставить скрипт клонирования системы.
А после обычная загрузка.
А после обычная загрузка.
-
igorvek
- Сообщения: 103
- Статус: предупрежденный
- ОС: XP,Debian 4.0
Re: Клонирование живой системы "на лету"
Обратитесь к Ассемблеру, у него такие штучки делаются, как за здравствуй живешь, ( придется немного манов перелопатить) , зато можно ещё бабушек телефонисток на серверы разсадить....
А если серьезно, Ассемблер решает все проблемы. Ассемблер умеет с дисками работать через операции AND , NOT , XOR , OR и этого достаточно , что бы записывать или не записывать информацию, ( в зависимости от ситуации ) сразу на два диска
если смерть - свет в конце тоннеля, то жизнь, тьма в конце тоннеля ?
-
Goodvin
- Ведущий рубрики
- Сообщения: 4333
- Статус: ⚝⚠⚒⚑⚖☭☞☣☤&
Re: Клонирование живой системы "на лету"
Это бред ?igorvek писал(а): ↑15.04.2008 22:42Обратитесь к Ассемблеру, у него такие штучки делаются, как за здравствуй живешь, ( придется немного манов перелопатить) , зато можно ещё бабушек телефонисток на серверы разсадить....А если серьезно, Ассемблер решает все проблемы. Ассемблер умеет с дисками работать через операции AND , NOT , XOR , OR и этого достаточно , что бы записывать или не записывать информацию, ( в зависимости от ситуации ) сразу на два диска
Или Вы переведете на русский ?
-
BasilKiselev
- Сообщения: 80
- ОС: SLES
Re: Клонирование живой системы "на лету"
Как то давно читал на сайте акрониса, правдо сейчас там уже найти не смог, есть у них продукт true image linux enterprise server backup - вот такое вот название, так он умеет делать бекапы системы на лету по графику, а в случае установки демона может как было написанно скопировав однажды всю систему докопировать только изменяющеися данные - правда или нет, не знаю, но буду благодарен за информацию если вы всеже потестируете его... Я лично имею 4 сервера на однои аж 500 гигов хард из них 350 занято, там оракловская база, и раз в неделю снимать сервак и бекапить надоедает, а акронис покупать пока стремненько... а вареза ненашел)
-
0ut
- Сообщения: 307
- Статус: Злыдень
- ОС: *nix
Re: Клонирование живой системы "на лету"
pax
Запросы ошибок к операционной системе игнорироваться не могут.
-
Goodvin
- Ведущий рубрики
- Сообщения: 4333
- Статус: ⚝⚠⚒⚑⚖☭☞☣☤&
Re: Клонирование живой системы "на лету"
Вы не пробовали для разнообразия читать тему, в которую пишете ?BasilKiselev писал(а): ↑16.04.2008 07:50Как то давно читал на сайте акрониса, правдо сейчас там уже найти не смог, есть у них продукт true image linux enterprise server backup - вот такое вот название, так он умеет делать бекапы системы на лету по графику, а в случае установки демона может как было написанно скопировав однажды всю систему докопировать только изменяющеися данные - правда или нет, не знаю, но буду благодарен за информацию если вы всеже потестируете его... Я лично имею 4 сервера на однои аж 500 гигов хард из них 350 занято, там оракловская база, и раз в неделю снимать сервак и бекапить надоедает, а акронис покупать пока стремненько... а вареза ненашел)
См. СЮДА.
-
allez
- Сообщения: 2223
- Статус: Не очень злой админ :-)
- ОС: SuSE, CentOS, FreeBSD, Windows
-
igorvek
- Сообщения: 103
- Статус: предупрежденный
- ОС: XP,Debian 4.0
Re: Клонирование живой системы "на лету"
Всё написаное мной на русском языке. Вот смотрите, люди пользуются и ничего... http://lug.yaroslavl.ru/forums/viewtopic.php?f=10&t=56
Что касается меня, то я завязал по причине малости мозга. У Вас же хватит, я думаю терпения побороть эти все MOV EXX XOR ?
Это действительно дельный совет! Вы молоды, умны, энергичны, у Вас получиться, с Вашим пытливым умом всё получится...
если смерть - свет в конце тоннеля, то жизнь, тьма в конце тоннеля ?
-
INF[SZ]
- Сообщения: 395
- ОС: Centos
Re: Клонирование живой системы "на лету"
igorvek писал(а): ↑16.04.2008 19:47
Всё написаное мной на русском языке. Вот смотрите, люди пользуются и ничего... http://lug.yaroslavl.ru/forums/viewtopic.php?f=10&t=56
Что касается меня, то я завязал по причине малости мозга. У Вас же хватит, я думаю терпения побороть эти все MOV EXX XOR ?
Тихий ужас.
P.S. модераторы прикройте тему пожалуйста от греха подальше.
Я не понял Вашего вопроса, но я Вам на него отвечу.
-
igorvek
- Сообщения: 103
- Статус: предупрежденный
- ОС: XP,Debian 4.0
Re: Клонирование живой системы "на лету"
А чем тема не нравиться? Человек спрашивает наилучший путь решения проблем, я подсказываю, ассемблером пользуються в линуксе так же, как и во всех ОСях и языках программирования, это не реклама ОСи , так что извините....
если смерть - свет в конце тоннеля, то жизнь, тьма в конце тоннеля ?
-
INF[SZ]
- Сообщения: 395
- ОС: Centos
Re: Клонирование живой системы "на лету"
У меня нет ни времени, ни сил, ни желания ВАС в чем то убеждать.
Я не понял Вашего вопроса, но я Вам на него отвечу.
-
guglez
- Сообщения: 394
- ОС: GNU/Linux
Re: Клонирование живой системы "на лету"
Чем все закончилось? Нашлось какое-либо решение?
-
Goodvin
- Ведущий рубрики
- Сообщения: 4333
- Статус: ⚝⚠⚒⚑⚖☭☞☣☤&
Re: Клонирование живой системы "на лету"
Да, я написал себе собственное решение, используя стандартные системные средства.
По крону регулярно с одного винта (рабочего) делается копия на второй (запасной).
Если первый винт вышел из строя - он отключается, второй подключается на место первого, а на место второго подключается новый исправный и всё начинается с начала.
Время простоя сведено к минимуму.
По крону регулярно с одного винта (рабочего) делается копия на второй (запасной).
Если первый винт вышел из строя - он отключается, второй подключается на место первого, а на место второго подключается новый исправный и всё начинается с начала.
Время простоя сведено к минимуму.