Deshacer un RAID1
#1
Hola

Voy a explicar como conseguir deshacer un raid 1 de DOS discos a UNO sólo.
Incluso es válido si es de sistema. De hecho esto es lo mas interesante, sobretodo para aquellos que sólo tienen dos bahías en la QNAP  Wink

Esto puede ser interesante para los siguientes casos:
  • tengo un disco con avisos SMART de fallos, compro uno igual, expando a RAID1 y lo deshago retirando el disco "tocado"
  • tengo un RAID1 y quiero deshacerlo para reutilizar un disco porque necesito espacio o para montarlo como unidad simple.
Vamos a necesitar acceso a la consola. Ya sabéis que yo me ayudo de WinSCP y Putty.
Y por supuesto recomiendo un backup de datos ya que aquí un fallo nos puede costar el perder todo  Exclamation 
Aunque realmente veremos que podemos usar uno de esos disco de copia, practica que se hacía hace muuuchos años.



1-Partimos de un sólo disco, creamos un raid1 y retiramos el disco viejo


Este caso es el más fácil ya que nos vamos a aprovechar de un archivo que ya tenemos.

Inicialmente tengo un disco en la bahía1 (la primera) como disco simple. Su tamaño es de 160GB y su número de serie es 5RX0XIJN

   

   

   

Hasta aquí, todo normal.

Examinamos y guardamos el contenido del archivo /etc/config/raid.conf  (que realmente está ubicado en /mnt/HDA_ROOT/.config/raid.conf)

Cita:[Global]
raidBitmap = 0x2
pd_5RX0XIJN_Raid_Bitmap = 0x2

[RAID_1]
uuid = adcdd09b:1286b132:793faae3:09f1257a
id = 1
partNo = 3
aggreMember = no
readonly = no
legacy = no
version2 = yes
deviceName = /dev/md1
raidLevel = 1
internal = 1
mdBitmap = 0
chunkSize = 64
readAhead = 0
stripeCacheSize = 0
speedLimitMax = 0
speedLimitMin = 0
data_0 = 1, 5RX0XIJN
dataBitmap = 1

Construcción del raid1

Ahora agregamos físicamente en la segunda bahía "nuevo" disco de 160GB y de número de serie 5RX0XHMS. 
La nas nos hará saber que lo ha detectado emitiendo un pitido y preparará el disco. 
Recordad que si tiene algo lo borrará sin preguntar siempre que no sean particiones anteriores de QNAP.

   

Desde los menús migramos de disco simple a RAID1

   

   

Terminamos el asistente y esperamos a que ambos discos estén sincronizados (paciencia si tenéis discos grandes)

   

Una vez haya acabado estaremos con algo similar a esto
   

Ahora de nuevo obtenemos el contenido del archivo /etc/config/raid.conf

Cita:[Global]
raidBitmap = 0x2
pd_5RX0XIJN_Raid_Bitmap = 0x2
pd_5RX0XHMS_Raid_Bitmap = 0x2

[RAID_1]
uuid = adcdd09b:1286b132:793faae3:09f1257a
id = 1
partNo = 3
aggreMember = no
readonly = no
legacy = no
version2 = yes
deviceName = /dev/md1
raidLevel = 1
internal = 1
mdBitmap = 0
chunkSize = 0
readAhead = 4096
stripeCacheSize = 0
speedLimitMax = 0
speedLimitMin = 50000
data_0 = 1, 5RX0XIJN
data_1 = 2, 5RX0XHMS
dataBitmap = 3
scrubStatus = 1
eventSkipped = 0
eventCompleted = 1
degradedCnt = 0

Marco en rojo lo añadido y en verde lo que ha cambiado.

Ahora me voy a la consola y mediante el comando mdadm veo el estado y otras informaciones del raid
ejecuto “mdadm --query --detail /dev/md1” donde md1 es el primer (y único) raid1 creado en la nas.

   

Además de información del tamaño y el estado correcto "clean" veremos en las líneas inferiores las particiones implicadas en el mismo.
En el disco number 0 (bahía 1) la partición implicada es la /dev/sda3
En el disco number 1 (bahía 2) la partición implicada es la /dev/sdb3

Ahora vamos a poner en fallo y remover el disco primero disco mediante dos comandos:
"mdadm /dev/md1 --fail /dev/sda3"
"mdadm /dev/md1 --remove /dev/sda3"

   

La nas pitará y activará el led rojo de alarma. Ahora podemos extraer el disco de la primera bahía (el original)

Si vamos al entorno QTS veremos los siguiente
   

Tambíen podemos verlo desde consola con "mdadm --query --datail /dev/md1"
     

Ejecuto por consola el siguiente comando para reducir el número de miembros del raid a un solo miembro. Raid1 de un disco Wink
"mdadm --grow /dev/md1 --raid-devices=1 --force"
   

Ahora hemos de editar el archivo /etc/config/raid.conf para que quede de la siguiente manera:
Cita:[Global]
raidBitmap = 0x2
pd_5RX0XHMS_Raid_Bitmap = 0x2

[RAID_1]
uuid = adcdd09b:1286b132:793faae3:09f1257a
id = 1
partNo = 3
aggreMember = no
readonly = no
legacy = no
version2 = yes
deviceName = /dev/md1
raidLevel = 1
internal = 1
mdBitmap = 0
chunkSize = 64
readAhead = 0
stripeCacheSize = 0
speedLimitMax = 0
speedLimitMin = 50000
data_0 = 1, 5RX0XHMS
dataBitmap = 1


[Remove]

He eliminado las líneas que comienzan por "scrubstatus, eventskipped, eventcompleted, degradedcnt".
He eliminado la línea que comienza por data_0, y la que comienza por data_1 la he modificado a "data_0 = 1, numero_serie_del_disco"
He eliminado las lineas de la sección [Remove]
He cambiado chunkSize = 64 a valor 0
He cambiado readAhead = 4096 a valor 0
He cambiado databitmap = 3 a valor 1

Esto se puede hacer mas rápido si aprovecháis y editáis el archivo inicial de cuando había un solo disco, ya que sólo tendríamos actualizar el número de serie del disco por el del nuevo.

Una vez guardado el cambio, apagamos la nas vía QTS o bien desde consola con "halt".

Cuando se apague movemos el disco de la bahía 2 a la bahía 1 y misión cumplida

Arrancamos y ya tenemos nuestro nuevo disco con todo lo que teníamos en el original.

Si vamos al entorno QTS veremos lo siguiente:
   

Y si lo hacemos por consola
   


El disco que había en la bahía 1 y hemos retirado, contiene TODO, no se ha borrado nada.
Si queremos usarlo en la nas de nuevo debemos eliminar sus cinco particiones.

Ha tardado bastante el hacer las pruebas porque no hay información sobre ello. 
Entiendo que a los propietarios de nas de qnap con dos bahías les será interesante, ya que no tienen que empezar de cero.
Y pensar que muchos me han dicho que esto no se podía hacer... 

En otro hilo próximo haré la variante de cambio de disco a uno de mas capacidad, que es un poco mas delicado Wink
Un saludo

Agur eta ondo ibili

Ganekogorta (TS-469Pro, TVS-673e, QBoat Sunny y TS-453Be)
Responder




Usuarios navegando en este tema: 1 invitado(s)