[Comm] виртуализация на 6м бранче

Dubrovskiy Viacheslav slava на tangramltd.com
Пн Фев 6 22:08:44 MSK 2012


06.02.2012 11:42, adobrovolskii пишет:
> Изучение документации вывело меня на virsh. Похоже, что для сервера,
> самое оно.
>> Это какая-то маловразумительная поделка ...
>> Больше похожая на вывернутую наизнанку библиотеку взаимодействия ...
>>
> Мне пока оно нравится. Количество и состояние машин показывает.
> Запускать и останавливать позволяет. Сздавать и удалять тоже. Пока
> только не дошел до синтаксиса создания. Времени пока не было.
> Ещё вот пока не понял как машинам реальные айпи давать. Чтоб
> двусторонний обмен был.
> Ну и все происходит локально на сервере уже после установления ssh соединения.

== Команды для управления QEMU-KVM ==
Чтобы постоянно не вводить -c qemu:///system можно добавить:
{{{
export LIBVIRT_DEFAULT_URI=qemu:///system
}}}
{{{
virsh -c qemu:///system list --all #листинг
virsh -c qemu:///system start vsrv1 #пуск
virsh -c qemu:///system shutdown vsrv1 #shutdown
virsh -c qemu:///system destroy vsrv1 #выключить по питанию
virsh -c qemu:///system undefine vsrv1 #удалить (конифг тоже удаляется)
virsh -c qemu:///system autostart vsrv1 #добавить в автозагрузку
virsh -c qemu:///system autostart --disable # удалить из автозагрузки
virsh -c qemu:///system qemu-monitor-command win2008std-32bit help 
--hmp  # запустить команду в qemu мониторе
virsh -c qemu:///system define /etc/libvirt/qemu/mirror.xml # обновить 
информацию о виртуальной машине.
}}}

== Расположение основных конфигов ==
  * /etc/libvirt/qemu.conf - основной конфиг qemu. Тут задаём параметры 
vnc сервера.
  * /etc/libvirt/qemu/ - папка для хранения конфигов, в том числе и  
виртуальных машин.

== Созданеи ВПС ==
ВПС можно создавать с разными виртуальными девайсами. Можно использовать 
по умолчанию, а можно использовать virtio. Последние считаются наилучшим 
вариантом для Windows OS. Поэтому ВСЕГДА стараемся сделать так как надо. 
Если не получается - то тогда как обычно.
Для новой системы со сразу установленными значениями virtio в конфиге. 
Необходимо в процессе установки добавить драйвера. Качаем дискету с 
драйверами:

{{{
wget 
http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/bin/virtio-win-1.1.16.vfd 

}}}

=== Создание ВПС Windows с поддержкой virtio ===
  * создаем LVM раздел нужного размера:
{{{
lvcreate -L 10G -n win2008 main
}}}
  * coздаем конфиг ВПС:
{{{
virt-install --connect=qemu:///system -n test_win2008 -r 1024 --boot 
cdrom --disk path=/dev/main/test_win2008,bus=virtio --disk 
path=/vz/template/virtio-win-1.1.16.vfd,device=floppy 
--cdrom=/var/lib/vz/template/SW_DVD5_Windows_Svr_DC_Ent_Std_2008_Russian_32bit_MLF_X14-26782.ISO 
--network bridge:breth0,model=virtio --graphics 
vnc,password=123,listen=0.0.0.0 --os-type=windows --os-variant=win2k8 
--arch=i686 --cpu host -v --autostart
}}}

где:[[BR]]
-n test_win2008 - имя ВПС [[BR]]
-r 1024 - к-во выделяемой памяти [[BR]]
-v использовать аппаратную виртуализацию [[BR]]
--arch=i686 - используемая архитектура [[BR]]
--cpu host - передает в ВПС все возможности процессора хостовой системы. 
Применять с осторожностью, т.к. при переносе на другой сервер при 
отличии винда может ругаться.

 > Для полного списка задаваемых параметров смотрим VIRT-INSTALL(1)

Также подключаем флоппи диск с драйверами для virtio. При установке 
система не увидит жесткий диск на который будет устанавливаться и нужно 
выбрать драйвер для диска с флопика. Там же располагаются драйвера для 
сетевой карты.
''Windows Server 2003 и Windows XP'' Нажимаем F6 и ставим драйвера.
''Windows 2008'' Доходим до окна разбивки дисков и выбираем "Загрузить 
Драйвер".

=== Создание ВПС без virtio ===
Windows 2008 32bit на LVM:

{{{
lvcreate -L 10G -n win2008 main

virt-install --connect=qemu:///system -n win2008 -r 1024 --disk 
path=/dev/main/win2008 --cdrom=/mnt/images/windows2008.ISO --accelerate 
--vnc --noautoconsole -v --network bridge:breth0 --os-type=windows 
--vcpus=1 --noapic --os-variant=win2k8 --arch=i686
}}}
ALTLinux x86_64 на LVM :

{{{
lvcreate -L10G -n altlinux main

virt-install --connect qemu:///system --name altlinux --ram 512 --disk 
path=/dev/main/altlinux --network=bridge:breth0 --vnc --os-type=linux 
--os-variant=rhel6 --cdrom /mnt/images/altlinux-x86_64.iso --accelerate 
--noautoconsole  --vcpus=1 --arch=x86_64
}}}

FreeBSD 8.1 на LVM :

{{{
lvcreate -L20G -n freebsd main

virt-install --connect qemu:///system --name freebsd --ram 512 --disk 
path=/dev/main/freebsd --network=bridge:breth0 --graphics 
vnc,password=rootSD,listen=0.0.0.0 --os-type unix --os-variant=freebsd8 
--cdrom /var/lib/vz/template/FreeBSD-8.1-RELEASE-i386-disc1.iso 
--accelerate --noautoconsole  --vcpus=1 --arch=i686

}}}


После запуска команды создания VPS, смотрим через netstat какой номер 
порта добавился в список открытых портов и подключаемся через VNC к 
хардноде к этому порту (например '''vncviewer test.domain.com:5902''' ) 
и вводим пароль указанный в строке "'''vnc,password='''"

== Удаление ВПС ==

Выполняем остановку и удаление VPS в KVM:


{{{
virsh -c qemu:///system destroy test_vps #выключить по питанию
virsh -c qemu:///system undefine test_vps #удалить (конифг тоже удаляется)
}}}


И удаляем раздел LVM:

{{{
lvremove /dev/main/test_vps
}}}


== Сменить диск в приводе на VPS без перезагрузки ==

{{{
virsh -c qemu:///system attach-disk --type cdrom --mode readonly win2003 
/vz/template/SW_CD_Windows_Svr_Std_2003_.ISO hdc
}}}

http://www.e-faux.com/references:applications:libvirt:cdrom_hotplug


-- 
WBR,
Dubrovskiy Viacheslav



Подробная информация о списке рассылки community