Как добавить дополнительное дисковое хранилище в гостевую ОС на виртуальную машину 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.
Чтобы отформатировать новый раздел с файловой системой ext4, введите:
$ sudo mkfs.ext4 /dev/vdb1
Примеры возможных выводов данных:
Наконец, вам нужно создать монтируемую директорию:
$ 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
Это интересно: