1. Сделать резервные копии всех виртуальных доменов
2. Остановить службу Heartbeat на обоих узлах
3. Создать логический том LVM (строго идентично на обоих узлах)
clu-servd1$ sudo lvcreate --name lvmvolname --size lvmvolsize VGNAME
clu-servd3$ sudo lvcreate --name lvmvolname --size lvmvolsize VGNAME
4. Создать DRBD — устройство
4.1. Остановить ВСЕ виртуальные домены (DomU) на обоих узлах
(xm shutdown)
4.2. Остановим службу DRBD на обоих узлах кластера
a) clu-servd1$ sudo /etc/init.d/drbd stop
b) clu-servd3$ sudo /etc/init.d/drbd stop
4.3. Описать в конфиге /etc/drbd.conf (на узле puppet) новое DRBD —
устройство:
resource xen-drbd-portal {
on clu-servd1 {
device /dev/drbd2;
disk /dev/xen_vg2/portal;
address 10.0.0.1:7790;
meta-disk internal;
}
on clu-servd3 {
device /dev/drbd2;
disk /dev/xen_vg2/portal;
address 10.0.0.2:7790;
meta-disk internal;
}
}
4.4. Применим изменения конфига /etc/drbd.conf на обоих узлах кластера
a) clu-servd1$ sudo puppetd --test
b) clu-servd3$ sudo puppetd --test
4.5. Запустим службу DRBD
a) Запустим службу DRBD на обоих узлах
• clu-servd1$ sudo /etc/init.d/drbd start
• clu-servd3$ sudo /etc/init.d/drbd start
b) Создадим метадиск на обоих узлах
• clu-servd1$ sudo drbdadm create-md xen-drbd-portal
• clu-servd3$ sudo drbdadm create-md xen-drbd-portal
c) Запустим созданный DRBD — ресурс на обоих узлах:
• clu-servd1$ sudo drbdadm up xen-drbd-portal
• clu-servd3$ sudo drbdadm up xen-drbd-portal
d) ТЕПЕРЬ ТОЛЬКО НА PRIMARY УЗЛЕ
• clu-servd1$ sudo drbdadm -- --overwrite-data-of-peer primary xen-drbd-portal
e) Проверим состояния DRBD — ресурсов и понаблюдаем за процессом
синхронизации частей созданного DRBD — ресурса на разных узлах кластера
• clu-servd1$sudo cat /proc/drbd
• 4: cs:SyncSource st:Secondary/Secondary ds:UpToDate/Inconsistent C r---
ns:5618884 nr:0 dw:0 dr:5660064 al:0 bm:342 lo:4 pe:10 ua:1290 ap:0
[=========>..........] sync'ed: 53.6% (4752/10239)M
finish: 0:00:38 speed: 127,948 (117,052) K/sec
resync: used:4/61 hits:352115 misses:346 starving:0 dirty:0 changed:346
act_log: used:0/127 hits:0 misses:0 starving:0 dirty:0 changed:0
f) Спустя некоторое время вновь проверим
• clu-servd1$sudo cat /proc/drbd
4: cs:Connected st:Primary/Secondary ds:UpToDate/UpToDate C r---
•
ns:10485404 nr:0 dw:0 dr:10485404 al:0 bm:640 lo:0 pe:0 ua:0 ap:0
resync: used:0/61 hits:654698 misses:640 starving:0 dirty:0 changed:640
act_log: used:0/127 hits:0 misses:0 starving:0 dirty:0 changed:0
Видим, что части DRBD — ресурса завершили синхронизацию и на
•
PRIMARY — узле ресурс перешел в состояние Primary
5. Создать виртуальный домен (DomU)
5.1. Создать конфиг — на узле puppet
a) puppet$ sudo touch /etc/puppet/modules/xen-domu-config/files/portal
b) Заполнить конфиг
import os, re
•
arch = os.uname()[4]
kernel = "/usr/lib/xen-default/boot/hvmloader"
builder = 'hvm'
device_model = "/usr/lib/xen-default/bin/qemu-dm"
memory = 4096
name = "portal"
vcpus = 3
vif = [ 'type=ioemu,bridge=eth4' ]
disk = [ 'phy:/dev/drbd1,xvda,w', 'file:/home/paul/X86-64SBDVD3.iso,xvdc:cdrom,r' ]
boot="dc"
acpi = 1
apic = 1
stdvga=0
sdl=0
vnc=1
vncpasswd='123123cheche'
vnclisten="0.0.0.0"
on_reboot = 'restart'
on_crash = 'restart'
on_powerof = 'destroy'
c) Добавляем в класс xen-domu-config (/etc/puppet/modules/xen-domu-
config/manifests/init.pp) описание файла конфига нового виртуального домена
DomU
file { "/etc/xen/config/portal":
•
owner => root,
group => root,
mode => 0644,
source => "puppet:///xen-domu-config/portal";
}
d) Применить изменения на обоих узлах
• clu-servd1$ sudo puppetd --test
• clu-servd3$ sudo puppetd --test
6. Добавим информацию о созданном ресурсе (под ресурсом в данном случае понимаем
всю связку DomU-DRBD-LVM) в Heartbeat (Heartbeat — важнейший компонент
проекта Linux-HA, отвечающий за обнаружение выпадения узла из кластера. )
6.1. Добавим в файл puppet:/etc/puppet/modules/heartbeat/files/haresources
a) Строчку «clu-servd2 xendom2::portal::xen-drbd-portal »
• где clu-servd2 — узел на котором должен работать ресурс в штатном
режиме
• xendom2 — имя скрипта, реализующего управление ресурсами DomU-
DRBD-LVM
• portal — имя виртуального ресурса DomU, а также имя файла
конфигурации данного виртуального домена (они должны быть
идентичны !)
6.2. Применить изменения на обоих узлах
• clu-servd1$ sudo puppetd --test
• clu-servd3$ sudo puppetd --test
7. Рестарт Heartbeat
8. После установки ОС в DomU необходимо зафиксировать MAC в конфиге DomU
9. Установить частоту и параметры резервного копирования LVM в crontab (puppet)

Комментариев нет:
Отправить комментарий