Reparticionando volumes lógicos já montados

3

Este é o estado atual do disco em uma máquina física do CentOS:

Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_ecomwise-lv_root
                       50G   47G  267M 100% /
tmpfs                 5.8G     0  5.8G   0% /dev/shm
/dev/sda1             485M   63M  397M  14% /boot
/dev/mapper/vg_ecomwise-lv_home
                      406G  158G  227G  41% /home

Como você pode ver, minha partição raiz está quase cheia e eu preciso de mais espaço, porque arquivos de log adicionais não podem ser gravados no diretório / var. Este problema cresceu depois de importar uma enorme base de dados no diretório / var / lib / mysql.

Eu tenho espaço suficiente no meu volume lógico lv_home, mas não sei como posso obter uma peça do lv_home sem formatar e perder dados de qualquer uma das partições. É possível ou preciso encontrar outra solução?

    
por ibedelovski 24.04.2014 / 11:46

3 respostas

2

Isso deve ser feito, veja as man pages se você quiser mais detalhes sobre os comandos específicos;

umount /home
resize2fs /dev/mapper/vg_ecomwise-lv_home {the size you want}
lvreduce -L-{the size you want} /dev/mapper/vg_ecomwise-lv_home
mount /home

lvextend -L +{the size you want} /dev/mapper/vg_ecomwise-lv_root
resize2fs /dev/mapper/vg_ecomwise-lv_root {the size you want}
    
por 24.04.2014 / 11:59
3

É possível fazer isso usando uma combinação de rezise2fs , lvreduce e lvextend . É muito perigoso e eu não recomendaria fazer isso em um sistema com nenhum dado de seu interesse. Mas se você quiser tentar o procedimento é algo como isto:

#Shrink the filesystem to 200G
resize2fs /dev/mapper/vg_ecomwise-lv_home 200G 
#Use a bit larger to avoid fatal off-by-something errors
lvreduce -L 210G /dev/mapper/vg_ecomwise-lv_home
#Regrow the filesystem to fill the partition
resize2fs /dev/mapper/vg_ecomwise-lv_home 
#Extend the volume by 50G
lvextend -L+50G /dev/mapper/vg_ecomwise-lv_root 
#Grow the filesystem
resize2fs /dev/mapper/vg_ecomwise-lv_root 
    
por 24.04.2014 / 12:00
2

Se você não quer arriscar perder dados devido ao redimensionamento do sistema de partição / arquivo, por que não parar o MySQL, modificar o diretório inicial em my.cnf , mover o banco de dados para /home/mysql/db ou mais e deixar o MySQL armazenar seu dados em / home?

    
por 24.04.2014 / 14:46