LINUX.ORG.RU
ФорумAdmin

Клонирование жесткого диска «боевого сервера»

 , ,


1

3

Доброго времени суток. Имеется сервер, на котором крутятся 2 2-х террабайтных винта в режиме raid 1, на данном рейде поднят гипервизор esxi 5.1 и собственно datastore с виртуалками. Возникла необходимость сделать точную копию данной дисковой подсистемы (дабы поставить диски в другой сервер и, в случае проблем с основным сервером, подключить запасной). К слову - виртуалки практически не изменяются, т.е. это не базы данных или что-то динамическое - подняты стандартные службы аля DNS, DHCP, сервера лицензий некоторых профильных программ. Вопрос - какими средствами можно решить данную задачу не останавливая основной (источник копирования) сервер? С уважением и заранее спасибо.

Включить винт в зеркало третьим, дай ему засинкаться, а потом забрать его оттуда?

targitaj ★★★★★
()
Ответ на: комментарий от targitaj

Хм. А прокатит ли такая тема? Я просто рассчитывал на вариант типа dd или clonezilla. Просто опыта в таких вещах нет - вот и вопрошаю.

chell1975
() автор топика
Ответ на: комментарий от chell1975

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

targitaj ★★★★★
()
Ответ на: комментарий от targitaj

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

chell1975
() автор топика
Ответ на: комментарий от chell1975

dd точно не прокатит при работающей, так или иначе данные какие-то будут писаться на диск, например те же логи. targitaj - действительно интересную идею подкинул. Попробуйте, потом нам расскажите :)

anc ★★★★★
()
Ответ на: комментарий от chell1975

Давай по-порядку. У тебя есть два (одинаковых) диска. Они разбиты одинаково. Если разбиение на разделы есть, то массив собран из разделов. Что нужно сделать? Нужно выяснить из чего именно собран массив и как разбиты существующие диски.
Надо посмотреть:

parted -l
gdisk -l /dev/твои_винты
попробуй
gdisk -l /dev/sd[a-z]
может сработает.
cat /proc/mdstat
Выясняешь из чего собран массив. Подключаешь к системе новый диск (тут может быть небольшая эпопея с автоопределением). Диск должен быть размером не меньше, чем участники существующего массива. Создаёшь раздел точно такого же размера, из которых собран массив. Если вообще из разделов. В идеале, тупо точно такой же диск размечаешь точно так же. Утилитой mdadm добавляешь в существующий массив (скорее всего) раздел. Наблюдаешь за процессом синхронизации
watch "cat /proc/mdstat"
Как засинкается - помечаешь его сбойным, удаляешь из массива и вынимаешь из системы. Есть вроде какие-то нюансы с выниманием диска на-горячую, я сейчас не помню. Вроде чего-то там с кешами было. Как-то их надо сбросить.

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/5/html...

echo 1 > /sys/block/device-name/device/delete where device-name may be sde, for example.

Вот тебе русскоязычная памятка по mdadm

главное - не спеши

targitaj ★★★★★
()
Последнее исправление: targitaj (всего исправлений: 8)
Ответ на: комментарий от chell1975

ну дык для того, чтобы он вообще начал синкаться мне надо указать ,что у меня теперь 3 диска в рейде ( а можно ли это?

Конечно можно, какое-то ограничение по кол-ву дисков наверняка есть, но имхо оно ооочень большое и зависит от реализации :)

да и выключение сервака не вариант).

Не hotswap ? Тогда что вы будете делать при выходе одного из строя? Правильно, все равно гасить машину. Если очень надо, сошлитесь на регламентные работы :)

anc ★★★★★
()

А вот был бы у тебя ZFS, сделал бы просто zfs send...

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

Вставляешь заместо него новый. Вынутый вставляешь во второй сервер с ещё одним новым. И ресинкаешь оба рейда, как будт-то ничего и не было.

PS: перед этим сделать бэкап, а то моло ли.

beastie ★★★★★
()

стоп, я протупил, у тебя же там не linux raid? Чем массив реализован?

targitaj ★★★★★
()
Последнее исправление: targitaj (всего исправлений: 1)

если это для второго ТАКОГО ЖЕ сервера и рейд аппаратный, то выключаешь сервер на 10 секунд, выдергиваешь один диск и включаешь

потом добавишь чистый диск со второго сервера

Второй сервер поднимешь с выдернутого сервера и потом добавишь второй диск.

Я так делал много раз, никаких проблем, если рейд-контроллеры одинаковые и диски одного размера

most-fucktum
()
Ответ на: комментарий от most-fucktum

аппаратно. сейчас точно уже не скажу какой контроллер. и да.

~ # uname -a

VMkernel app1 5.5.0 #1 SMP Release build-2068190 Aug 22 2014 19:00:51 x86_64 GNU/Linux

в этом и сложность...

даже на 10 секунд не могу выключить. поэтому и стоит вопрос - на живую, на боевом.

chell1975
() автор топика
Ответ на: комментарий от chell1975

даже на 10 секунд не могу выключить. поэтому и стоит вопрос - на живую, на боевом.

Ну тогда имхо только ручками перенести. Конечно больше действий ручками, но ведь выполнимо.

anc ★★★★★
()
Ответ на: комментарий от Deathstalker

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

anc ★★★★★
()
Ответ на: комментарий от anc

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

chell1975
() автор топика
Ответ на: комментарий от chell1975

Диски на горячую подключать, как правило, можно. Найди мануал к своему контроллеру и посмотри, что он может.

Был бы у тебя lvm можно было бы сделать снапшот и ddшить его, а ddшить наживую может быть опасно - например, пока идёт чтение 2 терабайт важный файл может переехать из конца диска в начало и не попасть на копию. Впрочем, если все нужные данные действительно ридонли, а на логи насрать, то можно рискнуть с dd, потом fsck и тестировать резервный сервер.

legolegs ★★★★★
()
Ответ на: комментарий от chell1975

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

targitaj ★★★★★
()

Раз вы эксплуатируете решения от vmware, то потрудитесь изучить инструмент. Колхоз с клонированием дисков оставьте пионэрам.

Раз у вас аппаратный рейд, то «дёргать» диски куда-либо не вариант совсем.

Я бы посоветовал так: поднимаете второй сервер с таким же ESXi (в смысле версии и патчей). Настраиваете виртуальные сети, как на первом сервере, но не подключаете их во внешнюю сеть.

А дальше делаете резервную копию каждой ВМ и восстанавливаете на второй сервер. Включаете и проверяете. Без выхода в реальную сеть. А когда бабахнет, то на втором сервере просто выпускаете всех в реальную сеть.

Надеюсь, у вас ESXi не в редакции для нищебродов за бесплатно? Если есть нормальная (пусть самая минимальная) лицензия, то, к примеру, veeam все виртуалки на ходу без остановки откопирует (нужные интерфейсы будут открыты). Если лицензии нет, то ССЗБ и зачем тогда vmware.

Т.е. это будет ручная реализация концепции репликации через бэкап.

Bebop ★★
()
Ответ на: комментарий от Bebop

если бы была нормальная «не нищебродская» лицензия - даже разговоров бы не было. vmware дает все что нужно. но... не всем везет так, как Вам. и Вы не поверите, но во многих компаниях очень сложно объяснить, какая ответственность (а ведь у директората ее и правда никакой) бывает за использование пиратского ПО... отсюда и танцы с бубнами...

chell1975
() автор топика
Ответ на: комментарий от chell1975

Создаем бэкапы виртуалок. Ставим esxi на новый сервак и разворачиваем последовательно. Не? :)

anc ★★★★★
()

А просто в консоле ESXI наделать снапшотов и переписать их по сети на бекапный сервер ...

zaz ★★★★
()
Ответ на: комментарий от chell1975

А зачем сервер гасить? У меня даже старая машина на 4 Пентиуме умеет IDE нагорячую подключать.

mahalaka ★★
()
Ответ на: комментарий от chell1975

Тогда, как ниже подсказали, делаете снепшот ВМ, потом по SCP забираете его на новую машину (возможно через свою рабочую станцию). Т.е. берёте VMX + все полные VMDK (не дельты). Оригинальную ВМ при этом выключать не нужно.

На новой машине импортируете и донастраиваете.

Можно попробовать Veeam FastSCP. Он сам бесплатен и поддерживает бесплатный ESXi. Но в крайнем случае все можно забрать просто ручками. 2ТБ по старому scp будут долго переливаться.

ESXi 5.1 ещё похож на старые ESX-ы и многое даёт делать руками и нештатно. В шестой версии стало с этим жёсче.

Что касается начальства выбравшего ESXi безо всего (лицензия и поддержка), то оно сделало ошибку. Продукты VMware хороши только при наличии денег - тогда это зубастые и очень функциональные продукты с удобным управлением. Но если нет лицензии, то это самый урезанный виртуализатор на рынке. Лучше было брать что-то из линуксовых виртуализаторов - они гораздо более дружелюбны к нештатным средствам.

Кстати, когда перетащите VMDK, то попробуйте погонять их под KVM. Они должны нормально там крутиться. Только драйверы нужно будет поменять и сеть перенастроить, но для резервных ВМ это не должно стать проблемой. Я так делал - работало.

Bebop ★★
()

так что, результат есть? Как и что сделал?

targitaj ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.