1

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

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

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

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

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

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

qemu-img info image.qcow

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

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

virsh dumpxml winda > winda.xml

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

virsh edit <имя ВМ>
MX Linux 21.2 x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

2

XliN пишет:

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

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

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

3

dyasny пишет:

когда VM установлен на raw с него можно снять qcow2 снепшот.

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

MX Linux 21.2 x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

4

XliN пишет:
dyasny пишет:

когда VM установлен на raw с него можно снять qcow2 снепшот.

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

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

5

XliN пишет:

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

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

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

вполне возможны, а для скорости работы, вторая предпочтительнее.

6

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

7

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

MX Linux 21.2 x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

8

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 не умеет снимать снапшоты. Есть где то хавтушка с приведенным выше примером? Как это реализовать на практике.

[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

9

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

MX Linux 21.2 x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

10

XliN пишет:

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

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

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

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

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

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

11

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

MX Linux 21.2 x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

12

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

MX Linux 21.2 x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

13

XliN пишет:

Не верно выразился. Получается он с raw снимает снапшот в qcow2 формате?

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

XliN пишет:

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

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

XliN пишет:

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

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

14 (28.05.2012 16:43:51 отредактировано semperN)

dyasny пишет:

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

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

15

semperN пишет:

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

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

16

http://docs.redhat.com/docs/en-US/Red_H … guest.html
Это разве не то?

17

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

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

18

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

MX Linux 21.2 x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

19

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

20

XliN пишет:

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

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

21

Про миграцию хотел спросить. Сейчас вышел же virt-p2v. А его нельзя использовать как v2v? например с XEN в KVM? ab

22

Тоже интересно. Очень нужно смигрировать две линуксовые системы на kvm. На одном домен, на втором днс+впн. И не одной хавтушки.

MX Linux 21.2 x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

23

XliN пишет:

Тоже интересно. Очень нужно смигрировать две линуксовые системы на kvm. На одном домен, на втором днс+впн. И не одной хавтушки.

Домен лучше наверно будет создать резервный контроллер домена. Резервный сделать первичным а старый отключить. Я так планирую поступить по крайней мере ab

24

У меня контроллер домена на самбе четверной.
Зря связался с Citrix. Не могу даже img диска выцепить, а там попробовать конвертнуть.

MX Linux 21.2 x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

25

semperN пишет:

Про миграцию хотел спросить. Сейчас вышел же virt-p2v. А его нельзя использовать как v2v? например с XEN в KVM?

можно, но v2v удобнее, имхо.

XliN пишет:

Тоже интересно. Очень нужно смигрировать две линуксовые системы на kvm. На одном домен, на втором днс+впн. И не одной хавтушки.

в доках все есть, просто p2v под разделом v2v прячется. https://access.redhat.com/knowledge/doc … index.html
вся разница в том что в случае v2v конвертирующий хост подключается к сорсу, и тянет из него по сети, а с p2v конвертируемую машину надо загрузить с p2v livecd, и указать путь к конвертирующему хосту

semperN пишет:

Домен лучше наверно будет создать резервный контроллер домена. Резервный сделать первичным а старый отключить. Я так планирую поступить по крайней мере

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

XliN пишет:

Зря связался с Citrix

это да ab

26

XliN пишет:

Тоже интересно. Очень нужно смигрировать две линуксовые системы на kvm. На одном домен, на втором днс+впн. И не одной хавтушки.

как успехи миграции? Не пробовал еще virt-p2v?

27

Еще разбираюсь пока. Подключил к хостовой машине, где стоит citrix, репы от centos 5.8, он сразу захотел обновиться. Сыкатно.

Я так понял что все виртуалки и снапшоты работают на lvm в оюной виртуальной группе и поидеи можно из перекинуть на обычный диск в формате VHD, или какой там.. не помню.. Потом конвертнуть в Raw через qemu-image.
Как то так. Думаю как реализовать. Жду помощи форумчан.
Если получится, ио напишу инструкцию по миграции с цитрикса на нормальный, прозрачный KVM.

MX Linux 21.2 x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

28

если имиджи доступны, то можно их подцепить к нормальному KVM. один нюанс - надо будет по первому разу загрузиться с имиджем liveCD, и поправить grub/fstab, чтоб указывал на /dev/vdX вместо /dev/xvdX (ну или как там оно в зене)

29

Скажите, под KVM у каждой виртуальной машины свои ядра? Или они всё таки общие?

Debian Wheezy

30

giko⇓ пишет:

Скажите, под KVM у каждой виртуальной машины свои ядра? Или они всё таки общие?

как настроите так и будет