Как добавить образ диска в виртуальную машину KVM с помощью команды virsh

Как добавить образ диска в виртуальную машину KVM с помощью команды virshКак добавить дополнительное дисковое хранилище в гостевую ОС на виртуальную машину KVM с командой virsh в операционной системе Linux?

Вы можете легко добавить дополнительные жесткие диски в KVM домене/виртуальной машине, чтобы получить увеличенное пространство для хранения данных гостя. В этом учебном пособии показано, как добавить дополнительное дисковое хранилище в виртуальную машину KVM, используя опцию командной строки virsh в Linux.

Ниже приведены шаги по добавлению файлового хранилища (образа диска) в виртуальную машину с помощью команды virsh в Linux:

Шаг 1 – Создайте новый образ диска

Введите следующую команду на хосте KVM для создания нового образа диска под названием ubuntu-box1-vm-disk1-5G с размером 5G:

$ cd /var/lib/libvirt/images/
$ sudo qemu-img create -f raw ubuntu-box1-vm-disk1-5G 5G
[sudo] password for vivek:
Formatting 'ubuntu-box1-vm-disk1-5G', fmt=raw size=5368709120

Или вы можете использовать команду dd для создания предварительно выделенного файла, для этого выполните:

$ sudo dd if=/dev/zero of=ubuntu-box1-vm-disk1-5G bs=1M count=5120 status=progress
5192548352 bytes (5.2 GB, 4.8 GiB) copied, 10.5212 s, 494 MB/s
5120+0 records in
5120+0 records out
5368709120 bytes (5.4 GB, 5.0 GiB) copied, 10.9421 s, 491 MB/s

Вы только что создали команду qemu-img или dd для создания нового необработанного образа диска размером 5 ГБ. Образ диска называется ubuntu-box1-vm-disk1-5G :

$ sudo ls –lh

Примеры возможных выводов данных:

total 17G
-rw------- 1 libvirt-qemu kvm   41G Feb 17 15:41 freebsd11.qcow2
-rw------- 1 libvirt-qemu kvm  3.1G Feb 17 15:33 ubuntu-box-1-clone.qcow2
-rw------- 1 libvirt-qemu kvm   41G Feb 17 15:34 ubuntu-box-1.qcow2
-rw-r--r-- 1 root         root 5.0G Feb 17 15:42 ubuntu-box1-vm-disk1-5G

Некоторые замечания относительно формата qcow2

Формат образа необработанного диска выставлен по умолчанию. Преимущество этого формата заключается в простоте и легкости экспорта для всех других эмуляторов. Однако, формат изображения QEMU (qcow2) — самый универсальный формат. Если вам нужно сделать снимки виртуальной машины или выпонить AES-шифрование. Попробуйте формат qcow2. Синтаксис будет выглядеть следующим образом.

$ sudo qemu-img create -f qcow2 ubuntu-box2-vm-disk1-5G 5G

Шаг 2 – Прикрепите диск к виртуальной машине

Прежде чем присоединить диск к вашей виртуальной машине, узнайте имя текущего диска. Войдите в вашу виртуальную машину и введите следующую команду:

$ df

ИЛИ

$ sudo fdisk -l | grep '^Disk /dev/vd[a-z]'

Примеры возможных выводов данных:

Disk /dev/vda: 40 GiB, 42949672960 bytes, 83886080 sectors

Таким образом, моя виртуальная машина имеет /dev/vda с размером 40 ГБ. Чтобы подключить вновь созданный образ ubuntu-box1-vm-disk1-5G , вы должны использовать /dev/vdb . Если у вас уже есть диск /dev/vdb , вам нужно изменить vdb на свободное устройство, например /dev vdc , и так далее. Чтобы прикрепить диск к виртуальной машине, под названием ubuntu-box1 используйте следующий синтаксис.

# virsh attach-disk {vm-name} /var/lib/libvirt/images/{img-name-here} vdb --cache none

ИЛИ

# virsh attach-disk {vm-name} \
--source /var/lib/libvirt/images/{img-name-here} \
--target vdb \
--persistent

Например, прикрепите образ диска ‘/var/lib/libvirt/images/ubuntu-box1-vm-disk1-5G’ в качестве виртуального диска к виртуальной машине/домену с именем «ubuntu-box1» и обновите XML-файл домена для нового диска (введите команду на хосте):

$ sudo virsh attach-disk ubuntu-box1 /var/lib/libvirt/images/ubuntu-box1-vm-disk1-5G vdb --cache none

Примеры возможных выводов данных:

[sudo] password for vivek: 
Disk attached successfully

Будьте Осторожны: С помощью всего нескольких нажатий клавиш fdisk  может уничтожить часть или весь ваш жесткий диск или рабочий раздел. Убедитесь, что вы используете правильные имена устройств с помощью команды fdisk.

Шаг 3 – Разбиение диска на виртуальной машине

Теперь у гостя с именем «ubuntu-box1» есть устройство на жестком диске, называемое /dev/vdb. Зайдите в вашу виртуальную машину и введите следующую команду для проверки того же самого:

$ sudo fdisk -l | grep '^Disk /dev/vd[a-z]'

Примеры возможных выводов данных:

Disk /dev/vda: 40 GiB, 42949672960 bytes, 83886080 sectors
Disk /dev/vdb: 5 GiB, 5368709120 bytes, 10485760 sectors

Затем запустите fdisk для нового устройства:

$ sudo fdisk /dev/vdb

Введите n для нового раздела. Введите p для основного раздела. Выберите номер доступного раздела 1. Введите первый цилиндр по умолчанию, нажав Enter. Выбрать весь диск можно, нажав Enter. Наконец, введите p для проверки нового раздела. Введите w, чтобы записать изменения и выйти. Пример сеанса из команды fdisk.

Разбиение диска на виртуальной машине
Рисунок 01: Разделение диска с помощью команды fdisk на виртуальной машине.

Чтобы отформатировать новый раздел с файловой системой ext4, введите:

$ sudo mkfs.ext4 /dev/vdb1

Примеры возможных выводов данных:

Форматирование /dev/vdb1 как ext4
Рисунок 02: Форматирование /dev/vdb1 как ext4

Наконец, вам нужно создать монтируемую директорию:

$ sudo mkdir /disk2/

И смонтируйте диск для гостя:

$ sudo mount /dev/vdb1 /disk2/

Отредактируйте файл /etc/fstab

$ sudo vi /etc/fstab

И обновите его следующим образом, чтобы /dev/vdb1 постоянно монтировались после перезагрузки:

/dev/vdb1 /disk2 ext4 defaults 0 0

Сохраните и закройте файл. Теперь у вас есть гостевая виртуальная машина, которая имеет дополнительное виртуализированное файловое хранилище в системе на базе KVM Linux.

Перевод: Анна Давыдова
Источник: cyberciti.biz

Это интересно:

Оставьте комментарий