Convertir el volumen de Amazon EC2 ext4 EBS en un sistema de archivos XFS

8

Necesito convertir mi sistema de archivos ext4 Amazon EC2 en uno XFS para poder tomar instantáneas consistentes y enviarlas a S3. Estoy usando una pequeña imagen personalizada del servidor Ubuntu 10.10 con la arquitectura i686 en us-east. El problema es que solo estoy usando una unidad EBS para todos los archivos y ahora me está dando dolores de cabeza, porque realmente no puedo desmontar, formatear o realmente hacer nada en la unidad cuando estoy conectado a la instancia desde ssh. Supongo que necesito dividir de alguna manera el volumen de EBS en 2 y mover / var / www y / var / lib al segundo volumen de EBS y convertirlo a XFS. Estoy usando apache2, mysql, ispconfig, bind, postfix, courier, pureftp ( http://www.howtoforge.com/perfect-server-ubuntu-10.10-maverick-meerkat-ispconfig-3 )

Gracias.

jaz
fuente

Respuestas:

9

Puede convertir su volumen raíz a XFS o crear un segundo volumen. Personalmente, preferiría lo último ya que ofrece más flexibilidad.

Opción 1: convertir el volumen raíz a XFS

  1. Detenga su instancia (no finalice) (llamémosla instancia A)
  2. Iniciar una nueva instancia (llamémosla instancia B)
  3. Separe el volumen raíz de la instancia A y adjúntelo a la instancia B
  4. Cree un segundo volumen EBS, adjúntelo a la instancia B
  5. Formatee el nuevo volumen EBS como XFS (instale xfsprogssi aún no lo ha hecho)
  6. Copie todos los datos del primer volumen al nuevo (por ejemplo, usando rsync -aHAXxSP /source /target)
  7. Separe el nuevo volumen de la instancia B y adjúntelo como el volumen raíz de la instancia A
  8. Iniciar instancia A
  9. Termine la instancia B (el volumen raíz original debe persistir, manténgalo hasta que las cosas funcionen a su gusto).

La razón para adjuntar el volumen raíz a otra instancia es lograr consistencia, lo que sería difícil con el volumen en uso.

Opción 2: mover datos a un segundo volumen EBS

  1. Cree un segundo volumen de EBS y adjúntelo a su instancia; formatearlo como XFS y montarlo
  2. Identifique qué directorios desea mover al nuevo volumen (algunos a considerar incluyen: / var / log, / var / lib / mysql, / var / www, / var / spool / mail, / var / vmail)
  3. Detenga tantos servicios como sea posible para eliminar bloqueos de escritura
  4. Use lsof | grep /path/to/dirpara verificar los bloqueos de escritura restantes
  5. Mueva el directorio al nuevo volumen de EBS
  6. Mount une el nuevo directorio a su ubicación anterior (es decir mount -o bind /mnt/path/to/dir /orig/path/to/dir)
  7. Repita para cada directorio
  8. Comience sus servicios para asegurarse de que todo funcione
  9. Edite su /etc/fstabarchivo para que los puntos de montaje sean permanentes; p.ej:/mnt/path/to/dir /orig/path/to/dir bind defaults,noatime,bind 0 0

Reinicie para asegurarse de que todo persista y funcione como debería. También es posible que desee considerar reducir un poco el volumen de la raíz ya que, con suerte, no debería crecer (o cambiar) mucho con todos los datos eliminados.

(Como punto de mención, puede ser posible congelar un sistema de archivos ext4 usando fsfreeze, que está incluido en util-linux-ng).

cyberx86
fuente
Gracias, iré con la primera opción porque no estoy seguro de poder restaurar desde la copia de seguridad con el segundo método, en caso de que las cosas salgan mal.
jaz
Puede restaurar cada volumen de EBS de forma independiente: puede guardar instantáneas de ambos volúmenes por separado, restaurando el que necesite. Las instantáneas EBS de Amazon son diferenciales y comprimidas, por lo que el espacio total utilizado no debería ser muy diferente con los datos en dos volúmenes en lugar de uno.
cyberx86 12/12/11
1
Para la Opción 1: las versiones recientes de ubuntu no se iniciarán porque la etiqueta "cloudimg-rootfs" es demasiado larga para XFS. Debe arreglar esto acortando la etiqueta que usa; siga estos pasos desde el siguiente enlace: Etiquete el dispositivo / dev / xvdf como '/'. Simplemente ejecute: xfs_admin -L \ / / dev / xvdf Mount / dev / xvdf en el directorio / xfs. Edite el archivo fstab asociado al nuevo volumen XFS (/ xfs / etc / fstab) y asegúrese de que / esté asociado al volumen etiquetado / y el sistema de archivos xfs esté configurado para el punto de montaje raíz Desde aquí: jsianes.blogspot.com/2014/06/…
JaredBroad