Descontrução de um filesystem criado com o LVM
Dica publicada em Linux / Introdução
Descontrução de um filesystem criado com o LVM
Primeiramente vamos identificar qual filesystem devemos remover. Particularmente utilizo o comando "df /ponto.de.montagem" para verificar o tamanho do volume e confirmar se realmente se trata de filesystem.
# df -h -T
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
ext3 37G 9.5G 26G 28% /
/dev/sda1 ext3 99M 17M 78M 18% /boot
tmpfs tmpfs 438M 0 438M 0% /dev/shm
/dev/mapper/FS01_vg-FS01_lvol
ext3 14G 146M 13G 2% /Ortagus
/dev/mapper/FS01_vg-FS01a_lvol
ext3 6.9G 144M 6.4G 3% /var/app
Depois disso utilizaremos dois comandos, o vgs e o lvs. Conseguiremos algumas informações interessantes.
Com vgs podemos visualizar quantos vgs existem e quando podemos crescer em cada volume:
# vgs
VG #PV #LV #SN Attr VSize VFree
FS01_vg 3 2 0 wz--n- 21.07G 72.00M
VolGroup00 1 2 0 wz--n- 37.91G 1.97G
Com lvs conseguimos ver quantos Lvols existem na máquina e qual é sua volumetria.
Temos um VG com o nome FS01_vg com dois Lvol's de FS01_lvol e FS01a_lvol e FS01_lvol.
# lvs
LV VG Attr LSize Origin Snap% Move Log Copy% Convert
FS01_lvol FS01_vg -wi-ao 14.00G
FS01a_lvol FS01_vg -wi-ao 7.00G
LogVol00 VolGroup00 -wi-ao 37.91G
Para ficar mais fácil de entender, temos a seguinte estrutura:
Por existir dois LVOLs dentro do mesmo VG será necessário identificar qual disco será removido, para isso usamos o comando "vgdisplay -v", este comando listará todos os VGS e os discos atrelados à ele.
# vgdisplay -v
O PV que iremos remover é o /dev/sdc1.
# umount /var/app/
E depois removeremos o FS01a_lvol utilizando o comando lvremove:
# lvremove /dev/FS01_vg/FS01a_lvol
Do you really want to remove active logical volume FS01a_lvol? [y/n]: y
Logical volume "FS01a_lvol" successfully removed
Pronto, o Lvol foi removido. Agora iremos remover o outro LVOL FS01_lvol.
Vamos repetir o mesmo processo desmontando o /Ortagus e depois utilizaremos lvremove:
# umount /Ortagus/
# lvremove /dev/FS01_vg/FS01_lvol
Do you really want to remove active logical volume FS01_lvol? [y/n]: y
Logical volume "FS01_lvol" successfully removed
E agora iremos remover o vg:
# vgremove FS01_vg
Volume group "FS01_vg" successfully removed
Também removeremos os discos do pv que incluímos ao criar o filesystem:
# pvremove /dev/sde1 /dev/sdb1 /dev/sdc1
Labels on physical volume "/dev/sde1" successfully wiped
Labels on physical volume "/dev/sdb1" successfully wiped
Labels on physical volume "/dev/sdc1" successfully wiped
# df -h -T
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
ext3 37G 9.5G 26G 28% /
/dev/sda1 ext3 99M 17M 78M 18% /boot
tmpfs tmpfs 438M 0 438M 0% /dev/shm
/dev/mapper/FS01_vg-FS01_lvol
ext3 14G 146M 13G 2% /Ortagus
/dev/mapper/FS01_vg-FS01a_lvol
ext3 6.9G 144M 6.4G 3% /var/app
Depois disso utilizaremos dois comandos, o vgs e o lvs. Conseguiremos algumas informações interessantes.
Com vgs podemos visualizar quantos vgs existem e quando podemos crescer em cada volume:
# vgs
VG #PV #LV #SN Attr VSize VFree
FS01_vg 3 2 0 wz--n- 21.07G 72.00M
VolGroup00 1 2 0 wz--n- 37.91G 1.97G
Com lvs conseguimos ver quantos Lvols existem na máquina e qual é sua volumetria.
Temos um VG com o nome FS01_vg com dois Lvol's de FS01_lvol e FS01a_lvol e FS01_lvol.
# lvs
LV VG Attr LSize Origin Snap% Move Log Copy% Convert
FS01_lvol FS01_vg -wi-ao 14.00G
FS01a_lvol FS01_vg -wi-ao 7.00G
LogVol00 VolGroup00 -wi-ao 37.91G
Para ficar mais fácil de entender, temos a seguinte estrutura:
FS01_vg
FS01a_lvol
FS01_lvol
VolGroup00
LogVol00
Iremos remover o /dev/FS01_vg/FS01a_lvol que está montado no /var/app.
Por existir dois LVOLs dentro do mesmo VG será necessário identificar qual disco será removido, para isso usamos o comando "vgdisplay -v", este comando listará todos os VGS e os discos atrelados à ele.
# vgdisplay -v
Finding all volume groups
Finding volume group "FS01_vg"
--- Volume group ---
VG Name FS01_vg
System ID
Format lvm2
Metadata Areas 3
Metadata Sequence No 6
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 3
Act PV 3
VG Size 21.07 GB
PE Size 4.00 MB
Total PE 5394
Alloc PE / Size 5376 / 21.00 GB
Free PE / Size 18 / 72.00 MB
VG UUID THdOPV-0qTy-EfhX-cWcF-fUfK-tfLI-VxeiBY
--- Logical volume ---
LV Name /dev/FS01_vg/FS01_lvol
VG Name FS01_vg
LV UUID 5dFE3q-s3fd-T1bL-P7Un-siFl-lPqA-Kf8sRa
LV Write Access read/write
LV Status available
# open 1
LV Size 14.00 GB
Current LE 3584
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:2
--- Logical volume ---
LV Name /dev/FS01_vg/FS01a_lvol
VG Name FS01_vg
LV UUID 0ISnIL-z6ud-tRHx-zxH0-L8pV-yXZd-HbbQlq
LV Write Access read/write
LV Status available
# open 1
LV Size 7.00 GB
Current LE 1792
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:3
--- Physical volumes ---
PV Name /dev/sdb1
PV UUID POrimk-sg85-VzXG-uZ23-GL7h-aKi6-ZcWJZr
PV Status allocatable
Total PE / Free PE 1798 / 0
PV Name /dev/sde1
PV UUID DXGaO2-6UFC-OKNQ-wNnz-Wxsg-gIzd-IOY3Zq
PV Status allocatable
Total PE / Free PE 1798 / 12
PV Name /dev/sdc1
PV UUID NCqerR-wh3P-G31J-ff7Z-RCne-QIpb-1m4aJG
PV Status allocatable
Total PE / Free PE 1798 / 6
Finding volume group "VolGroup00"
--- Volume group ---
VG Name VolGroup00
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size 39.88 GB
PE Size 32.00 MB
Total PE 1276
Alloc PE / Size 1276 / 39.88 GB
Free PE / Size 0 / 0
VG UUID Ed9L51-VWDr-FlxB-r7H5-3k5l-PZLH-4GNa6P
--- Logical volume ---
LV Name /dev/VolGroup00/LogVol00
VG Name VolGroup00
LV UUID INASD6-j1yB-s9YW-10NW-QB9j-0zXG-G8tMI4
LV Write Access read/writes
LV Status available
# open 1
LV Size 37.91 GB
Current LE 1213
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
--- Physical volumes ---
PV Name /dev/sda2
PV UUID L4A38a-MFHd-QvBn-LvC0-r2kY-Z35D-3m29ug
PV Status allocatable
Total PE / Free PE 1276 / 0
Cuidado! Como dentro do mesmo VG temos dois LVOLS, devemos remover o disco certo. Caso o disco retirado seja errado poderemos perder dados. Em um mundo perfeito recomenda-se criar um VG para cada LVOL.
O PV que iremos remover é o /dev/sdc1.
Removendo o LV
Inicialmente devemos desmontar o /var/appl:# umount /var/app/
E depois removeremos o FS01a_lvol utilizando o comando lvremove:
# lvremove /dev/FS01_vg/FS01a_lvol
Do you really want to remove active logical volume FS01a_lvol? [y/n]: y
Logical volume "FS01a_lvol" successfully removed
Pronto, o Lvol foi removido. Agora iremos remover o outro LVOL FS01_lvol.
Vamos repetir o mesmo processo desmontando o /Ortagus e depois utilizaremos lvremove:
# umount /Ortagus/
# lvremove /dev/FS01_vg/FS01_lvol
Do you really want to remove active logical volume FS01_lvol? [y/n]: y
Logical volume "FS01_lvol" successfully removed
E agora iremos remover o vg:
# vgremove FS01_vg
Volume group "FS01_vg" successfully removed
Também removeremos os discos do pv que incluímos ao criar o filesystem:
# pvremove /dev/sde1 /dev/sdb1 /dev/sdc1
Labels on physical volume "/dev/sde1" successfully wiped
Labels on physical volume "/dev/sdb1" successfully wiped
Labels on physical volume "/dev/sdc1" successfully wiped