Виртуализация · 3 min read · Feb 09, 2026
Идеальная настройка Xen 3.0.3 для Debian Sarge - Страница 8
5.2.2 Создание и запуск первой виртуальной машины
Теперь мы создаем нашу первую виртуальную машину, vm01, сделав копию нашего шаблона:
cp -pf /vserver/images/vm_base.img /vserver/images/vm01.img
cp -pf /vserver/images/vm_base-swap.img /vserver/images/vm01-swap.imgВ бинарной установке Xen мы не можем указать имя хоста и сетевую конфигурацию нашей виртуальной машины в конфигурационном файле Xen, мы должны указать эти данные непосредственно в виртуальной машине. Поэтому мы должны смонтировать образ и отредактировать несколько файлов:
mount -o loop /vserver/images/vm01.img /vserver/vm_base
chroot /vserver/vm_baseИмя хоста нашей первой виртуальной машины - vm01.example.com, поэтому мы делаем следующее:
echo "vm01.example.com" > /etc/hostnameЗатем мы редактируем /etc/network/interfaces и вводим нашу сетевую конфигурацию (IP-адрес 192.168.0.101, шлюз 192.168.0.1):
vi /etc/network/interfaces| auto lo iface lo inet loopback address 127.0.0.1 netmask 255.0.0.0 # Основной сетевой интерфейс auto eth0 iface eth0 inet static address 192.168.0.101 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 gateway 192.168.0.1 |
Затем мы выходим из окружения chroot и размонтируем образ:
exit
umount /vserver/vm_baseДалее мы создаем конфигурационный файл Xen для vm01, /etc/xen/vm01-config.sxp:
vi /etc/xen/vm01-config.sxp| name="vm01" kernel="/boot/vmlinuz-2.6-xen" root="/dev/hda1" memory=32 disk=['file:/vserver/images/vm01.img,hda1,w','file:/vserver/images/vm01-swap.img,hda2,w'] # сеть vif=[ '' ] extra="3" |
В памяти вы указываете ОЗУ, которое хотите выделить для этой виртуальной машины (здесь: 32 МБ). В разделе disk вы указываете, какие образы использовать и как их монтировать (т.е. под каким разделом, например, hda1). Это должно соответствовать настройкам в файле /etc/fstab образа!
Если вы хотите, чтобы vm01 запускалась автоматически при следующей загрузке системы, то сделайте следующее:
ln -s /etc/xen/vm01-config.sxp /etc/xen/autoТеперь давайте запустим vm01:
xm create -c /etc/xen/vm01-config.sxpЕсли все в порядке, vm01 должна запуститься без проблем, и вы должны иметь возможность войти в систему. Чтобы выйти из оболочки vm01, введите CTRL+] если вы на консоли, или CTRL+5 если вы используете PuTTY. Снаружи вы должны иметь возможность подключиться к 192.168.0.101 через SSH.
Вернувшись в оболочку dom0, вы можете выключить vm01, выполнив
xm shutdown vm01Вот некоторые другие команды Xen:
xm create -c /path/to/config - Запустить виртуальную машину.
xm shutdown
xm destroy
xm list - Список всех работающих систем.
xm console
xm help - Список всех команд.
Теперь вы можете перезагрузить основную систему, чтобы увидеть, запускается ли vm01 автоматически (если вы создали символическую ссылку в /etc/xen/auto):
shutdown -r now5.2.3 Создание и настройка дополнительных виртуальных машин
Вы можете создать дополнительные виртуальные машины, просто скопировав шаблон образа:
cp -pf /vserver/images/vm_base.img /vserver/images/vm02.img
cp -pf /vserver/images/vm_base-swap.img /vserver/images/vm02-swap.imgСнова мы должны указать нашу сетевую конфигурацию следующим образом:
mount -o loop /vserver/images/vm02.img /vserver/vm_base
chroot /vserver/vm_baseТеперь наше имя хоста, например, vm02.example.com, поэтому мы делаем следующее:
echo "vm02.example.com" > /etc/hostnameЗатем мы редактируем /etc/network/interfaces и вводим нашу сетевую конфигурацию (например, IP-адрес 192.168.0.102, шлюз 192.168.0.1):
vi /etc/network/interfaces| auto lo iface lo inet loopback address 127.0.0.1 netmask 255.0.0.0 # Основной сетевой интерфейс auto eth0 iface eth0 inet static address 192.168.0.102 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 gateway 192.168.0.1 |
Затем мы выходим из окружения chroot и размонтируем образ:
exit
umount /vserver/vm_baseЗатем вам нужно создать конфигурационный файл Xen, например, /etc/xen/vm02-config.sxp:
vi /etc/xen/vm02-config.sxp| name="vm02" kernel="/boot/vmlinuz-2.6-xen" root="/dev/hda1" memory=32 disk=['file:/vserver/images/vm02.img,hda1,w','file:/vserver/images/vm02-swap.img,hda2,w'] # сеть vif=[ '' ] extra="3" |
Запустите машину:
xm create -c /etc/xen/vm02-config.sxpЕсли вы получаете ошибку, подобную этой:
Using config file "/etc/xen/vm02-config.sxp".
Error: Error creating domain: The privileged domain did not balloon!это означает, что виртуальная машина попыталась использовать больше памяти, чем доступно. Отредактируйте конфигурационный файл виртуальной машины и уменьшите значение памяти, затем попробуйте запустить ее снова.
Создайте символическую ссылку, если хотите, чтобы виртуальная машина запускалась при загрузке:
ln -s /etc/xen/vm02-config.sxp /etc/xen/autoТеперь вы можете войти в каждую машину, например, через SSH, и настроить ее так, как если бы это была обычная система.
Вы можете создать столько виртуальных машин, сколько захотите. Ваше оборудование - это предел!
6 Ссылки
- Xen: http://www.xensource.com/xen/
- Debian: http://www.debian.org/
Get new posts in your inbox
No spam. Unsubscribe anytime.