Живая миграция LVM-Based виртуальных машин Xen c iSCSI на Debian Lenny , часть 3
Метки: Debian | Linux | LVM | Xen
Четверг, 11 июня 2009 г.
Просмотров: 10491
Подписаться на комментарии по RSS
Подошел к концу отпуск и я наконец то возвращаюсь. Первым делом завершаю перевод третьей части данной статьи.
5 Создание виртуальной машины
Для создания виртуальной машины мы будем использовать xen-tools.
Отредактируем файл /etc/xen-tools/xen-tools.conf. Этот файл содержит дефолтные значения используемые скриптом xen-create-image script. Я изменю только указанные ниже значения, оставив остальные без изменений:
server1/server2:
vi /etc/xen-tools/xen-tools.conf
[...] lvm = vg_xen [...] dist = lenny # Default distribution to install. [...] gateway = 192.168.0.1 netmask = 255.255.255.0 broadcast = 192.168.0.255 [...] passwd = 1 [...] kernel = /boot/vmlinuz-`uname -r` initrd = /boot/initrd.img-`uname -r` [...] mirror = http://ftp.de.debian.org/debian/ [...] serial_device = hvc0 [...] disk_device = xvda [...]
Убедитесь что вы раскомментировали строку с параметром lvm и указали там имя группы томов в общем хранилище (vg_xen). Также убедитесь что строка dir закомментирована!
Интересное
В скором времени у друга будет свадьба. Подумываю подарить кристаллы Swarovski. Довольно большой выбор нашел на сайте www.belotos.ru.
Параметр dist указывает какой дистрибутив будет устанавливаться (Debian Lenny)
Строка passwd = 1 говорит о том, что вы можете указать пароль рута когда будете создавать новый гостевой домен.
В строке mirror укажите ближайшее к вам зеркало Debian.
Особо важно указать строку serial_device = hvc0, так как в обратном случае ваша виртуальная машина не загрузиться правильно!
Итак, давайте создадим наш первый гостевой домен, vm1.example.com, с IP адресом 192.168.0.103:
server1:
xen-create-image --hostname=vm1.example.com --size=4Gb --swap=256Mb --ip=192.168.0.103 --memory=128Mb --arch=amd64 --role=udev
server1:~# xen-create-image --hostname=vm1.example.com --size=4Gb --swap=256Mb --ip=192.168.0.103 --memory=128Mb --arch=amd64 --role=udev General Information -------------------- Hostname : vm1.example.com Distribution : lenny Partitions : swap 256Mb (swap) / 4Gb (ext3) Image type : full Memory size : 128Mb Kernel path : /boot/vmlinuz-2.6.26-1-xen-amd64 Initrd path : /boot/initrd.img-2.6.26-1-xen-amd64 Networking Information ---------------------- IP Address 1 : 192.168.0.103 [MAC: 00:16:3E:4D:61:B6] Netmask : 255.255.255.0 Broadcast : 192.168.0.255 Gateway : 192.168.0.1 Creating swap on /dev/vg_xen/vm1.example.com-swap Done Creating ext3 filesystem on /dev/vg_xen/vm1.example.com-disk Done Installation method: debootstrap Done Running hooks Done Role: udev File: /etc/xen-tools/role.d/udev Role script completed. Creating Xen configuration file Done Setting up root password Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully All done Logfile produced at: /var/log/xen-tools/vm1.example.com.log server1:~#
Как вы можете видеть, эта команда создала 2 новых раздела в группе vg_xen, /dev/vg_xen/vm1.example.com-disk и /dev/vg_xen/vm1.example.com-swap.
Разное
Лучшее кадровое агентство в Челябинске. Профессиональный подход к поиску работы.
В директории /etc/xen должен появиться конфигурационный файл для новой виртуальной машины vm1.example.com. Так как нам необходимо мигрировать виртуальную машину с server1 на server2, необходимо скопировать конфигурационный файл на server2:
scp /etc/xen/vm1.example.com.cfg root@server2.example.com:/etc/xen/
Теперь мы можем запускать vm1.example.com:
xm create /etc/xen/vm1.example.com.cfg
6 Выполняем живую миграцию виртуальной машины vm1.example.com с server1 на server2
Для проверки того, что живая миграция действительно является таковой, мы залогинимся на vm1.example.com (к примеру через SSH) и будем пинговать внешний сервер:
vm1.example.com:
ping google.com
server1:
xm list
Данная команда покажет что в настоящее время виртуальная машина vm1.example.com запущена на server1:
server1:~# xm list Name ID Mem VCPUs State Time(s) Domain-0 0 3628 2 r----- 115.6 vm1.example.com 1 128 1 -b---- 2.4 server1:~#
Перед выполнением миграции убедимся что /dev/vg_xen/vm1.example.com-disk и /dev/vg_xen/vm1.example.com-swap доступны на server2:
server2:
lvdisplay
server2:/etc/xen# lvdisplay --- Logical volume --- LV Name /dev/vg_xen/vm1.example.com-swap VG Name vg_xen LV UUID ubgqAl-YSmJ-BiVl-YLKc-t4Np-VPl2-WG5eFx LV Write Access read/write LV Status NOT available # open 1 LV Size 256.00 MB Current LE 64 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 254:3 --- Logical volume --- LV Name /dev/vg_xen/vm1.example.com-disk VG Name vg_xen LV UUID 4zNxf2-Pt16-cQO6-sqmt-kfo9-uSQY-55WN76 LV Write Access read/write LV Status NOT available # open 1 LV Size 4.00 GB Current LE 1024 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 254:2 --- Logical volume --- LV Name /dev/vg0/root VG Name vg0 LV UUID aQrAHn-ZqyG-kTQN-eYE9-2QBQ-IZMW-ERRvqv LV Write Access read/write LV Status available # open 1 LV Size 100.00 GB Current LE 25600 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 254:0 --- Logical volume --- LV Name /dev/vg0/swap_1 VG Name vg0 LV UUID 9gXmOT-KP9j-21yw-gJPS-lurt-QlNK-WAL8we LV Write Access read/write LV Status available # open 1 LV Size 1.00 GB Current LE 256 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 254:1 server2:/etc/xen#
Как вы видите, данная команда показывает что оба тома находятся в статусе NOT available, поэтому выполняем следующую команду:
lvscan lvchange -a y /dev/vg_xen/vm1.example.com-disk lvchange -a y /dev/vg_xen/vm1.example.com-swap
Теперь все должно быть в порядке:
lvdisplay
server2:/etc/xen# lvdisplay
--- Logical volume ---
LV Name /dev/vg_xen/vm1.example.com-swap
VG Name vg_xen
LV UUID ubgqAl-YSmJ-BiVl-YLKc-t4Np-VPl2-WG5eFx
LV Write Access read/write
LV Status available
# open 1
LV Size 256.00 MB
Current LE 64
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 254:3
--- Logical volume ---
LV Name /dev/vg_xen/vm1.example.com-disk
VG Name vg_xen
LV UUID 4zNxf2-Pt16-cQO6-sqmt-kfo9-uSQY-55WN76
LV Write Access read/write
LV Status available
# open 1
LV Size 4.00 GB
Current LE 1024
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 254:2
--- Logical volume ---
LV Name /dev/vg0/root
VG Name vg0
LV UUID aQrAHn-ZqyG-kTQN-eYE9-2QBQ-IZMW-ERRvqv
LV Write Access read/write
LV Status available
# open 1
LV Size 100.00 GB
Current LE 25600
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 254:0
--- Logical volume ---
LV Name /dev/vg0/swap_1
VG Name vg0
LV UUID 9gXmOT-KP9j-21yw-gJPS-lurt-QlNK-WAL8we
LV Write Access read/write
LV Status available
# open 1
LV Size 1.00 GB
Current LE 256
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 254:1
server2
xm list
На этом сервере данная команда показывает что нет ни одной запущенной гостевой виртуальной машины:
server2:~# xm list Name ID Mem VCPUs State Time(s) Domain-0 0 3633 2 r----- 16.2 server2:~#
Начинаем живую миграцию:
server1:
xm migrate --live vm1.example.com server2.example.com
После выполнения, выполним команду
xm list
server1:~# xm list Name ID Mem VCPUs State Time(s) Domain-0 0 3626 2 r----- 118.2 server1:~#
Как вы видите, vm1.example.com отсутствует на server1.
Давайте проверим server2:
server2:
xm list
server2:~# xm list Name ID Mem VCPUs State Time(s) Domain-0 0 3633 2 r----- 19.4 vm1.example.com 1 128 1 --p--- 0.0 server2:~#
Все в порядке, виртуальная машина доступна на server2.
Оригинал 319
Еще записи по теме
- Включение или отключение vSphere Web Access Service.
- Добавляем дополнительный диск в гостевую систему Linux под Vmware без перезагрузки
- Создание и использование шаблонов VMware ESX Server
- Конвертируем Windows в виртуальную машину
- Запускаем Vyatta в VMware ESX
- Клонирование/резервное копирование/восстановление OpenVZ с использованием vzdump
- Управляем OpenVZ с помощью панели WebVZ на Debian Lenny
Оставьте комментарий!