Creación de infraestructura de TI tolerante a fallos. Parte 1: preparación para el despliegue del clúster oVirt 4.3

Se ofrece a los lectores familiarizarse con los principios de construcción de una infraestructura a prueba de fallos para una pequeña empresa dentro de un solo centro de datos, que se abordará en un breve ciclo de artículos.

Introducción

Por Centro de Datos (Centro de Procesamiento de Datos) se puede entender como:

  • un rack propio en su propia 'sala de servidores' en las instalaciones de la empresa, que cumple con los requisitos mínimos de alimentación eléctrica y refrigeración del equipo, y que también tiene salida a Internet a través de dos proveedores independientes;
  • un rack alquilado con equipo propio, ubicado en un auténtico centro de datos, conocido como colocation, que cumple con los estándares Tier III o IV, en el que se garantiza un suministro eléctrico fiable, refrigeración y se asegura una salida a Internet a prueba de fallos;
  • equipos completamente alquilados en un centro de datos Tier III o IV.

Qué opción de ubicación elegir depende de cada caso individual y generalmente depende de varios factores principales:

  • para qué necesita la empresa su propia infraestructura de TI;
  • qué es lo que la empresa espera de la infraestructura de TI (fiabilidad, escalabilidad, gestionabilidad, etc.);
  • el volumen de la inversión inicial en infraestructura de TI, así como el tipo de gastos relacionados: costos de capital (lo que significa comprar su propio equipo) o costos operativos (el equipo generalmente se alquila);
  • el horizonte de planificación de la propia empresa.

Se puede escribir mucho sobre los factores que influyen en la decisión de la empresa para crear y utilizar su infraestructura de TI, pero nuestro objetivo es mostrar en la práctica cómo crear esta infraestructura para que sea a prueba de fallos y aún así sea posible ahorrar: reducir los costos de adquisición de software comercial o incluso evitarlos por completo.

La experiencia ha demostrado que no vale la pena ahorrar en hardware, ya que el tacaño paga dos veces, y a menudo mucho más. Sin embargo, un buen hardware es solo una recomendación; al final, qué comprar y a qué precio depende de las capacidades de la empresa y de la "tacañería" de su dirección. Cabe entender la palabra "tacañería" en un buen sentido, ya que es preferible invertir en hardware en la etapa inicial, para no tener problemas serios en su posterior mantenimiento y escalabilidad. La planificación incorrecta inicial y el ahorro excesivo pueden llevar en el futuro a mayores gastos que los involucrados al iniciar el proyecto.

Por lo tanto, los datos básicos para el proyecto son:

  • hay una empresa que ha decidido crear su propio portal web y llevar su actividad a Internet;
  • la empresa decidió alquilar un rack para alojar su equipo en un buen centro de datos, certificado según el estándar Tier III;
  • la empresa decidió no escatimar en hardware, por lo que compró el siguiente equipo con garantías y soporte ampliados:

Lista de equipos

  • dos servidores físicos Dell PowerEdge R640 con la siguiente configuración:
  • dos procesadores Intel Xeon Gold 5120
  • 512 Gb de RAM
  • dos discos SAS en RAID1, para instalar el SO
  • tarjeta de red integrada de 4 puertos 1G
  • dos tarjetas de red de 2 puertos 10G
  • un HBA FC de 2 puertos 16G.
  • Sistema de almacenamiento Dell MD3820f con dos controladores, conectada directamente a los hosts Dell a través de FC 16G;
  • dos conmutadores de segundo nivel — Cisco WS-C2960RX-48FPS-L unidos en stack;
  • dos conmutadores de tercer nivel — Cisco WS-C3850-24T-E, unidos en stack;
  • Rack, UPS, PDU, servidores de consola – proporcionados por el centro de datos.

Como podemos ver, el equipo existente tiene buenas perspectivas para escalabilidad horizontal y vertical, en caso de que la empresa pueda competir con otras empresas similares en Internet y comience a generar beneficios que se puedan reinvertir en la expansión de recursos para una mayor competencia y crecimiento de los beneficios.

¿Qué hardware podemos agregar si la empresa decide aumentar la capacidad de nuestro clúster de computación?

  • tenemos un gran margen en cuanto a la cantidad de puertos en los conmutadores 2960X, lo que significa que se pueden agregar más servidores físicos;
  • comprar dos conmutadores FC adicionales para conectar almacenamiento y servidores adicionales;
  • los servidores existentes se pueden actualizar: agregar memoria, reemplazar procesadores por otros más potentes, conectar a la red 10G con los adaptadores de red existentes;
  • se pueden añadir estantes de disco adicionales al almacenamiento con el tipo de discos necesarios: SAS, SATA o SSD, según la carga prevista;
  • después de agregar los conmutadores FC, se puede adquirir otro almacenamiento para aumentar aún más la capacidad de disco, y si se compra la opción especial de Replicación Remota, se podrá configurar la replicación de datos entre sistemas de almacenamiento tanto dentro de un centro de datos como entre centros de datos (pero esto ya queda fuera del alcance de este artículo);
  • también hay conmutadores de capa 3: Cisco 3850, que se pueden utilizar como núcleo de red resiliente para el enrutamiento de alta velocidad entre redes internas. Esto será de gran ayuda a medida que crezca la infraestructura interna. Además, los 3850 tienen puertos de 10G que se pueden activar más adelante, cuando se actualice el equipo de red a velocidades de 10G.

Dado que hoy en día la virtualización es indispensable, seguiremos esta tendencia, especialmente porque es una excelente manera de reducir los costos de adquisición de servidores costosos para componentes individuales de la infraestructura (servidores web, bases de datos, etc.), que no siempre se utilizan de manera óptima en caso de baja carga, que es lo que pasará al inicio del proyecto.

Además, la virtualización tiene muchas otras ventajas que serán de gran utilidad: la resiliencia de las máquinas virtuales ante fallos de servidores físicos, la migración en vivo entre nodos físicos del clúster para su mantenimiento, distribución manual o automática de la carga entre los nodos del clúster, etc.

Para el hardware adquirido por la empresa, se sugiere desplegar un clúster de alta disponibilidad de VMware vSphere, pero como cualquier software de VMware es conocido por sus precios elevados, utilizaremos software de gestión de virtualización absolutamente gratuito - oVirt, sobre el cual se basa un producto conocido, pero ya comercial - RHEV.

Software oVirt es necesario para unir todos los elementos de la infraestructura en un todo, para obtener la posibilidad de trabajar fácilmente con máquinas virtuales de alta disponibilidad: bases de datos, aplicaciones web, servidores proxy, equilibradores de carga, servidores para la recolección de registros y análisis, etc., es decir, lo que compone el portal web de nuestra empresa.

Resumiendo esta introducción, esperamos los siguientes artículos, que mostrarán en la práctica cómo implementar toda la infraestructura de hardware y software de la empresa:

Lista de artículos

  • Parte 1. Preparación para el despliegue del clúster oVirt 4.3.
  • Parte 2. Instalación y configuración del clúster oVirt 4.3.
  • Parte 3. Configuración del clúster VyOS, organización de la enrutación externa de alta disponibilidad.
  • Parte 4. Configuración del stack Cisco 3850, organización de la enrutación interna.

Parte 1. Preparación para el despliegue del clúster oVirt 4.3

Configuración básica de los hosts

La instalación y configuración del sistema operativo es la etapa más fácil. Hay una gran cantidad de artículos sobre cómo instalar y configurar correctamente el sistema operativo, por lo que no tiene sentido intentar ofrecer algo exclusivo al respecto.

Así que tenemos dos hosts Dell PowerEdge R640, en los que es necesario instalar el sistema operativo y realizar configuraciones preliminares, para usarlos como hipervisores para ejecutar máquinas virtuales en el clúster oVirt 4.3.

Dado que planeamos utilizar el software gratuito no comercial oVirt, se eligió el sistema operativo CentOS 7.7, aunque se pueden instalar otros sistemas operativos en los hosts para oVirt:

  • una versión especial basada en RHEL, conocida como oVirt Node;
  • OS Oracle Linux, en verano de 2019. se anunció el soporte para oVirt en él.

Antes de la instalación del sistema operativo, se recomienda:

  • configurar la interfaz de red iDRAC en ambos hosts;
  • actualizar el firmware para BIOS e iDRAC a las versiones más recientes;
  • configurar el perfil del sistema del servidor idealmente en modo Rendimiento;
  • configurar RAID a partir de discos locales (se recomienda RAID1) para la instalación del sistema operativo en el servidor.

Luego, instalamos el sistema operativo en el disco creado anteriormente a través de iDRAC: el proceso de instalación es estándar, no hay aspectos especiales en él. El acceso a la consola del servidor para comenzar la instalación del sistema operativo también se puede obtener a través de iDRAC, aunque nada impide conectar un monitor, un teclado y un ratón directamente al servidor e instalar el sistema operativo desde una "flash drive".

Después de instalar el sistema operativo, realizamos su configuración inicial:

systemctl enable network.service
systemctl start network.service
systemctl status network.service

systemctl stop NetworkManager
systemctl disable NetworkManager
systemctl status NetworkManager

yum install -y ntp
systemctl enable ntpd.service
systemctl start ntpd.service

cat /etc/sysconfig/selinux
SELINUX=disabled
SELINUXTYPE=targeted

cat /etc/security/limits.conf
 *               soft    nofile         65536
 *               hard   nofile         65536

cat /etc/sysctl.conf
vm.max_map_count = 262144
vm.swappiness = 1

Instalamos el conjunto básico de software

Para la configuración inicial del sistema operativo, es necesario configurar cualquier interfaz de red en el servidor para poder acceder a Internet, para actualizar el sistema operativo e instalar los paquetes de software necesarios. Esto se puede hacer durante el proceso de instalación del sistema operativo o después de él.

yum -y install epel-release
yum update
yum -y install bind-utils yum-utils net-tools git htop iotop nmon pciutils sysfsutils sysstat mc nc rsync wget traceroute gzip unzip telnet 

Todas las configuraciones y el conjunto de software mencionados anteriormente son una cuestión de preferencias personales, y este conjunto es solo una recomendación.

Dado que nuestro host desempeñará el papel de hipervisor, habilitaremos el perfil de rendimiento adecuado:

systemctl enable tuned 
systemctl start tuned 
systemctl status tuned 

tuned-adm profile 
tuned-adm profile virtual-host 

Puedes leer más sobre el perfil de rendimiento aquí: «Capítulo 4. tuned y tuned-adm«.

Después de instalar el sistema operativo, pasamos a la siguiente parte: la configuración de las interfaces de red en los hosts y del stack de conmutadores Cisco 2960X.

Configuración del stack de conmutadores Cisco 2960X

En nuestro proyecto, se utilizarán los siguientes números de VLAN, o dominios de difusión, aislados entre sí, con el objetivo de separar diferentes tipos de tráfico:

VLAN 10 – Internet
VLAN 17 – Gestión (iDRAC, almacenamiento, gestión de conmutadores)
VLAN 32 – Red de producción de VM
VLAN 33 – Red de interconexión (a contratistas externos)
VLAN 34 – Red de pruebas de VM
VLAN 35 – Red de desarrolladores de VM
VLAN 40 – Red de monitoreo

Antes de comenzar los trabajos, presentaremos el esquema a nivel L2, al que debemos llegar:

Creación de infraestructura de TI tolerante a fallos. Parte 1: preparación para el despliegue del clúster oVirt 4.3

Para la interacción de red entre los hosts de oVirt y las máquinas virtuales entre sí, así como para gestionar nuestro almacenamiento, es necesaria la configuración del stack de conmutadores Cisco 2960X.

Los hosts Dell tienen tarjetas de red integradas de 4 puertos, por lo tanto, organizar su conexión a Cisco 2960X es conveniente mediante una conexión de red redundante, utilizando agrupación de puertos de red físicos en una interfaz lógica y el protocolo LACP (802.3ad):

  • los primeros dos puertos en el host se configuran en modo bonding y se conectan al conmutador 2960X; en esta interfaz lógica se configurará puente con dirección para gestionar el host, monitorización, comunicación con otros hosts en el clúster oVirt, también se utilizará para la migración en vivo de máquinas virtuales;
  • los otros dos puertos en el host también se configuran en modo de agregación y se conectan al 2960X; en esta interfaz lógica, mediante oVirt, se crearán posteriormente los bridges (en los VLAN correspondientes) a los cuales se conectarán las máquinas virtuales.
  • ambos puertos de red, en el marco de una interfaz lógica, estarán activos, es decir, el tráfico puede transmitirse por ellos simultáneamente, en modo de balanceo.
  • los ajustes de red en los nodos del clúster deben ser absolutamente IGUALES, excepto por las direcciones IP.

Configuración básica del stack de conmutadores 2960X y sus puertos

Previo a esto, nuestros conmutadores deben estar:

  • montados en rack;
  • conectados mediante dos cables especiales de la longitud necesaria, por ejemplo, CAB-STK-E-1M;
  • conectados a la alimentación;
  • conectados a la estación de trabajo del administrador a través del puerto de consola, para su configuración inicial.

La guía necesaria para esto está disponible en la página oficial el fabricante.

Después de realizar las acciones anteriores, procederemos a configurar los conmutadores.
Lo que significa cada comando no se desglosará en este artículo, si es necesario, toda la información se puede encontrar por uno mismo.
Nuestro objetivo es configurar el stack de conmutadores lo más rápido posible y conectar a él los hosts y las interfaces de gestión del SAN.

1) Conéctese al conmutador maestro, ingrese al modo privilegiado, a continuación, acceda al modo de configuración y realice los ajustes básicos.

Configuración básica del conmutador:

 enable
 configure terminal

 hostname 2960X

 no service pad
 service timestamps debug datetime msec
 service timestamps log datetime localtime show-timezone msec
 no service password-encryption
 service sequence-numbers

 switch 1 priority 15
 switch 2 priority 14
 stack-mac persistent timer 0

 clock timezone MSK 3
  vtp mode transparent
  ip subnet-zero

 vlan 17
  name Management

 vlan 32
  name PROD 

 vlan 33
  name Interconnect

 vlan 34
  name Test

 vlan 35
  name Dev

 vlan 40
  name Monitoring

 spanning-tree mode rapid-pvst
 spanning-tree etherchannel guard misconfig
 spanning-tree portfast bpduguard default
 spanning-tree extend system-id
 spanning-tree vlan 1-40 root primary
 spanning-tree loopguard default
 vlan internal allocation policy ascending
 port-channel load-balance src-dst-ip

 errdisable recovery cause loopback
 errdisable recovery cause bpduguard
 errdisable recovery interval 60

line con 0
 session-timeout 60
 exec-timeout 60 0
 logging synchronous
line vty 5 15
 session-timeout 60
 exec-timeout 60 0
 logging synchronous

 ip http server
 ip http secure-server
 no vstack

interface Vlan1
 no ip address
 shutdown

 exit 

Guardamos la configuración con el comando «wr mem» y reiniciamos el stack de conmutadores con el comando «reload» en el conmutador principal switch 1.

2) Configuramos los puertos de red del conmutador en modo acceso (access) en VLAN 17, para la conexión de las interfaces de gestión de los sistemas de almacenamiento y de los servidores iDRAC.

Configuración de los puertos de gestión:

interface GigabitEthernet1/0/5
 description iDRAC - host1
 switchport access vlan 17
 switchport mode access
 spanning-tree portfast edge

interface GigabitEthernet1/0/6
 description Storage1 - Cntr0/Eth0
 switchport access vlan 17
 switchport mode access
 spanning-tree portfast edge

interface GigabitEthernet2/0/5
 description iDRAC - host2
 switchport access vlan 17
 switchport mode access
 spanning-tree portfast edge

interface GigabitEthernet2/0/6
 description Storage1 – Cntr1/Eth0
 switchport access vlan 17
 switchport mode access
 spanning-tree portfast edge
 exit

3) Después de reiniciar el stack, verificamos que esté funcionando correctamente:

Verificación del funcionamiento del stack:

2960X#show switch stack-ring speed

Stack Ring Speed        : 20G
Stack Ring Configuration: Full
Stack Ring Protocol     : FlexStack

2960X#show switch stack-ports
  Switch #    Port 1       Port 2
  --------    ------       ------
    1           Ok           Ok
    2           Ok           Ok

2960X#show switch neighbors
  Switch #    Port 1       Port 2
  --------    ------       ------
      1         2             2
      2         1             1

2960X#show switch detail
Switch/Stack Mac Address : 0cd0.f8e4.XXXX
Mac persistency wait time: Indefinite
                                           H/W   Current
Switch#  Role   Mac Address     Priority Version  State
----------------------------------------------------------
*1       Master 0cd0.f8e4.XXXX    15     4       Ready
 2       Member 0029.c251.XXXX     14     4       Ready

         Stack Port Status             Neighbors
Switch#  Port 1     Port 2           Port 1   Port 2
--------------------------------------------------------
  1        Ok         Ok                2        2
  2        Ok         Ok                1        1

4) Configuración del acceso SSH al stack 2960X

Para la gestión remota del stack a través de SSH, utilizaremos la IP 172.20.1.10, configurada en el SVI (interfaz virtual del conmutador) VLAN17.

Aunque para fines de gestión es preferible utilizar un puerto dedicado en el conmutador, esto es una cuestión de preferencias personales y disponibilidad.

Configuración del acceso SSH al stack de conmutadores:

ip default-gateway 172.20.1.2

interface vlan 17
 ip address 172.20.1.10 255.255.255.0

hostname 2960X
 ip domain-name hw.home-lab.ru
 no ip domain-lookup

clock set 12:47:04 06 Dec 2019

crypto key generate rsa

ip ssh version 2
ip ssh time-out 90

line vty 0 4
 session-timeout 60
 exec-timeout 60 0
 privilege level 15
 logging synchronous
 transport input ssh

line vty 5 15
 session-timeout 60
 exec-timeout 60 0
 privilege level 15
 logging synchronous
 transport input ssh

aaa new-model
aaa authentication login default local 
username cisco privilege 15 secret my_ssh_password

Configuramos la contraseña para acceder al modo privilegiado:

enable secret *myenablepassword*
service password-encryption

Configuramos NTP:

ntp server 85.21.78.8 prefer
ntp server 89.221.207.113
ntp server 185.22.60.71
ntp server 192.36.143.130
ntp server 185.209.85.222

show ntp status
show ntp associations
show clock detail

5) Configuramos las interfaces lógicas de EtherChannel y los puertos físicos conectados a los hosts. Para simplificar la configuración, todas las VLAN existentes estarán permitidas en todas las interfaces lógicas, pero generalmente se recomienda configurar solo lo que se necesita:

Configuración de las interfaces de EtherChannel:

interface Port-channel1
 description EtherChannel con Host1-management
 switchport trunk allowed vlan 10,17,30-40
 switchport mode trunk
 spanning-tree portfast edge trunk

interface Port-channel2
 description EtherChannel con Host2-management
 switchport trunk allowed vlan 10,17,30-40
 switchport mode trunk
 spanning-tree portfast edge trunk

interface Port-channel3
 description EtherChannel con Host1-VM
 switchport trunk allowed vlan 10,17,30-40
 switchport mode trunk
 spanning-tree portfast edge trunk

interface Port-channel4
 description EtherChannel con Host2-VM
 switchport trunk allowed vlan 10,17,30-40
 switchport mode trunk
 spanning-tree portfast edge trunk

interface GigabitEthernet1/0/1
 description Host1-management
 switchport trunk allowed vlan 10,17,30-40
 switchport mode trunk
 channel-protocol lacp
 channel-group 1 mode active

interface GigabitEthernet1/0/2
 description Host2-management
  switchport trunk allowed vlan 10,17,30-40
 switchport mode trunk
 channel-protocol lacp
 channel-group 2 mode active

interface GigabitEthernet1/0/3
 description Host1-VM
  switchport trunk allowed vlan 10,17,30-40
 switchport mode trunk
 channel-protocol lacp
 channel-group 3 mode active

interface GigabitEthernet1/0/4
 description Host2-VM
 switchport trunk allowed vlan 10,17,30-40
 switchport mode trunk
 channel-protocol lacp
 channel-group 4 mode active

interface GigabitEthernet2/0/1
 description Host1-management
 switchport trunk allowed vlan 10,17,30-40
 switchport mode trunk
 channel-protocol lacp
 channel-group 1 mode active

interface GigabitEthernet2/0/2
 description Host2-management
  switchport trunk allowed vlan 10,17,30-40
 switchport mode trunk
 channel-protocol lacp
 channel-group 2 mode active

interface GigabitEthernet2/0/3
 description Host1-VM
  switchport trunk allowed vlan 10,17,30-40
 switchport mode trunk
 channel-protocol lacp
 channel-group 3 mode active

interface GigabitEthernet2/0/4
 description Host2-VM
 switchport trunk allowed vlan 10,17,30-40
 switchport mode trunk
 channel-protocol lacp
 channel-group 4 mode active

Configuración inicial de las interfaces de red para máquinas virtuales en los hosts Host1 y Host2

Verificamos la presencia de los módulos necesarios para el funcionamiento del bonding en el sistema, instalamos el módulo para gestionar los puentes:

modinfo bonding
modinfo 8021q
yum install bridge-utils

Configuración del interfaz lógico BOND1 en los hosts para las máquinas virtuales, y sus interfaces físicas:

cat /etc/sysconfig/network-scripts/ifcfg-bond1
#DESCRIPTION - gestión
DEVICE=bond1
NAME=bond1
TYPE=Bond
IPV6INIT=no
ONBOOT=yes
USERCTL=no
NM_CONTROLLED=no
BOOTPROTO=none
BONDING_OPTS='mode=4 lacp_rate=1 xmit_hash_policy=2'

cat /etc/sysconfig/network-scripts/ifcfg-em2
#DESCRIPTION - gestión
DEVICE=em2
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond1
SLAVE=yes
USERCTL=no 
NM_CONTROLLED=no 

cat /etc/sysconfig/network-scripts/ifcfg-em3
#DESCRIPTION - gestión
DEVICE=em3
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond1
SLAVE=yes
USERCTL=no 
NM_CONTROLLED=no 

Después de completar la configuración en la pila 2960X y en los hosts, reiniciamos la red en los hosts y verificamos el funcionamiento de la interfaz lógica.

  • en el host:

systemctl restart network

cat /proc/net/bonding/bond1
Controlador de agrupación de canales Ethernet: v3.7.1 (27 de abril de 2011)

Modo de agrupación: agrupación de enlaces dinámica IEEE 802.3ad
Política de hash de transmisión: layer2+3 (2)
Estado de MII: activo
Intervalo de sondeo de MII (ms): 100
Retraso de subida (ms): 0
Retraso de bajada (ms): 0
...
Información 802.3ad
Tasa de LACP: rápida
Mínimos enlaces: 0
Política de selección de agregadores (ad_select): estable
Prioridad del sistema: 65535
...
Interfaz esclava: em2
Estado de MII: activo
Velocidad: 1000 Mbps
Dúplex: completo
...
Interfaz esclava: em3
Estado de MII: activo
Velocidad: 1000 Mbps
Dúplex: completo

  • en la pila de conmutadores 2960X:

2960X#show lacp internal
Flags:  S - El dispositivo está solicitando LACPDUs lentos
        F - El dispositivo está solicitando LACPDUs rápidas
        A - El dispositivo está en modo activo       P - El dispositivo está en modo pasivo

Grupo de canal 1
                            Puerto LACP     Admin     Oper    Puerto        Puerto
Puerto      Flags   Estado     Prioridad      Clave       Clave     Número      Estado
Gi1/0/1   SA      bndl      32768         0x1       0x1     0x102       0x3D
Gi2/0/1   SA      bndl      32768         0x1       0x1     0x202       0x3D

2960X#sh etherchannel summary
Flags:  D - abajo        P - agrupado en el canal de puerto
        I - independiente s - suspendido
        H - En espera caliente (solo LACP)
        R - Capa3      S - Capa2
        U - en uso      N - no en uso, mínimos enlaces no cumplidos
        f - falló en la asignación de agregador

        M - no en uso, mínimos enlaces no cumplidos
        m - no en uso, puerto no agregado debido a mínimos enlaces no cumplidos
        u - inadecuado para agrupación
        w - esperando ser agregado
        d - puerto por defecto

        A - formado por Auto LAG

Número de grupos de canales en uso: 11
Número de agregadores:           11

Grupo  Canal de puerto  Protocolo    Puertos
------+-------------+-----------+-----------------------------------------------
1      Po1(SU)         LACP      Gi1/0/1(P)  Gi2/0/1(P)

Configuración inicial de las interfaces de red para la gestión de los recursos del clúster, en los hosts Host1 y Host2

Configuración en los hosts de la interfaz lógica BOND1 para la gestión y sus interfaces físicas:

cat /etc/sysconfig/network-scripts/ifcfg-bond0
#DESCRIPCIÓN - gestión
DEVICE=bond0
NAME=bond0
TYPE=Bond
BONDING_MASTER=yes
IPV6INIT=no
ONBOOT=yes
USERCTL=no
NM_CONTROLLED=no
BOOTPROTO=none
BONDING_OPTS='mode=4 lacp_rate=1 xmit_hash_policy=2'

cat /etc/sysconfig/network-scripts/ifcfg-em0
#DESCRIPCIÓN - gestión
DEVICE=em0
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no 
NM_CONTROLLED=no 

cat /etc/sysconfig/network-scripts/ifcfg-em1
#DESCRIPCIÓN - gestión
DEVICE=em1
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no 
NM_CONTROLLED=no 

Después de completar la configuración en la pila 2960X y en los hosts, reiniciamos la red en los hosts y verificamos el funcionamiento de la interfaz lógica.

systemctl restart network
cat /proc/net/bonding/bond1

2960X#show lacp internal
2960X#sh etherchannel summary

Configuramos la interfaz de red de gestión en cada host en VLAN 17, y la vinculamos a la interfaz lógica BOND1:

Configuración de VLAN17 en Host1:

cat /etc/sysconfig/network-scripts/ifcfg-bond1.17
DEVICE=bond1.17
NAME=bond1-vlan17
BOOTPROTO=none
ONBOOT=yes 
USERCTL=no 
NM_CONTROLLED=no 
VLAN=yes
MTU=1500  
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
IPADDR=172.20.17.163
NETMASK=255.255.255.0
GATEWAY=172.20.17.2
DEFROUTE=yes
DNS1=172.20.17.8
DNS2=172.20.17.9
ZONE=public

Configuración de VLAN17 en Host2:

cat /etc/sysconfig/network-scripts/ifcfg-bond1.17
DEVICE=bond1.17
NAME=bond1-vlan17
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
NM_CONTROLLED=no
VLAN=yes
MTU=1500
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
IPADDR=172.20.17.164
NETMASK=255.255.255.0
GATEWAY=172.20.17.2
DEFROUTE=yes
DNS1=172.20.17.8
DNS2=172.20.17.9
ZONE=public

Reiniciamos la red en los hosts y verificamos su visibilidad entre sí.

Con esto, la configuración del stack de conmutadores Cisco 2960X ha terminado, y si todo se ha hecho correctamente, ahora tenemos conectividad de red entre todos los elementos de la infraestructura a nivel L2.

Configuración del almacenamiento Dell MD3820f

Antes de comenzar con la configuración del almacenamiento, debe estar conectada al stack de conmutadores Cisco 2960X interfaces de gestión, así como a los hosts Host1 y Host2 a través de FC.

El esquema general de cómo debe estar conectada el almacenamiento al stack de conmutadores se presentó en el capítulo anterior.

El esquema de conexión del almacenamiento a los hosts a través de FC debe verse así:

Creación de infraestructura de TI tolerante a fallos. Parte 1: preparación para el despliegue del clúster oVirt 4.3

Durante la conexión, es necesario registrar las direcciones WWPN para los hosts FC HBA conectados a los puertos FC en el almacenamiento; esto será necesario para la posterior configuración del enlace de los hosts a los LUN del almacenamiento.

Descargamos e instalamos en la estación de trabajo del administrador la utilidad para gestionar el almacenamiento Dell MD3820f - PowerVault Modular Disk Storage Manager (MDSM).
Nos conectamos a ella a través de sus direcciones IP por defecto y luego configuramos nuestras direcciones de VLAN17, para gestionar los controladores a través de TCP/IP:

Storage1:

ControladorA IP - 172.20.1.13, MÁSCARA - 255.255.255.0, Puerta de enlace - 172.20.1.2
ControladorB IP - 172.20.1.14, MÁSCARA - 255.255.255.0, Puerta de enlace - 172.20.1.2

Después de configurar las direcciones, accedemos a la interfaz de gestión del almacenamiento y establecemos una contraseña, configuramos la hora, actualizamos los firmware para los controladores y discos si es necesario, etc.
Cómo se hace esto se describe en el manual de administración Lista de dispositivos de almacenamiento virtual VSA y simuladores de almacenamiento SAN.

Después de realizar las configuraciones mencionadas, solo necesitamos hacer unas pocas acciones:

  1. Configurar los identificadores de los puertos FC de los hosts - Identificadores de puertos de host.
  2. Crear un grupo de hosts - Grupo de hosts y agregar en él nuestros dos hosts Dell.
  3. Crear un grupo de discos y en él discos virtuales (o LUNs) que serán presentados a los hosts.
  4. Configurar la presentación de discos virtuales (o LUNs) para los hosts.

La adición de nuevos hosts y la asignación de los identificadores de los puertos FC de los hosts se realiza a través del menú - Mapas de Hosts -> Definir -> Hosts…
Las direcciones WWPN de los hosts FC HBA se pueden encontrar, por ejemplo, en iDRAC del servidor.

Como resultado, deberíamos obtener una imagen similar a esta:

Creación de infraestructura de TI tolerante a fallos. Parte 1: preparación para el despliegue del clúster oVirt 4.3

La adición de un nuevo grupo de hosts y la vinculación de hosts a él se realiza a través del menú – Mapas de Hosts -> Definir -> Grupo de Hosts…
Para los hosts, elegimos el tipo de SO – Linux (DM-MP).

Después de crear el grupo de hosts, a través de la pestaña Servicios de Almacenamiento y Copia, creamos un grupo de discos – Grupo de Discos, con un tipo que depende de los requisitos de redundancia, por ejemplo, RAID10, y en él los discos virtuales del tamaño necesario:

Creación de infraestructura de TI tolerante a fallos. Parte 1: preparación para el despliegue del clúster oVirt 4.3

Y finalmente, la etapa final — la presentación de los discos virtuales (o LUNs) para los hosts.
Para ello, a través del menú – Mapas de Hosts -> Mapeo de Lun -> Agregar… vinculamos los discos virtuales a los hosts, asignándoles números.

Todo debería resultar así, como en esta captura de pantalla:

Creación de infraestructura de TI tolerante a fallos. Parte 1: preparación para el despliegue del clúster oVirt 4.3

Con la configuración del almacenamiento completo finalizamos, y si todo se ha hecho correctamente, los hosts deberían ver los LUNs presentados a través de su FC HBA.
Haremos que el sistema actualice la información sobre los discos conectados:

ls -la /sys/class/scsi_host/
echo "- - -" > /sys/class/scsi_host/host[0-9]/scan

Veamos qué dispositivos son visibles en nuestros servidores:

cat /proc/scsi/scsi
Dispositivos conectados:
Host: scsi0 Canal: 02 Id: 00 Lun: 00
  Vendedor: DELL     Modelo: PERC H330 Mini   Rev: 4.29
  Tipo:   Acceso directo                    ANSI revisión SCSI: 05
Host: scsi15 Canal: 00 Id: 00 Lun: 00
  Vendedor: DELL     Modelo: MD38xxf          Rev: 0825
  Tipo:   Acceso directo                    ANSI revisión SCSI: 05
Host: scsi15 Canal: 00 Id: 00 Lun: 01
  Vendedor: DELL     Modelo: MD38xxf          Rev: 0825
  Tipo:   Acceso directo                    ANSI revisión SCSI: 05
Host: scsi15 Canal: 00 Id: 00 Lun: 04
  Vendedor: DELL     Modelo: MD38xxf          Rev: 0825
  Tipo:   Acceso directo                    ANSI revisión SCSI: 05
Host: scsi15 Canal: 00 Id: 00 Lun: 11
  Vendedor: DELL     Modelo: MD38xxf          Rev: 0825
  Tipo:   Acceso directo                    ANSI revisión SCSI: 05
Host: scsi15 Canal: 00 Id: 00 Lun: 31
  Vendedor: DELL     Modelo: Universal Xport  Rev: 0825
  Tipo:   Acceso directo                    ANSI revisión SCSI: 05
Host: scsi18 Canal: 00 Id: 00 Lun: 00
  Vendedor: DELL     Modelo: MD38xxf          Rev: 0825
  Tipo:   Acceso directo                    ANSI revisión SCSI: 05
Host: scsi18 Canal: 00 Id: 00 Lun: 01
  Vendedor: DELL     Modelo: MD38xxf          Rev: 0825
  Tipo:   Acceso directo                    ANSI revisión SCSI: 05
Host: scsi18 Canal: 00 Id: 00 Lun: 04
  Vendedor: DELL     Modelo: MD38xxf          Rev: 0825
  Tipo:   Acceso directo                    ANSI revisión SCSI: 05
Host: scsi18 Canal: 00 Id: 00 Lun: 11
  Vendedor: DELL     Modelo: MD38xxf          Rev: 0825
  Tipo:   Acceso directo                    ANSI revisión SCSI: 05
Host: scsi18 Canal: 00 Id: 00 Lun: 31
  Vendedor: DELL     Modelo: Universal Xport  Rev: 0825
  Tipo:   Acceso directo                    ANSI revisión SCSI: 05

lsscsi
[0:2:0:0]    disco    DELL     PERC H330 Mini   4.29  /dev/sda
[15:0:0:0]   disco    DELL     MD38xxf          0825  -
[15:0:0:1]   disco    DELL     MD38xxf          0825  /dev/sdb
[15:0:0:4]   disco    DELL     MD38xxf          0825  /dev/sdc
[15:0:0:11]  disco    DELL     MD38xxf          0825  /dev/sdd
[15:0:0:31]  disco    DELL     Universal Xport  0825  -
[18:0:0:0]   disco    DELL     MD38xxf          0825  -
[18:0:0:1]   disco    DELL     MD38xxf          0825  /dev/sdi
[18:0:0:4]   disco    DELL     MD38xxf          0825  /dev/sdj
[18:0:0:11]  disco    DELL     MD38xxf          0825  /dev/sdk
[18:0:0:31]  disco    DELL     Universal Xport  0825  -

En los servidores también se puede configurar adicionalmente multipath, y aunque durante la instalación de oVirt puede hacerlo automáticamente, es mejor verificar el funcionamiento de MP por sí mismo con antelación.

Instalación y configuración de DM Multipath

yum install device-mapper-multipath
mpathconf --enable --user_friendly_names y

cat /etc/multipath.conf | egrep -v "^s*(#|$)"
defaults {
    user_friendly_names yes
            find_multipaths yes
}

blacklist {
  wwid 26353900f02796769
  devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"     
  devnode "^hd[a-z]"
 }

Configuramos el servicio MP para que se inicie automáticamente y lo iniciamos:

systemctl enable multipathd && systemctl restart multipathd

Verificación de la información sobre los módulos cargados para el funcionamiento de MP:

lsmod | grep dm_multipath
dm_multipath           27792  6 dm_service_time
dm_mod                124407  139 dm_multipath,dm_log,dm_mirror

modinfo dm_multipath
filename:       /lib/modules/3.10.0-957.12.2.el7.x86_64/kernel/drivers/md/dm-multipath.ko.xz
license:        GPL
author:         Sistina Software 
description:    destino de multipath de device-mapper
retpoline:      Y
rhelversion:    7.6
srcversion:     985A03DCAF053D4910E53EE
depends:        dm-mod
intree:         Y
vermagic:       3.10.0-957.12.2.el7.x86_64 SMP mod_unload modversions
signer:         llave de firma del núcleo de CentOS Linux
sig_key:        A3:2D:39:46:F2:D3:58:EA:52:30:1F:63:37:8A:37:A5:54:03:00:45
sig_hashalgo:   sha256

Revisamos la información resumida sobre la configuración multipath existente:

mpathconf
multipath está habilitado
find_multipaths está deshabilitado
user_friendly_names está deshabilitado
módulo dm_multipath está cargado
multipathd está en funcionamiento

Después de agregar un nuevo LUN en el almacenamiento y presentarlo al host, se debe realizar un escaneo de los HBA conectados al host.

systemctl reload multipathd
multipath -v2

Y por último, comprobamos si todos los LUN han sido presentados en el almacenamiento para los hosts, y si todos tienen dos caminos.

Verificando el funcionamiento de MP:

multipath -ll
3600a098000e4b4b3000003175cec1840 dm-2 DELL    ,MD38xxf
size=2.0T features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 rdac' wp=rw
|-+- policy='service-time 0' prio=14 status=active
| `- 15:0:0:1  sdb 8:16  active ready running
`-+- policy='service-time 0' prio=9 status=enabled
  `- 18:0:0:1  sdi 8:128 active ready running
3600a098000e4b48f000002ab5cec1921 dm-6 DELL    ,MD38xxf
size=10T features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 rdac' wp=rw
|-+- policy='service-time 0' prio=14 status=active
| `- 18:0:0:11 sdk 8:160 active ready running
`-+- policy='service-time 0' prio=9 status=enabled
  `- 15:0:0:11 sdd 8:48  active ready running
3600a098000e4b4b3000003c95d171065 dm-3 DELL    ,MD38xxf
size=150G features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 rdac' wp=rw
|-+- policy='service-time 0' prio=14 status=active
| `- 15:0:0:4  sdc 8:32  active ready running
`-+- policy='service-time 0' prio=9 status=enabled
  `- 18:0:0:4  sdj 8:144 active ready running

Como se puede ver, los tres discos virtuales en el almacenamiento son visibles a través de dos caminos. Así que todo el trabajo preparatorio está completo, y se puede pasar a la parte principal: la configuración del clúster oVirt, que será tratada en el siguiente artículo.

Fuente: habr.com

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster