Mover /var
sem mudar para o modo de usuário único
Quando assumi um novo servidor virtual que havia sido provisionado para mim pela empresa de hospedagem do meu empregador, criei volumes lógicos extras para var
e home
que eram diretórios regulares na partição raiz. Como o provedor do servidor virtual não forneceu uma interface semelhante ao KVM pela qual eu poderia acessar o servidor no modo de usuário único, as respostas acima não eram aplicáveis à minha configuração. Espero que esta resposta seja útil para outras pessoas em uma situação semelhante (mantive os detalhes do LVM, mas eles podem ser ignorados, pois não é particularmente relevante se o novo sistema de arquivos é criado em um volume lógico ou em uma partição de disco).
Crie e use um novo /var
sistema de arquivos com LVM
Crie o sistema de arquivos para o novo var
volume, monte-o (usando um diretório temporário) e copie os arquivos do atual /var
para o novo sistema de arquivos. Ao copiar arquivos com rsync
, use sua -a, --archive
opção para preservar carimbos de data e hora, propriedade, modos etc. e sua -X, --xattrs
opção para preservar os atributos estendidos, como os rótulos de segurança usados pelo AppArmor e SELinux.
sudo lvcreate -L 60GB -n var VolGroup00
sudo mkfs.ext4 /dev/VolGroup00/var
sudo mkdir /var.new
sudo mount /dev/VolGroup00/var /var.new
sudo rsync -raX /var/ /var.new/
Atualize a tabela do sistema de arquivos
Configure o novo sistema de arquivos a ser usado como um novo ponto de montagem /var
, adicionando a seguinte linha a /etc/fstab
. Observe que 0
é usado como o número da senha (último campo) para que o sistema de arquivos não seja verificado automaticamente ( fsck
) após um certo número de reinicializações (não tenho acesso para efetuar login no servidor no modo de usuário único).
/dev/mapper/VolGroup00-var /var ext4 defaults 0 0
Como não consigo mudar para o modo de usuário único, reinicie o computador para usar este novo volume como /var
.
Recuperar espaço em disco do sistema de arquivos raiz
Após a reinicialização da máquina, execute as seguintes etapas para limpar o diretório temporário e remover os /var
arquivos antigos do sistema de arquivos raiz:
Remova o ponto de montagem temporário:
sudo rmdir /var.new
Crie um novo ponto de montagem para criar um caminho alternativo para os arquivos no /var
diretório antigo no sistema de arquivos raiz (atualmente é "mascarado" pelo novo /var
sistema de arquivos montado no diretório):
sudo mkdir /old-root
sudo mount /dev/mapper/VolGroup00-root /old-root/
sudo rm -rf /old-root/var/*
sudo umount /old-root/
sudo rmdir /old-root/