NetApp: configurando interfaces de red en trunk + vif (virtual interface)

NetAppEn esta entrada vamos a configurar las interfaces de red de una cabina NetApp, en este caso las dos interfaces de red de una controladora, y configurarlas en modo trunk estableciendo una interfaz virtual (vif – virtual interface) con su correspondiente IP. Hablando en términos muy claros, vamos a hacer que las dos interfaces de red trabajen como si fueran una bajo una IP virtual.

Primer paso, crear el trunk

La base con la que vamos a trabajar es la siguiente, dos interfaces de red: ns0 y ns1 sin configurar + la interfaz loopback que en este caso no vamos a tocar:

NetApp01> ifconfig -a
ns0: flags=0x2408866<BROADCAST,RUNNING,MULTICAST> mtu 1500
ether 00:50:56:03:f4:7e (auto-100tx-fd-cfg_down)
ns1: flags=0x2408866<BROADCAST,RUNNING,MULTICAST> mtu 1500
ether 00:50:56:04:f4:7e (auto-100tx-fd-cfg_down)
lo: flags=0x1948049<UP,LOOPBACK,RUNNING,MULTICAST,TCPCKSUM> mtu 9188
inet 127.0.0.1 netmask-or-prefix 0xff000000 broadcast 127.0.0.1

Lo primero es crear el trunk entre las interfaces de red ns0 y ns1. Todo se hace en el momento que se declara la interfaz virtual, llamada en este caso vif01:

NetApp01> vif create multi vif01 -b mac ns0 ns1

Observamos el resultado y efectivamente se ha creado un trunk entre ambas interfaces y asignado contra la interfaz virtual vif01 que ya aparece:

NetApp01> ifconfig -a
ns0: flags=0xa408866 mtu 1500
	ether 02:50:56:03:f4:7e (auto-100tx-fd-cfg_down)
	trunked vif01
ns1: flags=0xa408866 mtu 1500
	ether 02:50:56:03:f4:7e (auto-100tx-fd-cfg_down)
	trunked vif01
lo: flags=0x1948049 mtu 9188
	inet 127.0.0.1 netmask-or-prefix 0xff000000 broadcast 127.0.0.1
vif01: flags=0x22408862 mtu 1500
	ether 02:50:56:03:f4:7e (Disabled virtual interface)

La sintaxis de vif es la siguiente:

vif create [single|multi|lacp] <nombre_interfaz> -b [rr|mac|ip|port] [<listado_interfaces>]

El nombre_interfaz en este caso es vif01 y el listado de interfaces las dos disponibles, ns0 y ns1. Hemos elegido el modo multi para la creación del trunk, el que elijáis dependerá de la configuración de red y switches en la que se encuentre la cabina y factores de requerimientos. En este caso se presupone que el switch soporta la configuración y conseguimos que ambas bocas de red trabajen a la vez. Con el parámetro -b podemos especificar el modo en el que el filer gestionará el balanceo de carga (modos multi-mode y lacp), por IP, por MAC o por Round Robin.

Segundo paso, asignar una IP a vif01

Ahora que ya tenemos el trunk y la interfaz virtual configurada únicamente nos falta asignarle una IP, máscara, puerta de enlace, etc como haríamos en cualquier servidor Linux normal, mediante el comando ifconfig:

NetApp01> ifconfig vif01 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255 mediatype auto

Nota: si tuvieramos la cabina configurada como cluster deberíamos especificar el partner de la controladora en este punto añadiendo partner vif01, donde vif01 es el identificador de la interfaz de la otra controladora del cluster.

Hemos asignado la IP 192.168.1.100 con su correspondiente máscara de red y broadcast, etc. Automáticamente debería levantar la interfaz y tener conexión:

NetApp01> ifconfig -a
ns0: flags=0xac48867 mtu 1500
	ether 02:50:56:03:f4:7e (auto-100tx-fd-up)
	trunked vif01
ns1: flags=0xac48867 mtu 1500
	ether 02:50:56:03:f4:7e (auto-100tx-fd-up)
	trunked vif01
lo: flags=0x1948049 mtu 9188
	inet 127.0.0.1 netmask-or-prefix 0xff000000 broadcast 127.0.0.1
vif01: flags=0x22c48863 mtu 1500
	inet 192.168.1.100 netmask-or-prefix 0xffffff00 broadcast 192.168.1.255
	ether 02:50:56:03:f4:7e (Enabled virtual interface)

Ahora toca añadir la puerta de enlace en caso de necesitarlo y hacer la comprobación de que la conectividad es la correcta:

NetApp01> route add default  192.168.1.1 10
add net default: gateway 192.168.1.1
NetApp01> routed on
NetApp01> ping 192.168.1.1
192.168.1.1 is alive
NetApp01> ping 8.8.8.8
8.8.8.8 is alive

Para levantar/tumbar la interfaz de red es tan sencillo como:

NetApp01> ifconfig vif01 up
NetApp01> ifconfig vif01 down

Guardar cambios tras reiniciar la cabina

Todo lo que hemos hecho se perderá si no guardamos los cambios. Para ello tenemos que editar el fichero /etc/rc y añadir ahí los comandos para que se ejecuten en el arranque. Tened cuidado porque habrá otras configuraciones y podéis perderlas si no lo editáis bien.

El primero paso es copiar lo que tiene actualmente, lo haremos con el comando rdfile:

NetApp01> rdfile /etc/rc
#Auto-generated by setup Fri Jul  8 21:03:59 GMT 2011
hostname NetApp01
options dns.enable off
options nis.enable off

Una vez copiado lo que haya (seguro que hay más que en lo que he pegado) tendréis que escribir de nuevo el fichero, se hace con wrfile:

NetApp01> wrfile /etc/rc

Cuando lo ejecutéis tendréis que pegar el nuevo contenido y cuando hayáis terminado presionar CTRL + C:

#Auto-generated by setup Fri Jul  8 21:03:59 GMT 2011
hostname NetApp01
vif create multi vif01 -b mac ns0 ns1
vif create multi vif01 -b mac
ifconfig vif01 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255 mediatype auto
route add default 192.168.1.1 1
routed on
options dns.enable off
options nis.enable off

Y ya está. Tras el reinicio los cambios persistirán. Recordad que los propietarios de cabinas NetApp tenéis a vuestra disposición el simulador de Data Ontap para hacer todas las pruebas que estiméis necesarias.