ZFS no linux: alternar partição para o disco inteiro

1

Há um pool do ZFS com o raidz1. O pool é criado em cima de três unidades de 2 TB usando o disco inteiro e uma partição de 2 TB em uma unidade de 3 TB.

Qual é o processo recomendado para reconfigurar o pool para usar todo o disco de 3 TB em vez da partição?

Eu leio muito o manual do zfs (man zpool), mas não tenho certeza de quais comandos devem ser usados: anexar / desanexar ou online / offline, e o pool shold deve ser exportado ou não.

Como o array está quase cheio de dados, não gosto da ideia de apenas esfaquear no escuro e brincar com ele.

Além disso, executei o zpool scrub várias vezes e ele terminou sem erros.

EdgarPE
fonte
Você não seria capaz de utilizar o espaço de qualquer maneira. Nas matrizes RAID, o menor membro determina o tamanho da matriz utilizável. Isso é verdade mesmo para RAID de software.
Daniel B
@DanielB Sim, eu sei. Mais tarde, também posso substituir os discos de 2 TB, mas essa é uma tarefa simples.
EdgarPE
Eu vejo. Bem, o procedimento não é tão complexo, escreverei uma resposta mais tarde. Você está ciente, no entanto, de que isso resultará em um resilver, certo?
Daniel B

Respostas:

1

Eu consegui resolver o problema. Na verdade, não é tão difícil. Aqui estão os passos:

  1. Faça uma limpeza completa na piscina zpool scrub POOL
  2. Torne a partição do disco offline com zpool offline POOL PARTITIN
  3. Verifique o status com zpool status POOL, ele deve estar em um status degradado, mas funcionando.
  4. Aqui está a parte complicada. Você precisa fazer o zpool para esquecer que essa partição já esteve naquele pool. Eu simplesmente usei o dd para substituir alguns Mb-s no início do disco, assim:dd if=/dev/urandom of=DISK bs=1M count=10
  5. A última etapa é usar o comando replace assim: zpool replace POOL OLD-PARTITION NEW-WHOLE-DISK
  6. A etapa anterior iniciará uma nova resolução, é claro. Depois que terminei, fiz outra esfoliação só para ter certeza :)
EdgarPE
fonte