Mover carpeta a un disco EBS distinto al disco principal de una instancia EC2 Linux de AWS.
Puede que tengamos una instancia con un sistema operativo Linux en nuestra cuenta de AWS que ejecute una aplicación que trabaje sobre la carpeta /data. Y puede que esa carpeta vaya a crecer hasta llegar a más de 1 TB de información en los próximos meses. Si nos encontramos ante un caso similar, tiene sentido separar la carpeta /data en una partición independiente, montada en un disco EBS independiente, del cual podamos generar snapshots separados del disco de sistema operativo.
Para mover una carpeta a una partición independiente en un disco a parte, primero necesitamos crear ese disco a parte. Desde la consola de AWS, creamos un nuevo volumen EBS en el apartado 'Volumes'.
Adjuntamos este nuevo disco a la instancia sobre la que queramos hacer el cambio. En este caso, he adjuntado un disco de 50 GB que el sistema ve como xvdc:
admin@ip-10-10-10-10:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 10G 0 disk
└─xvda1 202:1 0 10G 0 part /
xvdb 202:16 0 30G 0 disk /var
xvdc 202:32 0 50G 0 disk
Formateo el disco xvdc con el sistema de archivos ext4:
admin@ip-10-10-10-10:~$ sudo mkfs -t ext4 /dev/xvdc
mke2fs 1.43.4 (31-Jan-2017)
Creating filesystem with 13107200 4k blocks and 3276800 inodes
Filesystem UUID: 4ac39902-6cdc-498a-b3e6-c68c47653629
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424
Allocating group tables: done
Writing inode tables: done
Creating journal (65536 blocks): done
Writing superblocks and filesystem accounting information: done
Monto el disco temporalmente en /mnt:
admin@ip-10-10-10-10:~$ sudo mount /dev/xvdc /mnt
Sincronizo el contenido de /data a /mnt:
admin@ip-10-10-10-10:~$ sudo rsync -aulvXpogtr /data/* /mnt
Edito /etc/fstab para que /data se monte siempre al iniciar la máquina:
admin@ip-10-10-10-10:~$ sudo vi /etc/fstab
/dev/xvdc /data ext4 defaults 0 2
Desmonto el volumen EBS que está actualmente montado en /mnt:
admin@ip-10-10-10-10:~$ sudo umount /mnt
Muevo el contenido de la carpeta original a "data.original" a modo de backup:
admin@ip-10-10-10-10:~$ sudo mv /data /data.original
Creo un nuevo directorio data:
admin@ip-10-10-10-10:~$ sudo mkdir /data
Re-monto todas las particiones existentes en /etc/fstab:
admin@ip-10-10-10-10:~$ sudo mount -av
/ : ignored
/data : successfully mounted
Reinicio la máquina:
admin@ip-10-10-10-10:~$ sudo reboot
Compruebo que /data se monta automáticamente sobre /dev/xvdc al iniciar la máquina:
admin@ip-10-10-10-10:~$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 7.6G 0 7.6G 0% /dev
tmpfs 7.6G 0 7.6G 0% /dev/shm
tmpfs 7.6G 17M 7.6G 1% /run
tmpfs 7.6G 0 7.6G 0% /sys/fs/cgroup
/dev/xvda1 40G 1.5G 39G 4% /
tmpfs 1.6G 0 1.6G 0% /run/user/1000
/dev/xvdc1 50G 228M 49G 1% /data
A partir de este momento, cada vez que se reinicie la máquina se montará /data en el volumen EBS, es decir, fuera del disco de sistema operativo. Ahora podemos generar snapshots específicos de este volumen, con una periodicidad distinta a los snapshots del disco principal.
0 comentarios:
Publicar un comentario