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

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

Tenho um servidor FreeNAS com quatro interfaces de rede. O tráfego iSCSI passa por duas dessas interfaces e cada interface possui 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. Portanto, no esquema há duas interfaces no armazenamento e três no total nos hosts.

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

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

EDIT: Infelizmente o LACP não funciona como esperado, há mais informações nos documentos do FreeNAS: "LACP e outras formas de agregação de links geralmente não funcionam bem com soluções de virtualização. Em um ambiente virtualizado, considere o uso de iSCSI MPIO por meio da criação de um portal iSCSI. Isso permite que um iniciador iSCSI reconheça vários links para um destino, utilizando-os para aumentar a 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 atingir 2 Gbit/s de armazenamento.

Responder1

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 Link Aggregation (LACP), para que possa atender dois hosts simultaneamente, cada um com 1 Gb (para um total de 2 Gb do FreeNAS). Em vez de MPIO, consulte o LACP (ou obtenha uma segunda NIC para cada host).

EDIT: A razão pela qual o LACP geralmente não é recomendado para virtualização é porque ele não faz o que as pessoas esperam. Eles geralmente esperam que, ao colocar duas NICs em um host e duas NICs no armazenamento, possam dobrar a largura de banda do armazenamento para uma única VM (ou até mesmo de várias VMs naquele 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 li sua pergunta original corretamente, você tem duas NICs de 1 Gb na caixa de armazenamento e uma NIC de 1 Gb em cada um dos hosts XenServer (pelo menos para armazenamento - vamos ignorar a outra conectividade de rede por enquanto). O que você deseja é que cada um dos hosts consiga saturar sua conexão com a caixa de armazenamento simultaneamente.LACP na caixa de armazenamento é exatamente a solução correta aqui(não há necessidade de LACP nos hosts XenServer, pois eles possuem apenas uma NIC cada).

Se você realmente insiste em fazer isso funcionar com o MPIO, isso pode ser feito, mas seria um hack terrível e sujo. Você basicamente teria que configurar cada um dos hosts com uma NIC fictícia nooutrorede de armazenamento e diga ao XenServer para usar as duas NICs em uma configuração MPIO. O XenCenter certamente não permitirá que você o configure dessa forma, então você teria que hackeá-lo na linha de comando. Eu não vou te dizer como fazer isso, porque é oerradocoisa para fazer. Provavelmente quebraria quando você fizesse qualquer alteração na configuração e quase certamente quebraria quando você atualizasse o XenServer.

Confie na comunidade: configure o LACP apenas na caixa de armazenamento e você obterá o que deseja aqui. Se você precisar de uma configuração análoga para se acalmar, pense nisso como instalar uma NIC de 2 Gb na caixa FreeNAS. (É claro que, com isso dito, a outra solução é adicionar uma NIC de 10 Gb à caixa FreeNAS e conectá-la a uma porta de 10 Gb no switch ao qual os hosts estão conectados, mas acho que seu switch não tem uma porta de 10 Gb.)

Responder2

Use LACP para NFS. Use MPIO para iSCSI.

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

Responder3

LACP

A ligação do link acontece na camada Ethernet (L2) e não na camada IP (L3). O protocolo LACP envolve um hash que pode ser um hash L2, ou hash L3 ou até mesmo hash L4 (ou seja, olhando para os números de porta TCP/UDP) e esse hash (por design) evita que uma única sessão se estenda por mais de uma única interface física. Assim, uma única sessão iSCSI para um destino no LACP fornecerá apenas a velocidade de uma interface, na melhor das hipóteses.

MPIO

É possível abrir múltiplas sessões entre um único iniciador e um único destino em um determinado endereço IP e, se isso trafegar por uma conexão vinculada LACP, há motivos pelos quais você pode querer fazê-lo. Infelizmente, nem todas as combinações de iniciador e alvo darão suporte a isso. Em meus testes com o Citrix XenServer 6.2 (o instalador que pode ser baixado gratuitamente, não qualquer versão aprimorada), minha observação foi que quando o Multipath IO está ativado, ele abre exatamente uma sessão para cada endereço IP que pode encontrar. Assim, se você quiser vários caminhos, precisará configurar vários endereços IP em várias interfaces.

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

informação relacionada