Solaris ZFS Mirroring - as diferentes larguras de faixa são válidas?

0

Encontrei muitos artigos sobre como usar o espelhamento do ZFS com discos de tamanhos diferentes e parece ser possível criar um espelho usando discos maiores. É possível consolidar uma faixa em discos maiores, mas menos deles usando o espelhamento?

Atualmente, temos 8 LUNs de 200 GB em uma matriz DMX2000 antiga

  NAME                                     STATE     READ WRITE CKSUM
    pool1                                   ONLINE       0     0     0
      disk1                                 ONLINE       0     0     0
      disk2                                 ONLINE       0     0     0
      disk3                                 ONLINE       0     0     0
      disk4                                 ONLINE       0     0     0
      disk5                                 ONLINE       0     0     0
      disk6                                 ONLINE       0     0     0
      disk7                                 ONLINE       0     0     0
      disk8                                 ONLINE       0     0     0

Eu sei que poderíamos mover isso facilmente para o nosso novo array VMAX usando os seguintes comandos

zpool attach pool1 disk9 disk10 disk11 disk12 disk13 disk14 disk15 disk16

zpool detach pool1 disk1 disk2 disk3 disk4 disk5 disk6 disk7 disk8

No entanto, queremos consolidar isso em LUNs de 2x800 GB

Podemos fazer isso com:

zpool attach pool1 disk9 disk10

em que disk9 e disk10 são > 800 GB

zpool detach pool1 disk1 disk2 disk3 disk4 disk5 disk6 disk7 disk8

Fiz consildação semelhante com o Veritas Volume Manager e o Solaris Volume Manager, mas nunca com o ZFS. É possível?

TIA

    
por banjo67xxx 02.02.2015 / 11:42

1 resposta

0

Finalmente encontrei um sistema de desenvolvimento para testes e percebo que não entendi a estrutura de um pool.

É estritamente RAID 1 + 0 ish, e nunca pode ser RAID 0 + 1, que é o que você precisa para relayout.

O pool primeiro é dividido em uma distribuição / concat e, em seguida, cada coluna pode ser espelhada.

e.g. here is a 4-column stripe where the 2nd column is a normal mirror and the last column is a 4-way mirror

    POOLA                                        ONLINE       0     0     0
      c4t600A0B8000481D2400003BC54CE157B4d0s0    ONLINE       0     0     0
      mirror-1                                   ONLINE       0     0     0
        c4t600A0B8000481D2400003BC54CE157B4d0s1  ONLINE       0     0     0
        c4t600A0B8000481D2400003BC34CE15760d0s1  ONLINE       0     0     0
      c4t600A0B8000481D2400003BC54CE157B4d0s2    ONLINE       0     0     0
      mirror-3                                   ONLINE       0     0     0
        c4t600A0B8000481D2400003BC34CE15760d0s3  ONLINE       0     0     0
        c4t600A0B8000481D2400003BC54CE157B4d0s3  ONLINE       0     0     0
        c4t600A0B8000481D2400003BC34CE15760d0s2  ONLINE       0     0     0
        c4t600A0B8000481D2400003BC34CE15760d0s0  ONLINE       0     0     0

O comando add * adicionará apenas mais colunas. Eles podem ser colunas simples ou espelhadas.

O comando attach adicionará espelhos às colunas.

O comando detach remove os espelhos das colunas.

O comando remove não pode remover uma coluna.

* Os comandos add / remove também operam no cache, log, etc.

A sintaxe sugerida acima está completamente errada, já que o anexo só aceita um nome do componente a ser espelhado e um componente para espelhá-lo. A única maneira de conseguir o que eu quero seria criar um novo pool e enviar / receber os dados para ele.

    
por 03.02.2015 / 14:01