¿Cómo colocar un espejo rayado de 2 dispositivos en una piscina?

¿Cómo colocar un espejo rayado de 2 dispositivos en una piscina?

Tengo un grupo de una sola unidad que consta de un disco duro de 2 TB. Tengo dos unidades de 1 TB que puedo usar en espejo. Me gustaría agregar redundancia a mi grupo.

¿Cómo puedo conectar estas dos unidades como un solo dispositivo para que puedan usarse como un espejo rayado?

Llamemos a mi unidad de 2 TB sda, las unidades en blanco de 1 TB son sdby sdc.

Lo intenté: zfs attach tank sda sdb sdcpero eso dice too many arguments.

Lo intenté: zfs attach tank sda sdbpero eso dicedevice is too small

Lo intenté: zfs attach tank sda sdb+sdcpero eso diceno such device in /dev

Lo intenté: zfs attach tank sda sdb,sdcpero eso diceno such device in /dev

Leí el manual y busqué en la web; no tengo ideas.

Supongo que podría intentar crear un nuevo grupo seccionado a partir de estas dos unidades de 1 TB, crear un zvol dentro y usarlo como espejo para mi grupo principal, pero de todos modos esto probablemente no me dará suficiente capacidad para un espejo, además de un muchos gastos generales innecesarios.

¿Cómo puedo hacer esto?

Respuesta1

Esto no se puede hacer directamente a través de ZFS. Desde elpágina de manual:

Los dispositivos virtuales no se pueden anidar, por lo que un dispositivo virtual mirror o raidz solo puede contener archivos o discos. No se permiten espejos de espejos (u otras combinaciones).

Mi sugerencia es crear un nuevo grupo que comprenda los dos discos de 1 TB y usar algo comosincoidepara enviar con frecuencia el contenido del primer grupo al nuevo grupo.

--- ADVERTENCIA: ¡solución complicada a continuación! ¡¡¡NO lo use si no está REALMENTE seguro!!! ---

De todos modos, si tuen realidadSi desea agregar los dos discos de 1 TB como espejo de los primeros discos de 2 TB, puede probar una solución alternativa. Puede utilizar device-mapper (en su formato LVM) para concatenar los dos discos y adjuntar el volumen resultante al dispositivo de 2 TB. Por ejemplo:

pvcreate /dev/sdb
pvcreate /dev/sdc
vgcreate zvg /dev/sdb
vgextend zvg /dev/sdc
lvcreate zvg --name zdev -l +100%FREE
zpool attach tank /dev/sda /dev/zvg/zdev
zpool status

Puede lograr un resultado similar (incluso mejor) con mdadm, creando un dispositivo RAID0 y conectándolo al zpool:

mdadm --create md127 --level=0 --raid-devices=2 /dev/sdb /dev/sdc
zpool attach tank /dev/sda /dev/md127
zpool status

Este enfoque esnorecomendado. Úselo bajo su propio riesgo.

Respuesta2

Para agregar los dos nuevos discos al grupo, puede usar zpool add tank mirror sdb sdcpero esto agregará el nuevo par como un espejo y lo combinará con el disco existente. (Esto no añade ninguna redundancia).

Necesitaría usar el zpool attachcomando para agregar los discos al vdev existente, pero no puede usar un par reflejado para respaldar un solo disco; tendría que agregar un nuevo disco de 2 TB para convertirlo en un par reflejado.

información relacionada