Mover carpeta a un disco EBS distinto al disco principal de una instancia EC2 Linux de AWS.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrDFxQJyKUvj7iuRYKTEXZVYQW1hfl-LAzVu-Evrh1nIL4Lzy5_kYci7FrFz51OScojbPqMfdC74cvw28Dn_IOX5bu2VFz7zA_E5FWvfy_gvqK796k2yLzSDkRXcLhywXobgj0yGOdBOM/s1600/0.png)
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