Como anexar um espelho listrado de 2 dispositivos a uma piscina?

Como anexar um espelho listrado de 2 dispositivos a uma piscina?

Eu tenho um pool de unidade única que consiste em um HDD de 2 TB. Tenho duas unidades de 1 TB que posso usar no espelho - gostaria de adicionar redundância ao meu pool.

Como posso conectar essas duas unidades como um único dispositivo para que possam ser usadas como um espelho listrado?

Vamos chamar minha unidade de 2 TB de sda, as unidades vazias de 1 TB são sdbe sdc.

Eu tentei: zfs attach tank sda sdb sdcmas isso diz too many arguments.

Eu tentei: zfs attach tank sda sdbmas isso dizdevice is too small

Eu tentei: zfs attach tank sda sdb+sdcmas isso dizno such device in /dev

Eu tentei: zfs attach tank sda sdb,sdcmas isso dizno such device in /dev

Li o manual e pesquisei na web - estou sem ideias.

Acho que poderia tentar criar um novo pool distribuído a partir dessas duas unidades de 1 TB, criar um zvol dentro e usá-lo como um espelho para meu pool primário, mas isso provavelmente não me dará capacidade suficiente para um espelho, além de um muita sobrecarga desnecessária.

Como posso fazer isso?

Responder1

Isso não pode ser feito diretamente via ZFS. Depágina de manual:

Os dispositivos virtuais não podem ser aninhados, portanto, um dispositivo virtual espelhado ou raidz pode conter apenas arquivos ou discos. Espelhos de espelhos (ou outras combinações) não são permitidos.

Minha sugestão é criar um novo pool compreendendo os dois discos de 1 TB e usar algo comosinóidepara enviar frequentemente o conteúdo do primeiro pool para o novo pool.

--- AVISO: solução alternativa desajeitada abaixo! NÃO use se não tiver certeza!!! ---

De qualquer forma, se vocêrealmentequiser adicionar os dois discos de 1 TB como um espelho dos primeiros discos de 2 TB, uma solução alternativa pode ser tentada. Você pode usar o device-mapper (em seu formato LVM) para concatenar os dois discos e anexar o volume resultante ao dispositivo de 2 TB. Por exemplo:

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

Você pode obter um resultado semelhante (ainda melhor) com mdadm, criando um dispositivo RAID0 e anexando-o ao zpool:

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

Esta abordagem énãorecomendado. Use-o por sua conta e risco.

Responder2

Para adicionar os dois novos discos ao pool, você pode usar, zpool add tank mirror sdb sdcmas isso adicionará o novo par como um espelho e o distribuirá com o disco existente. (Isso não adiciona nenhuma redundância).

Você precisaria usar o zpool attachcomando para anexar os discos ao vdev existente, mas não pode usar um par espelhado para fazer backup de um único disco; seria necessário adicionar um novo disco de 2 TB para torná-lo um par espelhado.

informação relacionada