Amplíe una matriz Linux MD RAID 10 para utilizar discos más grandes

Amplíe una matriz Linux MD RAID 10 para utilizar discos más grandes

Por lo que tengo entendido, esto es posible, pero no puedo encontrar una respuesta directa en ninguna parte sobre cómo hacerlo exactamente, y no quiero correr el riesgo de perder datos al experimentar con ello yo mismo, así que pregunto aquí.

Tengo un servidor doméstico con cinco discos que ejecutan CentOS. Uno es un SSD que contiene el sistema operativo. Los cuatro discos restantes son discos duros de 4 TB configurados en RAID10 con mdraid. El sistema de archivos en uso es xfs.

Estoy considerando intentar reemplazar los discos de 4TB por otros de 8TB. ¿Qué se debe hacer exactamente para que se realice este reemplazo sin tener que reconfigurar un RAID nuevo y perder datos?

Details output:

[root@fluttershy ~]# mdadm -D /dev/md127
/dev/md127:
        Version : 1.2
  Creation Time : Mon Apr 18 12:46:24 2016
     Raid Level : raid10
     Array Size : 7813771264 (7451.79 GiB 8001.30 GB)
  Used Dev Size : 3906885632 (3725.90 GiB 4000.65 GB)
   Raid Devices : 4
  Total Devices : 4
    Persistence : Superblock is persistent

  Intent Bitmap : Internal

    Update Time : Mon Jun 13 11:04:41 2016
          State : clean 
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0

         Layout : near=2
     Chunk Size : 512K

           Name : fluttershy:data  (local to host fluttershy)
           UUID : aa8f857a:g8bd0344:06d2f6d3:bac01a46
         Events : 13440

    Number   Major   Minor   RaidDevice State
       0       8        1        0      active sync set-A   /dev/sda1
       1       8       17        1      active sync set-B   /dev/sdb1
       2       8       33        2      active sync set-A   /dev/sdc1
       3       8       49        3      active sync set-B   /dev/sdd1

Respuesta1

Complete los siguientes pasos para cada disco; reemplácelo /dev/sda1con otros discos según sea necesario. Debes completartodode estos pasos para un disco antes de poder continuar con el siguiente disco.

  • Marque el disco como fallido para que MD deje de usarlo:mdadm --manage /dev/md127 --fail /dev/sda1
  • Retire el disco de la matriz:mdadm --manage /dev/md127 --remove /dev/sda1
  • Reemplace físicamente el disco.
  • Particione el nuevo disco usando el tipo 0xDAcon una partición que abarque todo el disco.
  • Agregue el nuevo disco a la matriz:mdadm --manage /dev/md127 --add /dev/sda1

MD reconstruirá la matriz una vez que agregue el disco de reemplazo. Asegúrese de que la reconstrucción esté completaantespasa al siguiente disco. Puede verificar el estado de la matriz ejecutando cat /proc/mdstat.

Una veztodoSi se reemplazan algunos de los discos y se reconstruye la matriz, expanda la matriz para llenar la capacidad máxima de todos los discos con mdadm --grow /dev/md127 --size=max. Puede cambiar el tamaño del sistema de archivos desde allí para llenar el RAID expandido; en tu caso, usa el xfs_growfscomando.

Más información sobre cómo hacer crecer una matriz MD está disponible en elWiki RAID de Linux.

Al igual que con cualquier otra tarea de manipulación del disco, debes realizar una copia de seguridad antes de comenzar.

Respuesta2

Primero querrás cambiar cada disco uno por uno.

Para hacer esto, "fallaría" cada disco y lo reemplazaría con su nuevo reemplazo de 8 TB; de hecho, si tiene los puertos de repuesto, puede agregar los discos adicionales y luego hacer que mdadm "reemplace" en su lugar en lugar de quitar un disco de la redada y tener un mayor riesgo de fracaso.

Esta pregunta detalla la mejor manera que puedo encontrar de hacerlo "de forma segura".

Una vez que haya hecho esto, simplemente querrá expandir el FS existente al espacio recién creado. Parece que el comando para esto es 'xfs_growfs', sin embargo, no tengo experiencia con xfs para explicar exactamente cómo se haría esto.

Como siempre, tenga copias de seguridad listas (¡y raid no es una copia de seguridad!).

información relacionada