Linux и Windows: помощь админам и пользователям

Администрируем и настраиваем Windows, Linux.



Живая миграция LVM-Based виртуальных машин Xen c iSCSI на Debian Lenny , часть 3

Рубрика: Виртуализация
Метки: | | |
Четверг, 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

twitter.com facebook.com vkontakte.ru odnoklassniki.ru mail.ru ya.ru rutvit.ru myspace.com technorati.com digg.com friendfeed.com pikabu.ru blogger.com liveinternet.ru livejournal.ru memori.ru google.com bobrdobr.ru mister-wong.ru yahoo.com yandex.ru del.icio.us

Оставьте комментарий!

Используйте нормальные имена.

Имя и сайт используются только при регистрации

Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email. При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д., а также подписку на новые комментарии.

(обязательно)