Como usar o iSCSI MPIO para aumentar a largura de banda com o XenServer?

2

Eu tenho um servidor FreeNAS com quatro interfaces de rede. O tráfego iSCSI passa por duas dessas interfaces e cada interface tem um endereço IP em uma sub-rede diferente. Como exemplo:

igb0: 192.168.10.1/24 igb1: 192.168.11.1/24

Existem três hosts XenServer com apenas uma interface dedicada ao tráfego iSCSI. Então, no esquema são duas interfaces no armazenamento e três como o total nos hosts.

Meu plano era conseguir uma conexão de até 2Gbit com os hosts, limitado a 1Gbit por host.

O problema começa com as diferentes sub-redes. Eu não sei como colocar dois endereços IP diferentes na mesma interface de rede nos hosts XenServer. O XenCenter simplesmente não me deixa fazer isso. Outra ideia era isolar esse tipo de tráfego com diferentes VLANs. Tudo bem, mas isso também não parece funcionar.

EDITAR: Infelizmente o LACP não funciona como esperado, há mais informações sobre documentos do FreeNAS: "O LACP e outras formas de agregação de link geralmente não funcionam bem com soluções de virtualização. Em um ambiente virtualizado, considere o uso do iSCSI MPIO através da criação de um Portal iSCSI. Isso permite que um iniciador iSCSI reconheça vários links para um destino, utilizando para maior largura de banda ou redundância. Este tutorial contém instruções para configurar o MPIO no ESXi. "

É por isso que estou tentando configurar o MPIO mesmo com VLANs e hacks para alcançar os 2Gbit / s para o armazenamento.

    
por Vinícius Ferrão 06.04.2014 / 17:15

3 respostas

12

Se cada host tiver apenas uma interface para iSCSI, você não poderá usar o MPIO com a configuração descrita aqui. No entanto, você deve ser capaz de configurar o sistema FreeNAS para usar Agregação de Link (LACP), para que você possa atender dois hosts simultaneamente a cada 1 Gb (para um total de 2 Gb a partir do FreeNAS). Em vez do MPIO, procure no LACP (ou obtenha um segundo NIC para cada host).

EDIT: O motivo pelo qual o LACP geralmente não é recomendado para virtualização é porque ele não faz o que as pessoas esperam. Eles geralmente esperam que colocando dois NICs em um host e dois NICs no armazenamento, eles podem dobrar a largura de banda para o armazenamento de uma única VM (ou mesmo de várias VMs nesse host). Não funciona assim, mas o MPIO, quando configurado corretamente, funciona. No entanto, , isso claramente não é o que você está tentando fazer. Se eu leio sua pergunta original corretamente, você tem duas placas de rede de 1 Gb na caixa de armazenamento e uma placa de rede de 1 Gb em cada um dos hosts do XenServer (para armazenamento, pelo menos - vamos ignorar a conectividade da rede no momento). O que você deseja é que cada um dos hosts possa saturar sua conexão com a caixa de armazenamento simultaneamente. O LACP na caixa de armazenamento é exatamente a solução correta aqui (não há necessidade de LACP nos hosts XenServer, já que eles têm apenas um NIC cada).

Se você está realmente insistindo em fazer este trabalho com o MPIO, isso pode ser feito, mas seria um truque sujo e sujo. Você basicamente teria que configurar cada um dos hosts com um NIC fictício na rede de armazenamento outro e, em seguida, dizer ao XenServer para usar os dois NICs em uma configuração MPIO. O XenCenter certamente não permitirá que você o configure dessa maneira, então você teria que cortá-lo da linha de comando. Não vou lhe dizer como fazer isso, porque é a coisa errada a ser feita. Ele provavelmente quebraria quando você fizer qualquer alteração na configuração e quase certamente quebraria quando você atualizasse o XenServer.

Confie na comunidade: configure o LACP somente na caixa Armazenamento e você terá o que deseja aqui. Se você precisar de uma configuração análoga para resolver sua mente, pense nela como instalando uma NIC de 2 Gb na caixa FreeNAS. (Claro que, com isso dito, a outra solução é adicionar um NIC 10Gb na caixa FreeNAS e conectá-lo a uma porta de 10 Gb no switch ao qual os hosts estão conectados, mas eu acho que o seu switch não tem uma porta de 10 Gb.)

    
por 06.04.2014 / 18:58
13

Use o LACP para NFS. Use o MPIO para iSCSI.

Se os hosts do hipervisor não tiverem redundância na interface de armazenamento, é onde você deve focar sua atenção; sem hacks, sem besteira. Adicione uma NIC adicional aos seus hosts e configure o MPIO.

    
por 07.04.2014 / 18:56
2

LACP

Link bonding ocorre na camada Ethernet (L2) e não na camada IP (L3). O protocolo LACP envolve um hash que pode ser um hash L2, um hash L3 ou um hash L4 (ou seja, procurando números de porta TCP / UDP) e esse hash (por design) impede uma única sessão abrangendo mais de uma única interface física. Assim, uma única sessão iSCSI para um alvo no LACP só lhe dará a velocidade de uma interface, na melhor das hipóteses.

MPIO

É possível abrir várias sessões entre um único iniciador e um único destino em um determinado endereço IP, e se isso acontecer através de uma conexão vinculada do LACP, há razões pelas quais você pode querer. Infelizmente, nem todas as combinações de iniciador e alvo suportarão isso. Nos meus testes com o Citrix XenServer 6.2 (o instalador que pode ser baixado gratuitamente, não qualquer versão aprimorada), minha observação é que quando o Multipath IO está habilitado, ele abre exatamente uma sessão para cada endereço IP que pode encontrar. Portanto, se você quiser vários caminhos, precisará configurar vários endereços IP em várias interfaces.

As versões mais recentes do Linux open-iscsi têm o recurso extra, então eu diria que o Xenserver também obterá isso em algum momento.

    
por 16.06.2014 / 07:27