cjfester
(usa KUbuntu)
Enviado em 27/04/2012 - 11:47h
cara, fiz isso dias atrás ... vamos lá.
parametros de exemplo:
home tem 398 GB
/ tem 50 GB
# vgs
VG #PV #LV #SN Attr VSize VFree
rootvg 1 7 0 wz--n- 448G 0
no exemplo vou transferir 50GB do /home para o / (adapte aos valores reais e que você pretende utilizar).
as instruções a seguir são baseadas num servidor red hat, mas funciona tb em debiam, igualzinho, e como não dá pra reiniciar um servidor, então não usei o recurso de um livecd, tudo na unha.
primeiro, ao reduzir o home, tem algumas manhas e cuidados para REDUZIR, aumentar é tranquilo. Para reduzir o home tem de desmontá-lo (lembrando que fiz isso num servidor rodando) ... alguns truques:
Se estás usando modo gráfico (desktop):
# init 3 (fecha o "X" e os compartilhamentos que ele cria /home/"usuários")
# umount /home (Parte crítica, dependendo dos processos rodando não desmonta)
esta parte é só para servidor, se estás no teu desktop ignore estas etapas
caso não tenha desmontado:
#mount -o remount,ro /home. (monta somente leitura e espera uns 10 segundos para os programas que o estão usando "terminarem")
#umount /home
se ainda não desmontou (processo travado usando o filesystem): ignorancia
# init 1; umount -l /home; umount -f /home; init3; mount -o remount,ro /home; umount /home (comandos redundantes para forçar a desmontagem, e tem de ser assim, separados por ";" porque não posso perder o acesso remoto ao servidor ... poderia ser diferente se estás na frente do servidor físico, não foi o meu caso, mas funciona mesmo assim)
se isso não funcionou ... sorry, somente com livecd ou reiniciar o servidor em modo "init 3" e comentar o /home no fstab
desmontou, vamos reduzir o /home
# e2fsck -f /dev/..."home" (o endereço "físico" do dispositivo lvm)
# resize2fs /dev/..."home" 348G (atenção, era 398, reduzi 50, fica 348 ... aqui vc reduz a tabela de alocação, procure valores "redondos" para facilitar)
# lvresige -L -50G /dev/..."home" (aqui reduz o LVM, atenção para o sinal de "-" na frente do 50G)
# e2fsck -f /dev/..."home" (é necessário essa redundância do "chkdsk")
pronto, diminuir o /home foi feito, agora veja se o espaço reduzido está disponível:
# vgs
VG #PV #LV #SN Attr VSize VFree
rootvg 1 7 0 wz--n- 398G 50G
# lvs
lv_home rootvg -wi-ao 348,00G
lv_raiz rootvg -wi-ao 50,00G
veja que o raiz, ou /, não foi mudado ainda.
temos:
disco total: 448G
utilizado pelo home: 348G
utilizado pelo /: 50G
>>>>>VFree: 50 G
agora é só extender o / com o que foi "liberado" do home (VFree)
# lvextend -L +50G /dev/..."raiz"
# resize2fs /dev/..."raiz" (repare que não foi especificado tamanho, ele refaz a "tabela de alocação" automaticamente no volume - somente para extender)
repara também que para extender, o volume não necessita estar desmontado, ele faz isso "online", e também não precisa roda o e2fsck (chkdsk)
pronto, realocados 50G de /home para /
# vgs
VG #PV #LV #SN Attr VSize VFree
rootvg 1 7 0 wz--n- 448G 0
# lvs
lv_home rootvg -wi-ao 348,00G
lv_raiz rootvg -wi-ao 100,00G
monte o /home
# mount /dev/..."home /home
ou descomente o fstab na linha do home
# mount -a
# init 5 (para iniciar o modo gráfico novamente)
RESUMO:
- desmonta home
- reduz o tamanho do home(e2fsck, resise2fs, lvresize, e2fsck)
- aumenta o / (lvextend, resize2fs)
- monta home
- df -h