zfs com vdevs assimétricos

3

vamos supor que eu tenha um raidz criado a partir de três discos (ou vdevs).

$ fallocate -l 64m /tmp/one
$ fallocate -l 64m /tmp/two
$ fallocate -l 64m /tmp/three
$ sudo zpool create test raidz /tmp/one /tmp/two /tmp/three
$ sudo zpool status test
  pool: test
 state: ONLINE
  scan: none requested
config:

    NAME            STATE     READ WRITE CKSUM
    test            ONLINE       0     0     0
      raidz1-0      ONLINE       0     0     0
        /tmp/one    ONLINE       0     0     0
        /tmp/two    ONLINE       0     0     0
        /tmp/three  ONLINE       0     0     0

errors: No known data errors

para aumentar o tamanho do pool, digamos que eu tenha um conjunto de cinco outros discos - e eu queria dividir os dois:

$ fallocate -l 64m four
$ fallocate -l 64m five
$ fallocate -l 64m six
$ fallocate -l 64m seven
$ fallocate -l 64m eight
$ sudo zpool add test raidz /tmp/four /tmp/five /tmp/six /tmp/seven /tmp/eight
invalid vdev specification
use '-f' to override the following errors:
mismatched replication level: pool uses 3-way raidz and new vdev uses 5-way raidz

hmm ... então eu posso forçá-lo com -f :

$ sudo zpool add -f test raidz /tmp/four /tmp/five /tmp/six /tmp/seven /tmp/eight
$ sudo zpool status test
  pool: test
 state: ONLINE
  scan: none requested
config:

    NAME            STATE     READ WRITE CKSUM
    test            ONLINE       0     0     0
      raidz1-0      ONLINE       0     0     0
        /tmp/one    ONLINE       0     0     0
        /tmp/two    ONLINE       0     0     0
        /tmp/three  ONLINE       0     0     0
      raidz1-1      ONLINE       0     0     0
        /tmp/four   ONLINE       0     0     0
        /tmp/five   ONLINE       0     0     0
        /tmp/six    ONLINE       0     0     0
        /tmp/seven  ONLINE       0     0     0
        /tmp/eight  ONLINE       0     0     0

e tudo "parece" bom ...

Por que preciso forçar isso? que problemas posso encontrar usando isso em produção?

    
por yee379 12.07.2013 / 11:24

1 resposta

1

O motivo pelo qual o zfs não quer que você faça isso, é que ele não poderá usar todo o espaço no vdef maior.

Além disso, ao compor os dois vdevs, a redundância não será a mesma em todos os dados do conjunto, o que é uma má ideia em qualquer caso.

Em outro nível, NUNCA use configurações que sejam ativamente desencorajadas com algo como armazenamento. Como os "efeitos colaterais ruins" só podem aparecer quando você está em produção, e então toda a ajuda que você terá é. Envie / receba seus dados para um pool configurado corretamente.

    
por 09.02.2015 / 08:26

Tags