ZFS no topo do iSCSI

4

Estou planejando criar um servidor de arquivos usando ZFS e BSD, e esperava torná-lo mais expansível conectando unidades armazenadas em outras máquinas no mesmo rack via iSCSI (por exemplo, uma máquina está executando o ZFS e outros têm alvos iSCSI disponíveis para serem conectados pela caixa do ZFS e adicionados ao zpools).

O fato de procurar outras pessoas que já tentaram isso me levou a recursos sobre a exposição de compartilhamentos iSCSI sobre o ZFS, mas nada a respeito do contrário. Primeiramente, tenho as seguintes perguntas:

  • O iSCSI é mais rápido do que o gigabit ethernet para esse propósito, ou eu teria que mudar para 10GbE para obter um desempenho decente?
  • O que aconteceria quando uma das máquinas executando destinos iSCSI se desconectasse da rede?
  • Existe uma maneira melhor de fazer isso que eu não sou inteligente o suficiente para ter percebido?

Em termos de capacidade, inicialmente seriam cerca de 10 TB de dados (não representando redundância), e uma meta razoável para o futuro previsível seria dimensionar para 20 TB, portanto, com redundância, provavelmente cerca de 40 a 50 TB de armazenamento total. Se possível, também queremos manter todos os dados criptografados usando GELI.

Obrigado por qualquer ajuda.

    
por Solipsism 28.08.2012 / 05:28

3 respostas

4

Qual é o seu objetivo em termos de capacidade? Isso é definitivamente possível, já que o ZFS poderia ver seus destinos e agregá-los em pools. No entanto, você está deixando uma boa quantidade de desempenho e confiabilidade na tabela.

Minha recomendação para escalonamento (pelo que presumo serem suas necessidades de capacidade) é investir em um gabinete externo de unidades multipath-cabale SAS e em controladores compatíveis com ZFS. Se esta é uma situação em que você precisa mais do que dizer, os 24 TB de armazenamento RAID 1 + 0 utilizável por um compartimento externo preenchido com discos de 2 TB, então você está no reino em que se beneficiaria consultoria especializada em design. Nesse nível, o iSCSI usando discos presentes em outros sistemas não tornará as coisas mais rápidas.

O design iSCSI cairá por motivos de latência, confiabilidade e suporte.

    
por 28.08.2012 / 05:50
3

Quanto à sua pergunta sobre o iSCSI over ethernet, o iSCSI é o protocolo mais rápido que você encontrará. É basicamente o acesso direto ao bloco de disco por um fio. Ele saturará um NIC gigabit decente.

No que diz respeito à perda de alvos na rede, (quase) todas as implementações de alvos iSCSI que eu já vi suportam multipath de alguns tipos. Eu acho que o Open-ietd pode ainda não suportar multipathing. Na pior das hipóteses, você está usando um sistema de arquivos de registro no diário; talvez seja necessário reproduzir o diário quando o alvo voltar a ficar on-line. Eu ainda tenho que corromper um sistema de arquivos sobre o iSCSI de remover um servidor de armazenamento.

    
por 28.08.2012 / 05:35
3

Nota: na verdade, não fiz isso, então tome isso com uma pitada de sal. Eu vi menção a isso ao ler sobre o ZFS, mas não consigo encontrar essas referências agora ...

Você deseja exportar cada disco físico como um LUN separado para que o ZFS tenha total visibilidade do layout físico. Isso é necessário para que ele tome as decisões corretas sobre programação e replicação de E / S.

Is iSCSI over gigabit ethernet fast enough for this purpose, or would I have to switch to 10GbE to get decent performance?

Depende da velocidade dos discos, de quantos discos existem e de qual desempenho você deseja alcançar. Discos de 15k RPM podem transferir até 105MiB / s, que é 840Mbit / s. Acessar mais de um desses discos através de um único link Gigabit saturará o link e tornará sua rede o gargalo. Encontre a velocidade máxima dos discos que você deseja usar, multiplique pelo número de discos e você terá a largura de banda de rede que precisa para suportar isso.

Isso, obviamente, pressupõe que você deseja o máximo desempenho possível do servidor ZFS. Se você tem apenas um punhado de clientes conectados acima de 100Mbit / s, isso não é necessário, então calcule qual é a demanda máxima que você espera. Tenha em mente que a largura de banda para os discos é ligeiramente maior que a largura de banda do cliente se você estiver usando RAIDZ1 / 2/3 e, é claro, se o servidor acessa os discos pelo mesmo NIC que os clientes acessam, essa largura de banda precisa ser compartilhado.

What would happen when one of the machines running iSCSI targets disconnects from the network?

O ZFS veria o disco como indisponível. Se você estiver usando o RAID1 / 2/3, isso não deve interromper o serviço para os clientes. Se você configurou um ZFS de hot spare, ele começará a ressincronizar dados para ele. Quando o alvo iSCSI voltar, o ZFS deverá começar a usá-lo novamente, assumindo que o iniciador reconecta-se automaticamente. (Isso é algo que você deve testar.)

    
por 28.08.2012 / 06:11

Tags