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/fstab
para seu novo ponto de montagem. -
mount -a
- Mova os dados do / tmp2 de volta para o novo / tmp. Excluir / tmp2.