1.Просмотр существующих дисков в системе
[root@centos64kvm ~]# fdisk -l
Disk /dev/sda: 37.6 GB, 37580963840 bytes
255 heads, 63 sectors/track, 4568 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00034192
Device Boot Start End Blocks Id System
/dev/sda1 * 1 66 524288 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 66 4314 34126848 83 Linux
/dev/sda3 4314 4569 2048000 82 Linux swap / Solaris
Disk /dev/sdb: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/sdc: 16.1 GB, 16106127360 bytes
255 heads, 63 sectors/track, 1958 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
[root@centos64kvm ~]# ls -al /dev/sd
sda sda1 sda2 sda3 sdb sdc
2. Инициализация диска
Перед использованием диска или раздела в качестве физического тома необходимо его инициализировать
[root@centos64kvm ~]# pvcreate /dev/sdb
Physical volume «/dev/sdb» successfully created
[root@centos64kvm ~]# pvcreate /dev/sdc
Physical volume «/dev/sdc» successfully created
Показать информацию о физическом томе
[root@centos64kvm ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb lvm2 a— 5.00g 5.00g
/dev/sdc lvm2 a— 15.00g 15.00g
[root@centos64kvm ~]# blkid
/dev/sda1: UUID=»f0754447-3c89-4dad-9bb6-0d3f5435bf1e» TYPE=»ext4″
/dev/sda2: UUID=»8e86f785-f9e0-4d8c-9cdf-43ce7e5bbe38″ TYPE=»ext4″
/dev/sda3: UUID=»e28b62e2-4633-4f43-8741-6a17640761d0″ TYPE=»swap»
/dev/sdb: UUID=»QV0Ucq-xaBJ-FsCO-PPPc-pWkN-FG5B-tmzMzg» TYPE=»LVM2_member»
/dev/sdc: UUID=»xF97vA-hKCZ-fH7b-2ePu-CH8W-Njzs-yAdqn2″ TYPE=»LVM2_member»
3.Cоздания группы томов
[root@centos64kvm ~]# vgcreate myvggroup /dev/sdb /dev/sdc
Volume group «myvggroup» successfully created
[root@centos64kvm ~]# vgscan
Reading all physical volumes. This may take a while…
Found volume group «myvggroup» using metadata type lvm2
Просмотр информацию о группе томов
[root@centos64kvm ~]# vgdisplay
— Volume group —
VG Name myvggroup
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 2
Act PV 2
VG Size 19.99 GiB
PE Size 4.00 MiB
Total PE 5118
Alloc PE / Size 0 / 0
Free PE / Size 5118 / 19.99 GiB
VG UUID xTIv9h-Uw2e-dWos-zu2Y-XL0o-B05G-xwh4am
Просмотр размера файла ,который используется KVM для загрузки виртуалки
[root@centos64kvm ~]# ls -la /vms/centos64/
total 1646976
drwxr-xr-x 2 root root 4096 Oct 7 00:11 .
drwxr-xr-x 5 root root 4096 Oct 9 01:18 ..
-rwxr-xr-x 1 root root 10737418240 Oct 10 13:03 centos64.img
Создаем логический том такого же размера(обязательно после размера указать символ b тем самым указывая для lvm, что размер мы определяем в байтах(по умолчанию используются Mb)
4.Создание логического тома
[root@centos64kvm ~]# lvcreate -L 10737418240b -n centos64 myvggroup
Logical volume «centos64» created
Просмотр информацию о логическом томе
[root@centos64kvm ~]# lvdisplay
— Logical volume —
LV Path /dev/myvggroup/centos64
LV Name centos64
VG Name myvggroup
LV UUID BY1bkL-aDek-Q8Dc-HqZa-a6Mw-419j-IHA0xz
LV Write Access read/write
LV Creation host, time centos64kvm.kamaok.org.ua, 2013-10-10 17:06:02 +0300
LV Status available
# open 0
LV Size 10.00 GiB
Current LE 2560
Segments 1
Allocation inherit
Read ahead sectors auto
— currently set to 256
Block device 253:0
[root@centos64kvm ~]# vgdisplay
— Volume group —
VG Name myvggroup
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 2
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 0
Max PV 0
Cur PV 2
Act PV 2
VG Size 19.99 GiB
PE Size 4.00 MiB
Total PE 5118
Alloc PE / Size 2560 / 10.00 GiB
Free PE / Size 2558 / 9.99 GiB
VG UUID xTIv9h-Uw2e-dWos-zu2Y-XL0o-B05G-xwh4am
Проверяем наличие созданного тома в устройствах
[root@centos64kvm ~]# ls -al /dev/myvggroup/centos64
lrwxrwxrwx 1 root root 7 Oct 10 17:06 /dev/myvggroup/centos64 -> ../dm-0
[root@centos64kvm ~]# ls -al /dev/mapper/myvggroup-centos64
lrwxrwxrwx 1 root root 7 Oct 10 17:06 /dev/mapper/myvggroup-centos64 -> ../dm-0
[root@centos64kvm ~]fdisk –l
………………………………….
Disk /dev/mapper/myvggroup-centos64: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
5.Конвертация виртуальной машины средствами KVM из .img-файла в LVM-раздел
Например,для виртуалки с именем Centos64
qemu-img convert /vms/centos64/centos64.img -O raw /dev/myvggroup/centos64
Редактирование конфигурационного файла виртуальной машины
[root@centos64kvm ~]# virsh edit Centos64
# до редактирования
<disk type=’file‘ device=’disk’>
<driver name=’qemu’ type=’raw’ cache=’none’/>
<source file=’/vms/centos64/centos64.img’/>
<target dev=’vda’ bus=’virtio’/>
<address type=’pci’ domain=’0x0000′ bus=’0x00′ slot=’0x04′ function=’0x0’/>
</disk>
# после редактирования
<disk type=’block‘ device=’disk’>
<driver name=’qemu’ type=’raw’ cache=’none’/>
<source dev=’/dev/myvggroup/centos64′/>
<target dev=’vda’ bus=’virtio’/>
<address type=’pci’ domain=’0x0000′ bus=’0x00′ slot=’0x04′ function=’0x0’/>
[root@centos64kvm ~]# virsh define /etc/libvirt/qemu/Centos64.xml
Domain Centos64 defined from /etc/libvirt/qemu/Centos64.xml
[root@centos64kvm ~]# fdisk –l
………………………………………………………..
Device Boot Start End Blocks Id System
/dev/mapper/myvggroup-centos64p1 * 1 66 524288 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/mapper/myvggroup-centos64p2 66 1175 8911872 83 Linux
/dev/mapper/myvggroup-centos64p3 1175 1306 1048576 82 Linux swap / Solaris
[root@centos64kvm ~]# virsh start Centos64
Domain Centos64 started
Если успешно загрузились – удаляем .img-файл
rm /vms/centos64/centos64.img
Например,для виртуалки с именем Debian70
[root@centos64kvm ~]# ls -al /vms/debian70/
total 1407264
drwxr-xr-x 2 root root 4096 Oct 7 15:21 .
drwxr-xr-x 5 root root 4096 Oct 9 01:18 ..
-rwxr-xr-x 1 root root 8589934592 Oct 10 13:03 debian70.img
[root@centos64kvm ~]# lvcreate -L8589934592b -n debian70 myvggroup
Logical volume «debian70» created
[root@centos64kvm ~]# vgdisplay
— Volume group —
VG Name myvggroup
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 1
Max PV 0
Cur PV 2
Act PV 2
VG Size 19.99 GiB
PE Size 4.00 MiB
Total PE 5118
Alloc PE / Size 4608 / 18.00 GiB
Free PE / Size 510 / 1.99 GiB
VG UUID xTIv9h-Uw2e-dWos-zu2Y-XL0o-B05G-xwh4am
[root@centos64kvm ~]# ls -al /dev/myvggroup/
total 0
drwxr-xr-x 2 root root 80 Oct 10 17:46 .
drwxr-xr-x 19 root root 3960 Oct 10 17:46 ..
lrwxrwxrwx 1 root root 7 Oct 10 17:06 centos64 -> ../dm-0
lrwxrwxrwx 1 root root 7 Oct 10 17:46 debian70 -> ../dm-1
[root@centos64kvm ~]# ls -al /dev/mapper/
total 0
drwxr-xr-x 2 root root 100 Oct 10 17:46 .
drwxr-xr-x 19 root root 3960 Oct 10 17:46 ..
lrwxrwxrwx 1 root root 7 Oct 10 17:06 myvggroup-centos64 -> ../dm-0
lrwxrwxrwx 1 root root 7 Oct 10 17:46 myvggroup-debian70 -> ../dm-1
[root@centos64kvm ~]# fdisk –l
………………………………………………..
Disk /dev/mapper/myvggroup-debian70: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00021b79
[root@centos64kvm ~]# qemu-img convert /vms/debian70/debian70.img -O raw /dev/myvggroup/debian70
[root@centos64kvm ~]# fdisk –l
………………………………………………..
Device Boot Start End Blocks Id System
/dev/mapper/myvggroup-debian70p1 1 63 498688 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/mapper/myvggroup-debian70p2 * 194 1045 6835200 83 Linux
/dev/mapper/myvggroup-debian70p3 63 194 1052672 82 Linux swap / Solaris
Partition 3 does not end on cylinder boundary.
[root@centos64kvm ~]#virsh edit Debian7
# до редактирования
<disk type=’file‘ device=’disk’>
<driver name=’qemu’ type=’raw’ cache=’none’/>
<source file=’/vms/debian70/debian70.img’/>
<target dev=’vda’ bus=’virtio’/>
<address type=’pci’ domain=’0x0000′ bus=’0x00′ slot=’0x04′ function=’0x0’/>
</disk>
# после редактирования
<disk type=‘block’ device=’disk’>
<driver name=’qemu’ type=’raw’ cache=’none’/>
<source dev=’/dev/myvggroup/debian70′/>
<target dev=’vda’ bus=’virtio’/>
<address type=’pci’ domain=’0x0000′ bus=’0x00′ slot=’0x04′ function=’0x0’/>
[root@centos64kvm ~]# virsh define /etc/libvirt/qemu/Debian7.xml
Domain Debian7 defined from /etc/libvirt/qemu/Debian7.xml
[root@centos64kvm ~]# virsh start Debian7
Domain Debian7 started
Если успешно загрузились – удаляем .img-файл
rm /vms/debian70/debian70.img
ВАЖНО!!!
Для работы с системой LVM ее нужно инициализировать командами:
Первая команда сканирует диски на предмет наличия групп томов, вторая активирует все найденные группы томов.
vgscan
vgchange –ay
Аналогично для завершения всех работ, связанных с LVM, нужно выполнить деактивацию групп:
vgchange -an
Первые две строки нужно будет поместить в скрипты автозагрузки (если их там нет), а последнюю можно дописать в скрипт shutdown.
Для Centos
nano /etc/rc.local
vgscan
vgchange –ay
GUI для работы с LVM
Есть несколько графических инструментов, помогающих использовать LVM. В частности:
LVM GUI Project;
system-config-lvm.
Первый уже давно не развивается. Второй является основным графическим инструментом для администрирования LVM в Redhat-подобных дистрибутивах. Он может быть установлен и в других.
Например, в Debian:
apt-get install system-config-lvm
в Centos
yum install system-config-lvm
Устанавливаем(если еще не установлен) на Windows-машине, с которой будет управляться LVM
X Server для Windows(скачиваем отсюда http://sourceforge.net/projects/xming/)
Запускаем этот сервер на Windows
C запущенным X Server на хосте выполняем команду
system-config-lvm
Источники:
http://www.howtoforge.com/virtualization-with-kvm-on-a-centos-6.4-server-p5