O zfs pode usar tamanhos de espelho vdev mistos?

4

zfs pode fazer o seguinte?

10 discos de 3 TB como 5 vdevs espelhados mais 2 x 2 TB como um espelho vdev.

Eu estou olhando para usar esses dois discos de 2 TB que eu tenho para um total de 17 TB e, em seguida, atualizar a faixa.

Por exemplo, eu poderia atualizar posteriormente esses discos de 2 TB de 2 TB para 2 TB de 6 TB?

jakethedog
fonte

Respostas:

4

10 discos de 3 TB como 5 vdevs espelhados mais 2 x 2 TB como um espelho vdev.

Você tem as seguintes opções:

  1. 1 piscina (12 x 2), espaço utilizável (6 x 2) = 12 TB
  2. 1 piscina com (10 x 3) + (2 x 2), espaço utilizável (5 x 3) + (1 x 2) = 17 TB
  3. 2 piscinas com (10 x 3) e (2 x 2), espaço utilizável 15 e 2 TB separadamente

A opção 1 parece ser inferior a 2, mas se você substituir os dois discos pequenos e tiver autoexpand = on definido na piscina, aumentará automaticamente para (12 x 3), resultando em 18 TB, contra 15 + 3 TB utilizáveis ​​para a opção 2. O tamanho será o mesmo, mas a sua piscina será mais rápida, mais equilibrada e mais tolerante a falhas que a opção 2.

Por exemplo, eu poderia atualizar posteriormente esses discos de 2 TB de 2 TB para 2 TB de 6 TB?

Sim você pode. Isso lhe daria 15 + 6 TB = 21 TB, mas seria mais lento que uma configuração igual.

  • Você pode atualizar cada disco de cada vdev separadamente - o vdev inteiro sempre tem o tamanho do menor disco nele. Para espelhos, isso significa que os dois discos devem ser atualizados antes que o espaço adicional possa ser usado.

  • Você também pode adicionar e remover discos de e para espelhos vdevs, mas isso só aumenta / diminui a confiabilidade e a tolerância a falhas, o espaço utilizável não é alterado.

  • Finalmente, você sempre pode adicionar mais vdevs de qualquer tipo e tamanho ao seu pool (embora tamanhos / tipos semelhantes sejam recomendados por motivos de desempenho), assim o tamanho do pool aumentará (span, essencialmente, RAID 0). Tenha cuidado, porém, como você não é possível remover vdevs depois de adicioná-los sem destruir a piscina. Sua piscina falhará se qualquer O vdev dentro falha criticamente, junto com todos os dados nele contidos.

user121391
fonte
boa resposta. você pode me indicar uma fonte para "Finalmente, você sempre pode adicionar mais vdevs de qualquer tipo e tamanho ao seu pool (embora tamanhos / tipos semelhantes sejam recomendados por motivos de desempenho)" ou explicações adicionais sobre o que e como o desempenho é afetado?
jakethedog
@jakethedog Obrigado. eu recomendaria constantin.glez.de/blog/2010/06/… para leitura geral, bem como solarisinternals.com/wiki/index.php/… Essencialmente, como todos os vdevs são acessados ​​no modo round robin, o vdev mais lento define o desempenho. Se todos forem iguais, esse problema não ocorre porque todos são igualmente lentos / rápidos.
user121391
Eu pessoalmente recomendaria contra autoexpand, só porque sou um maníaco por controle que quer ter controle sobre o que o ZFS faz (especialmente considerando que você nunca pode reduzir um vdev após ele ter sido expandido). Melhor apenas zpool online -e quando necessário e queria . // cc @jakethedog
a CVn
@ user121391 Você observou um impacto significativo no desempenho se um pool do zfs tivesse uma combinação de raidz e mirror vdevs? é iops limitado a espelho individual vdev ou raidz vdev? por exemplo zpool status no link pastebin.com/emiHy4U2
satch_boogie
1
@satch_boogie Eu não tentei isso porque haverá um impacto no desempenho. Grosso modo, o desempenho do seu pool será determinado pelo seu vdev mais lento, no seu exemplo, isso seria o Z1 vdev. Além disso, sua resiliência será determinada pelo vdev mais fraco, que é novamente o Z1 vdev. Eu sugeriria fazer backup e recriar o pool com 3 vdevs espelhados e definir o último disco como um hotspare.
user121391