¿Puede alguien explicarme cuál es la diferencia entre crear una mdadm
matriz 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.
fuente
Respuestas:
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
fuente
sfdisk -d src | sfdisk tgt
osgdisk --backup && sgdisk --load-backup
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 --zap
en 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 --zap
el 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.fuente
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 bajomdadm.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ónmdadm --assemble --scan --verbose
no me devuelve mi configuración RAID y parece ser el caso de que el superbloque RAID no esté disponible.fuente
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.
fuente