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?

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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.