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 --detail /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) Ʀɐɯ0η
  Responder
#2
Thumbs Up 
Buen trabajo, muchas gracias por la info
  Responder
#3
(19-05-2021, 11:52 PM)erguerrero escribió: Buen trabajo, muchas gracias por la info
Gracias por el comentario.

Es algo que no he visto en ningún otro sitio.

También lo puse en el foro internacional donde ha habido más gente que lo ha realizado.

No entiendo como QTS no puede hacerlo
Un saludo

Agur eta ondo ibili

Ganekogorta (TS-469Pro, TVS-673e, QBoat Sunny y TS-453Be) Ʀɐɯ0η
  Responder
#4
Hola
Una pregunta muy básica, ¿qué comando hay que usar para modificar el archivo "raid.conf" con el comando cat lo puedo ver pero no editar?

Y otra más compleja, ¿como tendríamos que editar dicho archivo si partimos directamente de un RAID 1 con dos discos?

ORIGINAL
[Global]
raidBitmap = 0x6
pd_21072D122583_Raid_Bitmap = 0x2
pd_5000CCA252D1C86E_Raid_Bitmap = 0x4
pd_5000CCA252D1F801_Raid_Bitmap = 0x4

[RAID_1]
uuid = 4b724157:01023f1a:244f6c57:58dec049
id = 1
partNo = 3
aggreMember = no
readonly = no
legacy = no
version2 = yes
overProvisioning = 10
deviceName = /dev/md1
raidLevel = 1
internal = 1
mdBitmap = 0
chunkSize = 512
readAhead = 0
stripeCacheSize = 0
speedLimitMax = 0
speedLimitMin = 0
data_0 = 170001, 21072D122583
dataBitmap = 1

[RAID_2]
uuid = 7f2ea8ee:23f9738e:1c357da0:6779acf9
id = 2
partNo = 3
aggreMember = no
readonly = no
legacy = no
version2 = yes
overProvisioning = 0
deviceName = /dev/md2
raidLevel = 1
internal = 1
mdBitmap = 0
chunkSize = 512
readAhead = 0
stripeCacheSize = 0
speedLimitMax = 0
speedLimitMin = 0
data_0 = 3, 5000CCA252D1C86E
data_1 = 4, 5000CCA252D1F801
dataBitmap = 3

COMO CREO TENDRÍA QUE QUEDAR

[Global]
raidBitmap = 0x6
pd_21072D122583_Raid_Bitmap = 0x2
pd_5000CCA252D1C86E_Raid_Bitmap = 0x4
pd_5000CCA252D1F801_Raid_Bitmap = 0x2

[RAID_1]
uuid = 4b724157:01023f1a:244f6c57:58dec049
id = 1
partNo = 3
aggreMember = no
readonly = no
legacy = no
version2 = yes
overProvisioning = 10
deviceName = /dev/md1
raidLevel = 1
internal = 1
mdBitmap = 0
chunkSize = 512
readAhead = 0
stripeCacheSize = 0
speedLimitMax = 0
speedLimitMin = 0
data_0 = 170001, 21072D122583
dataBitmap = 1

[RAID_2]
uuid = 7f2ea8ee:23f9738e:1c357da0:6779acf9
id = 2
partNo = 3
aggreMember = no
readonly = no
legacy = no
version2 = yes
overProvisioning = 0
deviceName = /dev/md2
raidLevel = 1
internal = 1
mdBitmap = 0
chunkSize = 512
readAhead = 0
stripeCacheSize = 0
speedLimitMax = 0
speedLimitMin = 0
data_0 = 4, 5000CCA252D1F801
dataBitmap = 3
  Responder
#5
Hola
Has de usar un editor de texto (nano, vi,…) desde un usuario con privilegios.

No tienen mal pinta los cambios que sugieres, pero haz copia de resguardo de los archivos que vas a modificar y cuando retires uno de los discos guárdalo bien que es tu resguardo si las cosas van mal (te sirve para regenerar el raid 1 si lo reintroduces junto con un disco SIN particiones)
Un saludo

Agur eta ondo ibili

Ganekogorta (TS-469Pro, TVS-673e, QBoat Sunny y TS-453Be) Ʀɐɯ0η
  Responder
#6
Hola,
He usado el editor "vi" (es un autentico infierno editar con él), pues Qts no tiene "nano" instalado.
Al final un desastre, lo máximo que he conseguido ha sido poner en fallo el raid. 


He sacado los dos discos mecánicos, y he formateado el ssd. Desde "almacenamiento e instantánea" me aparece el grupo de almacenamiento, aunque no están los discos dentro y al intentar administrarlo, no pasa del 70% al cargar.

Y tampoco hay manera de resetear el NAS a valores de fábrica.  Undecided  Lo he intentado todo, desde "panel de control" --- "copia de seguridad" --- " Restaurar valores de fábrica" --- "Restaurar los valores predeterminados de fábrica & Formatear todos los volúmenes".  Hasta pulsar el botón de resetear 30 segundos y nada. Huh

Voy a abrir un ticket con Qnap.  

En cualquier caso gracias  Wink


Archivos adjuntos Imagen(es)
   
  Responder
#7
Hola
Para las próxima, lo

Hola
Para las próxima, lo
Un saludo

Agur eta ondo ibili

Ganekogorta (TS-469Pro, TVS-673e, QBoat Sunny y TS-453Be) Ʀɐɯ0η
  Responder
#8
(18-08-2021, 06:34 PM)Ganekogorta escribió: Hola
Para las próxima, lo

Hola
Para las próxima, lo

Hola. Este método valdría si quisiera deshacer un Raid1 y así conseguir tener dos discos independientes?
Entiendo, que al editar el archivo de configuración del Raid1 y eliminando las lineas que mencionas seria suficiente? Muchas gracias.
  Responder
#9
(22-09-2021, 08:15 AM)TZF escribió:
(18-08-2021, 06:34 PM)Ganekogorta escribió: Hola
Para las próxima, lo

Hola
Para las próxima, lo

Hola. Este método valdría si quisiera deshacer un Raid1 y así conseguir tener dos discos independientes?
Entiendo, que al editar el archivo de configuración del Raid1 y eliminando las lineas que mencionas seria suficiente? Muchas gracias.


Hola
Si lees y sigues el procedimiento dejarás la nas con único disco y deshecho el raid1 ya que no te dirá que está degradado.

En el otro disco has de eliminar sus particiones desde otro equipo.
NO LO INTRODUZCAS en la nas tal cual lo sacaste, si lo haces la nas verá un miembro de un raid1 y empezará a hacer extraños (reconstrucciones, montajes dobles de carpetas, …)
Un saludo

Agur eta ondo ibili

Ganekogorta (TS-469Pro, TVS-673e, QBoat Sunny y TS-453Be) Ʀɐɯ0η
  Responder




Usuarios navegando en este tema: 2 invitado(s)