Proxmox LVM-thin

Понадобилось сделать VM на SSD для для сервера баз данных. Для быстрой работы.

Удостоверяемся в выбранном диске
root@pve:~# smartctl -a /dev/sdd

=== START OF INFORMATION SECTION ===
Model Family:     Samsung based SSDs
Device Model:     Samsung SSD 850 EVO 250GB
Создаем физический том (physical volume)

root@pve:~# pvcreate /dev/sdd
  Physical volume "/dev/sdd" successfully created.
создаём группу томов pvessd250
root@pve:~# vgcreate pvessd250 /dev/sdd
  Volume group "pvessd250" successfully created

root@pve:~# vgdisplay pvessd250
  --- Volume group ---
  VG Name               pvessd250
  System ID             
  Format                lvm2
  Metadata Areas        1
  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                1
  Act PV                1
  VG Size               232.88 GiB
  PE Size               4.00 MiB
  Total PE              59618
  Alloc PE / Size       0 / 0   
  Free  PE / Size       59618 / 232.88 GiB
  VG UUID               51iHDp-lO6C-ou4K-9zx0-mKqW-1ZzI-AxvKJ2

root@pve:~# vgs
  VG        #PV #LV #SN Attr   VSize   VFree  
  pvessd250   1   0   0 wz--n- 232.88g 232.88g
Теперь в группе томов pvessd250 можно создать логический том data
размером 100 гигабайт
root@pve:~# lvcreate -L 100G -n data pvessd250
  Logical volume "data" created.
Если ошиблись размером то увеличиваем размер до полного диска в 220G гигабайт(Размер LV 220G.00 GiB и оставляем 5G на metadata и еще 5G под lvol0_pmspare, иначе если он закончится то придется увеличивать. Посмотреть сколько занимает metada можно командой lvs -a но только когда уже создадим lvm-thin)

root@pve:~# lvresize -L 220G pvessd250/data
  Size of logical volume pvessd250/data changed from 100.00 GiB (25600 extents) to 220.00 GiB (56320 extents).
  Logical volume pvessd250/data successfully resized.

root@pve:~# lvs
  LV            VG        Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  data            pvessd250 -wi-a----- 220.00g


Создаем LVM-thin
lvconvert --type thin-pool pvessd250/data --poolmetadatasize 5G

root@pve:~# lvconvert --type thin-pool pvessd250/data --poolmetadatasize 5G
  WARNING: Converting logical volume pvessd250/data to thin pool's data volume with metadata wiping.
  THIS WILL DESTROY CONTENT OF LOGICAL VOLUME (filesystem etc.)
Do you really want to convert pvessd250/data? [y/n]: y
  Converted pvessd250/data to thin pool.


root@pve:~# lvs -a 
  LV              VG        Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  data            pvessd250 twi-a-tz-- 220.00g             0.00   0.02                            
  [data_tdata]    pvessd250 Twi-ao---- 220.00g                                                    
  [data_tmeta]    pvessd250 ewi-ao----   5.00g                                                    
  [lvol0_pmspare] pvessd250 ewi-------   5.00g
Смотрите чтобы создались data_tdata и data_tmeta — иначе выделили мало свободного места на VG
.т.е VG = 232G, под data выделилось 220G, data_tmeta = 5G и под lvol0_pmspare = 5G
и осталось на VG еще 2.88g свободного места
root@pve:~# vgs
  VG        #PV #LV #SN Attr   VSize   VFree
  pvessd250   1   1   0 wz--n- 232.88g 2.88g

переходим в Datacenter -> Storage

Добавить LVM-Thin




Выключаем виртуальную машину и переносим диск с одного storage на другой
Выбираем VM -> Resources
потом выбираем нужный диск и нажимаем Move Volume


PS
восстановить метаданные
lvconvert --repair pvessd250/data

Нет комментариев