La unidad de intercambio en caliente tiene un nuevo nombre. Si lo agrego de nuevo a la matriz `md` y se renombra al reiniciar, ¿seguirá funcionando la matriz?

10

Uno de los discos duros en la configuración RAID de mi servidor falló, así que lo saqué de la matriz e hice que el centro de datos lo cambiara en caliente. Lo han hecho, pero ahora el nuevo disco es /dev/sdcmás que /dev/sda. Sospecho que si reinicio el servidor, lo volveré a hacer /dev/sda, así que dudo en volver a agregarlo a la matriz /dev/sdcporque no quiero poner una trampa para mí en el próximo reinicio. Prefiero no reiniciar el servidor si no lo necesito (si lo necesito, bueno, muy mal para mí).

Si lo agrego como /dev/sdc, ¿habrá algún problema al reiniciar? ¿O hay alguna forma de cambiar el nombre del dispositivo de /dev/sdca /dev/sdasin reiniciar?

Esto está en Ubuntu 10.04 LTS. Es una mdmatriz ("RAID de software de Linux"), donde actualmente uno de los dispositivos (hay un par de ellos) se ve así ("degradado" porque he eliminado el viejo /dev/sdade él):

# mdadm --detail / dev / md0
/ dev / md0:
        Versión: 00.90.03
  Hora de creación: dom 11 de octubre 21:07:54 2009
     Nivel de banda: banda1
     Tamaño de matriz: 97536 (95.27 MiB 99.88 MB)
  Tamaño de desarrollo usado: 97536 (95.27 MiB 99.88 MB)
   Dispositivos Raid: 2
  Dispositivos totales: 1
Menor preferido: 0
    Persistencia: Superblock es persistente

    Hora de actualización: jue 30 de junio 09:31:16 2011
          Estado: limpio, degradado
 Dispositivos activos: 1
Dispositivos de trabajo: 1
 Dispositivos fallidos: 0
  Dispositivos de repuesto: 0

           UUID: 496be7a5: ab9177ed: 7792c71e: 7dc17aa4
         Eventos: 0.112

    Número Estado de dispositivo de incursión menor mayor
       0 8 17 0 sincronización activa / dev / sdb1
       1 0 0 1 eliminado
TJ Crowder
fuente
1
Que matriz? Si está escaneando UID, no importa si es sda o sdc
Jure1873
Es una mdmatriz ("RAID de software de Linux"). Toda la adición / eliminación de dispositivos y demás se refiere a los nombres de los dispositivos, pero no sé si eso significa que realmente depende de ellos o ... He agregado el resultado de mdadm --detailla pregunta.
TJ Crowder
para matrices md mdadm escanea todos los discos (como se define en /etc/mdadm.conf), por lo que no importa dónde estén, porque escribe una ID en el encabezado del disco para que pueda volver a ensamblar las matrices.
Jure1873
Sí, gracias, echa un vistazo a la actualización de la pregunta, describí ese comportamiento y verifiqué que funcionara.
TJ Crowder
1
@TJCrowder en lugar (o además) de actualizar su pregunta, es posible que desee agregar su hallazgo como respuesta (y aceptarla), ya que esta pregunta está básicamente resuelta.
Dennis Nolte

Respuestas:

1

Está bien seguir adelante y agregarlo como /dev/sdc. Leyendo la mddocumentación del núcleo , si el nombre cambia al reiniciar, no importa. (Buen diseño, eso.) He aquí por qué:

Autodetección de tiempo de arranque de matrices RAID

Cuando md se compila en el núcleo (no como módulo), las particiones de tipo 0xfd se escanean y se ensamblan automáticamente en matrices RAID. Esta autodetección se puede suprimir con el parámetro del núcleo "raid = noautodetect". A partir del kernel 2.6.9, solo las unidades con un superbloque de tipo 0 se pueden detectar automáticamente y ejecutar en el momento del arranque.

El parámetro del núcleo "raid = particionable" (o "raid = part") significa que todas las matrices autodetectadas se ensamblan como particionables.

Aunque no he mdcompilado en el núcleo, mi configuración hace lo mismo que el anterior porque se carga automáticamente mdadmy mdadm.confestá configurado para escanear todas las particiones en busca de un superbloque al igual que lo haría el núcleo:

# de forma predeterminada, escanea todas las particiones (/ proc / partitions) en busca de superbloques de MD.
# alternativamente, especifique los dispositivos para escanear, utilizando comodines si lo desea.
DISPOSITIVO particiones

Entonces está bien reconstruir la matriz con /dev/sdc; el nombre probablemente cambiará al /dev/sdareiniciar, pero eso no causará ningún problema si mdse configura como se indicó anteriormente.

TJ Crowder
fuente