sur mon super NAS maison (un HP Proliant Microserver Gen8), j'ai un système principal à base de CentOS qui me sert d'hyperviseur (libvirt+QEMU), et j'ai des VM dont une sous OpenMediaVault (OMV) qui sert de NAS (fournit une GUI pour les partages, toussa). Sur mes 3 disques, les 2 gros servent au NAS (l'autre est en mode miroir pour un espace sécurisé), j'utilise le génial LVM pour partitionner les disques (et en réalité, des partitions aussi, car plusieurs VG).
Digression : je n'ai cependant pas profité de la fonctionnalité qui permet d'agréger des disques, c'est volontaire : lorsque les disques sont agrégés, c'est plus simple à l'usage car 1 seul FS, mais en cas de panne d'un des disques .. c'est effectivement tout cet unique FS qui est mort (et avec les bouts de fichiers probablement répartis partout sur les 2 disques, bonne chance pour une éventuelle récupération). J'ai donc 1 FS par disque, que OMV me permet d’agréger à l'aide de AUFS pour n'afficher qu'un FS à l'usage :).
Pour la VM OMV, je garde de l'espace dans le VG au cas où, et il m'arrive d'avoir besoin d'allouer de cet espace à OMV, seulement il faut agrandir le LV, puis relancer la VM, ce que je n'ai pas toujours envie de faire ; ça serait quand même plus cool de pouvoir le faire en live, non ? Surtout que QEMU permet ça lorsque le mode virtio est utilisé :).
Bref, assez de blabla, des commandes.
Agrandissement du LV sur l'host :
[root@equuleus ~]# pvs -o pv_name,vg_name,pv_fmt,pv_attr,pv_size,pv_free,lv_name,seg_start_pe,seg_size_pe,seg_start,seg_size,segtype,seg_pe_ranges
PV VG Fmt Attr PSize PFree LV Start SSize Start SSize Type PE Ranges
/dev/sda3 sys lvm2 a-- 125.00g 72.00g root 0 2500 0 9.77g linear /dev/sda3:0-2499
/dev/sda3 sys lvm2 a-- 125.00g 72.00g home 0 3750 0 14.65g linear /dev/sda3:2500-6249
/dev/sda3 sys lvm2 a-- 125.00g 72.00g swap 0 2018 0 7.88g linear /dev/sda3:6250-8267
/dev/sda3 sys lvm2 a-- 125.00g 72.00g root_inst 0 2560 0 10.00g linear /dev/sda3:8268-10827
/dev/sda3 sys lvm2 a-- 125.00g 72.00g root_sinst7 0 2510 0 9.80g linear /dev/sda3:10828-13337
/dev/sda3 sys lvm2 a-- 125.00g 72.00g root 2500 60 9.77g 240.00m linear /dev/sda3:13338-13397
/dev/sda3 sys lvm2 a-- 125.00g 72.00g root_sinst7 2510 50 9.80g 200.00m linear /dev/sda3:13398-13447
/dev/sda3 sys lvm2 a-- 125.00g 72.00g swap 2018 30 7.88g 120.00m linear /dev/sda3:13448-13477
/dev/sda3 sys lvm2 a-- 125.00g 72.00g home 3750 90 14.65g 360.00m linear /dev/sda3:13478-13567
/dev/sda3 sys lvm2 a-- 125.00g 72.00g 0 18431 0 72.00g free
/dev/sda4 vm lvm2 a-- 125.00g 69.00g iso 0 2560 0 10.00g linear /dev/sda4:0-2559
/dev/sda4 vm lvm2 a-- 125.00g 69.00g images 0 3840 0 15.00g linear /dev/sda4:2560-6399
/dev/sda4 vm lvm2 a-- 125.00g 69.00g omv 0 2560 0 10.00g linear /dev/sda4:6400-8959
/dev/sda4 vm lvm2 a-- 125.00g 69.00g vm2 0 2560 0 10.00g linear /dev/sda4:8960-11519
/dev/sda4 vm lvm2 a-- 125.00g 69.00g t1 0 256 0 1.00g linear /dev/sda4:11520-11775
/dev/sda4 vm lvm2 a-- 125.00g 69.00g vm2_fresh 0 2560 0 10.00g linear /dev/sda4:11776-14335
/dev/sda4 vm lvm2 a-- 125.00g 69.00g 0 17663 0 69.00g free
/dev/sda5 data lvm2 a-- 2.48t 100.00g [secured_rmeta_2] 0 1 0 4.00m linear /dev/sda5:0-0
/dev/sda5 data lvm2 a-- 2.48t 100.00g [secured_rimage_2] 0 230400 0 900.00g linear /dev/sda5:1-230400
/dev/sda5 data lvm2 a-- 2.48t 100.00g 0 25600 0 100.00g free
/dev/sda5 data lvm2 a-- 2.48t 100.00g nas-1 0 395270 0 1.51t linear /dev/sda5:256001-651270
/dev/sdb2 data lvm2 a-- 931.51g 21.50g [secured_rmeta_0] 0 1 0 4.00m linear /dev/sdb2:0-0
/dev/sdb2 data lvm2 a-- 931.51g 21.50g [secured_rimage_0] 0 230400 0 900.00g linear /dev/sdb2:1-230400
/dev/sdb2 data lvm2 a-- 931.51g 21.50g nas-db 0 2560 0 10.00g linear /dev/sdb2:230401-232960
/dev/sdb2 data lvm2 a-- 931.51g 21.50g 0 5505 0 21.50g free
/dev/sdc5 data lvm2 a-- 5.21t 874.00g [secured_rmeta_1] 0 1 0 4.00m linear /dev/sdc5:0-0
/dev/sdc5 data lvm2 a-- 5.21t 874.00g [secured_rimage_1] 0 230400 0 900.00g linear /dev/sdc5:1-230400
/dev/sdc5 data lvm2 a-- 5.21t 874.00g 0 25600 0 100.00g free
/dev/sdc5 data lvm2 a-- 5.21t 874.00g nas-2 0 911361 0 3.48t linear /dev/sdc5:256001-1167361
/dev/sdc5 data lvm2 a-- 5.21t 874.00g 0 198144 0 774.00g free
[root@equuleus ~]# lvextend data/nas-2 -L +174G /dev/sdc5
Size of logical volume data/nas-2 changed from 3.48 TiB (911361 extents) to 3.65 TiB (955905 extents).
Logical volume nas-2 successfully resized.
[root@equuleus ~]# pvs -o pv_name,vg_name,pv_fmt,pv_attr,pv_size,pv_free,lv_name,seg_start_pe,seg_size_pe,seg_start,seg_size,segtype,seg_pe_ranges
PV VG Fmt Attr PSize PFree LV Start SSize Start SSize Type PE Ranges
[..]
/dev/sdc5 data lvm2 a-- 5.21t 700.00g [secured_rmeta_1] 0 1 0 4.00m linear /dev/sdc5:0-0
/dev/sdc5 data lvm2 a-- 5.21t 700.00g [secured_rimage_1] 0 230400 0 900.00g linear /dev/sdc5:1-230400
/dev/sdc5 data lvm2 a-- 5.21t 700.00g 0 25600 0 100.00g free
/dev/sdc5 data lvm2 a-- 5.21t 700.00g nas-2 0 955905 0 3.65t linear /dev/sdc5:256001-1211905
/dev/sdc5 data lvm2 a-- 5.21t 700.00g 0 153600 0 600.00g free
On informe le driver de la VM que le disque à changé de taille (attention aux unités, kb != kib) :
[root@equuleus ~]# virsh help blockresize
NAME
blockresize - Resize block device of domain.
SYNOPSIS
blockresize
DESCRIPTION
Resize block device of domain.
OPTIONS
[--domain] domain name, id or uuid
[--path] Fully-qualified path of block device
[--size] New size of the block device, as scaled integer (default KiB)
/!\ units ! (kb != kib) :
[root@equuleus ~]# man lvs
[root@equuleus ~]# lvs data/nas-2 --units m
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
nas-2 data -wi-ao---- 3823620.00m
[root@equuleus ~]# virsh blockresize OMV /dev/data/nas-2 3823620m
Block device '/dev/data/nas-2' is resized
On check le syslog du guest :
root@omv:~# dmesg
[3689800.752788] virtio_blk virtio7: new size: 7830773760 512-byte logical blocks (4.00 TB/3.64 TiB)
[3689800.752795] vde: detected capacity change from 3822525087744 to 4009356165120
[3689800.762729] VFS: busy inodes on changed media or resized disk vde
On lance le resize du FS (qui peut mettre plusieurs minutes, prévoir un screen/tmux pour cette étape serait pas mal) :
root@omv:~# resize2fs -p /dev/vde
resize2fs 1.42.5 (29-Jul-2012)
Filesystem at /dev/vde is mounted on /media/211d3e2f-680f-4211-b597-203dcae5c756; on-line resizing required
old_desc_blocks = 446, new_desc_blocks = 467
Performing an on-line resize of /dev/vde to 978846720 (4k) blocks.
The filesystem on /dev/vde is now 978846720 blocks long.
Et voila :)
Comme toujours, des sources & des liens :
Au sujet de qmp (malheureusement pas encore complètement implémenté sous la forme actuelle dans la version CentOS de qemu il semblerait ; qmp_capabilities n'est pas reconnu par exemple) :
Comme toujours, des sources & des liens :
- https://serverfault.com/questions/324281/how-do-you-increase-a-kvm-guests-disk-space (méthode un peu mano)
- https://bugzilla.redhat.com/show_bug.cgi?id=648594
- https://website-humblec.rhcloud.com/is-it-possible-to-do-online-resizing-of-guest-block-devices-or-without-shutdown/ (!)
Au sujet de qmp (malheureusement pas encore complètement implémenté sous la forme actuelle dans la version CentOS de qemu il semblerait ; qmp_capabilities n'est pas reconnu par exemple) :
1 commentaire:
7 liens seulement ? T'es malade ? Ta coloc t'as pas réussi ?
Enregistrer un commentaire