Наша совместная команда Banwar.org

Связаться с нами

  • (097) ?601-88-87
    (067) ?493-44-27
    (096) ?830-00-01

Статьи

Експорт встановленої системи в домен Xen

  1. Матеріал з Xgu.ru Автор: Сергій Черепеніна Автор: Ігор Чубин Короткий URL: xen / export На...
  2. [ правити ] Запуск другої операційної системи в домені Xen встановленої на одному комп'ютері
  3. [ правити ] Запуск домену з експортованого образу
  4. [ правити ] Підготовка сервера бездисковой завантаження
  5. [ правити ] DHCP
  6. [ правити ] TFTP
  7. [ правити ] PXE
  8. [ правити ] Коренева файлова система, завантажувана по мережі
  9. [ правити ] Експорт диска старої машини по мережі
  10. [ правити ] Запуск домену з експортованого образу
  11. [ правити ] Результат запуску
  12. [ правити ] Перенесення образа старої машини
  13. [ правити ] Завантаження системи в якості паравіртуальной

Матеріал з Xgu.ru


Автор: Сергій Черепеніна

Автор: Ігор Чубин
Короткий URL: xen / export

На цій сторінці описується як виконувати систему, встановлену на одному комп'ютері, за допомогою що виконується на іншому комп'ютері емулятора QEMU або домену Xen .

Може бути корисно при консолідації і віртуалізації систем, при роботі з застарілими системами, при тестуванні.

У зв'язку з постійним збільшенням обчислювальної потужності і обсягу оперативної пам'яті машин, які спостерігалися в даний час, більшої популярності набуває ідея віртуалізації систем. Особливо популярним цей підхід стає при побудові серверної інфраструктури.

Віртуалізувати серверна інфраструктура рідко будується з нуля. Найчастіше існує парк фізичних (НЕ віртуалізованих) серверів, які безупинно працюють, виконуючи покладені на них завдання. Нерідко для зберігання інформації (операційної системи, програмного забезпечення і даних) ці сервери використовують не зовнішні сховища, а власні жорсткі диски.

Віртуалізація сервера в даному випадку може бути виконана одним із зазначених способів:

  1. Міграція служб. У віртуальній системі новий сервер розгортається з нуля. Потім на нього переносяться служби старого сервера. Після чого старий сервер виводиться з експлуатації.
  2. Міграція операційної системи. Старий сервер зупиняється, а потім на ньому по мережі (з компакт-диска або іншого зовнішнього носія інформації) запускається інша операційна система, яка експортує встановлений в сервері жорсткий диск системі віртуалізації. Система віртуалізації виконує операційну систему, проінсталірованную на цьому диску. За умови, що віртуалізація вдалася, дані переносяться на сховище системи віртуалізації і старий сервер вимикається.

Останній спосіб простіше і швидше, але він повинен допускати можливість тимчасової, нетривалої зупинки сервера (на час запуску іншої операційної системи, експорту, запуску віртуальної машини поверх експортованих даних). У разі правильного виконання всіх операцій простий в цьому випадку складе до 10 хвилин.

Зверніть увагу що дані, розташовані на жорсткому диску, при завантаженні нової операційної системи, яка виконує експорт, ніяк не використовуються. Завантаження виконується по мережі, з компакт-диска або іншого зовнішнього носія. Диск експортується для доступу до нього системи віртуалізації. Зміни на диску може робити тільки сама операційна система, встановлена ​​на цьому ж диску, після того як вона запущена в віртуальному домені.

Нижче детально розглядається процес міграції, виконаний за другим сценарієм.

[ правити ] Постановка задачі

Нехай є дві системи:

  • Стара система (old) - система, яка повинна бути експортована.
  • Xen-система (xen) - система, всередині якої повинен виконуватися домен під керуванням експортованої системи.

Необхідно створити нову віртуальну машину, яка буде використовувати в якості жорсткого диска жорсткий диск віддаленого хоста, експортований для доступу по мережі за допомогою протоколів мережевого доступу до дискових сховищ.

[ правити ] Запуск другої операційної системи в домені Xen встановленої на одному комп'ютері

Розглянемо для початку найпростіший випадок, коли на одному комп'ютері встановлено дві операційні системи. Він відрізняється від цікавить нас завдання тим, що не потрібно виконувати експорт диска як мережевого пристрою.

Якщо на комп'ютері встановлено дві операційні системи, і одна з них це Xenolinux (Xen + Linux), то другу можна запустити як користувальницький домен Xen.

Якщо на комп'ютері встановлено дві операційні системи, і одна з них це Xenolinux (Xen + Linux), то другу можна запустити як користувальницький домен Xen

Запуск систем, які не працюють в паравіртуальном домені Xen, всередині Xen можливий тільки в тому випадку, якщо центральний процесор системи підтримує апаратну віртуалізацію. В іншому випадку замість Xen можна використовувати QEMU.

Операційна система, завантажена в рідному режимі:

Конфігураційний файл домену Xen:

% $ Egrep -v '^ # | ^ \ * $' / etc / xen / win2003 kernel = "hvmloader" builder = 'hvm' memory = 512 shadow_memory = 8 name = "win2003" acpi = 1 vif = [ 'type = ioemu, bridge = br0 '] disk = [' phy: / dev / hda, hda, w '] device_model =' qemu-dm 'boot = "c" sdl = 0 vnc = 1 vnclisten = "127.0.0.1" stdvga = 0 serial = 'pty' soundhw = 'sb16'

В даному випадку операційна система Windows встановлена ​​на жорсткий диск IDE, підключений в системі в режимі Primary Master (блоковий пристрій / dev / hda).

Старт домену виконується стандартним чином:

% # Xm create win2003% # vncviewer 127.0.0.1:0

Тут замість 0 може бути вказаний інший номер, в залежності від номера VNC-сеансу, який буде відповідати заданим домену Xen. Детальніше див. керівництво користувача Xen .

Домен Xen, завантажений з жорсткого диска:

  • Процесор AMD 3000+
  • 512 Mb ОЗУ

Процесор AMD 3000+   512 Mb ОЗУ

На домен, в якому працює встановлена ​​операційна система поширюються всі ті ж закони, які поширюються на систему, яка встановлена ​​в домен з нуля традиційним способом. Детальніше:

[ правити ] Запуск домену з експортованого образу

Якщо операційна система встановлена ​​не локально, а на іншому комп'ютері, необхідно якимось чином його донести системі віртуалізації, так щоб, грубо кажучи, віртуальний домен побачив диск.

процедура:

  • Виконати бездисковий завантаження старої системи old під управлінням Linux;
  • Виконати експорт диска завантаженої системи old за допомогою AoE або iSCSI ;
  • На працюючої Xen-системі xen запустити домен, який буде використовувати експортований старою машиною.

[ правити ] Підготовка сервера бездисковой завантаження

Детально процедура підготовки описана на сторінці PXE . Нижче наводяться лише приклади конфігураційних файлів ключових систем, що використовуються в роботі.

[ правити ] DHCP

Конфігурація демона dhcpd в файлі / etc / default / dhcp:

% $ Egrep -v '^ # | ^ \ * $' / etc / default / dhcp INTERFACES = "br0"

Сам конфігураційний файл /etc/dhcpd.conf:

% $ Egrep -v '^ # | ^ \ * $' /etc/dhcpd.conf option domain-name "clinika.com"; option domain-name-servers 82.144.192.130, 82.144.192.131, 82.144.192.32, 82.144.192.30; option subnet-mask 255.255.255.0; default-lease-time 600; max-lease-time 7200; subnet 192.168.7.0 netmask 255.255.255.0 {range 192.168.7.200 192.168.7.220; option routers 192.168.7.254; filename "pxelinux.0"; } Host clinika {hardware ethernet 00: 13: 8f: 49: b0: 31; fixed-address 192.168.7.253; }

[ правити ] TFTP

% $ Egrep -v '^ # | ^ \ * $' / etc / default / tftpd-hpa RUN_DAEMON = "yes" OPTIONS = "- l -s / var / lib / tftpboot / ltsp / i386 /"

[ правити ] PXE

Наповнення каталогу TFTP-сервера. Тут присутні файли завантажувача PXELINUX.

% $ Ls -l / var / lib / tftpboot / ltsp / i386 / разом 10690 -rw-r - r-- 1 root root 203 2007-10-04 21:35 boot.msg -rw-r - r- - 1 root root 80023 2007-07-11 9:55 config-2.6.21-2-486 lrwxrwxrwx 1 root root 23 2007-10-04 21:09 initrd.img -> initrd.img-2.6.21-2- 486 -rw-r - r-- 1 root root 3691052 2007-10-04 21:09 initrd.img-2.6.21-2-486 -rw-r - r-- 1 root root 9519 2007-10- 04 21:35 logo.16_1 lrwxrwxrwx 1 root root 20 2007-10-04 21:09 nbi.img -> nbi.img-2.6.21-2-486 -rw-r - r-- 1 root root 5019136 2007 -10-04 21:09 nbi.img-2.6.21-2-486 -rw-r - r-- 1 root root 13944 2007-10-04 21:09 pxelinux.0 drwxr-xr-x 2 root root 104 2007-10-05 15:00 pxelinux.cfg -rw-r - r-- 1 root root 780664 2007-07-11 9:55 System.map-2.6.21-2-486 lrwxrwxrwx 1 root root 20 2007 -10-04 21:09 vmlinuz -> vmlinuz-2.6.21-2-486 -rw-r - r-- 1 root root 1319152 2007-07-11 9:55 vmlinuz-2.6.21-2-486

Конфігураційний файл завантажувача PXELINUX:

clint: Dom0 ~ $ cat /var/lib/tftpboot/ltsp/i386/pxelinux.cfg/default DISPLAY boot.msg TIMEOUT 150 DEFAULT vmlinuz PROMPT 1 LABEL 2.6.21.2 KERNEL vmlinuz APPEND nfsdir = 192.168.7.254: / opt / ltsp / i386 lang = ru ramdisk_size = 1000000 root = / dev / nfs rw nfsroot = 192.168.7.254: / opt / ltsp / i386 / ip = dhcp initrd = initrd.img

[ правити ] Коренева файлова система, завантажувана по мережі

У каталозі / opt / ltsp / i386 / розгорнута операційна система Linux. Інсталяція виконується за допомогою debootstrap або аналогічним способом.

В системі повинні бути встановлені пакети:

[ правити ] Експорт диска старої машини по мережі

Сервер, який буде експортовано, перезавантажується і завантажується по мережі.

Після цього необхідно виконати наступні дії.

Після цього необхідно виконати наступні дії

Будемо вважати, що експорт виконується за допомогою протоколу ATA over Ethernet . Можна використовувати інший протокол доступу до диска по мережі.

Переконайтеся, що завантажений модуль aoe:

ltsp: ~ # lsmod | grep aoe aoe 24416 0

Експортуйте диск / dev / hda (або інший - той, на якому встановлена система) за допомогою vblade:

ltsp: ~ # vblade 1 0 eth0 / dev / hda pid 3344: e1.0, 78165360 sectors O_RDWR

[ правити ] Запуск домену з експортованого образу

На системі віртуалізації завантажте модуль aoe:

clint: Dom0 ~ $ ls -l / dev / etherd ls: / dev / etherd: Ні такого файлу або каталогу% # modprobe aoe aoe: aoe_init: AoE v22 initialised. aoe: 00138f49b031 e1.0 v400c has 78165360 sectors% # sudo lsmod | grep aoe aoe 23456 0

При цьому в / var / log / messages повинні з'явитися повідомлення:

Oct 5 21:46:29 serzh kernel: aoe: aoe_init: AoE v22 initialised. Oct 5 21:46:29 serzh kernel: aoe: 00138f49b031 e1.0 v400c has 78165360 sectors Oct 5 21:46:29 serzh kernel: etherd / e1.0: p2 <p5 p6 p7 p8 p9> p3

У каталозі / dev / etherd повинні з'явитися нові файли пристроїв, що відповідають виявленим дискам ATA over Ethernet:

% # Ls -l / dev / etherd / разом 0 cw - w ---- 1 root disk 152, 3 2007-10-05 21:46 discover brw-rw ---- 1 root disk 152, 256 2007- 10-05 21:57 e1.0 brw-rw ---- 1 root disk 152, 258 2007-10-05 21:46 e1.0p2 brw-rw ---- 1 root disk 152, 259 2007-10- 05 21:46 e1.0p3 brw-rw ---- 1 root disk 152, 261 2007-10-05 21:46 e1.0p5 brw-rw ---- 1 root disk 152, 262 2007-10-05 21 : 46 e1.0p6 brw-rw ---- 1 root disk 152, 263 2007-10-05 21:46 e1.0p7 brw-rw ---- 1 root disk 152, 264 2007-10-05 21:46 e1.0p8 brw-rw ---- 1 root disk 152, 265 2007-10-05 21:46 e1.0p9 cr - r ----- 1 root disk 152, 2 2007-10-05 21:46 err cw - w ---- 1 root disk 152, 4 2007-10-05 21:46 interfaces cw - w ---- 1 root disk 152, 5 2007-10-05 21:46 revalidate

Далі необхідно створити конфігураційний файл нового домену Xen або модифікувати існуючий.

% $ Egrep -v '^ # | ^ \ * $' / etc / xen / win2k kernel = "hvmloader" builder = 'hvm' memory = 512 shadow_memory = 8 name = "win2k" acpi = 1 vif = [ 'type = ioemu, bridge = br0 '] disk = [' phy: /dev/etherd/e1.0,hda,w '] device_model =' qemu-dm 'boot = "c" sdl = 0 vnc = 1 vnclisten = "127.0. 0.1 "stdvga = 0 serial = 'pty' soundhw = 'sb16'

Після чого запустити домен:

% @ Xm create win2k

[ правити ] Результат запуску

Стара машина, завантажена самостійно.

  • Процесор Sempron 2600
  • 457968KB ОЗУ

Процесор Sempron 2600   457968KB ОЗУ

Домен Xen, завантажений віддалено з жорсткого диска старої системи:

  • Процесор AMD 3000+
  • 523800KB ОЗУ

Процесор AMD 3000+   523800KB ОЗУ


Інші зображення:

Інші зображення:

[ правити ] Перенесення образа старої машини

Якщо старий сервер повинен бути виведений з експлуатації, необхідно скопіювати дані на нове місце.

Домен відповідний віртуалізіруемому сервера повинен бути погашений в момент копіювання!

Наприклад, якщо перенесення виконується на тому LVM :

% # Lvcreate -L 20G -n server2003 / dev / XEN% # dd if = / dev / etherd / e1.0 of = / dev / XEN / server2003% # sed -i -es@/dev/etherd/e1.0 @ / dev / XEN / server2003 @ / etc / xen / win2003

[ правити ] Завантаження системи в якості паравіртуальной

Якщо віртуалізувати система, що працює під управлінням Linux або іншої операційної системи, яка може бути паравіртуалізірована, є сенс подумати про те що б перетворити цю систему з HVM в паравіртуальную.

Детальніше:

Якщо в системі присутній ядро ​​Xen, можна завантажувати його безпосередньо з цієї системи (а не з домену 0). Для цього використовується програма pygrub.

Якщо потрібно щоб домен завантажувався під управлінням ядра, отриманого по мережі, можна скористатися програмою pypxeboot.

Детальніше:

Новости

Banwar.org
Наша совместная команда Banwar.org. Сайт казино "Пари Матч" теперь доступен для всех желающих, жаждущих волнения и азартных приключений.