¿Cómo utilizar iSCSI MPIO para aumentar el ancho de banda con XenServer?

¿Cómo utilizar iSCSI MPIO para aumentar el ancho de banda con XenServer?

Tengo un servidor FreeNAS con cuatro interfaces de red. El tráfico iSCSI pasa por dos de esas interfaces y cada interfaz tiene una dirección IP en una subred diferente. Como ejemplo:

igb0: 192.168.10.1/24 igb1: 192.168.11.1/24

Hay tres hosts XenServer con una sola interfaz dedicada al tráfico iSCSI. Entonces, en el esquema hay dos interfaces en el almacenamiento y tres en total en los hosts.

Mi plan era lograr una conexión de hasta 2 Gbit con los hosts, limitada a 1 Gbit por host.

El problema comienza con las diferentes subredes. No sé cómo poner dos direcciones IP diferentes en la misma interfaz de red en los hosts de XenServer. XenCenter simplemente no me deja hacer esto. Otra idea fue aislar este tipo de tráfico con diferentes VLAN. Está bien, pero esto tampoco parece funcionar.

EDITAR: Desafortunadamente, LACP no funciona como se esperaba, hay más información en los documentos de FreeNAS: "LACP y otras formas de agregación de enlaces generalmente no funcionan bien con soluciones de virtualización. En un entorno virtualizado, considere el uso de iSCSI MPIO mediante la creación de un portal iSCSI. Esto permite que un iniciador iSCSI reconozca múltiples enlaces a un destino, utilizándolos para aumentar el ancho de banda o la redundancia. Este procedimiento contiene instrucciones para configurar MPIO en ESXi.

Es por eso que estoy intentando configurar MPIO incluso con VLAN y hacks para lograr los 2 Gbit/s para el almacenamiento.

Respuesta1

Si cada host solo tiene una interfaz para iSCSI, entonces no podrá usar MPIO con la configuración que describió aquí. Sin embargo, debería poder configurar el sistema FreeNAS para utilizar Link Aggregation (LACP), de modo que pueda dar servicio a dos hosts simultáneamente cada uno a 1 Gb (para un total de 2 Gb del FreeNAS). En lugar de MPIO, busque LACP (u obtenga una segunda NIC para cada host).

EDITAR: La razón por la que generalmente no se recomienda LACP para la virtualización es porque no hace lo que la gente espera. Por lo general, esperan que al colocar dos NIC en un host y dos NIC en el almacenamiento, puedan duplicar el ancho de banda del almacenamiento para una sola VM (o incluso desde varias VM en ese único host). No funciona de esa manera, pero MPIO, cuando se configura correctamente, sí.Sin embargo, esto claramente no es lo que estás tratando de hacer. Si leí correctamente su pregunta original, tiene dos NIC de 1 Gb en la caja de almacenamiento y una NIC de 1 Gb en cada uno de los hosts XenServer (al menos para almacenamiento; ignoremos la otra conectividad de red por el momento). Lo que quieres es que cada uno de los hosts pueda saturar su conexión a la caja de almacenamiento simultáneamente.LACP en la caja de almacenamiento es exactamente la solución correcta aquí(no es necesario LACP en los hosts de XenServer, ya que solo tienen una NIC cada uno).

Si realmente insiste en que esto funcione con MPIO, se puede hacer, pero sería un truco terrible y sucio. Básicamente, tendrías que configurar cada uno de los hosts con una NIC ficticia en elotrored de almacenamiento, luego indique a XenServer que use las dos NIC en una configuración MPIO. XenCenter ciertamente no te permitirá configurarlo de esa manera, por lo que tendrás que hackearlo desde la línea de comando. No te voy a decir cómo hacer eso, porque es elequivocadocosas que hacer. Probablemente se romperá cuando realice cambios en la configuración y es casi seguro que se romperá cuando actualice XenServer.

Confíe en la comunidad: configure LACP solo en el cuadro de almacenamiento y obtendrá lo que desea aquí. Si necesita una configuración análoga para tranquilizarse, considérelo como instalar una NIC de 2 Gb en la caja FreeNAS. (Por supuesto, dicho esto, la otra solución es agregar una NIC de 10 Gb en la caja FreeNAS y conectarla a un puerto de 10 Gb en el conmutador al que están conectados los hosts, pero supongo que su conmutador no tiene un puerto de 10 Gb.)

Respuesta2

Utilice LACP para NFS. Utilice MPIO para iSCSI.

Si los hosts de su hipervisor no tienen redundancia de interfaz de almacenamiento,eso esdónde debes centrar tu atención; Sin trucos, sin tonterías. Agregue una NIC adicional a sus hosts y configure MPIO.

Respuesta3

LACP

La vinculación de enlaces ocurre en la capa Ethernet (L2), no en la capa IP (L3). El protocolo LACP implica un hash que puede ser un hash L2, un hash L3 o incluso un hash L4 (es decir, buscar los números de puerto TCP/UDP) y este hash (por diseño) evita que una sola sesión abarque más de una única interfaz física. Por lo tanto, una única sesión iSCSI para un objetivo a través de LACP solo le brindará la velocidad de una interfaz, en el mejor de los casos.

MPIO

Es posible abrir varias sesiones entre un único iniciador y un único destino en una dirección IP determinada, y si esto viaja a través de una conexión vinculada LACP, hay razones por las que es posible que desee hacerlo. Lamentablemente, no todas las combinaciones de iniciador y objetivo admitirán esto. En mis pruebas con Citrix XenServer 6.2 (el instalador que se puede descargar gratuitamente, no cualquier versión mejorada), mi observación fue que cuando Multipath IO está habilitado, abre exactamente una sesión para cada dirección IP que puede encontrar. Por lo tanto, si desea múltiples rutas, necesita configurar múltiples direcciones IP en múltiples interfaces.

Las versiones más nuevas de Linux open-iscsi tienen la característica adicional, por lo que supongo que Xenserver también la obtendrá en algún momento.

información relacionada