Isso será muito mais fácil se você puder criar um script do Kickstart ou fazer isso durante a fase de instalação. Eu assumirei aqui que você tem um grande volume lógico montado na raiz.
Primeiro, você precisará inicializar no Modo de Recuperação (sem montar o sistema de arquivos local) e encolher seu volume lógico raiz. Você não pode criar novos se todo o espaço disponível no volume físico for consumido.
- Inicializar no modo de resgate
-
lvm vgchange -a y -
e2fsck -f /dev/vg0/root(Ou qualquer que seja o seu volume lógico raiz é nomeado aqui.) -
resize2fs /dev/vg0/root <targeted size -10MB or so>Seu tamanho de destino não pode ser menor que a quantidade de dados ou você truncará seu sistema de arquivos! -
lvm lvreduce -L <targeted size> -
resize2fs /dev/vg0/root
Eu reduzo o sistema de arquivos para um tamanho um pouco abaixo do alvo e, em seguida, aumentei o volume de volta para a capacidade de volumes lógicos para salvar a porcaria de tamanho de bloco / arredondamento / matemática. Se eu fosse bom em matemática, teria terminado meu grau C.S. e não me tornado um Sysadmin.
Em seguida, você precisa mover os diretórios atuais para os pontos de montagem de destino para tirá-los do caminho. (Mova /var para /var2 , /home para /home2 , etc.)
Em seguida, você pode criar novos volumes lógicos, novos pontos de montagem e /etc/fstab entradas, montar todos os itens e, em seguida, sincronizar seus dados de /var2 para o novo /var volume lógico. (Repita conforme necessário).
Esta parte assume que o sistema de arquivos raiz (que contém / tmp) foi montado. Você pode fazer isso manualmente com mount ou reinicializar e deixar o Modo de Recuperação fazer isso desta vez.
Basicamente:
-
lvcreate -ntmp -L<size> /dev/vg0(Substitua vg0 pelo seu grupo de volume como você fez acima). -
mkfs.ext3 -L tmp /dev/vg0/tmp -
mv /tmp /tmp2 -
mkdir /tmp - Adicione uma entrada a
/etc/fstabpara seu novo ponto de montagem. -
mount -a - Mova os dados do / tmp2 de volta para o novo / tmp. Excluir / tmp2.