<
  • Главная
Статьи

Windows XP в Xen

  1. Матеріал з Xgu.ru В основу цієї сторінки покладена стаття Михайла Сгибнева. Короткий URL: xen...
  2. [ правити ] Підтримка VMX
  3. [ правити ] Конфігураційний файл домену
  4. [ правити ] Створення дискового розділу для гостьової системи
  5. [ правити ] Запуск домену та інсталяція гостьової системи
  6. [ правити ] Запуск віртуальної машини Xen на голому залозі і навпаки
  7. [ правити ] Безшовна віртуалізація
  8. [ правити ] Паравіртуальние драйвери
  9. [ правити ] Проброс PCI-пристроїв всередину домену Windows
  10. [ правити ] Питання та відповіді
  11. [ правити ] Додаткова інформація
  12. [ правити ] Проблеми продуктивності в віртуалізованих машинах Windows

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

В основу цієї сторінки покладена стаття Михайла Сгибнева.

Короткий URL: xen / winxp

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

[ правити ] Попередні вимоги

В першу чергу, для установки Windows XP, як і будь-який інший не портований на Xen системи, необхідна підтримка центральним процесором технології віртуалізації Intel®Virtualization Technology (VT) або Pacifica (AMD). Інформацію про підтримку процесорами апаратної віртуалізації можна подивитися на сторінці Вимоги до апаратного забезпечення Xen . Підтримка апаратної віртуалізації повинна бути і у Xen.

[ правити ] Підтримка VMX

Переконатися в наявності підтримки VMX можна так.

Для процесорів Intel:

# Xm dmesg | grep VMX (XEN) VMXON is done (XEN) VMXON is done ... (XEN) VMXON is done (XEN) VMXON is done (XEN) VMXON is done #

Якщо використовується процесор AMD:

# Xm dmesg | grep -i svm (XEN) AMD SVM Extension is enabled for cpu 0. (XEN) AMD SVM Extension is enabled for cpu 1.

У загальному випадку:

# Xm info | grep caps hw_caps: 178bfbff: ebd3fbff: 00000000: 00000010: 00002001: 00000000: 0000001f xen_caps: xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p

hvm-3.0-x86_32 говорить про те, що XEN успішно виявив процесор, який підтримує технології Intel VT або AMD-V.

Якщо у вас ще одне повідомлення, але ви впевнені, що у процесора є архітектурні розширення віртуалізації, то перевірте налаштування BIOS і, якщо ви цього ще не зробили, задійте підтримку VT.

Можливо, BIOS вашої материнської плати штучно відключає віртуалізацію. В цьому випадку потрібно оновити або виправити BIOS (див. Наприклад GA-M59SLI-S4 )

[ правити ] Конфігураційний файл домену

У термінології Xen гостьові домени, виконуються в режимі апаратної віртуалізації називаються HVM-доменами (Hardware Virtualization Mode). Для полегшення процесу налаштування існує приклад конфігураційного файлу такого домену (при установці з вихідних він називається /etc/xen/xmexample.hvm; при установці з пакетів шлях може бути іншим). Безліч параметрів, що використовуються в цьому файлі, ширше ніж в файлі конфігурації паравіртуального домену:

  • kernel - VMX firmware loader, для HVM-домену зазвичай hvmloader
  • builder - Тип домену. Для HVM-домену обов'язково hvm
  • acpi - Підтримка ACPI всередині HVM-домену, за замовчуванням дорівнює "0" (вимкнено)
  • apic - Підтримка APIC всередині HVM-домену, за замовчуванням дорівнює "0" (вимкнено)
  • pae - Підтримка PAE всередині HVM-домену, за замовчуванням дорівнює "0" (вимкнено)
  • vif - Опис мережевих інтерфейсів. Являє собою список рядків, кожна з яких описує один інтерфейс. У кожному рядку, відповідної інтерфейсу, обов'язково повинен бути присутнім компонент bridge, який вказує до якого мосту підключений інтерфейс. Опціонально може вказуватися MAC-адресу інтерфейсу (за замовчуванням генерується випадковим чином всередині діапазону, виділеного Xen Source). Тут же може здаватися модель емуліруемой мережевої карти (параметр model).
  • disk - Визначає носії пам'яті, до яких гостьовий домен повинен мати доступ. Якщо для домену використовується фізичний носій в якості диска, то він повинен бути описаний рядком типу:

phy: UNAME, DEV, MODE, де UNAME - ім'я пристрою, DEV - ім'я диска, як його бачить домен і MODE приймає значення r для read-only і w для read-write. Раніше потрібно було ще вказувати параметр ioemu, зараз це вже не обов'язково [1] . Якщо використовується образ диска, що знаходиться в файлі, то рядок приймає вигляд: file: FILEPATH, DEV, MODE Якщо використовується більше одного диска, то вони розділяються комою. Наприклад: disk = [ 'file: /var/images/image1.img,hda,w', 'file: /var/images/image2.img,hdb,w'] Якщо якийсь із образів є чином компакт-диска , і передбачається, що у віртуальній машині повинен емулюватися привід CD-ROM, потрібно використовувати суфікс: cdrom в описі диска: disk = [ 'file: /var/images/image1.img,hda,w', 'file: / var / images / image2.iso, hdc: cdrom, w '] CD-ROM'ов може бути кілька.

  • boot - Завантаження з floppy (a), hard disk (c) або CD-ROM (d).
  • device_model - Інструмент емуляції пристроїв для HVM-домену. Зазвичай qemu-dm
  • sdl - Задіє бібліотеку SDL для відображення графіки, за замовчуванням дорівнює "0" (вимкнено)
  • vnc - Задіє бібліотеку VNC для відображення графіки, за замовчуванням дорівнює "0" (вимкнено)

Користувач може використовувати vncviewer для підключення до домену. Наприклад: $ vncviewer domain0_IP_address: 0

  • vncconsole - Чи потрібно автоматично запускати vncviewer при старті домену. Має сенсу тільки якщо vnc = 1. За замовчуванням дорівнює 0.
  • serial - Перенаправлення послідовних портів гостьового домена на файл пристрою в домені 0.
  • usb - Включення підтримки USB без вказівки специфічного пристрою. За замовчуванням ця функція відключена, в разі ж визначення параметра usbdevice, її необхідно задіяти.
  • usbdevice - Включення підтримки конкретних пристроїв. Наприклад, підтримка миші PS / 2 через USB:

usbdevice = 'mouse'

  • localtime - Установка локального часу. За замовчуванням дорівнює "0", тобто UTC
  • soundhw - Тип звукового пристрою для емуляції. зазвичай sb16
  • full-screen - Підтримка повноекранного режиму.
  • nographic - Чи не використовувати графічний інтерфейс, працювати тільки через консоль. В цьому випадку опції 'sdl' або 'vnc' не працюють.

[ правити ] Створення дискового розділу для гостьової системи

Створюємо образ диска Xen:

# Mkdir -p / root / xenimages # cd / root / xenimages # dd if = / dev / zero of = WS128.img bs = 1M count = 4096

Також необхідно створити ISO-образ системи Windows XP, який ми збираємося використовувати при інсталяції. В даному випадку, розмістимо його в каталозі / root / xenimages.

На основі еталонного файлу конфігурації створимо свій власний:

# Cat / etc / xen / winxp kernel = "hvmloader" builder = 'hvm' memory = 512 name = "winxp" vcpus = 1 pae = 0 acpi = 0 apic = 0 vif = [ 'bridge = xenbr0'] disk = [ 'file: /root/xenimages/WS128.img,hda,w', 'file: /root/xenimages/en_winxp_pro_with_sp2.iso,hdc: cdrom, r'] on_poweroff = 'destroy' on_reboot = 'destroy' on_crash = 'destroy 'device_model =' qemu-dm 'boot =' d 'sdl = 0 vnc = 1 vncconsole = 0 stdvga = 0 serial =' pty '

Зверніть увагу на те, що зазначений параметр boot = 'd', що необхідно для установки. Згодом його необхідно замінити на boot = 'c'. Доступ до гостьового домену буде здійснюватися через VNC, використання SDL НЕ передбачається.

[ правити ] Запуск домену та інсталяція гостьової системи

Починаємо установку і під'єднують до домену за допомогою VNC. Для цього відразу після створення домену запускаємо vncviewer.

# Xm create / etc / xen / winxp Using config file "/ etc / xen / winxp". Started domain Winxp% vncviewer: 0

З установкою можуть бути проблеми. Можна спробувати вирішити проблему так: на екрані установки, що пропонує натиснути F6 для установки SCSI або RAID контролера, треба натиснути F5 і вибрати пункт Standard PC із запропонованого меню.

ACPI Multiprocessor PC ACPI Uniprocessor PC Advanced Configuration and Power Interface (ACPI) PC Compaq SystemPro Multiprocessor or 100% Compatible PC MPS Uniprocessor PC MPS Multiprocessor PC Standard PC Standard PC with C-Step i486 Other

Після того як програма установки Windows отформатирует диск і скопіює на нього необхідні файли, виконується перезавантаження. Відповідно до файлом конфігурації, віртуальна машина при перезавантаженні буде завершена, і нам буде надана можливість відредагувати параметр boot = 'c', після чого віртуальну машину можна буде запускати знову і з'єднуватися з її консоллю:

# Xm create / etc / xen / winxp Using config file "/ etc / xen / winxp". Started domain winxp% vncviewer: 0

[ правити ] Запуск віртуальної машини Xen на голому залозі і навпаки

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

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


І навпаки, ви можете встановити Windows в Xen, а потім запускати її на голому залозі. Ось, наприклад, конфігураційний файл домену, який використовувався для інсталяції Windows на жорсткий диск. Згодом систему можна запускати безпосередньо (тобто, без домену 0 і без Xen).

kernel = "hvmloader" builder = 'hvm' memory = 512 shadow_memory = 8 name = "winxp-hdd" vcpus = 1 pae = 1 acpi = 1 apic = 1 vif = [ 'type = ioemu, bridge = service0, mac = 00 : 16: 3e: 03: 00: c1 '] disk = [' phy: sdc, hda, w ',' file: /Volumes/ISO/windows-xp-pro-sp2.iso,hdc: cdrom, r '] device_model = 'qemu-dm' boot = "c" sdl = 0 vnc = 1 vncpasswd = '' stdvga = 0 serial = 'pty'

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

Панель управління> Система> Обладнання> Диспетчер пристроїв> IDE ATA / ATAPI контролери> правою кнопкою за встановленим IDE-контролера> Оновити драйвер> Ні, не цього разу> Установка з вказаного місця> Чи не виконувати пошук. Я сам виберу потрібний драйвер> Стандартний двоканальний контролер PCI IDE> Далі> Готово!

Процедура перемикання на стандартний драйвер контролера IDE показана на флеш-ролику.

[ правити ] Безшовна віртуалізація

Головна сторінка: безшовна віртуалізація

[ правити ] Паравіртуальние драйвери

Головна сторінка: Паравіртуальние драйвери Xen для Windows

Апаратна віртуалізація бере на себе основні труднощі з переключення контекстів гостьових операційних систем і хост-системи, але вона нічого (поки що) не робить для прискорення введення / виведення. Як тільки завдання вимагає введення / виведення будь-яка система віртуалізації (але не паравіртуалізаціі!) Істотно сповільнює свою роботу.

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

У другій половині 2007 року з'явилися перша реалізація вільних паравіртуальних драйверів під Windows, зроблена Джеймсом Харпером (James Harper).

В кінці 2007 року вийшла версія 0.5.0 драйверів, які можна розглядати як експериментальні. Їх можна ставити в віртуальну машину і гратися з ними, але їх поки що ні в якому разі не варто використовувати на виробничих системах.

На даний момент вільні паравіртуальние драйвери Xen для Windows знаходяться в сирому стані і можуть використовуватися виключно в експериментальних цілях.

Остання відома (на момент редагування) версія вільних паравіртуальних драйверів - 0.9.11 .

[ правити ] Проброс PCI-пристроїв всередину домену Windows

Головна сторінка: Використання VT-d в Xen

Починаючи з Xen 3.2.0 при наявності у системі апаратної підтримки віртуалізації введення / виведення Intel VT-d (не плутати з виртуализацией процесора VT-x!) Існує можливість виконувати монопольне виділення PCI-пристрої домену Xen. Раніше це було можливо для паравіртуальних доменів, але було неможливо для HVM-доменів, а саме в такому виповнюється Windows.

При виконанні кидок PCI-пристрої Windows працює з ним безпосередньо, на повній швидкості, і використовую власні драйвера. Це дозволяє обійти проблеми з продуктивністю, які є при емуляції пристроїв, а також задіяти всі можливості пристрою, про які знає драйвер.

Це дозволяє обійти проблеми з продуктивністю, які є при емуляції пристроїв, а також задіяти всі можливості пристрою, про які знає драйвер

При виділенні пристрої гостьового воно стає недоступним для домену 0 і використовується гостьовим доменом монопольно.

При виділенні пристрої гостьового воно стає недоступним для домену 0 і використовується гостьовим доменом монопольно

Графічний адаптер є дуже специфічним пристроєм, монопольне виділення якого поки не підтримується. Це означає, що запускати Counter Strike всередині гостьового домена Xen і при цьому безпосередньо використовувати графічну карту поки не вийде.

[ правити ] Питання та відповіді

Питання: Віртуальна машина почала завантажуватися з образу компакт-диска або жорсткого диска. Через деякий час її екран став чорним. Спожите процесорний час збільшується, значить віртуальна машина працює. Але на екрані немає ніякої реакції. Що робити?

Так, швидше за все віртуальна машина нормально працює. Підключення до екрану віртуальної машини виконується через VNC, при зміні дозволу екрану (а при завантаженні Windows саме це і відбувається) потрібно перепідключатися, тобто закривати VNC-клієнт, а потім запускати його знову.

Питання: не встиг натиснути ніяку кнопку, коли було відповідне запрошення при завантаженні з компакт-диска, і віртуальна машина спробувала завантажитися з пустого жорсткого диска. А як взагалі вказати звідки саме буде виконуватися завантаження віртуальної машини?

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

  • boot = 'd' - завантажуватися з CDROM'а (мнемонічне правило - «з диска D:»)
  • boot = 'c' - завантажуватися з диска (мнемонічне правило - «з диска C:»)

Питання: чи повинен працювати звук у віртуальній машині при підключенні через RDP?

Звук повинен працювати і працює. Звук дійсно можна прослухати тільки при підключенні за допомогою rdesktop по протоколу RDP. Взагалі з системою працювати зручніше через RDP, ніж через службове VNC-підключення.

При заході через rdesktop, для того щоб звук програвався локально, використовуйте ключ -rsound:

rdesktop -rsound 192.168.1.1

Питання: миша всередині віртуальної машини і точка-курсор відповідна вказівником VNC-клієнта розбігаються. При використанні RDP-підключення такого немає. Чому?

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

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

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

Питання: Як поміняти образ компакт-диска всередині віртуальної машини без її перезапуску?

Є два способи. Один для домашнього використання (він є небезпечним і за замовчуванням в нових версіях Xen блокується; щоб використовувати, його треба явно дозволяти) і другий - промисловий (але він працює тільки для PV-доменів або доменів, в яких встановлені PV-драйвери).

Перший спосіб. У VNC-вікні натиснути ctr-alt-2, що перемкне вас на консоль qemu. Далі використовувати eject і інші команди для зміни диска.

(Qemu) eject hdc (qemu) change hdc /root/xenimages/rhel-5-server-i386-disc2.iso

Після того як образ замінений, натиснути ctrl-alt-1 (НЕ F1! Не плутайте!) Для повернення в консоль (графічну) гостьовий операційної системи.

У моніторі QEMU не виходить набирати великі літери, тому краще відразу подбати про те, щоб в іменах файлів не було великих літер. Взагалі, набрати великі літери все ж можна, але це не дуже зручно: потрібно переключитися з монітора QEMU, потім натиснути CAPS, після чого повернутися в монітор QEMU. Аналогічного результату можна домогтися, якщо дати команду sendkey caps_lock. Набирати маленькі букви тоді доведеться, натиснувши клавішу shift. І ще є патч [2] , Що дозволяє вирішити описану проблему.

Якщо система лається на те як називається CDROM (hdc device not found), перевірити назви можна за допомогою

(Qemu) info block

За замовчуванням в нових версіях Xen цей параметр вимкнено. Для того щоб її включити, потрібно вказати в конфігураційному файлі домену

monitor = 1

(Проте це не вважається безпечним, див. Нижче).

Другий: використовувати xm block-attach, xm block-detach (докладніше: Xen-block-attach ).

Другий спосіб більш безпечний (перший є небезпечним, оскільки з консолі qemu можна зробити з доменом все що завгодно, і, природно, що це абсолютно не залежить від того, під яким користувачем ви увійшли в гостьовій домен). Крім того, він дозволяє змінювати не тільки компакт-диски, але і жорсткі Діскау і мережеві карти (проте працює він тільки в PV-доменах, у HVM-доменів цей спосіб буде працювати тільки при використанні паравіртуальних драйверів ).

Питання: Чи можна запускати HVM-домени на серверах з ОЗУ більше 4 GB? В системі х86_64 з 4GB ядро зависає з повідомленням: "agpgart: Detected an Intel 965G Chipset.", З 3GB - нормально.

Це нормально. Точніше, це не зовсім нормально, але це можливо.

Можна спробувати наступні рішення:

  1. Використовувати параметр ядра agp = off;
  2. Додати модуль intel_agp в чорний список незагружаемую модулів;
  3. Включити в BIOS фичу Memory Remap Feature (якщо вона є); це повинно бути в конфігурації північного моста;
  4. Використовувати AMD.

Питання: На сервері 8Гб пам'яті, але більше 4 на гостьову систему у вільній версії xen виділити не виходить. Підтримка PAE включена.

Ймовірно, мова йде про гостьовому HVM-домені (бо якщо це PV-домен і він не бачить> 4G, то це дивно подвійно). Швидше за все, проблема пов'язана з багом # 971, з-за якого дійсно можна було побачити більше 4G пам'яті в HVM-домені. Якщо так, то він вже давно виправлений і цієї проблеми бути не повинно.

Перевірте, що у вас:

  1. Якщо в HVM-домені запускається Linux, ядро ​​під яким запускається HVM-домен, має підтримку PAE. (Це HVM, тому може працювати і ядро ​​без PAE на хості з PAE, але звичайно бачити> 4G воно при цьому не буде)
  2. Якщо в HVM-домені запускається Windows, в конфігурації завантажувача (boot.ini) присутній ключ / PAE


Питання: як передати Windows-системі, запущеної всередині домену Xen, флоппі-диск, якщо є його образ?

Використовуйте параметр fda в файлі конфігурації.

fda = '/ iso / winxp.img'

[ правити ] Додаткова інформація

[ правити ] Опис процесу запуску Windows в домені XenU

[ правити ] Проблеми продуктивності в віртуалізованих машинах Windows

а

Що робити?
А як взагалі вказати звідки саме буде виконуватися завантаження віртуальної машини?
Чому?
Питання: Як поміняти образ компакт-диска всередині віртуальної машини без її перезапуску?
Питання: Чи можна запускати HVM-домени на серверах з ОЗУ більше 4 GB?


Новости
  • Виртуальный хостинг

    Виртуальный хостинг. Возможности сервера распределяются в равной мере между всеми... 
    Читать полностью

  • Редизайн сайта

    Редизайн сайта – это полное либо частичное обновление дизайна существующего сайта.... 
    Читать полностью

  • Консалтинг, услуги контент-менеджера

    Сопровождение любых интернет ресурсов;- Знание HTML и CSS- Поиск и обновление контента;-... 
    Читать полностью

  • Трафик из соцсетей

    Сравнительно дешевый способ по сравнению с поисковым и контекстным видами раскрутки... 
    Читать полностью

  • Поисковая оптимизация

    Поисковая оптимизация (англ. search engine optimization, SEO) — поднятие позиций сайта в результатах... 
    Читать полностью