Установка Xen · 4 min read · Oct 22, 2025

Установка Xen на сервере Ubuntu 8.04 (Hardy Heron) из репозиториев Ubuntu - Страница 2

3 Создание виртуальных машин (domU)

Теперь давайте создадим наш первый гостевой домен, xen1.example.com, работающий на Hardy Heron (hardy) с IP-адресом 192.168.0.101:

xen-create-image --hostname=xen1.example.com --size=2Gb --swap=256Mb --ide \  
--ip=192.168.0.101 --netmask=255.255.255.0 --gateway=192.168.0.1 --force \  
--dir=/home/xen --memory=64Mb --arch=i386 --kernel=/boot/vmlinuz-2.6.24-16-xen \  
--initrd=/boot/initrd.img-2.6.24-16-xen --install-method=debootstrap --dist=hardy \  
--mirror=http://archive.ubuntu.com/ubuntu/ --passwd

Много переключателей здесь не нужно, потому что мы указали те же детали в /etc/xen-tools/xen-tools.conf, но это показывает, что вы можете указывать желаемые настройки как в командной строке, так и в /etc/xen-tools/xen-tools.conf. Пожалуйста, убедитесь, что вы указали –ide, в противном случае ваша виртуальная машина может не загрузиться!

(Чтобы узнать больше о доступных параметрах, посмотрите страницу man xen-create-image:

man xen-create-image

)

Команда xen-create-image теперь создаст для нас виртуальную машину xen1.example.com. Это может занять несколько минут. Вывод должен быть похож на этот:

root@server1:~# xen-create-image --hostname=xen1.example.com --size=2Gb --swap=256Mb --ide \  
> --ip=192.168.0.101 --netmask=255.255.255.0 --gateway=192.168.0.1 --force \  
> --dir=/home/xen --memory=64Mb --arch=i386 --kernel=/boot/vmlinuz-2.6.24-16-xen \  
> --initrd=/boot/initrd.img-2.6.24-16-xen --install-method=debootstrap --dist=hardy \  
> --mirror=http://archive.ubuntu.com/ubuntu/ --passwd  
  
Общая информация  
--------------------  
Имя хоста       :  xen1.example.com  
Дистрибутив   :  hardy  
Разделы     :  swap            256Mb (swap)  
                  /               2Gb   (ext3)  
Тип образа     :  sparse  
Размер памяти    :  64Mb  
Путь к ядру    :  /boot/vmlinuz-2.6.24-16-xen  
Путь к Initrd    :  /boot/initrd.img-2.6.24-16-xen  
  
Информация о сети  
----------------------  
IP-адрес 1   : 192.168.0.101 [MAC: 00:16:3E:62:DA:BB]  
Маска подсети        : 255.255.255.0  
Широковещательный     : 192.168.0.255  
Шлюз        : 192.168.0.1  
  
  
Создание образа раздела: /home/xen/domains/xen1.example.com/swap.img  
Готово  
  
Создание swap на /home/xen/domains/xen1.example.com/swap.img  
Готово  
  
Создание образа раздела: /home/xen/domains/xen1.example.com/disk.img  
Готово  
  
Создание файловой системы ext3 на /home/xen/domains/xen1.example.com/disk.img  
Готово  
Метод установки: debootstrap  
Готово  
  
Запуск хуков  
Готово  
  
Не были указаны сценарии ролей.  Пропуск  
  
Создание конфигурационного файла Xen  
Готово  
Установка пароля root  
Введите новый UNIX пароль:  
Повторите новый UNIX пароль:  
passwd: пароль успешно обновлен  
Все готово  
  
  
Файл журнала создан в:  
         /var/log/xen-tools/xen1.example.com.log  
root@server1:~#

Теперь должен быть файл конфигурации xen1.example.com - /etc/xen/xen1.example.com.cfg. Ознакомьтесь с ним, чтобы ознакомиться с файлами конфигурации виртуальных машин:

cat /etc/xen/xen1.example.com.cfg

| # Конфигурационный файл для экземпляра Xen xen1.example.com, созданный # с помощью xen-tools 3.8 во вторник, 6 мая 2008 года, 16:01:38. # # Ядро + размер памяти # kernel = '/boot/vmlinuz-2.6.24-16-xen' ramdisk = '/boot/initrd.img-2.6.24-16-xen' memory = '64' # # Устройство(я) диска. # root = '/dev/hda2 ro' disk = [ 'file:/home/xen/domains/xen1.example.com/swap.img,hda1,w', 'file:/home/xen/domains/xen1.example.com/disk.img,hda2,w', ] # # Имя хоста # name = 'xen1.example.com' # # Сеть # vif = [ 'ip=192.168.0.101,mac=00:16:3E:62:DA:BB' ] # # Поведение # on_poweroff = 'destroy' on_reboot = 'restart' on_crash = 'restart' extra = '2 console=xvc0' |

Параметр file: теперь устарел в Xen 3.2, поэтому мы должны отредактировать /etc/xen/xen1.example.com.cfg и заменить file: на tap:aio: (в противном случае вы получите ошибку, подобную этой:

Ошибка: Устройство 769 (vbd) не может быть подключено. losetup /dev/loop0 /home/xen/domains/xen1.example.com/swap.img не удалось

когда вы попытаетесь запустить виртуальную машину - смотрите http://ubuntuforums.org/showthread.php?t=770902 также):

vi /etc/xen/xen1.example.com.cfg

| [...] disk = [ 'tap:aio:/home/xen/domains/xen1.example.com/swap.img,hda1,w', 'tap:aio:/home/xen/domains/xen1.example.com/disk.img,hda2,w', ] [...] |

(Обратите внимание: если у вас двухъядерный процессор и вы хотите, чтобы виртуальная машина использовала оба ядра процессора, добавьте строку vcpus = ‘2’ в файл конфигурации, как это:

vi /etc/xen/xen1.example.com.cfg

| # Конфигурационный файл для экземпляра Xen xen1.example.com, созданный # с помощью xen-tools 3.8 в понедельник, 5 мая 2008 года, 16:49:32. # # Ядро + размер памяти # kernel = '/boot/vmlinuz-2.6.24-16-xen' ramdisk = '/boot/initrd.img-2.6.24-16-xen' memory = '64' vcpus = '2' [...] |

После этого в виртуальной машине вы можете выполнить команду

cat /proc/cpuinfo

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

xen1:~# cat /proc/cpuinfo  
processor       : 0  
vendor_id       : AuthenticAMD  
cpu family      : 15  
model           : 75  
model name      : AMD Athlon(tm) 64 X2 Dual Core Processor 4200+  
stepping        : 2  
cpu MHz         : 2210.054  
cache size      : 512 KB  
fdiv_bug        : no  
hlt_bug         : no  
f00f_bug        : no  
coma_bug        : no  
fpu             : yes  
fpu_exception   : yes  
cpuid level     : 1  
wp              : yes  
flags           : fpu tsc msr pae mce cx8 apic mca cmov pat pse36 clflush mmx fxsr  
 sse sse2 ht syscall nx mmxext fxsr_opt lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm  
 cr8legacy ts fid vid ttp tm stc  
bogomips        : 5526.81  
  
processor       : 1  
vendor_id       : AuthenticAMD  
cpu family      : 15  
model           : 75  
model name      : AMD Athlon(tm) 64 X2 Dual Core Processor 4200+  
stepping        : 2  
cpu MHz         : 2210.054  
cache size      : 512 KB  
fdiv_bug        : no  
hlt_bug         : no  
f00f_bug        : no  
coma_bug        : no  
fpu             : yes  
fpu_exception   : yes  
cpuid level     : 1  
wp              : yes  
flags           : fpu tsc msr pae mce cx8 apic mca cmov pat pse36 clflush mmx fxsr  
 sse sse2 ht syscall nx mmxext fxsr_opt lm 3dnowext 3dnow up pni cx16 lahf_lm cmp_legacy svm  
 cr8legacy ts fid vid ttp tm stc  
bogomips        : 5526.81  
  
xen1:~#

)

Чтобы запустить виртуальную машину, выполните

xm create /etc/xen/xen1.example.com.cfg

Выполните

xm console xen1.example.com

чтобы войти в эту виртуальную машину (нажмите CTRL+] если вы на консоли, или CTRL+5 если вы используете PuTTY, чтобы вернуться к dom0), или используйте SSH-клиент для подключения к ней (192.168.0.101).

В виртуальной машине (когда вы используете ее в первый раз) выполните

mv /lib/tls /lib/tls.disabled

Теперь вернемся к хост-системе (dom0). Чтобы получить список работающих виртуальных машин, введите

xm list

Вывод должен выглядеть так:

root@server1:~# xm list  
Name                                        ID   Mem VCPUs      State   Time(s)  
Domain-0                                     0   569     1     r-----    103.6  
xen1.example.com                             1    64     1     -b----     60.8  
root@server1:~#

Чтобы выключить xen1.example.com, сделайте это:

xm shutdown xen1.example.com

Если вы хотите, чтобы vm01 автоматически запускалась при следующей загрузке системы, сделайте это:

ln -s /etc/xen/xen1.example.com.cfg /etc/xen/auto

Вот самые важные команды Xen:

xm create -c /path/to/config - Запустить виртуальную машину.
xm shutdown - Остановить виртуальную машину.
xm destroy - Немедленно остановить виртуальную машину без ее выключения. Это как если бы вы выключили кнопку питания.
xm list - Список всех работающих систем.
xm console - Войти в виртуальную машину.
xm help - Список всех команд.

Давайте создадим вторую виртуальную машину, xen2.example.com с IP-адресом 192.168.0.102:

xen-create-image --hostname=xen2.example.com --size=2Gb --swap=256Mb --ide \  
--ip=192.168.0.102 --netmask=255.255.255.0 --gateway=192.168.0.1 --force \  
--dir=/home/xen --memory=64Mb --arch=i386 --kernel=/boot/vmlinuz-2.6.24-16-xen \  
--initrd=/boot/initrd.img-2.6.24-16-xen --install-method=debootstrap --dist=hardy \  
--mirror=http://archive.ubuntu.com/ubuntu/ --passwd

Затем откройте файл конфигурации виртуальной машины, /etc/xen/xen2.example.com.cfg, и снова замените file: на tap:aio:

vi /etc/xen/xen2.example.com.cfg

| [...] disk = [ 'tap:aio:/home/xen/domains/xen2.example.com/swap.img,hda1,w', 'tap:aio:/home/xen/domains/xen2.example.com/disk.img,hda2,w', ] [...] |

После этого вы можете запустить xen2.example.com так:

xm create /etc/xen/xen2.example.com.cfg

(Не забудьте выполнить

xm console xen2.example.com

и

mv /lib/tls /lib/tls.disabled

когда вы находитесь в виртуальной машине в первый раз!)

… и выключить ее так:

xm shutdown xen2.example.com

Список всех виртуальных машин, созданных с помощью команды xen-create-image, доступен по адресу

xen-list-images
root@server1:~# xen-list-images  
Name: xen1.example.com  
Memory: 64  
IP: 192.168.0.101
Name: xen2.example.com  
Memory: 64  
IP: 192.168.0.102  
root@server1:~#

Чтобы узнать больше о том, что вы можете сделать с xen-tools, посмотрите этот учебник: https://www.howtoforge.com/xen_tools_xen_shell_argo

4 Ссылки

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.