Recomendações: configurando uma pilha 10GbE NAS para armazenamento de virtualização

7

Eu tentarei fazer o máximo possível para que isso não seja considerado uma lista de compras.

Temos funcionado com sucesso em um ambiente ESXi de desenvolvimento / teste por algum tempo, com alguns servidores Dell PE2950III em um Starter Kit HP MSA2012fc (com o switch HP Classe B SAN baseado em Brocade). Isso funcionou muito bem para nós, mas estando em dev / test, ele vem com várias advertências em relação ao tempo de atividade / desempenho.

Em qualquer caso, o sucesso percebido da plataforma de desenvolvimento / teste levou a uma plataforma de virtualização mais 'pronta para produção'. Estamos elaborando as recomendações no momento.

No entanto, uma das reclamações levantadas na pilha existente é a falta de suporte para outras tecnologias de virtualização (HyperV, Xen, etc), pois os SAN LUNs são totalmente alocados e formatados como VMFS . Isso é algo que nos disseram para superar, mas, como é típico, não há nenhuma indicação da aceitação do HyperV / Xen (e não queremos particularmente desperdiçar o recurso de armazenamento 'caro' alocando LUNs para tal onde não será usado).

Como tal, nossa linha de pensamento atual é abrir mão da tradicional SAN de fibra, em favor de uma caixa CentOS direta (provavelmente HP ProLiant DL380p Gen8 mais avançada), executando daemons NFS e Samba / CIFS, com 10 GbE interruptor (provavelmente Cisco Nexus 5000/5500-series).

O raciocínio é que as cabeças do ESXi poderiam falar sobre o NFS e as cabeças do HyperV poderiam falar sobre o CIFS, mas ambos, em última instância, estavam apontando para os mesmos volumes XFS / RAID1 + 0.

Agora, não sou verde o suficiente para pensar que o 10GbE vai permitir que eu obtenha 10 gigabits de throughput de E / S entre as cabeças e os discos, mas não sei os tipos de overheads que posso esperar para ver as implementações do NFS e do CIFS (e quaisquer outros bits que possam interferir quando mais de um host tentar falar com ele).

Eu estou esperando pelo menos aproximar das velocidades de leitura / gravação em disco dos discos de conexão direta, para tantos hosts quanto eu puder. Analisando vários sites de fabricantes de drives, estou antecipando que isso esteja em algum ponto próximo da marca de 140-160MB / s (se eu estiver longe, por favor me avise).

Quais recomendações / orientações / leituras adicionais alguém pode oferecer com relação à configuração de switch Linux / NFS / Samba ou 10GbE que podem ajudar a alcançar isso?

    
por jimbobmcgee 12.02.2013 / 00:17

3 respostas

9

Eu entendo o desejo de sair do armazenamento em bloco puro para algo mais flexível.

No entanto, eu evitaria usar uma pilha de armazenamento Linux direta para isso quando várias ofertas de software de dispositivo de armazenamento estiverem disponíveis no momento. Uma abordagem do Linux poderia funcionar, mas a falta de recursos de gerenciamento / suporte, o ajuste do XFS necessário ( aqui e aqui ) e o fato de que não é um propósito-construído OS de armazenamento são desvantagens.

Adicione a isso alguns problemas com o mantenedor de código XFS / RHEL e um erro desagradável do kernel que está impactando a média de carregamento do sistema, e a combinação do Linux que você descreve se torna menos atraente.

Um Linux puro poderia ser feito para funcionar bem para este propósito, mas a configuração certamente estaria fora da norma e pode usar soluções esotéricas como ZFS no Linux ou o não-tão-pronto-para-primetime Btrfs . Mais detalhes sobre isso depois.

Eu faço isso com frequência, optando por usar o NFS em armazenamento baseado em ZFS para a maioria das minhas implantações de VMware em comparação com uma SAN de nível de entrada, como o array HP P2000. Aumentei a instalação do ZFS com dispositivos de cache L2ARC (leitura) e ZIL (gravação) SSD e DRAM. Além disso, tenho usado 10GbE com esse tipo de configuração por quatro anos.

Vou me concentrar no NexentaStor no momento, já que é o software de appliance que uso a maior parte do tempo ...

Criei vários sistemas baseados em HP ProLiant para armazenamento ZFS, de hosts VMware all-in-one para armazenamento autônomo DL380 "appliances" para conexões SAS de caminhos múltiplos completos em unidades JBODs de armazenamento em cascata ( front e traseira ).

NexentaStor e NFS / CIFS.

O Nexenta suporta a apresentação de arquivos e bloqueia o armazenamento em sistemas externos. Eu posso ter um pool de 24 discos e fornecer armazenamento iSCSI para hosts que precisam de armazenamento em bloco nativo, NFS para minha infra-estrutura VMware ESXi e CIFS para um punhado de clientes Windows. O espaço é usado de forma eficiente e é esculpido no armazenamento da piscina. Por exemplo. sem tampas artificiais. A compactação é transparente e ajuda tremendamente em cenários de VM (menos para se mover pela rede).

O 10GbE ajuda, mas depende do que você está apresentando aos seus hosts de virtualização. Eles serão 1GbE ou 10GbE também?

Benchmarks:

Eu executarei um teste rápido de uma máquina virtual convidada em execução em um host ESXi conectado via 10GbE a uma SAN NexentaStor.

Isto vai para um array de 6 discos. (em um gabinete HP D2600 - SAS 600k 15k)

[root@Test_VM /data]# iozone -t1 -i0 -i1 -i2 -r1m -s6g 
        Iozone: Performance Test of File I/O

        Run began: Mon Feb 11 18:25:14 2013
        Record Size 1024 KB
        File size set to 6291456 KB
        Command line used: iozone -t1 -i0 -i1 -i2 -r1m -s6g
        Output is in Kbytes/sec

        Children see throughput for  1 initial writers  =  128225.65 KB/sec
        Children see throughput for  1 readers          =  343696.31 KB/sec 
        Children see throughput for 1 random readers    =  239020.91 KB/sec
        Children see throughput for 1 random writers    =  160520.39 KB/sec

Isso vai para um array ocupado de 16 discos (em um gabinete HP D2700 - 300GB 10k SAS).

[root@Test_VM2 /data]# iozone -t1 -i0 -i1 -i2  -r1m -s4g
        Iozone: Performance Test of File I/O

        Run began: Mon Feb 11 16:33:53 2013
        Record Size 1024 KB
        File size set to 4194304 KB
        Command line used: iozone -t1 -i0 -i1 -i2 -r1m -s4g
        Output is in Kbytes/sec

        Children see throughput for  1 initial writers  =  172846.52 KB/sec
        Children see throughput for  1 readers          =  366484.00 KB/sec
        Children see throughput for 1 random readers    =  261205.91 KB/sec
        Children see throughput for 1 random writers    =  152305.39 KB/sec

Os gráficos de E / S da mesma execução ... Kilobytes / segundo e medidas de IOPS.

    
por 12.02.2013 / 00:38
3

Usar um host Linux que fornece armazenamento CIFS para hosts Hyper-V não é razoável e definitivamente não é suportado pela Microsoft. Quando você está falando algo tão importante quanto a virtualização para infraestruturas críticas de negócios, você definitivamente deseja ter suporte de fornecedores.

Você precisará fornecer armazenamento iSCSI ou Fibre Channel mais tradicional aos seus servidores Hyper-V ou, se planejar executar o Windows 2012, poderá usar os serviços de armazenamento do Windows 2012 para fornecer iSCSI aos seus hosts.

Outra possibilidade é executar o Windows 2012 ou algo como a Nexenta como um convidado virtual em sua infra-estrutura VMWare para fornecer iSCSI para seus convidados do Hyper-V. Não é a configuração de maior desempenho, mas também não é ruim. Como sua área de cobertura do Hyper-V é pequena ou inexistente, isso pode ser um bom compromisso para máxima flexibilidade sem um LUN dedicado.

Caso contrário, você precisará de algo que virtualize completamente seus LUNs como uma HP LeftHand SAN. Com LeftHand, os discos não são dedicados a um LUN. Em vez disso, todos os LUNs são distribuídos em todos os discos. Parece um pouco estranho, mas é um bom produto.

    
por 12.02.2013 / 00:39
2

Provavelmente, é parte do meu histórico e experiência falar aqui, mas eu não recomendaria uma solução de servidor caseiro para armazenamento de máquinas virtuais no que poderia ser considerado um ambiente de "produção" ou "empresarial".

Eu estaria analisando os principais fornecedores de armazenamento que poderiam fornecer uma solução SAN, mas com um par de heads NAS de alta disponibilidade para exportar o sistema de arquivos subjacente como NFS / CIFS de uma maneira com suporte e certificável.

    
por 12.02.2013 / 00:41