Você pode converter seu volume raiz em XFS ou criar um segundo volume. Pessoalmente, eu preferiria o último, pois oferece mais flexibilidade.
Opção 1: Converter volume raiz em XFS
- Pare sua instância (não encerre) (vamos chamá-la de instância A)
- Inicie uma nova instância (vamos chamá-la de instância B)
- Desconecte o volume raiz da instância A e anexe-o à instância B
- Crie um segundo volume EBS, anexe-o à instância B
- Formate o novo volume EBS como XFS (instale
xfsprogs
se ainda não estiver pronto)
- Copie todos os dados do primeiro volume para o novo (por exemplo, usando
rsync -aHAXxSP /source /target
)
- Desconecte o novo volume da instância B e anexe-o como o volume raiz da instância A
- Iniciar instância A
- Encerre a instância B (o volume raiz original deve persistir, mantenha-o por perto até que tudo funcione ao seu gosto).
O motivo para anexar o volume raiz a outra instância é obter consistência, o que seria difícil com o volume em uso.
Opção 2: mover dados para um segundo volume EBS
- Crie um segundo volume EBS e anexe-o à sua instância; formate-o como XFS e monte-o
- Identifique quais diretórios você deseja mover para o novo volume (alguns a considerar incluem: / var / log, / var / lib / mysql, / var / www, / var / spool / mail, / var / vmail)
- Pare o maior número possível de serviços para remover bloqueios de gravação
- Use
lsof | grep /path/to/dir
para verificar se há bloqueios de gravação restantes
- Mova o diretório para o novo volume EBS
- Mount vincula o novo diretório ao seu local antigo (ou seja
mount -o bind
/mnt/path/to/dir /orig/path/to/dir
)
- Repita para cada diretório
- Inicie seus serviços para garantir que tudo esteja funcionando
- Edite seu
/etc/fstab
arquivo para tornar os pontos de montagem permanentes; por exemplo:/mnt/path/to/dir /orig/path/to/dir bind defaults,noatime,bind 0 0
Reinicie para garantir que tudo persista e funcione como deveria. Você também pode considerar diminuir um pouco o volume da raiz, pois, esperançosamente, não deve estar crescendo (ou mudando) muito com todos os dados removidos.
(Como um ponto de menção, pode ser possível congelar um sistema de arquivos ext4 usando fsfreeze
, incluído em util-linux-ng
).