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.