Configuração de Volumes lógicos [RESOLVIDO]

1. Configuração de Volumes lógicos [RESOLVIDO]

guilherme
guilhermeof

(usa Outra)

Enviado em 16/09/2015 - 17:16h

Olá pessoal,
Estou com um problema de espaço em disco. Possuo as seguinte configurações no servidor Oracle Linux 6.4:

Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root 50G 37G 11G 78% /
tmpfs 7,6G 3,3G 4,4G 43% /dev/shm
/dev/xvda1 477M 129M 319M 29% /boot
/dev/mapper/VolGroup-lv_home 42G 49M 39G 1% /home

Gostaria de retirar 20GB da partição /home (/dev/mapper/VolGroup-lv_home) e colocar estes 20GB pra partição / (/dev/mapper/VolGroup-lv_root ). É possível? Como devo proceder?
Tenho muitos arquivos na partição /, não gostaria de perdê-los.
Fico no aguardo.
Obrigado!

Abs.


  


2. MELHOR RESPOSTA

Perfil removido
removido

(usa Nenhuma)

Enviado em 24/09/2015 - 20:05h

Ola.

Antes de tentar o que vou descrever, lhe peço que tenha um backup do banco de dados em outro local. Se não puder fazer isso neste momento, faça ao menos um backup da maquina virtual completa(Se viável, eu faria mesmo tendo backup adicional do banco). Lembre-se, se algo der errado (neste caso e em outros), precisa ter como recuperar os dados e restaurar o ambiente no menor tempo possível. Disso depende que um possível tempo de parada seja baixo e que não perdera dados desse(s) banco(s), que suponho sejam importantes para sua empresa/instituição e nem colocara seu emprego em risco.

É um procedimento relativamente simples, mas precisara de bastante atenção. Então, faça em horário onde uma possível parada no ambiente não gere impacto (Ou seja menos inconveniente).
Se não estiver seguro para realizar o procedimento ou ainda quiser validar antes, teste em uma VM com configuração o mais próximo possível do seu ambiente de produção e tendo alguma duvida, pergunte, que responderei assim que possível.

-----------

Pensando em apenas expandir o / e como esta usando o storage para o disco da maquina virtual, não consideraremos a posição das partições e iremos neste caso criar uma nova partição na área livre no final do disco virtual, nesta criaremos um PV e a adicionaremos ao VG VolGroup e ao LV sobre o qual sua partição / esta, o lv_root (Seria muito semelhante se resolvesse adicionar um novo disco virtual ao volume).

*Executara os comandos abaixo logado com o root, se possível na "console" do seu virtualizador ou usando um software que mantenha sua sessão no servidor aberta mesmo em queda conexão, como o screen, caso precise/prefira conectar por SSH.

Procedimentos:
Crie uma partição em formato LVM no final do disco, aqui em um ambiente de teste com o Oracle Linux 6.7 fiz usando o cfdisk conforme descrevo abaixo, mas pode usar outro particionador caso prefira:


cfdisk /dev/xvda


Use as setas de direção do teclado(Cima - Baixo) para selecionar o espaço livre e com as setas ( <- esquerda - Direita -> ) selecione new > escolha: Primary > Em Size, deixe o valor já exibido, que deve corresponder a sua área livre no disco e tecle <Enter>

Agora, ainda posicionado sobre a nova partição (Possivelmente /dev/xvda3), clique em type e digite no Lugar de 83, 8E e tecle <Enter>

Confirme se ficou como abaixo e selecione "Write"<Enter> (responda yes ou sim <Enter>) depois saia selecionando "Quit" <Enter>

-> Visualizara no cfdisk algo como meu exemplo abaixo, porem com diferença no nome, onde no meu caso o disco é o /dev/sda No seu ambiente será /dev/xvda (Esta virtualizando com o Xen, correto?).

Antes de criar a nova partição tera algo parecido com:
http://i.imgur.com/GmOaPlw.png

Apos criar a nova partição:
http://i.imgur.com/YlwGS04.png

Ao sair do cfdisk, você devera criar um PV na nova partição /dev/xvda3 com o comando abaixo:


pvcreate /dev/xvda3


Se tudo ocorrer bem, sera exibida a mensagem: "Physical volume "/dev/xvda3" successfully created"

-----
-> Algo que pode ocorrer é o ambiente não reconhecer imediatamente a nova partição, aqui usando o kernel UEK foi preciso reiniciar a maquina virtual. Caso sua nova partição não seja reconhecida pelo sistema imediatamente, reinicie a maquina e repita o comando pvcreate /dev/xvda3 apos o boot.

* Neste caso, se não quiser reiniciar, pode tentar executar o comando partprobe e tentar criar o pv. Não funcionando, também sera necessário o reboot no seu caso.
-----


Apos este passo, rode novamente um pvscan e execute:



vgextend VolGroup /dev/xvda3


Devera ser exibida a mensagem: "successfuly extended"

Rode agora os comandos vgscan e vgdisplay Esteja atento ao numero exibido em Free PE/Size no vgscan, pois usara este numero no comando para expandir o lv_root

Veja como seria o retorno do comando no meu exemplo (Atenção ao valor retornado no seu ambiente).
http://i.imgur.com/iyi5f7B.png

Anotado o numero de PE's livre, usara este valor para expandir o volume logico lv_root com o comando abaixo:

lvextend -l +[Numero de PE's livres] /dev/VolGroup/lv_root

Exemplo do comando, no meu ambiente de teste:
lvextend  -l  +10238  /dev/vg_vol6x01/lv_root  


Confirme o novo tamanho executando:


lvscan ; lvdisplay


Agora, expanda o sistema de arquivos da sua partição / com o comando abaixo:


resize2fs /dev/mapper/VolGroup-lv_root



Para confirmar se esta ok, execute:


df -h /
lsblk


Pronto!



------
*Para saber mais sobre o LVM e sua configuração no Red Hat e clones, como o Oracle Linux e CentOS, sugiro que leia a documentação abaixo:
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Logical_Volume_Manager...
Uma explicação mais simples encontra em (atenção para os conceitos, alguns comandos podem ser diferentes hoje):
http://www.vivaolinux.com.br/artigo/Entendendo-e-configurando-o-LVM-manualmente?pagina=1

------------------------------------------------------
KISS principle, RTFM and STFW = 42

3. Re: Configuração de Volumes lógicos [RESOLVIDO]

guilherme
guilhermeof

(usa Outra)

Enviado em 17/09/2015 - 14:27h


Alguém pode ajudar??


4. Re: Configuração de Volumes lógicos

Perfil removido
removido

(usa Nenhuma)

Enviado em 17/09/2015 - 16:23h

Possível é, mas vai depender do sistema de arquivos que esta usando.

Talvez seja mais simples mover alguma aplicação para a porção do disco onde esta montando hoje o /home (Apenas 1% em uso), neste caso não precisaria parar o servidor (Apenas os serviços envolvidos).

1 - O que esta rodando neste servidor e para que deseja/precisa aumentar o /?

2 - Qual sistema de arquivos esta usando nas partições e como esta configurado o LVM?

Execute:

pvscan; vgscan; lvscan


E poste o resultado dos comandos abaixo:


cat /etc/fstab

lsblk -ft


pvdisplay

vgdisplay

lvdisplay


*Se for alterar algo, tenha um backup de tudo e analise também se não existe nada ocupando espaço desnecessariamente no seu /

Edit:
Fiz um teste rápido em uma VM aqui e pude expandir o lv_root (/) e o sistema de arquivos com o sistema de pé, precisando desmontar apenas o /home para diminuir lv_home e seu sistema de arquivos. Porem no meu cenário de teste, possuo ambos os lvs e partições sobre o mesmo vg e o / esta em ext4, onde posso expandir o sistema de arquivos "a quente".



------------------------------------------------------
KISS principle, RTFM and STFW = 42


5. Re: Configuração de Volumes lógicos [RESOLVIDO]

guilherme
guilhermeof

(usa Outra)

Enviado em 18/09/2015 - 11:04h

erisrjr,
Possuo Oracle 11g nesta máquina virtualizada e o backup esta em um diretório na raiz (/).
Acabei adicionando mais 40 GB, porém ficou deste jeito..
Segue os resultados:

#pvscan:
PV /dev/xvda2 VG VolGroup lvm2 [99,51 GiB / 0 free]
Total: 1 [99,51 GiB] / in use: 1 [99,51 GiB] / in no VG: 0 [0 ]

#vgscan:
Reading all physical volumes. This may take a while...
Found volume group "VolGroup" using metadata type lvm2

#lvscan:
ACTIVE '/dev/VolGroup/lv_root' [50,00 GiB] inherit
ACTIVE '/dev/VolGroup/lv_home' [41,86 GiB] inherit
ACTIVE '/dev/VolGroup/lv_swap' [7,65 GiB] inherit

#cat /etc/fstab:
/dev/mapper/VolGroup-lv_root / ext4 defaults 1 1
UUID=d2361604-485b-4760-ab18-9a182d9fddf5 /boot ext4 defaults 1 2
/dev/mapper/VolGroup-lv_home /home ext4 defaults 1 2
/dev/mapper/VolGroup-lv_swap swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0

#lsblk -ft:
NAME FSTYPE LABEL UUID MOUNTPOINT NAME ALIGNMENT MIN-IO OPT-IO PHY-SEC LOG-SEC ROTA SCHED RQ-SIZE RA
xvda xvda 0 512 0 512 512 0 deadline 128 128
&#9500;&#9472;xvda1 ext4 d2361604-485b-4760-ab18-9a182d9fddf5 /boot &#9500;&#9472;xvda1 0 512 0 512 512 0 deadline 128 128
&#9492;&#9472;xvda2 LVM2_member kEm5uZ-2QVz-O7WQ-Fw4T-O2KS-VNn2-8zQogP &#9492;&#9472;xvda2 0 512 0 512 512 0 deadline 128 128
&#9500;&#9472;VolGroup-lv_root (dm-0) ext4 16efbed8-f607-478d-911d-ade279ed506f / &#9500;&#9472;VolGroup-lv_root (dm-0) 0 512 0 512 512 0 128 128
&#9500;&#9472;VolGroup-lv_swap (dm-1) swap d6917cd6-d91b-45f8-8124-f3cfd9e29872 [SWAP] &#9500;&#9472;VolGroup-lv_swap (dm-1) 0 512 0 512 512 0 128 128
&#9492;&#9472;VolGroup-lv_home (dm-2) ext4 93cf61c5-88f8-4fb8-93f6-0fee7c677b81 /home &#9492;&#9472;VolGroup-lv_home (dm-2) 0 512 0 512 512 0 128 128



6. Re: Configuração de Volumes lógicos [RESOLVIDO]

guilherme
guilhermeof

(usa Outra)

Enviado em 18/09/2015 - 11:06h

*** Continuando ..

#pvdisplay
--- Physical volume ---
PV Name /dev/xvda2
VG Name VolGroup
PV Size 99,51 GiB / not usable 3,00 MiB
Allocatable yes (but full)
PE Size 4,00 MiB
Total PE 25474
Free PE 0
Allocated PE 25474
PV UUID kEm5uZ-2QVz-O7WQ-Fw4T-O2KS-VNn2-8zQogP

#vgdisplay
--- Volume group ---
VG Name VolGroup
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 3
Open LV 3
Max PV 0
Cur PV 1
Act PV 1
VG Size 99,51 GiB
PE Size 4,00 MiB
Total PE 25474
Alloc PE / Size 25474 / 99,51 GiB
Free PE / Size 0 / 0
VG UUID fxnnVb-7Og9-nJbD-ceMc-Igkf-siPc-ehbI5u

#lvdisplay
--- Logical volume ---
LV Path /dev/VolGroup/lv_root
LV Name lv_root
VG Name VolGroup
LV UUID siLyo6-Y3sT-T3VN-XJzm-AcVp-9P3J-hbbWST
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2015-09-09 14:43:47 -0300
LV Status available
# open 1
LV Size 50,00 GiB
Current LE 12800
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:0

--- Logical volume ---
LV Path /dev/VolGroup/lv_home
LV Name lv_home
VG Name VolGroup
LV UUID 2KEfxs-2WHC-e3dl-1gkF-UZf6-syHo-puc0Yc
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2015-09-09 14:43:48 -0300
LV Status available
# open 1
LV Size 41,86 GiB
Current LE 10716
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:2

--- Logical volume ---
LV Path /dev/VolGroup/lv_swap
LV Name lv_swap
VG Name VolGroup
LV UUID CGsq59-pDrR-gY0e-rZfK-Ob9u-1IHi-C4EpBW
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2015-09-09 14:43:49 -0300
LV Status available
# open 2
LV Size 7,65 GiB
Current LE 1958
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:1







7. Re: Configuração de Volumes lógicos [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 18/09/2015 - 16:10h

Ola.

É interessante que tenha um backup externo, pois com ele no /, se tiver algum problema nesta porção do disco ele ira junto, embora possa fazer um snapshot da VM, é interessante ter o backup em outro local, storage diferente etc.

Voltando ao tópico, como expandiu o disco da VM, envie também o resultado do comando:

fdisk -l 


Neste caso, pretende adicionar os 40GiB novos ao / e manter o /home como esta, correto?

------------------------------------------------------
KISS principle, RTFM and STFW = 42


8. Re: Configuração de Volumes lógicos [RESOLVIDO]

guilherme
guilhermeof

(usa Outra)

Enviado em 21/09/2015 - 08:58h

erisrjr,

#fdisk -l

Disk /dev/xvda: 150.3 GB, 150323855360 bytes
255 heads, 63 sectors/track, 18275 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0005ac44

Dispositivo Boot Start End Blocks Id System
/dev/xvda1 * 1 64 512000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/xvda2 64 13055 104344576 8e Linux LVM

Disk /dev/mapper/VolGroup-lv_root: 53.7 GB, 53687091200 bytes
255 heads, 63 sectors/track, 6527 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000


Disk /dev/mapper/VolGroup-lv_swap: 8212 MB, 8212447232 bytes
255 heads, 63 sectors/track, 998 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000


Disk /dev/mapper/VolGroup-lv_home: 44.9 GB, 44946161664 bytes
255 heads, 63 sectors/track, 5464 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Neste caso, pretende adicionar os 40GiB novos ao / e manter o /home como esta, correto?
Sim, consigo realizar? Se não der pra adicionar ao /, eu poderia adicionar a um outro diretório, onde esta indo o backup, que é o /u01/app/oracle/backups. Como devo proceder?
Caso não seja possível, eu consigo então diminuir o /home e aumentar o / também?

Obrigado pelo ajuda!!
Abs




9. Re: Configuração de Volumes lógicos [RESOLVIDO]

guilherme
guilhermeof

(usa Outra)

Enviado em 25/09/2015 - 10:36h

Ótima explicação!!!
Funcionou certinho!

Muito Obrigado!

Abs.

Att.,






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts