Tengo una aplicación web montada en un servidor cloud, pero requiero espacio adicional para el almacenamiento de archivos, por lo que al servidor que tengo en renta cuenta con 10GB, en unos días aumentare sus capacidades, siendo la máxima la capacidad que puede alcanzar es de 40GB (8 GB de RAM, la aplicación no requiere más), pero bueno, requiero que el almacenamiento no dependa directamente del servidor.
En esta carpeta almacenare todos los archivos subidos, generador y log de sistema, si requiero más almacenamiento, bueno redimencionare el disco.
Entonces voy a conectar un disco duro de 10GB a mi servidor. En esta parte nuestro proveedor nos da las herramientas para hacerlo, por lo que el lo creara y conectara a nuestro servidor.
Una vez que nuestro proveedor termine nos tocara a nosotros.
Mostramos los discos duros conectados
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 10G 0 disk
└─sda1 8:1 0 10G 0 part /
sdb1 8:16 0 20G 0 disk
El disco duro conectado es sdb1 el cual es de 20GB
Tenemos que particionar y formatear
sudo fdisk /dev/sdb1
Welcome to fdisk (util-linux 2.25.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x95c4adcc.
Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p):[Enter]
Using default response p.
Partition number (1-4, default 1): [Enter]
First sector (2048-20971519, default 2048): [Enter]
Last sector, +sectors or +size{K,M,G,T,P} (2048-20971519, default 20971519):[Enter]
Created a new partition 1 of type ‘Linux’ and of size 20 GiB.
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
Formateamos la partición
$ sudo mkfs.ext4 /dev/vdb1
Montamos nuestra partición
Para montar en disco, primero creamos la carpeta files y después hacemos el montaje
~$ sudo mkdir /home/app/files
~$ sudo mount /dev/vdb1 /home/app/files/
Verificamos que le disco este montado el la carpeta especificada
df –o -h
Filesystem Type Inodes IUsed IFree IUse% Size Used Avail Use% File Mounted on
udev devtmpfs 242K 405 242K 1% 968M 0 968M 0% – /dev
tmpfs tmpfs 245K 505 244K 1% 196M 3.1M 193M 2% – /run
/dev/sda1 ext4 1.3M 175K 1.1M 14% 9.7G 3.0G 6.7G 31% – /
tmpfs tmpfs 245K 1 245K 1% 977M 0 977M 0% – /dev/shm
tmpfs tmpfs 245K 3 245K 1% 5.0M 0 5.0M 0% – /run/lock
tmpfs tmpfs 245K 16 245K 1% 977M 0 977M 0% – /sys/fs/cgroup
/dev/sdb1 ext4 1.3M 18 1.3M 1% 20G 45M 19G 1% – /home/app/files
Nuestro disco ya quedo montado en la carpeta especificada, pero esta configuración se perderá al reiniciar el servidor, para el hacer el cambio permanente debemos hacer lo siguiente:
~$ sudo blkid
/dev/sda1: LABEL=”cloudimg-rootfs” UUID=”ccee1a8d-0785-4b3a-a578-812d59f5d3e1″ TYPE=”ext4″ PARTUUID=”89cdb65f-01″
/dev/sdb1: UUID=”8fc08008-a7d5-41d1-a91b-8b9ff36e28c4” TYPE=”ext4″ PARTUUID=”3f0cc8d3-01″
Con especial cuidado, esta parte
Si comentes un error, en este archivo, tu servidor ya no iniciara y tendrás que optar por las herramientas de rescate de tu proveedor, o bien has una backup para restaurar en caso de que algo te falle.
Modificamos el archivo
Sudo nano /etc/fstab
Y agregamos la segunda linea, ya que la primera es muy probable que la tengas o alguna linea equivalente
Notar que el UUID se obtuvo con blkid y bueno después especificamos la carpeta donde se montara, y si también manejaste el formato ext4 todo lo demas se queda igual, por cierto, no son espacios son tabulaciones.
LABEL=cloudimg-rootfs / ext4 defaults 0 0
UUID=8fc08008-a7d5-41d1-a91b-8b9ff36e28c4 /home/ubuntu/ciermmi/files ext4 defaults 0 0
Y arranco tu servidor?
En caso de que algo falle te dejo este dato.
Con tu proveedor iniciar el servidor en modo rescate, lo que hace esto es arrancar un sistema operativo de la misma versión que tenemos instalado (en mi caso), pero tenemos que montar el disco donde se encuentra nuestro sistema operativo, haremos uso de
Lsblk para identificar el disco donde esta nuestro sistema operativo
sudo mkdir /dev/disk_os # creamos al carpeta para montar el disco
~$ sudo mount /dev/vdb1 /dev/disk_os #montamos el disco en la carpeta creada
cd /dev/disk_os para situarnos en nuestro disco y dentro de hay
sudo nano etc/fstab #Cuidado de nuevo es el archivo fstab del disco de nuestro sistema operativo, por lo que deberás ver las lineas que agregarte y modificaste, solo borra lo que hiciste y tu servidor iniciara como si nada, claro no te montara el disco al iniciar el sistema, pero sigue intentando, que a prueba y error también se aprende, solo no lo hagas con servidores en producción.