[[centro:servizos:cloud|>>Páxina principal do Cloud]]
====== Estender root de máquina virtual con espazo libre del disco ======
Dende a actualización de agosto de 2017 é posible **elixir un tamaño persoalizado para o disco root** ou **redimensionar un disco existente**, pero para que ese espazo poida empregarse hai que asignalo manualmente no sistema operativo.
As plantillas de Ubuntu 14.04 e 16.04 teñen o root montado sobre LVM, empregando unha partición lóxica do sistema de particionado tradicional DOS. Esta guía está escrita para estas plantillas, aínda que recomendamos non saltarse en ningún caso o apartado de //Comprobar a configuración// por se acaso.
===== Comprobar a configuración =====
Antes de continuar debes confirmar que o sistema sobre o que apliques estas instrucións ten esta mesma configuración, xa que podes destruír o sistema se as aplicas mal.
Primeiro, comproba que se está utilizando LVM:
# df -h /
S.ficheros Tamaño Usados Disp Uso% Montado en
/dev/mapper/Ubuntu14--vg-root 8,5G 6,3G 1,8G 79% /
O comando ''df -h '' amosa a montaxe de ''/'' en ''/dev/mapper/Ubuntu--vg-root'', o que confirma que o sistema está montado sobre LVM.
Agora comproba o nome do volume lóxico empregado para para o root.
# lvs
LV VG Attr LSize Pool Origin Data% Move Log Copy% Convert
root Ubuntu-vg -wi-ao--- 6.03g
swap1 Ubuntu-vg -wi-ao--- 748.00m
Tamén comproba o nome do grupo de volumes asociado e o seu volume físico.
# pvs
PV VG Fmt Attr PSize PFree
/dev/sda5 Ubuntu14-vg lvm2 a-- 9,76g 0
Con eses comandos vemos que o root está nun volume lóxico chamado ''root'' dentro dun grupo de volumes chamado ''Ubuntu-vg'' que utiliza como volume físico ''/dev/sda5''.
Ten en conta ademais que no sistema de particionado empregado, ''/*dev/*sda5'' é unha partición lóxica que forma parte da partición estendida ''/dev/sda2''.
===== Redimensionado =====
O redimensionado pódese resumir nos seguintes 5 pasos:
- Estender a partición estendida ''/dev/sda2'' para que ocupe o espazo libre no disco.
- Estender a partición lóxica ''/dev/sda5'' para que ocupe o espazo libre na partición estendida.
- Estender o volume físico do grupo de volumes ''Ubuntu-vg''.
- Estender o volume lóxico ''root'' para que ocupe o espazo libre do grupo de volumes.
- Estender o sistema de arquivos para que ocupe o espazo libre do volume lóxico.
Arrincamos ''parted''. Co comando ''print free'' vemos que o disco ten un total de 21.5GB e un espazo libre ao final do disco de 14GB.
# parted /dev/vda
(parted) print free
Model: Virtio Block Device (virtblk)
Disk /dev/vda: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
32.3kB 1049kB 1016kB Free Space
1 1049kB 256MB 255MB primary ext2 boot
256MB 257MB 1048kB Free Space
2 257MB 7515MB 7258MB extended
5 257MB 7515MB 7258MB logical lvm
7515MB 21.5GB 14.0GB Free Space
Primeiro hai que estender as particións estendidas e lóxica (por esa orde) para que acaben no final do disco, que neste caso é 21.5GB (//pasos 1 e 2//).
(parted) resizepart 2 21.5GB
(parted) resizepart 5 21.5GB
(parted) quit
Unha vez feito, xa fóra de parted, estendemos o volume físico do grupo de volumes (//paso 3//).
# pvresize /dev/vda5
Physical volume "/dev/vda5" changed
1 physical volume(s) resized / 0 physical volume(s) not resized
Agora estendemos o volume lóxico (//paso 4//).
# lvextend -l+100%FREE /dev/mapper/Ubuntu--vg-root
Extending logical volume root to 19.03 GiB
Logical volume root successfully resized
Por último, estendemos o sistema de arquivos (//paso 5//).
# resize2fs /dev/mapper/Ubuntu--vg-root
resize2fs 1.42.9 (4-Feb-2014)
Filesystem at /dev/mapper/Ubuntu--vg-root is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 2
The filesystem on /dev/mapper/Ubuntu--vg-root is now 4987904 blocks long.
Unha vez feito isto, todo o espazo libre debería estar xa asignado ao root do sistema.