KVM: различия между версиями
Tora-bora (обсуждение | вклад) (kvm-qemu info from [Comm] виртуализация на 6м бранче) |
Tora-bora (обсуждение | вклад) (причесал) |
||
Строка 1: | Строка 1: | ||
== Команды для управления QEMU-KVM == | == Команды для управления QEMU-KVM == | ||
<pre> | |||
virsh -c qemu:///system list --all #листинг | virsh -c qemu:///system list --all #листинг | ||
virsh -c qemu:///system start vsrv1 #пуск | virsh -c qemu:///system start vsrv1 #пуск | ||
Строка 14: | Строка 11: | ||
virsh -c qemu:///system qemu-monitor-command win2008std-32bit help --hmp # запустить команду в qemu мониторе | virsh -c qemu:///system qemu-monitor-command win2008std-32bit help --hmp # запустить команду в qemu мониторе | ||
virsh -c qemu:///system define /etc/libvirt/qemu/mirror.xml # обновить информацию о виртуальной машине. | virsh -c qemu:///system define /etc/libvirt/qemu/mirror.xml # обновить информацию о виртуальной машине. | ||
</pre> | |||
Чтобы постоянно не вводить <code>-c qemu:///system</code> можно добавить: | |||
<pre>export LIBVIRT_DEFAULT_URI=qemu:///system</pre> | |||
== Расположение основных конфигов == | == Расположение основных конфигов == | ||
* /etc/libvirt/qemu.conf - основной конфиг qemu. Тут задаём параметры vnc сервера. | |||
* /etc/libvirt/qemu/ - папка для хранения конфигов, в том числе и виртуальных машин. | |||
== | == Создание VPS == | ||
VPS можно создавать с разными виртуальными девайсами. Можно использовать по умолчанию, а можно использовать virtio. Последние считаются наилучшим вариантом для Windows OS. Поэтому ВСЕГДА стараемся сделать так как надо. Если не получается - то тогда как обычно. | |||
Для новой системы со сразу установленными значениями virtio в конфиге. Необходимо в процессе установки добавить драйвера. Качаем дискету с драйверами: | Для новой системы со сразу установленными значениями virtio в конфиге. Необходимо в процессе установки добавить драйвера. Качаем дискету с драйверами: | ||
<pre> | |||
wget http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/bin/virtio-win-1.1.16.vfd | wget http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/bin/virtio-win-1.1.16.vfd | ||
</pre> | |||
=== Создание | === Создание VPS Windows с поддержкой virtio === | ||
* создаем LVM раздел нужного размера: | |||
<pre> | |||
lvcreate -L 10G -n win2008 main | lvcreate -L 10G -n win2008 main | ||
</pre> | |||
* coздаем конфиг VPS: | |||
<pre> | |||
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 | 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 | ||
</pre> | |||
где: | где:<br> | ||
-n test_win2008 - имя | -n test_win2008 - имя VPS <br> | ||
-r 1024 - к-во выделяемой памяти | -r 1024 - к-во выделяемой памяти <br> | ||
-v использовать аппаратную виртуализацию | -v использовать аппаратную виртуализацию <br> | ||
--arch=i686 - используемая архитектура | --arch=i686 - используемая архитектура <br> | ||
--cpu host - передает в | --cpu host - передает в VPS все возможности процессора хостовой системы. Применять с осторожностью, т.к. при переносе на другой сервер при отличии винда может ругаться. | ||
'''NB''' Для полного списка задаваемых параметров смотрим VIRT-INSTALL(1) | |||
Также подключаем флоппи диск с драйверами для virtio. При установке система не увидит жесткий диск на который будет устанавливаться и нужно выбрать драйвер для диска с флопика. Там же располагаются драйвера для сетевой карты. | Также подключаем флоппи диск с драйверами для virtio. При установке система не увидит жесткий диск на который будет устанавливаться и нужно выбрать драйвер для диска с флопика. Там же располагаются драйвера для сетевой карты. | ||
''Windows Server 2003 и Windows XP'' Нажимаем F6 и ставим драйвера. | *''Windows Server 2003 и Windows XP'' Нажимаем F6 и ставим драйвера. | ||
''Windows 2008'' Доходим до окна разбивки дисков и выбираем "Загрузить Драйвер". | *''Windows 2008'' Доходим до окна разбивки дисков и выбираем "Загрузить Драйвер". | ||
=== Создание | === Создание VPS без virtio === | ||
Windows 2008 32bit на LVM: | Windows 2008 32bit на LVM: | ||
<pre> | |||
lvcreate -L 10G -n win2008 main | 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 | 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 | ||
</pre> | |||
ALTLinux x86_64 на LVM : | ALTLinux x86_64 на LVM : | ||
<pre> | |||
lvcreate -L10G -n altlinux main | 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 | 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 | ||
</pre> | |||
FreeBSD 8.1 на LVM : | FreeBSD 8.1 на LVM : | ||
<pre> | |||
lvcreate -L20G -n freebsd main | 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 | 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 | ||
</pre> | |||
После запуска команды создания VPS, смотрим через netstat какой номер порта добавился в список открытых портов и подключаемся через VNC к хардноде к этому порту (например '''vncviewer test.domain.com:5902''' ) и вводим пароль указанный в строке "'''vnc,password='''" | После запуска команды создания VPS, смотрим через netstat какой номер порта добавился в список открытых портов и подключаемся через VNC к хардноде к этому порту (например '''vncviewer test.domain.com:5902''' ) и вводим пароль указанный в строке "'''vnc,password='''" | ||
== Удаление VPS == | |||
== Удаление | |||
Выполняем остановку и удаление VPS в KVM: | Выполняем остановку и удаление VPS в KVM: | ||
<pre> | |||
virsh -c qemu:///system destroy test_vps #выключить по питанию | virsh -c qemu:///system destroy test_vps #выключить по питанию | ||
virsh -c qemu:///system undefine test_vps #удалить (конифг тоже удаляется) | virsh -c qemu:///system undefine test_vps #удалить (конифг тоже удаляется) | ||
</pre> | |||
И удаляем раздел LVM: | И удаляем раздел LVM: | ||
<pre> | |||
lvremove /dev/main/test_vps | lvremove /dev/main/test_vps | ||
</pre> | |||
== Сменить диск в приводе на VPS без перезагрузки == | == Сменить диск в приводе на VPS без перезагрузки == | ||
<pre> | |||
virsh -c qemu:///system attach-disk --type cdrom --mode readonly win2003 /vz/template/SW_CD_Windows_Svr_Std_2003_.ISO hdc | virsh -c qemu:///system attach-disk --type cdrom --mode readonly win2003 /vz/template/SW_CD_Windows_Svr_Std_2003_.ISO hdc | ||
</pre> | |||
http://www.e-faux.com/references:applications:libvirt:cdrom_hotplug | http://www.e-faux.com/references:applications:libvirt:cdrom_hotplug | ||
== Tips == | == Tips == | ||
Версия от 23:22, 11 октября 2012
Команды для управления QEMU-KVM
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 # обновить информацию о виртуальной машине.
Чтобы постоянно не вводить -c qemu:///system
можно добавить:
export LIBVIRT_DEFAULT_URI=qemu:///system
Расположение основных конфигов
- /etc/libvirt/qemu.conf - основной конфиг qemu. Тут задаём параметры vnc сервера.
- /etc/libvirt/qemu/ - папка для хранения конфигов, в том числе и виртуальных машин.
Создание VPS
VPS можно создавать с разными виртуальными девайсами. Можно использовать по умолчанию, а можно использовать virtio. Последние считаются наилучшим вариантом для Windows OS. Поэтому ВСЕГДА стараемся сделать так как надо. Если не получается - то тогда как обычно. Для новой системы со сразу установленными значениями virtio в конфиге. Необходимо в процессе установки добавить драйвера. Качаем дискету с драйверами:
wget http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/bin/virtio-win-1.1.16.vfd
Создание VPS Windows с поддержкой virtio
- создаем LVM раздел нужного размера:
lvcreate -L 10G -n win2008 main
- coздаем конфиг VPS:
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
где:
-n test_win2008 - имя VPS
-r 1024 - к-во выделяемой памяти
-v использовать аппаратную виртуализацию
--arch=i686 - используемая архитектура
--cpu host - передает в VPS все возможности процессора хостовой системы. Применять с осторожностью, т.к. при переносе на другой сервер при отличии винда может ругаться.
NB Для полного списка задаваемых параметров смотрим VIRT-INSTALL(1)
Также подключаем флоппи диск с драйверами для virtio. При установке система не увидит жесткий диск на который будет устанавливаться и нужно выбрать драйвер для диска с флопика. Там же располагаются драйвера для сетевой карты.
- Windows Server 2003 и Windows XP Нажимаем F6 и ставим драйвера.
- Windows 2008 Доходим до окна разбивки дисков и выбираем "Загрузить Драйвер".
Создание VPS без 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
Выполняем остановку и удаление 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
Tips
Отправка комбинаций клавиш
Часто бывает нужно переключиться в окне kvm на вторую виртуальную консоль из графического режима.
- Нажимаем Ctrl+Alt+2 (именно 2, а не F2)
- В консоли QEMU вводим команду:
sendkey ctrl-alt-f2
- Нажимаем Ctrl+Alt+1 для возращения из консоли уже на вторую виртуальную консоль. Возврат в X.org: Alt+F7
Получение файлов из образа qcow2
Подключение:
losetup -f lxde-p5.qcow2 kpartx -a /dev/loop0 mount /dev/mapper/loop0p2 /mnt # монтирование второго раздела
Отключение:
umount /mnt kpartx -d /dev/loop0 losetup -d /dev/loop0