Combinar varias unidades en un solo volumen

Combinar varias unidades en un solo volumen

Actualmente contamos con un servidor dedicado con 3 unidades SSD. Nos dimos cuenta de que en realidad implementamos el sistema operativo en una sola unidad y las otras 2 no se están utilizando actualmente. Sin embargo, este disco está casi lleno:

/dev/md2         91G   83G  3.0G  97% /home

La solución lógica aquí sería combinar la capacidad de las tres unidades (3 x 120 GB) y convertirlas en un solo volumen. ¿Cuál es la mejor manera de hacer esto?

Desafortunadamente, reinstalar el sistema operativo o similar no es una opción por ahora.

El servidor ejecuta Ubuntu 14.04.5 LTS. Encontré LVM, pero aún tengo que descubrir si esta es la mejor solución.

De acuerdo a lo pedido:

root@hv01:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        20G  2.5G   16G  14% /
devtmpfs         16G  4.0K   16G   1% /dev
none            4.0K     0  4.0K   0% /sys/fs/cgroup
none            3.2G  572K  3.2G   1% /run
none            5.0M     0  5.0M   0% /run/lock
none             16G   24K   16G   1% /run/shm
none            100M     0  100M   0% /run/user
/dev/md2         91G   84G  2.6G  98% /home

root@hv01:~# cat /proc/mdstat 
Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4]     [multipath] [faulty] 
md1 : active raid1 sdc1[2] sda1[0] sdb1[1]
  20478912 blocks [3/3] [UUU]

md2 : active raid1 sdc2[2] sda2[0] sdb2[1]
  96211904 blocks [3/3] [UUU]

unused devices: <none>

Respuesta1

/proc/mdstatdeja en claro que creó un conjunto de espejos de 3 vías (RAID1) para su sistema operativo (md1) y su hogar (md2). Si bien esto proporciona una amplia redundancia, le cuesta mucho espacio.

Dado que sólo está vinculado al disco en /home, la forma más sencilla es hacer un poco de malabarismo con el disco.

Advertencia: tenga en cuenta que un SSD inactivo en el momento equivocado le costará TODOS sus archivos: haga una copia de seguridad y esté preparado.

Dicho esto, seguiría la línea de

  • Retire 2 espejos de md2. Esto le deja con un sistema todavía utilizable sin ningún tiempo de inactividad, pero con 2 particiones libres.mdadm --remove /dev/md2 /dev/sda2 && mdadm --remove /dev/md2 /dev/sdb2
  • borre todos los superbloques fs y RAID de estos dos.wipefs --all /dev/sda2 && wipefs --all /dev/sdb2
  • Cree un RAID5 a partir de estas 2 particiones, utilizándolas missingcomo tercera. De hecho, esto creará un RAID0 temporal, dos veces el tamaño de la partición original (md3).mdadm --create -n 3 --level=5 --bitmap=internal /dev/md3 /dev/sda2 /dev/sdb2 missing
  • Agregue este RAID5 al md2 original como un espejo y espere a que se complete la resincronizaciónmdadm --add /dev/md2 /dev/md3 ¡ESPERA LA SINCRONIZACIÓN O PIERDE TUS DATOS!
  • Retire el último espejo original del md2, dejándolo con una sola pata, el md3 recién creado.mdadm --remove /dev/md2 /dev/sdc2
  • Haga crecer md2 para usar todo md3mdadm --grow --size=max /dev/md2
  • Cambiar el tamaño del sistema de archivos para usar todo md2ESTO DEPENDE DEL FS UTILIZADO
  • borre los superbloques FS y RAID de esta última particiónwipefs --all /dev/sdc2
  • Agréguelo al RAID5 y espere a que finalice la resincronización.mdadm --add /dev/md3 /dev/sdc2

Ahora tiene un conjunto de espejos con un solo espejo, que en sí mismo es un RAID5, el doble del tamaño inicial. Este parece un equilibrio bastante bueno entre redundancia y tamaño.

Lo bueno: no experimenta ningún tiempo de inactividad: todos los pasos anteriores están disponibles mientras usa el sistema de archivos.

información relacionada