ZFS e SAN - práticas recomendadas?

16

A maioria das discussões sobre o ZFS sugere que o RAID do hardware seja desativado e que o ZFS fale diretamente com os discos e gerencie o RAID no host (em vez do controlador RAID).

Isso faz sentido em um computador com 2 a 16 ou mais discos locais, mas e em um ambiente com uma grande SAN?

Por exemplo, a empresa em que trabalho tem o que consideraria uma SAN de tamanho modesto, com 2 racks completos de discos, o que equivale a 400 eixos. Vi prateleiras de SAN muito mais densas que as nossas e implementações de SAN muito maiores que as nossas.

As pessoas expõem 100 discos diretamente a grandes servidores ZFS? 300 discos? 3000 discos? As ferramentas de gerenciamento da SAN facilitam o gerenciamento automatizado desse tipo de coisa?

chris
fonte

Respostas:

5

FWIW Tenho experiência com até 92 discos em um único pool ZFS e, até agora, funciona bem.

Mas se você realmente estiver falando de várias centenas de discos, consideraria particioná- los em um pequeno número de conjuntos disjuntos (mas ainda grandes). Eu não quero saber quanto tempo, por exemplo, zpool scrubé executado em um conjunto de discos de 3000 (mas você deseja fazer a limpeza regularmente). Além disso, a saída de comandos como zpool statusseria difícil com um número tão grande de discos. Então, por que colocar todos os ovos em uma única cesta?

(Nota lateral sobre desduplicação : observe que, embora a desduplicação possa ser controlada no nível do conjunto de dados, ela encontrará duplicatas no nível do pool. Ou seja, você provavelmente obterá piores resultados de desduplicação se estiver particionando conforme sugerido. Por outro lado, precisa de muito mais memória para armazenar os hashes de desduplicação de um único pool gigante que talvez não se encaixem no ARC + L2ARC se o pool for muito grande.Portanto, se você estiver usando dedução, a quantidade de memória disponível provavelmente será um bom indicador do tamanho máximo prático do pool .)

Knweiss
fonte
11
+1 concorda. Você não precisa colocar todos os discos em um pool muito grande.
PiL
Eu estava pensando ... algum san (o mais comum da hp, ibm, emc e assim por diante) expõe todos os discos diretamente às caixas? Ou você deve (até onde eu vi) criar luns e associá-los a servidores? Ou, como Chris pretende, é mais como um DAS?
PIL
Observe que o suporte da Sun / Oracle recomenda que a desduplicação seja desativada, mesmo em sua própria série de produtos OpenStorage, pois o desempenho é bastante drástico.
pfo
3

Deixamos nossas SANs gerenciarem o RAID. Por que gastar dinheiro com toda a NVRAM suportada por bateria e com esses processadores dedicados e depois descarregar o trabalho no servidor, cujas CPUs quero fazer algo diferente de somas de verificação RAID?

Rodger
fonte
11
Eu acho que esse enigma é conhecido como "a roda da reencarnação", onde há um ciclo constante entre descarregar tarefas para uma CPU especializada e depois revertê-las para a CPU à medida que a CPU de uso geral fica mais rápida do que as CPUs especializadas.
28410 chris
2

É uma pergunta antiga, mas é apenas relevante hoje, como era há 7 anos!

Para responder à primeira parte da pergunta, não sei o que chamaríamos de "SAN" que exporia os discos brutos a um servidor que pudesse executar o ZFS. Uma SAN, por definição, apenas apresenta armazenamento de bloco (LUNs) ou talvez com algo como um Filer / FS apresente um NFS ou CIFS. Existem algumas "SANs" que realmente executam o ZFS internamente, mas isso é amplamente abstraído - os discos nunca são expostos a um servidor; em vez disso, o componente "Filer" da SAN apresenta sistemas de arquivos de rede ou de bloco aos servidores.

Um dispositivo que apresenta os discos brutos (sobre SAS ou menos provável sobre FC) é um DAS. Para executar o ZFS, normalmente você estaria dizendo ao controlador RAID para apresentar os discos como um JBOD.

No entanto, você deve usar o ZFS em um LUN apresentado por uma SAN? Possivelmente: o ZFS vs, por exemplo, o EXT4, fornece alguns recursos extras, como scrubs que verificam somas de verificação ou para a execução de snapshots. Provavelmente, uma limpeza não pode reparar automaticamente da mesma maneira que pode, se estiver executando o RAID do disco, mas ainda pode alertá-lo sobre a corrupção, ajudando a evitar o bitrot. Os instantâneos que você pode criar, por exemplo, em um servidor de arquivos Linux SAMBA são muito superiores ao que você pode fazer com o EXT; eles podem até ser expostos no Windows como "Versões Anteriores).

Jon Rhoades
fonte
1

Se você não fornecer dados redundantes do ZFS para trabalhar (por exemplo, espelhos, RAID-Z), perderá muitos dos benefícios de usá-lo. O número de discos envolvidos não mudará esse fato. No entanto, se isso realmente importa depende do seu ambiente. Você precisa determinar quais recursos de armazenamento você precisa (uma análise potencialmente trabalhosa) e depois procurar a solução mais barata (que você pode pagar) que atenda às suas necessidades. Isso pode significar o uso do ZFS em todos os lugares, juntamente com dispositivos de armazenamento especializados da Oracle (algumas pessoas fazem isso e têm muitos discos expostos ao ZFS sem problemas e usam as ferramentas da Oracle para gerenciar), pode significar o uso apenas de produtos SAN corporativos ou o uso de algum híbrido (nesse caso, você provavelmente precisará desenvolver algumas ferramentas e processos por conta própria para gerenciar o ambiente). Don '

Tekhne
fonte