Рейтинг:0

Остановка DRBD, чтобы я мог запустить некоторые тесты с виртуальной машиной

флаг in

У нас есть два сервера, которые я унаследовал, на обоих работает DRBD, а на каждом — виртуальные машины KVM.

Я хотел бы остановить виртуальную машину, работающую на сервере 1, и запустить только одну виртуальную машину на сервере 2 для некоторых тестов. Хотя DRBD делает свое дело на этих серверах и сломанный сценарий запуска (опубликованный здесь), который у меня есть с сервера 2, это заставляет меня нервничать, поскольку я не хочу полностью останавливать сервер 1, а только одну виртуальную машину на нем. Я не создавал и не настраивал эти машины, и я сомневаюсь, что DRBD (о котором я мало знаю) был полностью правильно реализован. Сценарий остановки сервера 1 опубликован, а сценарий запуска сервера 2 размещен здесь.

Но прежде всего, я думаю, я просто хочу знать, как безопасно остановить drbd от возни с двумя серверами на какое-то время. Чтобы я мог смонтировать файловую систему на server2 и запустить виртуальную машину, которую я остановил на server1.

Сценарий остановки сайта Server1:

эхо poweroff -p сейчас
эхо
read -rsp $'Нажмите любую клавишу, чтобы продолжить...\n' -n1 key

вирш выключение irsc
резервное копирование выключения вирша
virsh выключение пользователя
репозиторий выключения virsh
virsh выключение веб-брандмауэра
virsh выключение вики
virsh выключение a-шлюза
virsh выключение b-шлюза
вирш выключение dhcp
 
# выключаем drbd
#drbd-стоп
эхо теперь вручную отключить drbd
эхо размонтировать /системы
эхо drbdadm вторичное все
эхо drbd-обзор

Почему drbd-stop закомментирован без понятия, и почему он повторяет то, что должен делать? Понятия не имею. Но ладно, так что это сценарий остановки. Файлы img Server1 для KVM живут в /systems, кстати.

Итак, я перехожу на сервер 2. Первая проблема: в папке /systems нет файлов img, но в сценарии запуска есть строка монтирования. Вот стартовый скрипт для server2: (Я понятия не имею, что на самом деле делает nodedev-detach pci.)

#!/бин/ш
# изолировать процессоры для виртуальных машин
#сайт-изолировать

# бэкап 192 сети
virsh nodedev-detach pci_0000_06_10_2
# 10.7
virsh nodedev-detach pci_0000_02_10_0
# 10.5
virsh nodedev-detach pci_0000_06_10_3
# 10.2
virsh nodedev-detach pci_0000_02_10_1

# a-шлюз
№ 192
virsh nodedev-detach pci_0000_06_10_0
# 10.5
virsh nodedev-detach pci_0000_06_10_1
# 10.7
virsh nodedev-detach pci_0000_02_10_4

# b-шлюз
№ 192
virsh nodedev-detach pci_0000_06_10_4
# 10.2
virsh nodedev-detach pci_0000_02_10_5

# dhcp
# 10.5
virsh nodedev-detach pci_0000_06_10_7
# 10.7
virsh nodedev-detach pci_0000_02_11_0
# 10.2
virsh nodedev-detach pci_0000_02_11_1

# днс2
№ 192
virsh nodedev-detach pci_0000_06_11_0

# веб сервер
# 10.7
virsh nodedev-detach pci_0000_02_11_4

# веб-брандмауэр
№ 192
virsh nodedev-detach pci_0000_06_10_6
# 10.7
virsh nodedev-detach pci_0000_02_12_4
# 10.2
virsh nodedev-detach pci_0000_02_11_5

# ирск
# 10.7
virsh nodedev-detach pci_0000_02_13_0
# БТВ
virsh nodedev-detach pci_0000_09_00_0

# брандмауэр
# 10.25
virsh nodedev-detach pci_0000_02_12_1
# 10.5
virsh nodedev-detach pci_0000_06_11_1

# братан сервер
№ 192
virsh nodedev-detach pci_0000_06_11_2

эхо запустить drbd
# запускаем зеркало диска с рабом
запуск службы drbd
спать 2

# теперь настройте drbd и файловые системы

# для всех образов ВМ смонтируйте /systems
первичные системы drbdadm
смонтировать /dev/drbd/by-res/systems /systems

# для arc-шлюза
drbdadm первичные данные шлюза дуги

# для резервного копирования
первичный архив drbdadm
первичная аманда drbdadm

# для пользовательского компьютера
# для пользовательского компьютера
основные пользователи drbdadm

# для компьютера веб-сервера
основной веб-сервер drbdadm

# для вики
первичный svn drbdadm

# для ирск. *** это то, о чем я хочу рассказать? я должен сделать это первичный irsc drbdadm
drbdadm первичный irsc

эхо запуска вмс
# запускаем виртуальные машины
# основные серверы
вирш запустить dns2
вирш запустить dhcp
# долго запускать серверы
вирш старт девел1
вирш начать xmail
# шлюзы, sdss-gateway занимает много времени
virsh запускает sdss-шлюз
virsh start arc-gateway
вирш стартовый пользователь
# серверы APO
virsh запустить веб-сервер
вирш запустить резервное копирование
стартовый репозиторий virsh
Вирш начать вики
вирш старт ирск

# наконец-то веб-брандмауэр, теперь онлайн для всего мира
virsh запустить веб-брандмауэр
флаг jm
Dok
Какой резервный диск настроен для использования виртуальной машиной irsc? Используется ли необработанное устройство /dev/drbdX или какой-то файл образа ВМ, размещенный в файловой системе?
флаг in
На этом резервном диске сценарий запуска монтирует папку: mount /dev/drbd/by-res/systems /systems, в которой есть файлы .img. Поэтому, если я смонтирую его в системе резервного копирования, я не уверен, что drbd сойдет с ума.
Рейтинг:1
флаг jm
Dok

Как вы объяснили в комментарии выше. Все корневые тома виртуальной машины хранятся в виде файлов образов в файловой системе, смонтированной по адресу /системы. Для безопасного переключения на одноранговую систему вам необходимо остановить доступ к этой файловой системе (остановить все виртуальные машины) и сначала размонтировать ее. Это объединяет все виртуальные машины вместе и приводит к необходимости аварийного переключения всех виртуальных машин.

Один из вариантов, который обычно не рекомендуется было бы отключить узлы DRBD и вручную вызвать расщепление мозга. По сути, оба узла будут первичными одновременно и, таким образом, вызовут расхождение данных, которое вам нужно будет разрешить вручную, чтобы снова подключить их. Я бы сначала проверил, что ваша конфигурация DRBD не включает никаких параметры автоматического восстановления с разделенным мозгом. Процедура должна быть аналогична приведенной ниже. Будьте осторожны здесь, особенно с --discard-мои-данные команда. Запуск их с неправильного узла может иметь катастрофические последствия.

## Со вторичного узла
# drbdadm отключить системы
# основные системы drbdadm
## Убедитесь, что irsc остановлен на узле
# virsh start irsc
## Делайте любые тесты, которые вам нужны
# вирш стоп ирск
# дополнительные системы drbdadm
# drbdacm подключить системы --discard-my-data
флаг in
Итак: смонтировать /dev/drbd/by-res/systems /systems является общим ресурсом между узлами? Следовательно, я не могу просто смонтировать его на обоих узлах и намеренно отключить DRBD на обоих узлах (фактически отделив их от DRBD). Я понимаю ваши команды в целом и понимаю, насколько катастрофическими могут быть такие вещи с DRBD. Как не настоящий системный администратор, а тот, кто унаследовал эту систему, система drbd в целом заставляет меня нервничать, как только может быть.
флаг jm
Dok
DRBD в большинстве случаев реплицирует данные между хостами в соответствующие локальные хранилища. Таким образом, это не «общий доступ» в классическом смысле, вместо этого оба узла имеют идентичные копии данных на уровне блоков. Похоже, вы удалили DRBD на данный момент. Я подозреваю, что вы просто сейчас напрямую обращаетесь к резервному хранилищу. Просто знайте, что если вы когда-нибудь захотите «повторно включить» DRBD, вам нужно будет выполнить полную синхронизацию, поскольку теперь вы изменили базовые данные, и DRBD никак не может об этом знать.

Ответить или комментировать

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