¿Cuál es la diferencia entre crear una matriz mdadm usando particiones o discos completos directamente?


26

¿Puede alguien explicarme cuál es la diferencia entre crear una mdadmmatriz utilizando particiones o los discos completos directamente? Suponiendo que tengo la intención de usar todas las unidades. Tenga en cuenta que están con GPT.

Imagine RAID6 creado de dos maneras, ya sea:

mdadm --create /dev/md0 --level=6 --raid-devices=4 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1

o:

mdadm --create /dev/md0 --level=6 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd

¿Hay una diferencia?

EDITAR1: me refiero, por ejemplo, a operaciones de confiabilidad o capacidad de administración o recuperación en tales matrices, etc.

EDIT2: Yo uso unidades de diferentes fabricantes. Pero esa no es la pregunta realmente. Todos tienen exactamente el mismo tamaño, entiendo que puede haber fabricantes que fabrican unidades de tamaños ligeramente diferentes. Pero por el bien de esta pregunta, supongamos que son del mismo tamaño.

EDIT3: una especie de descargo de responsabilidad: hasta ahora siempre estoy particionando las unidades.


2
Siempre he sentido curiosidad por esto, pero nunca le pregunté a nadie. Una diferencia que veo es que al usar los discos particionados (sda1, etc.) obtiene un poco menos de espacio en disco (algunos KB) ya que GPT reserva algo de espacio para la información de la partición.
GMaster

Respuestas:


25

La diferencia más importante es que le permite aumentar la flexibilidad para el reemplazo del disco. Se detalla mejor a continuación junto con una serie de otras recomendaciones.

Uno debería considerar usar una partición en lugar de todo el disco. Esto debería estar bajo las recomendaciones generales para configurar una matriz y ciertamente puede ahorrarle algunos dolores de cabeza en el futuro cuando se necesiten más reemplazos de disco.

Los argumentos más importantes son:

Los discos de diferentes fabricantes (o incluso modelos diferentes de la "misma" capacidad del mismo fabricante) no necesariamente tienen exactamente el mismo tamaño de disco e, incluso la diferencia de tamaño más pequeña, evitará que reemplace un disco defectuoso por uno más nuevo si el segundo es más pequeño que el primero. Particionar le permite solucionar esto;

Nota al margen sobre por qué usar discos de diferentes fabricantes: los discos fallarán, no se trata de un "si" sino de un "cuándo". Los discos del mismo fabricante y del mismo modelo tienen propiedades similares y, por lo tanto, mayores posibilidades de fallar juntos en las mismas condiciones y tiempo de uso. La sugerencia es utilizar discos de diferentes fabricantes, diferentes modelos y, en especial, que no pertenezcan al mismo lote (considere comprar en diferentes tiendas si está comprando discos del mismo fabricante y modelo). Esto no es raro que ocurra una segunda falla de disco durante un reinicio después de un reemplazo de disco cuando se usan discos del mismo lote. Ciertamente no quieres que esto te suceda.

Entonces las recomendaciones:

1) Particione los discos que se usarán con una capacidad ligeramente menor que el espacio total en disco (por ejemplo, tengo una matriz RAID5 de discos de 2TB y los particioné intencionalmente desperdiciando aproximadamente 100 MB en cada uno). Luego, use / dev / sd? 1 de cada uno para componer la matriz: esto agregará un margen de seguridad en caso de que un nuevo disco de reemplazo tenga menos espacio que los originales utilizados para ensamblar la matriz cuando se creó;

2) Use discos de diferentes fabricantes;

3) Use discos de diferentes modelos si diferentes fabricantes no son una opción para usted;

4) Use discos de diferentes lotes;

5) Reemplace proactivamente los discos antes de que fallen y no todos al mismo tiempo. Esto puede ser un poco paranoico y realmente depende de la crítica de los datos que tenga. Solía ​​tener discos que tenían 6 meses de diferencia de edad entre sí;

6) Realice copias de seguridad periódicas (siempre, independientemente de si utiliza una matriz o no). La incursión no tiene el mismo propósito que las copias de seguridad. Las matrices le aseguran una alta disponibilidad, las copias de seguridad le permiten restaurar archivos perdidos (incluidos los que se eliminan accidentalmente o están dañados por virus, algunos ejemplos de algo de lo que el uso de matrices no lo protegerá).

OBS: Excepto por todo lo racional no descuidado anterior, ¿no hay muchas más diferencias técnicas entre usar / dev / sd? vs / dev / sd? #.

Buena suerte


Eso no está relacionado principalmente ...
user1133275

Sin embargo, supongo que la advertencia de @Kalavan se refiere al uso de múltiples particiones en el mismo disco como componentes de una matriz. Eso ciertamente no tendría mucho sentido ya que elimina la redundancia. Sin embargo, sabemos que esta no era la intención de su pregunta, su advertencia tiene sentido de todos modos.
Marcelo

Si administrar las particiones manualmente parece ser una molestia, uno debe usar sfdisk -d src | sfdisk tgtosgdisk --backup && sgdisk --load-backup
andyn el

7

Otro argumento importante es que algunas placas principales pueden eliminar sus superbloques RAID si usa dispositivos de disco completos y no son muy cuidadosos al borrarlos al agregar discos a una matriz RAID que alguna vez fueron dispositivos GPT.

Aprendí esto de la manera difícil, cuando el UEFI de mi placa base ASRock dejó mi RAID inutilizable:

Para protegerse contra esto, siempre ejecute sgdisk --zapen un disco con formato GPT que desee usar para un RAID de dispositivo completo.

wipefs -a También puede funcionar para borrar todo tipo de información de particionamiento sobrante (no solo GPT) antes de agregar el dispositivo al disco.


Dicho esto, solo usar particiones parece una mejor práctica para que esto sea menos probable .

Nunca supe cuáles eran los argumentos reales para esta mejor práctica (más allá de la respuesta de @ Marcelo que explica que puede manejar discos de tamaños ligeramente diferentes). Ahora sé.

Por cierto, si esto te sucede, tus datos no se perderán. Lo más probable es que solo pueda usar sgdisk --zapel dispositivo y luego volver a crear el RAID con, por ejemplo, mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdc /dev/sdd(mdadm le dirá que ya detecta datos pasados ​​y le preguntará si desea continuar reutilizando esos datos). Intenté esto varias veces y funcionó, pero aún así recomiendo hacer una copia de seguridad antes de hacerlo.


2

Hay un par de publicaciones que mencionan problemas con el uso de todo el dispositivo como miembro RAID en lugar de partición, uno aquí . Puedo confirmar que ese sea el caso.

Por lo tanto, si crea RAID con todo el dispositivo (por ejemplo, /dev/sda, /dev/sdb, ... en lugar de en /dev/sda1, /dev/sdb1, ...) el dispositivo RAID no es así vuelva a montar después de un reinicio, incluso si tiene la configuración guardada bajo mdadm.conf. También existe la posibilidad de que el firmware de la placa base sobrescriba o elimine el superbloque RAID. En mi configuración, la ejecución mdadm --assemble --scan --verboseno me devuelve mi configuración RAID y parece ser el caso de que el superbloque RAID no esté disponible.


Probé la configuración RAID1 usando unidades de 2x10GB dentro de VirtualBox. RAID se creó en todo el dispositivo y se está volviendo a armar bien después de reiniciar. El problema podría ser aplicable solo a dispositivos físicos.
Lungten

0

Para salvarse de futuros dolores de cabeza, use particiones. Todas las unidades fallan, no se trata de "si" sino de "cuándo". Si está utilizando unidades completas, luego de una falla en la unidad, debe reemplazarla con exactamente el mismo modelo de tamaño. Incluso unos pocos MB más grandes, debido a diferentes fabricantes o cambios en el proceso, lo que sea, provocarán que falle el reemplazo de la unidad.

Usando particiones, cuando una de sus unidades actuales de 2TB falla, obtiene un reemplazo de 4TB (o lo que sea, solo necesita ser más grande), luego cree el mismo tamaño de partición de 2TB. Sí, puede estar desperdiciando espacio en ese nuevo disco grande. Puede ser posible usar el resto de esa unidad como una partición sin incursión, pero podría afectar el rendimiento de maneras extrañas. Después de varias fallas y reemplazos de unidades, eventualmente reemplazará todas sus unidades originales de 2TB, y ahora tiene la capacidad de extender su matriz RAID para usar tamaños de partición más grandes.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.