Proxmox vRack 1 vRack 1.5 en equipos Infraestructura

Ovh Proxmox vRack

Uno de los quebraderos de cabeza más habituales para un administrador de sistemas que trabaje con OVH, es que sus manuales son ciertamente deficitarios, lo que complica mucho el trabajo, y requiere de buenas dosis de paciencia y trabajo, para localizar la configuración adecuada. El soporte jamás te ayudará, y se limitará a enviarte al manual, que muchas veces será incorrecto por ausencia o por error tipográfico, o por obsolescencia.

En el caso que nos ocupa, y como ocurrió con el manual de Proxmox para las versiones del vrack 1, los manuales de OVH no sirven de mucho salvo de guía antes de realizar los trabajos necesarios para hacerlo funcionar.

Configuración de la red para vRack Proxmox 3.x

Configurar un equipo Proxmox 3 Infraestructura con vRack 1 y vRack 1.5

En nuestro caso, desechamos el enrutamiento IPv6 porque de momento no queremos incorporarlo. Tampoco usamos, IP internas para que se comuniquen los equipos, pues trabajamos con KVM, en determinado modo, y no nos es de utilidad. Los cambios para añadir estas configuraciones adicionales, son menores, una vez que los interfaces están arrancados en modo IPv4

Es posible configurar un servidor con:

  • una o más IP privadas
  • una o más IP públicas
  • IP de ambos tipos.

Para la guía utilizamos la siguiente convención:

IPSERVER: La IP del servidor XXX.XXX.XXX
IPSERVERBLOC: El bloque de red la IP del servidor XXX.XXX.XXX.0/24
IPSERVERGW: La IP del gateway del servidor XXX.XXX.XXX.254
IPSERVERBC: La IP de broadcast del servidor XXX.XXX.XXX.255

IPVRACK: Una IP de uno de los rangos asignados al vRack, y que asignaremos al puente vmbr
IPVRACKBLOC: El bloque IP de la IP que hemos asignado en IPVRACK
IPVRACKNET: IP de definición de la red asignada al IPVRACK (la primera IP del bloque)
IPVRACKMASK: Máscara de red de la IPVRACK
IPVRACKGW: El gateway de la IP que hemos asignado en IPVRACK (la penúltima IP del bloque)
IPSERVERBC: La IP de broadcast de la iP asignada en IPVRACK (la última IP del bloque)

Bloques IP de OVH
En los bloques de IP de OVH hay tres IP que no son utilizables. La primera que corresponde con la IP del bloque IP/Clase, la penúltima que es la IP del gateway de esa red, y la última que es la IP de broadcast de esa red.

Configuración de la red Proxmox 3

Para el escenario nuestro, queremos trabajar con MV con KVM con rangos de IP asignadas al vRack 1, y otras al vRack 1.5 coexistiendo varios rangos de IP, y los dos tipos de vrack.

Como los equipos tienen dos interfaces, la principal esta asignada a la IP pública, y la secundaria es la que esta enlazada al vrack, configuraremos los equipos para esta estructura.

Para ello configuraremos la tarjeta eth0 como la IP pública, para no perder así la monitorización de OVH, y configuraremos el puente vmbr0 con una IP de un rango asignado al vRack.

Editaremos el fichero /etc/networking/interfaces

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# for Routing
auto vmbr1
iface vmbr1 inet manual
	post-up /etc/pve/kvm-networking.sh
	bridge_ports dummy0
	bridge_stp off
	bridge_fd 0
# Asignamos el vmbr0 a la tarjeta eth1 y por tanto a una IP delvRack
# vmbr0: Bridging. Make sure to use only MAC adresses that were assigned to you.
auto vmbr0
iface vmbr0 inet static
	address IPVRACK
	netmask IPVRACKMASK
	network IPVRACKNET
	broadcast IPVRACKBC
	gateway IPVRACKGW
	bridge_ports eth1
	bridge_stp off
	bridge_fd 0
# eth0 asignada a la iP del servidor
auto eth0
iface eth0 inet static
    address IPSERVER     
    netmask IPSERVERMASK 
    broadcast IPSERVERBC
    #Configuramos las rutas
    up /sbin/ip route flush table 80
    up /sbin/ip route add table 80 to IPSERVERBLOC dev eth0
    up /sbin/ip route add table 80 to default via IPSERVERGW dev eth0
    up /sbin/ip rule add from IPSERVERBLOC table 80 priority 80
    up /sbin/ip route flush cache
    post-down /sbin/ip route flush table 80

Enrutamientos estáticos

Con las peculiaridades de esta configuración, y de los servicios que presta OVH como los discos NAS-HA o los servidores de Backup, puede ser necesario el fijar las rutas a estos servicios, en una u otra interface, con el fin de aprovechar mejor la existencia de las dos interfaces de red.

Inutilidad
Que cosa dejar una tarjeta de 10Gbs sólo para la monitorización (?)

Crearemos un fichero de rutas estáticas en /etc/network/if-up.d/static-routes

#!/bin/sh
# Ruta estatica a la red de NAS de OVH por la tarjeta eth0
route add -net 10.0.0.0 netmask 255.0.0.0 gw IPSERVERGW dev eth0
# Ruta estatica a un equipo de backup por la tarjeta eth0. El equipo puede tener incluso una Ip 
# del VRACK. Con esta ruta forzaremos el trafico por la eth0 hacia esa IP
route add -net IPSERVIDORBACKUP netmask 255.255.255.255 gw IPSERVERGW dev eth0
Backup, siempre backup
Se recomienda guardar los ficheros de configuración originales de OVH en nuestra máquina por si por error, no funcionara y tuvieramos que acceder via rescue system, y restaurar la configuración de red.

Enlaces relacionados


Imagen Freepik Design by StartLine

Comparte este artículo

Artículo Antiguo
Este artículo tiene más de 2 años. Es muy probable que su contenido este anticuado, aunque pueda ser de utilidad, es conveniente que revises otras informaciones al respecto. Si lo encuentras útil o crees que puede ser actualizado, deja tu comentario con la actualización para poder editarlo y que pueda ser útil a los demás.

Comparte este articulo en

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax