Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
drbd_xen_live_migration [2013/06/04 14:58] metallic [Настройка DRBD] |
drbd_xen_live_migration [2022/03/25 17:00] (текущий) |
||
---|---|---|---|
Строка 96: | Строка 96: | ||
# after-sb-0pri after-sb-1pri after-sb-2pri data-integrity-alg no-tcp-cork | # after-sb-0pri after-sb-1pri after-sb-2pri data-integrity-alg no-tcp-cork | ||
} | } | ||
+ | | ||
syncer { | syncer { | ||
# rate after al-extents use-rle cpu-mask verify-alg csums-alg | # rate after al-extents use-rle cpu-mask verify-alg csums-alg | ||
+ | | ||
# Максимальная скорость синхронизации(МБ/ | # Максимальная скорость синхронизации(МБ/ | ||
rate 100M; | rate 100M; | ||
} | } | ||
+ | | ||
} | } | ||
Строка 183: | Строка 183: | ||
cs: | cs: | ||
+ | |||
+ | <note tip> | ||
+ | Можно обойтись без синхронизации, | ||
+ | # drbdadm -- --clear-bitmap new-current-uuid Wheezy | ||
+ | После выполнения этой команды ресурс на обоих узлах сразу перейдет в состояние UpToDate без синхронизации. | ||
+ | </ | ||
===== Настройка XEN ===== | ===== Настройка XEN ===== | ||
К текущему моменту у нас один узел работает в режиме мастера, | К текущему моменту у нас один узел работает в режиме мастера, | ||
- | # drbdadm primary Wheezy | + | |
- | Теперь отформатируем и примонтируем диск(на мастере): | + | Теперь |
- | # mkfs.ext3 /dev/drbd1 | + | # xen-create-image --hostname=Wheezy --memory=512mb --vcpus=1 --dhcp --pygrub --dist=wheezy --mirror=http:// |
- | # mount /dev/drbd1 /mnt | + | |
+ | * **hostname** - имя хоста, которое будет задано установленной системе | ||
+ | * **memory** - кол-во оперативной памяти, | ||
+ | * **vcpus** - кол-во процессоров(ядер), | ||
+ | * **dhcp** - указываем, | ||
+ | * **pygrub** - указываем, | ||
+ | * **dist** - кодовое имя устанавливаемого дистрибутива, | ||
+ | * **mirror** - зеркало, | ||
+ | * **fs** - файловая система для гостевой ОС | ||
+ | * **image-dev** - этим параметром указываем, | ||
+ | * **noswap** - уже сказано, | ||
+ | * **output** - указываем каталог, | ||
+ | |||
+ | После выполнения команды, | ||
+ | |||
+ | WARNING | ||
+ | ------- | ||
+ | | ||
+ | You appear to have a missing vif-script, or network-script, | ||
+ | Xen configuration file / | ||
+ | | ||
+ | Please fix this and restart Xend, or your guests will not be able | ||
+ | to use any networking! | ||
+ | | ||
+ | | ||
+ | General Information | ||
+ | -------------------- | ||
+ | Hostname | ||
+ | Distribution | ||
+ | Mirror | ||
+ | Root Device | ||
+ | Partitions | ||
+ | Memory size : 512mb | ||
+ | Kernel path : / | ||
+ | Initrd path : / | ||
+ | | ||
+ | Networking Information | ||
+ | ---------------------- | ||
+ | IP Address | ||
+ | | ||
+ | | ||
+ | Creating ext4 filesystem on /dev/drbd1 | ||
+ | Done | ||
+ | Installation method: debootstrap | ||
+ | Done | ||
+ | | ||
+ | Running hooks | ||
+ | Done | ||
+ | | ||
+ | No role scripts were specified. | ||
+ | | ||
+ | Creating Xen configuration file | ||
+ | Done | ||
+ | | ||
+ | No role scripts were specified. | ||
+ | All done | ||
+ | | ||
+ | | ||
+ | Logfile produced at: | ||
+ | / | ||
+ | | ||
+ | Installation Summary | ||
+ | --------------------- | ||
+ | Hostname | ||
+ | Distribution | ||
+ | IP-Address(es) | ||
+ | RSA Fingerprint : e6: | ||
+ | Root Password | ||
+ | |||
+ | Смотрим что нам за конфиг нагенерили: | ||
+ | |||
+ | bootloader = '/ | ||
+ | | ||
+ | vcpus = ' | ||
+ | memory | ||
+ | | ||
+ | root = '/ | ||
+ | disk = [ ' | ||
+ | | ||
+ | name = ' | ||
+ | | ||
+ | dhcp = ' | ||
+ | vif = [ ' | ||
+ | | ||
+ | on_poweroff = ' | ||
+ | on_reboot | ||
+ | on_crash | ||
+ | |||
+ | Пробуем запустить для проверки работоспособности(с подключением к консоле) | ||
+ | |||
+ | # xm create -c / | ||
+ | | ||
+ | Если все получилось, | ||
+ | |||
+ | Итак, виртуалка работает, | ||
+ | |||
+ | disk = [ ' | ||
+ | |||
+ | Что такое drbd-тип устройства в XEN? В каталоге / | ||
+ | |||
+ | Теперь пробуем снова запустить виртуалку, | ||
+ | |||
+ | # xm list | ||
+ | Name ID Mem VCPUs State | ||
+ | Domain-0 | ||
+ | Wheezy | ||
+ | |||
+ | А drbd-устройство на этом узле должно быть в режиме primary(хотя если это было бы не так, то виртуалка не запустилась) | ||
+ | |||
+ | # cat /proc/drbd | ||
+ | version: 8.3.11 (api: | ||
+ | srcversion: 41C52C8CD882E47FB5AF767 | ||
+ | | ||
+ | 1: cs: | ||
+ | ns:328 nr:0 dw:328 dr:664 al:6 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0 | ||
+ | |||
+ | Ну и самое интересное, | ||
+ | |||
+ | # Разрешаем живую миграцию | ||
+ | (xend-relocation-server yes) | ||
+ | | ||
+ | # Разрешаем живую миграцию для любой виртуалки(можно указать список, | ||
+ | (xend-relocation-hosts-allow '' | ||
+ | |||
+ | Перезапускаем XEN | ||
+ | |||
+ | # / | ||
+ | | ||
+ | Посе перезапуска оба узла должны слушать порт 8002. | ||
+ | |||
+ | Сама миграция выполняется очень просто, | ||
+ | |||
+ | # xm migrate --live Wheezy 192.168.1.2 | ||
+ | |||
+ | * **Wheezy** - имя виртуалки XEN | ||
+ | * **192.168.1.2** - адрес(или имя) ноды, на которую мигрируем | ||
+ | |||
+ | Если все работает корректно, | ||
+ | |||
+ | ===== Аппаратная виртуализация ===== | ||
+ | Если используется полностью аппаратная виртуализация, | ||
+ | |||
+ | Пример виртуальной машины для запуска Windows 2012 Server (или любой другой системы с аппаратной виртуализацией): | ||
+ | |||
+ | kernel = "/ | ||
+ | builder=' | ||
+ | memory = 2048 | ||
+ | name = " | ||
+ | vcpus=1 | ||
+ | acpi=1 | ||
+ | apic=1 | ||
+ | device_model = '/ | ||
+ | | ||
+ | vif = [ ' | ||
+ | disk = [ ' | ||
+ | | ||
+ | # boot on floppy (a), hard disk (c) or CD-ROM (d) | ||
+ | boot=" | ||
+ | | ||
+ | usbdevice=' | ||
+ | | ||
+ | vnc=1 | ||
+ | vncunused=0 | ||
+ | vnclisten = ' | ||
+ | vncdisplay=0 | ||
+ | vncconsole=0 | ||
+ | vncpasswd='' | ||
+ | | ||
+ | sdl=0 | ||
+ | vncviewer=0 | ||
+ | | ||
+ | stdvga=0 | ||
+ | serial=' | ||
+ | ne2000 = " | ||
+ | | ||
+ | on_poweroff = ' | ||
+ | on_reboot = ' | ||
+ | on_crash = ' | ||