LinuxForum.Fans
Тема

Готовые решения KVM

Автор: XliN 48 сообщений 30695 просмотров 📌 закреплена
22.04.2012 17:59 #247599

1. Работа со снапшотами

text
virsh snapshot-create <имя вм> - создать снапшот виртуальной машины
virsh snapshot-revert Parus <номер снапшота вм> - откатиться к нужному снапшоту
virsh snapshot-list <имя вм> - список снапшотов для данной ВМ

2. Работа с образами

Если Вы по какой то причине создали образ диска для ВМ в формате RAW, то снапшоты он не поддерживает. Перевести в формат qcow2 можно очень просто

text
qemu-img convert -O qcow2 image.img image_new.qcow

Узнать детальную информацию образа ВМ.

text
qemu-img info image.qcow

3. Работа с настройкой ВМ

Выгрузка XML файла ВМ

text
virsh dumpxml winda > winda.xml

Редактировать ВМ в реальном времени

text
virsh edit <имя ВМ>
15.05.2012 12:40 #252062
"XliN" написал:
Если Вы по какой то причине создали образ диска для ВМ в формате RAW, то снапшоты он не поддерживает. Перевести в формат qcow2 можно очень просто

не всегда правильное решение - RAW быстрее и легче в администрировании, и когда снепшоты не нужны - это лучший формат, как для файлов так и для томов LVM. более того, raw может служить основой для снепшотов, когда VM установлен на raw с него можно снять qcow2 снепшот.

кстати, снепшоты в постоянном использовании - не лучшая идея, причем это утверждают даже на курсах vmware. снепшот хорош как временная мера для снятия бекапа, после которого снепшот убирается, но в production чем длиннее цепочка снепшотов тем медленнее будет работать машина.

15.05.2012 12:44 #252066
"dyasny" написал:
когда VM установлен на raw с него можно снять qcow2 снепшот.

Каким образом?

15.05.2012 14:07 #252079
XliN написал:
[quote="dyasny"]когда VM установлен на raw с него можно снять qcow2 снепшот.

Каким образом?[/quote]
Можно поступить так.
Создать например LVM том на хосте /virtual и туда кинуть виртуальный жесткий диск и уже с раздела /virtual снять snapshot lvm :) правда если там будут и другие виртуальные жесткие диски то при восстановление он их всех восстановит.

15.05.2012 14:08 #252080

"XliN" написал:
Каким образом?
самым обычным, raw как основной имидж вполне может работать, а снепшоты с него уже будут qcow2.
в RHEV и oVirt именно так все построено.

я имею ввиду что такая схема как
[base image qcow] -> [snap1 qcow] -> [snap2 qcow]
и
[base image raw] -> [snap1 qcow] -> [snap2 qcow]

вполне возможны, а для скорости работы, вторая предпочтительнее.
15.05.2012 14:19 #252084

как это сделать через libvirtd? не совсем понятно.
qcow2 еще есть плюс что он имеет размер сколько использует виртуальная машина. А raw дашь 20 Гб он и будет занимать 20 хотя хостовая система его заполняет на 5 Гб.

15.05.2012 14:21 #252085

Ага, и virsh с raw не умеет снимать снапшоты. Есть где то хавтушка с приведенным выше примером? Как это реализовать на практике.

15.05.2012 15:00 #252090
"semperN" написал:
как это сделать через libvirtd? не совсем понятно

никак, libvirtd это демон который за сторедж не отвечает.

средствами libvirt API, насколько я знаю, это не поддерживается, но это не значит что
1. форматы этого не умеют
2. qemu-img этого не умеет

более продвинутые системы управления чем простой либвирт это как раз умеют, и работают именно так из коробки.

"semperN" написал:
qcow2 еще есть плюс что он имеет размер сколько использует виртуальная машина. А raw дашь 20 Гб он и будет занимать 20 хотя хостовая система его заполняет на 5 Гб.

это называется sparse image, и тоже имеет ряд дополнительных минусов по сравнению с обычным raw - на оверхед лишней метадаты qcow2 (плюс COW алгоритм для работы собственно в снепшотах) накладывается надобность расширять диск когда он дорастает до нужного размера. по умолчанию "шаг" роста - 4к, что может очень сильно ударить по скорости записи когда большое кол-во информации надо быстро записать на sparse диск. Ну и конечно файловая система должна поддерживать sparse files.
на LVM вообще нет механизма, и приходится мониторить LV внешними средствами, и делать lvextend по мере надобности, а это операция не из "дешевых" в плане ресурсов.

Это опять же ограничение не конкретно qemu, но и любой другой системы, и qcow можно спокойно заменить на vmdk/vhd/etc...

поэтому "боевые" ВМ я всегда ставлю на raw и сразу определяю им именно столько места сколько им понадобится. Благо диски в наше время не дорогие. Если же ВМ тестовый, и важнее сэкономить место на диске чем обеспечить стабильность и скорость, то конечно можно работать на sparse

"XliN" написал:
Ага, и virsh с raw не умеет снимать снапшоты. Есть где то хавтушка с приведенным выше примером? Как это реализовать на практике.
text
[root@darth Virt]# qemu-img create -f raw base.raw 1024M
Formatting 'base.raw', fmt=raw size=1073741824 
[root@darth Virt]# ls -lsa
       0 -rw-r--r-- 1 root   root    1073741824 May 15 13:43 base.raw

[root@darth Virt]# qemu-img create -f qcow2 -b base.raw snap1.img Formatting 'snap1.img', fmt=qcow2 size=1073741824 backing_file='base.raw' encryption=off cluster_size=65536

[root@darth Virt]# ls -lsa total 17907792 0 -rw-r--r-- 1 root root 1073741824 May 15 13:43 base.raw 136 -rw-r--r-- 1 root root 197120 May 15 13:50 snap1.img

[root@darth Virt]# qemu-img info snap1.img image: snap1.img file format: qcow2 virtual size: 1.0G (1073741824 bytes) disk size: 136K cluster_size: 65536 backing file: base.raw (actual path: base.raw)

Ну и вообще, Лигуори много об этом пишет:
http://wiki.qemu.org/Features/Snapshots2

20.05.2012 20:24 #253068

Если вм будет работать на образе формата raw и снапшоты с него делать путем переформатирования в qcow2 и потом с него снапшотить, не долго ли? В реальном времени не сделать, придется останавливать. А если сразу крутится на qcow2, то можно. Не ужели так скорость падает?

20.05.2012 20:28 #253069
XliN написал:
Если вм будет работать на образе формата raw и снапшоты с него делать путем переформатирования в qcow2 и потом с него снапшотить, не долго ли?

а где я предлагал переформатировать?

В реальном времени не сделать, придется останавливать. А если сразу крутится на qcow2, то можно.

live snapshot в апстриме qemu уже есть. Лигуори об этом писал. в стабильные дистры тоже скоро попадет - очень нужная фича.

Не ужели так скорость падает?

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

20.05.2012 20:36 #253071

Не верно выразился. Получается он с raw снимает снапшот в qcow2 формате?
Обещают, но каогда будет хз. А хочется сейчас. На centos вообще можно не дождаться.
Мои вм использую как прокси и для администрирования домена.
Кстате база на Sql крутится под цитрикс, хз в каком там формате, но скорость устраивает.

20.05.2012 20:37 #253072

Вот еще бы узнать как с citrix 6 мигрировать на kvm, давно убежал бы. Не люблю когда система не прозрачна.

20.05.2012 23:05 #253100
"XliN" написал:
Не верно выразился. Получается он с raw снимает снапшот в qcow2 формате?

ага, именно так. qcow2 это набор линков на каждый блок в предыдущем по цепочке снепшотов имидже. какая ему разница, держать указатели на блоки другого qcow2 или raw? блок есть блок :)

"XliN" написал:
Обещают, но каогда будет не знаю. А хочется сейчас. На centos вообще можно не дождаться.

фича очень нужна в RHEV, а значит ее пропихнут и стабилизируют в RHEL очень быстро. думаю не долго осталось

"XliN" написал:
Вот еще бы узнать как с citrix 6 мигрировать на kvm, давно убежал бы. Не люблю когда система не прозрачна.

посмотрите на virt-v2v, насколько я знаю xenserver там не поддерживается пока, но через промежуточный вариант должно быть возможно

28.05.2012 16:43 · отредактировано #255025
"dyasny" написал:
посмотрите на virt-v2v, насколько я знаю xenserver там не поддерживается пока, но через промежуточный вариант должно быть возможно

Вроде как поддерживается на прямую. Правда в rhel 6.2 нет. Есть в бете rhel 6.3 и в fedora 16 может даже и в 15 есть.
погляди http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6-Beta/html/V2V_Guide/chap-V2V_Guide-v2v-migration.html

28.05.2012 16:48 #255028
"semperN" написал:
Вроде как поддерживается на прямую. Правда в rhel 6.2 нет. Есть в бете rhel 6.3 и в fedora 16 может даже и в 15 есть.
погляди http://docs.redhat.com/docs/en-US/Red_H … ation.html

можно ссылку? я там xenserver не нашел, только RHEL5 с Xen

28.05.2012 21:26 #255116

Нет, это не cirtix xenserver, это rhel5 с libvirt+xen. хотя любой сервер с xen и libvirt по моему может сработать.

может быть http://www.citrix.com/English/ss/downloads/details.asp?downloadId=2306318&productId=683148 сможеть перекинуть в поддерживаемый формат, а из него уже перетянуть к себе.
или вытащить имиджи дисков, а настройки ВМ создать руками (но тогда не будет изменений внутри ВМ которые вносит virt-v2v)

28.05.2012 22:01 #255125

Мда. Все сложно, а так хочется хотябы линуксовые вм перетащить.

29.05.2012 17:34 #255338

был бы там RHEL с Xen-ом или ESXi - все было бы просто :)

01.06.2012 00:34 #255878
"XliN" написал:
Мда. Все сложно, а так хочется хотябы линуксовые вм перетащить.

вспомнил как я таскал виртуалки до появления virt-v2v, еще на RHEL5.4 - просто грузил их с livecd ISO федоры, и гнал содержимое дисков через сеть простым dd if=/dev/hda | netcat ----- netcat -l | dd of=/dev/hda

Войдите или зарегистрируйтесь, чтобы ответить.