LVM Resize - Reduzindo Volumes
Na @Cidadelas, temos um servidor mega power hospedado na Softlayer, antiga The Planet, que está virtualizado com Xen. Nele, temos 7 máquinas virtuais, todas rodando Debian, umas com Lenny e outas com Squeeze.
O host, Domain-0 possui 2 discos de 500GB, sendo que apenas um é utilizado pelas VMs e estava com o espaço "restrito". Como precisei criar uma nova VM para separar alguns projetos em PHP, precisei reorganizar os volumes LVM, basicamente dimiuíndo o espaço das partições.
Trabalhar com LVM é realmente uma maravilha!
Meu trabalho foi bem fácil.
Fui ajustando cada volume, antes, porém, desligando as máquinas, uma por vez. O que fiz em cada uma foi mais ou menos isto:
Verifiquei os volumes LVM:
host1:~# lvdisplay
--- Logical volume ---
LV Name /dev/vm/app1disk
VG Name vm
LV UUID 0NXKhi-rnHB-U3JR-tOh9-0BHu-8Knd-dHTuSM
LV Write Access read/write
LV Status available
# open 1
LV Size 20.00 GB
Current LE 1536
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 254:0
...
Meu objetivo era reduzir o volume do exemplo acima para 6GB. Tendo desligado a VM, fiz uma verificação forçada no sistema de arquivos:
$ e2fsck -f /dev/vm/app1disk
Nada de anormal foi detectado pela verificação, assim prossegui com a redução do sistema de arquivos:
$ resize2fs /dev/vm/app1disk 6GB
O processo demorou alguns minutos, mas foi concluído normalmente. Então, prossegui com a redução do volume lógico. O comando lvresize exige que a operação seja confirmada. Apesar da mensagem de alerta informando que podem ocorrer perda de dados, prossegui sem medo, confirmando a operação com Y:
$ lvresize -L 6GB /dev/vm/app1disk
WARNING: Reducing active logical volume to 6 GB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce app1disk? [y/n]: y
Reducing logical volume app1disk to 6 GB
Logical volume app1disk successfully resized
Esta parte é rápida. Depois executei novamente o lvdisplay e estava tudo certo:
host1:~# lvdisplay
--- Logical volume ---
LV Name /dev/vm/app1disk
VG Name vm
LV UUID 0NXKhi-rnHB-U3JR-tOh9-0BHu-8Knd-dHTuSM
LV Write Access read/write
LV Status available
# open 1
LV Size 6.00 GB
Current LE 1536
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 254:0
...
Quando redimensionei todos os volumes previamente selecionados, pude então criar a nova máquina virtual. Ao final, precisei criar um novo volume para receber a partição /home:
$ lvcreate -L 50G -n app4storage vm
Rodando novamente o lvdisplay:
$ lvdisplay
--- Logical volume ---
LV Name /dev/vm/app4storage
VG Name vm
LV UUID Xe8VHd-l7p6-7zYe-hefD-fYeG-Uqak-5X6oRX
LV Write Access read/write
LV Status available
# open 0
LV Size 50.00 GB
Current LE 12800
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 254:20
...
Depois disso, o volume é tratado como uma partição comum, que pode ser formatada com o sistema de arquivos que melhor atender a necessidade, e ser montado normalmente.
O host, Domain-0 possui 2 discos de 500GB, sendo que apenas um é utilizado pelas VMs e estava com o espaço "restrito". Como precisei criar uma nova VM para separar alguns projetos em PHP, precisei reorganizar os volumes LVM, basicamente dimiuíndo o espaço das partições.
Trabalhar com LVM é realmente uma maravilha!
Meu trabalho foi bem fácil.
Fui ajustando cada volume, antes, porém, desligando as máquinas, uma por vez. O que fiz em cada uma foi mais ou menos isto:
Verifiquei os volumes LVM:
host1:~# lvdisplay
--- Logical volume ---
LV Name /dev/vm/app1disk
VG Name vm
LV UUID 0NXKhi-rnHB-U3JR-tOh9-0BHu-8Knd-dHTuSM
LV Write Access read/write
LV Status available
# open 1
LV Size 20.00 GB
Current LE 1536
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 254:0
...
Meu objetivo era reduzir o volume do exemplo acima para 6GB. Tendo desligado a VM, fiz uma verificação forçada no sistema de arquivos:
$ e2fsck -f /dev/vm/app1disk
Nada de anormal foi detectado pela verificação, assim prossegui com a redução do sistema de arquivos:
$ resize2fs /dev/vm/app1disk 6GB
O processo demorou alguns minutos, mas foi concluído normalmente. Então, prossegui com a redução do volume lógico. O comando lvresize exige que a operação seja confirmada. Apesar da mensagem de alerta informando que podem ocorrer perda de dados, prossegui sem medo, confirmando a operação com Y:
$ lvresize -L 6GB /dev/vm/app1disk
WARNING: Reducing active logical volume to 6 GB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce app1disk? [y/n]: y
Reducing logical volume app1disk to 6 GB
Logical volume app1disk successfully resized
Esta parte é rápida. Depois executei novamente o lvdisplay e estava tudo certo:
host1:~# lvdisplay
--- Logical volume ---
LV Name /dev/vm/app1disk
VG Name vm
LV UUID 0NXKhi-rnHB-U3JR-tOh9-0BHu-8Knd-dHTuSM
LV Write Access read/write
LV Status available
# open 1
LV Size 6.00 GB
Current LE 1536
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 254:0
...
Quando redimensionei todos os volumes previamente selecionados, pude então criar a nova máquina virtual. Ao final, precisei criar um novo volume para receber a partição /home:
$ lvcreate -L 50G -n app4storage vm
Rodando novamente o lvdisplay:
$ lvdisplay
--- Logical volume ---
LV Name /dev/vm/app4storage
VG Name vm
LV UUID Xe8VHd-l7p6-7zYe-hefD-fYeG-Uqak-5X6oRX
LV Write Access read/write
LV Status available
# open 0
LV Size 50.00 GB
Current LE 12800
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 254:20
...
Depois disso, o volume é tratado como uma partição comum, que pode ser formatada com o sistema de arquivos que melhor atender a necessidade, e ser montado normalmente.
Comentários
Postar um comentário