Показать статистику
0 голосов
от (500 баллов)
1.1тыс. просмотров 1 ответов

1 Ответ

0 голосов
от (26.4тыс. баллов)
редактировать от

Для этого Вам потребуется привилегированный доступ к вашей установке Redhat Linux.

Получить информацию об исходной виртуальной машине

Прежде чем мы начнем клонировать любую виртуальную машину, нам сначала нужно получить некоторую основную информацию о ней. Абсолютно минимальная информация, необходимая для исходной виртуальной машины, которую мы собираемся клонировать, - это ее имя и номер используемого диска. Чтобы получить имя виртуальной машины, запустите:

# virsh list

 Id    Name                           State
----------------------------------------------------
 1     server1.Ваше_имя.org            running

Далее, мы можем узнать количество дисков, используемых нашими исходными виртуальными машинами, а также их местоположение. Информация о расположении дисков является необязательной, поскольку она только дает нам подсказку о том, где хранить новые файлы клонов дисков для согласованности:

 # virsh dumpxml server1.linuxconfig.org | grep "source file"
      <source file='/var/lib/libvirt/images/server1.Ваше_имя.org.qcow2'/>
      <source file='/var/lib/libvirt/images/server1.Ваше_имя.org-1.qcow2'/>
      <source file='/var/lib/libvirt/images/server1.Ваше_имя.org-2.qcow2'/>

Из вышеприведенного вывода мы можем видеть, что наша оригинальная виртуальная машина имеет три диска, хранящихся на месте /var/lib/libvirt/images/.

Приостановить исходную виртуальную машину

Перед клонированием наша виртуальная машина-источник должна быть приостановлена:

# virsh suspend server1.Ваше_имя.org
Domain server1.Ваше_имя.org suspended

Авто-клонирование виртуальной машины

Одним из способов клонирования виртуальных машин на основе KVM в Redhat Linux является использование --auto-clone коммутатора. Основным преимуществом --auto-clone коммутатора является то, что он автоматически клонирует любое количество исходных дисков, поэтому пользователю не нужно знать местоположение и номер диска, подключенного к исходной виртуальной машине. 

Недостатком является то, что пользователь не может указать имена дисков и гордиться альтернативным расположением новых клонированных виртуальных дисков. Следующая команда linux автоматически клонирует исходную виртуальную машину server1.linuxconfig.org на новую виртуальную машину клонирования server2.Ваше_имя с помощью --auto-cloneswitch.

# virt-clone --original=server1.Ваше_имя.org --name=server2.Ваше_имя.org --auto-clone
WARNING  Setting the graphics device port to autoport, in order to avoid conflicting.
Allocating 'server2.Ваше_имя.org.qcow2'                                      |  11 GB  00:00:00     
Allocating 'server1.Ваше_имя.org-1-clone.qcow2'                              | 6.0 GB  00:00:08     
Allocating 'server1.Ваше_имя.org-2-clone.qcow2'                              | 6.0 GB  00:00:00     
Clone 'server2.Ваше_имя.org' created successfully.

Как видно из вышеприведенного вывода, --auto-clone автоматически клонируются все виртуальные диски, подключенные к исходной виртуальной машине, и добавляется clone ключевое слово для любых дополнительных дисков. Новая клонированная виртуальная машина должна находиться в shut off состоянии ожидания запуска:

# virsh list --all
 Id    Name                           State
----------------------------------------------------
 1     server1.Ваше_имя.org            paused
 -     server2.Ваше_имя.org            shut off

Клонирование нескольких дисков вручную

Чтобы получить больше контроля над новым местоположением и именем клонированного диска, мы можем опустить --auto-clone коммутатор и указать новое имя и путь клонированного диска с помощью --file коммутатора. Обратите внимание, что количество предоставленных --file аргументов должно быть равно количеству дисков, подключенных к исходной виртуальной машине. Пример:

# virt-clone --original=server1.Ваше_имя.org --name=server2.Ваше_имя.org --file /var/lib/libvirt/images/server2.Ваше_имя.org.img --file /var/lib/libvirt/images/server2.Ваше_имя.org-1.img --file /var/lib/libvirt/images/server2.Ваше_имя.org-2.img
WARNING  Setting the graphics device port to autoport, in order to avoid conflicting.
Allocating 'server2.Ваше_имя.org.img'                                                                                                                                                            |  11 GB  00:00:00     
Allocating 'server2.Ваше_имя.org-1.img'                                                                                                                                                          | 6.0 GB  00:00:08     
Allocating 'server2.Ваше_имя.org-2.img'                                                                                                                                                          | 6.0 GB  00:00:00     
Clone 'server2.Ваше_имя.org' created successfully.

Резюме / Start

На этом этапе мы готовы возобновить нашу оригинальную виртуальную машину server1.Ваше_имя.org:

# virsh resume server1.Ваше_имя.org
Domain server1.Ваше_имя.org resumed

 также запустить новую клонированную виртуальную машину server2.Ваше_имя.org:

# virsh start server2.Ваше_имя.org
Domain server2.Ваше_имя.org started

Проверьте состояние всех виртуальных машин:

# virsh list --all
 Id    Name                           State
----------------------------------------------------
 1     server1.Ваше_имя.org            running
 3     server2.Ваше_имя.org            running
...