Convertendo o volume do Amazon EC2 ext4 EBS no sistema de arquivos XFS

8

Preciso converter meu sistema de arquivos ext4 do Amazon EC2 em um sistema XFS para que eu possa tirar instantâneos consistentes e enviá-los ao S3. Estou usando uma pequena imagem personalizada do ubuntu server 10.10 com arquitetura i686 no leste dos EUA. O problema é que estou usando apenas uma unidade EBS para todos os arquivos e agora está me dando dores de cabeça, porque não consigo realmente desmontar, formatar ou fazer alguma coisa na unidade quando estiver logado na instância a partir do ssh. Meu palpite é que, de alguma forma, preciso dividir o volume do EBS em 2 e mover / var / www e / var / lib para o segundo volume do EBS e convertê-lo para o XFS. Eu estou usando apache2, mysql, ispconfig, bind, postfix, courier, pureftp ( http://www.howtoforge.com/perfect-server-ubuntu-10.10-maverick-meerkat-ispconfig-3 )

Obrigado.

jaz
fonte

Respostas:

9

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

  1. Pare sua instância (não encerre) (vamos chamá-la de instância A)
  2. Inicie uma nova instância (vamos chamá-la de instância B)
  3. Desconecte o volume raiz da instância A e anexe-o à instância B
  4. Crie um segundo volume EBS, anexe-o à instância B
  5. Formate o novo volume EBS como XFS (instale xfsprogsse ainda não estiver pronto)
  6. Copie todos os dados do primeiro volume para o novo (por exemplo, usando rsync -aHAXxSP /source /target)
  7. Desconecte o novo volume da instância B e anexe-o como o volume raiz da instância A
  8. Iniciar instância A
  9. 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

  1. Crie um segundo volume EBS e anexe-o à sua instância; formate-o como XFS e monte-o
  2. 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)
  3. Pare o maior número possível de serviços para remover bloqueios de gravação
  4. Use lsof | grep /path/to/dirpara verificar se há bloqueios de gravação restantes
  5. Mova o diretório para o novo volume EBS
  6. Mount vincula o novo diretório ao seu local antigo (ou seja mount -o bind /mnt/path/to/dir /orig/path/to/dir)
  7. Repita para cada diretório
  8. Inicie seus serviços para garantir que tudo esteja funcionando
  9. Edite seu /etc/fstabarquivo 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).

cyberx86
fonte
Obrigado, irei com a 1ª opção, porque não tenho certeza de que seria capaz de restaurar a partir do backup com o segundo método, caso algo desse errado.
jaz
Você pode restaurar cada volume do EBS independentemente - você pode manter os instantâneos de ambos os volumes separadamente, restaurando o que for necessário. Os instantâneos EBS da Amazon são diferenciais e compactados, portanto, o espaço total usado não deve ser muito diferente com os dados em dois volumes, em oposição a um.
cyberx86
1
Para a opção 1: Versões recentes do ubuntu falharão ao inicializar porque o rótulo "cloudimg-rootfs" é muito longo para o XFS. Você precisa corrigir isso encurtando o rótulo que ele usa; siga estas etapas no link abaixo: Rotule o dispositivo / dev / xvdf como '/'. Basta executar: xfs_admin -L \ / / dev / xvdf Monte / dev / xvdf no diretório / xfs. Edite o arquivo fstab associado ao novo volume XFS (/ xfs / etc / fstab) e verifique se / está associado ao volume rotulado / e o sistema de arquivos xfs está configurado para o ponto de montagem raiz A partir daqui: jsianes.blogspot.com/2014/06/…
Veja o que você precisa