ProHoster > Blog > administración > Creación de infraestructura de TI tolerante a fallos. Parte 1: preparación para implementar un clúster oVirt 4.3
Creación de infraestructura de TI tolerante a fallos. Parte 1: preparación para implementar un clúster oVirt 4.3
Se invita a los lectores a familiarizarse con los principios de la construcción de una infraestructura tolerante a fallas para una pequeña empresa dentro de un solo centro de datos, que se analizará en detalle en una breve serie de artículos.
Prólogo
debajo centro de datos (Centro de Proceso de Datos) puede entenderse como:
propio rack en su propia "sala de servidores" en el territorio de la empresa, que cumple con los requisitos mínimos para proporcionar equipos de energía y refrigeración, y también tiene acceso a Internet a través de dos proveedores independientes;
un rack alquilado con su propio equipo, ubicado en un centro de datos real, el llamado. una colocación de Nivel III o IV que garantiza energía confiable, enfriamiento y acceso a Internet de conmutación por error;
equipo totalmente alquilado en un centro de datos de nivel III o IV.
Qué opción de alojamiento elegir: en cada caso, todo es individual y, por lo general, depende de varios factores principales:
¿Por qué una empresa necesita su propia infraestructura de TI?
qué quiere exactamente la empresa de la infraestructura de TI (confiabilidad, escalabilidad, manejabilidad, etc.);
el monto de la inversión inicial en infraestructura de TI, así como el tipo de costos para ello: capital (lo que significa comprar su propio equipo) u operación (el equipo generalmente se alquila);
el horizonte de planificación de la propia empresa.
Puede escribir mucho sobre los factores que influyen en la decisión de una empresa de crear y utilizar su infraestructura de TI, pero nuestro objetivo es mostrar en la práctica cómo crear esta misma infraestructura para que sea tolerante a fallas y aún pueda ahorrar: reducir el costo de adquirir software comercial, o evitarlos por completo.
Como muestra la práctica prolongada, no vale la pena ahorrar en hierro, ya que el avaro paga el doble e incluso mucho más. Pero nuevamente: buen hardware, esto es solo una recomendación y, al final, qué comprar exactamente y por cuánto depende de las capacidades de la empresa y la "codicia" de su administración. Además, la palabra "avaricia" debe entenderse en el buen sentido de la palabra, ya que es mejor invertir en hardware en la etapa inicial, para que luego no tenga problemas serios con su posterior soporte y escalado, ya que inicialmente incorrecto la planificación y los ahorros excesivos pueden conducir a costos más altos que al iniciar un proyecto.
Entonces, los datos iniciales para el proyecto:
hay una empresa que ha decidido crear su propio portal web y llevar sus actividades a Internet;
la empresa decidió alquilar un rack para acomodar sus equipos en un buen centro de datos certificado según el estándar Tier III;
la empresa decidió no ahorrar mucho en hardware y, por lo tanto, compró los siguientes equipos con garantías extendidas y soporte:
Lista de equipo
dos servidores físicos Dell PowerEdge R640 de la siguiente manera:
dos procesadores Intel Xeon Gold 5120
512 Gb RAM
dos discos SAS en RAID1, para la instalación del sistema operativo
tarjeta de red de 4 puertos 1G incorporada
dos tarjetas de red de 2G de 10 puertos
un FC HBA 2G de 16 puertos.
Almacenamiento de 2 controladores Dell MD3820f conectado a través de FC 16G directamente a hosts Dell;
dos interruptores del segundo nivel - Cisco WS-C2960RX-48FPS-L apilados;
dos conmutadores de tercer nivel: Cisco WS-C3850-24T-E, combinados en una pila;
Rack, UPS, PDU, servidores de consola: proporcionados por el centro de datos.
Como podemos ver, el equipo existente tiene buenas perspectivas de escalamiento horizontal y vertical, si la empresa puede competir con otras empresas de un perfil similar en Internet y comienza a obtener una ganancia que puede invertirse en la expansión de recursos para una mayor competencia y crecimiento de las ganancias
Qué equipos podemos agregar si la empresa decide aumentar el rendimiento de nuestro clúster de cómputo:
tenemos una gran reserva en cuanto a la cantidad de puertos en los conmutadores 2960X, lo que significa que podemos agregar más servidores de hardware;
compre dos conmutadores FC para conectarles sistemas de almacenamiento y servidores adicionales;
los servidores existentes se pueden actualizar: agregue memoria, reemplace los procesadores por otros más eficientes, conéctese a una red 10G con los adaptadores de red existentes;
puede agregar estantes de discos adicionales al sistema de almacenamiento con el tipo de discos requerido: SAS, SATA o SSD, según la carga planificada;
después de agregar conmutadores FC, puede comprar otro sistema de almacenamiento para agregar aún más capacidad de disco y, si compra una opción especial de replicación remota, puede configurar la replicación de datos entre sistemas de almacenamiento dentro de los límites de un centro de datos y entre centros de datos (pero esto ya está más allá del alcance del artículo);
también hay conmutadores de tercer nivel: Cisco 3850, que se puede usar como un núcleo de red tolerante a fallas para el enrutamiento de alta velocidad entre redes internas. Esto ayudará mucho en el futuro, a medida que crezca la infraestructura interna. El 3850 también tiene puertos 10G que se pueden usar más tarde al actualizar el equipo de red a una velocidad de 10G.
Dado que ahora no hay ningún lugar sin virtualización, seguramente estaremos en tendencia, especialmente porque esta es una excelente manera de reducir el costo de adquirir servidores costosos para elementos de infraestructura individuales (servidores web, bases de datos, etc.), que no siempre son óptimos. utilizado en caso de poca carga, y esto es exactamente lo que será al comienzo del lanzamiento del proyecto.
Además, la virtualización tiene otras muchas ventajas que nos pueden ser de gran utilidad: Tolerancia a fallos de la VM ante un fallo del servidor hardware, Migración en vivo entre nodos hardware del clúster para su mantenimiento, distribución de carga manual o automática entre nodos del clúster, etc.
Para el hardware adquirido por la empresa, la implementación de un clúster VMware vSphere de alta disponibilidad se sugiere por sí misma, pero dado que cualquier software de VMware es conocido por sus etiquetas de precio de "caballo", utilizaremos un software de administración de virtualización absolutamente gratuito: oVirt, sobre la base de la cual se crea un producto conocido, pero ya comercial: RHEV.
Software oVirt necesario combinar todos los elementos de la infraestructura en un todo para poder trabajar convenientemente con máquinas virtuales de alta disponibilidad: estas son bases de datos, aplicaciones web, servidores proxy, balanceadores, servidores para recopilar registros y análisis, etc., es decir , en que consiste el portal web de nuestra empresa.
Resumiendo esta introducción, nos esperan los siguientes artículos, que mostrarán en la práctica exactamente cómo implementar toda la infraestructura de hardware y software de una empresa:
Lista de artículos
1 Part. Preparación para implementar un clúster oVirt 4.3.
2 Part. Instalación y configuración de un clúster oVirt 4.3.
3 Part. Configuración de un clúster de VyOS, organización de enrutamiento externo tolerante a fallas.
4 Part. Configuración de la pila Cisco 3850, organización del enrutamiento de la intranet.
Parte 1. Preparación para implementar un clúster oVirt 4.3
Configuración básica del anfitrión
Instalar y configurar el sistema operativo es el paso más fácil. Hay muchos artículos sobre cómo instalar y configurar correctamente el sistema operativo, por lo que no tiene sentido intentar dar algo exclusivo sobre esto.
Entonces, tenemos dos hosts Dell PowerEdge R640 en los que necesitamos instalar el sistema operativo y realizar configuraciones preliminares para usarlos como hipervisores para ejecutar máquinas virtuales en un clúster oVirt 4.3.
Dado que planeamos usar el software gratuito no comercial oVirt, elegimos el sistema operativo para implementar hosts 7.7 CentOS, aunque es posible instalar otros sistemas operativos en hosts para oVirt:
una compilación especial basada en RHEL, la llamada. oNodo virtual;
SO Oracle Linux Verano 2019 fue anunciado sobre mantener oVirt ejecutándose en él.
Antes de instalar el SO, se recomienda:
configurar la interfaz de red de iDRAC en ambos hosts;
actualizar el firmware para BIOS e iDRAC a las últimas versiones;
configurar el perfil del sistema del servidor, preferiblemente en modo de rendimiento;
configure RAID desde discos locales (se recomienda RAID1) para instalar el 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 normal, no hay momentos especiales en él. También puede acceder a la consola del servidor para iniciar la instalación del sistema operativo a través de iDRAC, aunque nada le impide conectar un monitor, un teclado y un mouse directamente al servidor e instalar el sistema operativo desde una unidad flash.
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
Para la configuración inicial del sistema operativo, debe configurar cualquier interfaz de red en el servidor para que pueda acceder a Internet para actualizar el sistema operativo e instalar los paquetes de software necesarios. Esto se puede hacer tanto durante el proceso de instalación del sistema operativo como después.
Todas las configuraciones anteriores y el conjunto de software son una cuestión de preferencia personal, y este conjunto es solo una recomendación.
Dado que nuestro host desempeñará el papel de un hipervisor, habilitaremos el perfil de rendimiento deseado:
systemctl enable tuned
systemctl start tuned
systemctl status tuned
tuned-adm profile
tuned-adm profile virtual-host
Puede leer más sobre el perfil de rendimiento aquí:Capítulo 4«.
Después de instalar el sistema operativo, pasamos a la siguiente parte: configurar las interfaces de red en los hosts y una pila de conmutadores Cisco 2960X.
Configuración de una pila de conmutadores Cisco 2960X
En nuestro proyecto, se utilizarán los siguientes números de VLAN, o dominios de transmisión aislados entre sí, para 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 máquinas virtuales VLAN 33 – red de interconexión (a contratistas externos) VLAN 34 – Red de prueba de VM VLAN 35 – Red de desarrolladores de máquinas virtuales VLAN 40 – red de vigilancia
Antes de comenzar a trabajar, demos un diagrama en el nivel L2, al que eventualmente deberíamos llegar:
Para la interacción de red de los hosts oVirt y las máquinas virtuales entre sí, así como para administrar nuestro sistema de almacenamiento, es necesario configurar una pila de switches Cisco 2960X.
Los hosts Dell tienen tarjetas de red de 4 puertos integradas, por lo tanto, se recomienda organizar su conexión al Cisco 2960X mediante una conexión de red tolerante a fallas, mediante la agrupación de puertos de red físicos en una interfaz lógica y el LACP (802.3 anuncio) protocolo:
los dos primeros puertos del host están configurados en modo de vinculación y conectados al conmutador 2960X: esta interfaz lógica se configurará puente con una dirección para administración de host, monitoreo, 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 dos segundos puertos del host también se configuran en modo de vinculación y se conectan al 2960X; en esta interfaz lógica mediante oVirt, se crearán puentes más adelante (en las VLAN correspondientes) a los que se conectarán las máquinas virtuales.
ambos puertos de red dentro de la misma interfaz lógica estarán activos, es decir, el tráfico en ellos puede transmitirse simultáneamente, en el modo de equilibrio.
la configuración de red en los nodos del clúster debe ser exactamente la misma, a excepción de las direcciones IP.
Configuración básica de la pila de conmutadores 2960X y sus puertos
conectado por dos cables especiales de la longitud requerida, por ejemplo, CAB-STK-E-1M;
conectado a la fuente de alimentación;
conectado a la estación de trabajo del administrador a través del puerto de la consola para su configuración inicial.
La orientación necesaria para ello está disponible en pagina oficial fabricante
Después de completar los pasos anteriores, configuramos los interruptores.
No se supone que lo que significa cada comando se descifre en el marco de este artículo; si es necesario, toda la información se puede encontrar de forma independiente.
Nuestro objetivo es configurar rápidamente una pila de conmutadores y conectarle hosts e interfaces de administración de almacenamiento.
1) Nos conectamos al interruptor maestro, vamos al modo privilegiado, luego vamos al modo de configuración y hacemos los ajustes básicos.
Configuración básica del interruptor:
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
Guarde la configuración con el comando "mem" y reinicie la pila de interruptores con el comando "recargar» en el interruptor principal 1.
2) Configuramos los puertos de red del switch en el modo de acceso (access) en la VLAN 17, para conectar las interfaces de control de los sistemas de almacenamiento y servidores iDRAC.
3) Después de recargar la pila, compruebe que funciona correctamente:
Comprobación del funcionamiento de la pila:
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.ХХХХ
Mac persistency wait time: Indefinite
H/W Current
Switch# Role Mac Address Priority Version State
----------------------------------------------------------
*1 Master 0cd0.f8e4.ХХХХ 15 4 Ready
2 Member 0029.c251.ХХХХ 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 a la pila 2960X
Para administrar la pila de forma remota a través de SSH, usaremos la IP 172.20.1.10 configurada en SVI (interfaz virtual del conmutador) VLAN17.
Si bien es deseable utilizar un puerto exclusivo dedicado en el conmutador con fines de administración, esto es una cuestión de preferencia y oportunidad personal.
Configuración del acceso SSH a la pila 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
Configure una contraseña para ingresar al modo privilegiado:
enable secret *myenablepassword*
service password-encryption
Configurar 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) Configure las interfaces lógicas de Etherchannel y los puertos físicos conectados a los hosts. Para facilitar la configuración, se permitirán todas las VLAN disponibles en todas las interfaces lógicas, pero generalmente se recomienda configurar solo lo que se necesita:
Después de completar la configuración en la pila 2960X y hosts, reinicie la red en los hosts y verifique la operatividad de la interfaz lógica.
en el anfitrión:
systemctl restart network
cat /proc/net/bonding/bond1
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
Bonding Mode: IEEE 802.3ad Dynamic link aggregation
Transmit Hash Policy: layer2+3 (2)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
...
802.3ad info
LACP rate: fast
Min links: 0
Aggregator selection policy (ad_select): stable
System priority: 65535
...
Slave Interface: em2
MII Status: up
Speed: 1000 Mbps
Duplex: full
...
Slave Interface: em3
MII Status: up
Speed: 1000 Mbps
Duplex: full
en la pila de interruptores 2960X:
2960X#show lacp internal
Flags: S - Device is requesting Slow LACPDUs
F - Device is requesting Fast LACPDUs
A - Device is in Active mode P - Device is in Passive mode
Channel group 1
LACP port Admin Oper Port Port
Port Flags State Priority Key Key Number State
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 - down P - bundled in port-channel
I - stand-alone s - suspended
H - Hot-standby (LACP only)
R - Layer3 S - Layer2
U - in use N - not in use, no aggregation
f - failed to allocate aggregator
M - not in use, minimum links not met
m - not in use, port not aggregated due to minimum links not met
u - unsuitable for bundling
w - waiting to be aggregated
d - default port
A - formed by Auto LAG
Number of channel-groups in use: 11
Number of aggregators: 11
Group Port-channel Protocol Ports
------+-------------+-----------+-----------------------------------------------
1 Po1(SU) LACP Gi1/0/1(P) Gi2/0/1(P)
Configuración inicial de interfaces de red para administrar recursos de clúster, en hosts Host1 и Host2
Configuración de la interfaz lógica BOND1 para la gestión en hosts y sus interfaces físicas:
Reiniciamos la red en los hosts y verificamos su visibilidad entre ellos.
Esto completa la configuración de la pila de switches Cisco 2960X y, si todo se hizo correctamente, ahora tenemos conectividad de red de todos los elementos de la infraestructura entre sí en el nivel L2.
Configuración de almacenamiento Dell MD3820f
Antes de comenzar a trabajar en la configuración del sistema de almacenamiento, ya debe estar conectado a la pila de conmutadores de Cisco 2960X interfaces de gestión, así como a hosts Host1 и Host2 a través de FC.
El esquema general de cómo se debe conectar el sistema de almacenamiento a la pila de switches se proporcionó en el capítulo anterior.
El esquema para conectar el almacenamiento a través de FC a los hosts debería verse así:
Durante la conexión, es necesario anotar las direcciones WWPN para los hosts FC HBA conectados a los puertos FC en el sistema de almacenamiento; esto será necesario para la configuración posterior del enlace del host a los LUN en el sistema de almacenamiento.
En la estación de trabajo del administrador, descargue e instale la utilidad de administración de almacenamiento Dell MD3820f: Administrador de almacenamiento en disco modular PowerVault (MDSM).
Nos conectamos a ella a través de sus direcciones IP predeterminadas y luego configuramos nuestras direcciones desde VLAN17, para gestionar los controladores a través de TCP/IP:
Storage1:
ControllerA IP - 172.20.1.13, MASK - 255.255.255.0, Gateway - 172.20.1.2
ControllerB IP - 172.20.1.14, MASK - 255.255.255.0, Gateway - 172.20.1.2
Después de configurar las direcciones, vamos a la interfaz de administración de almacenamiento y configuramos una contraseña, configuramos la hora, actualizamos el firmware para controladores y discos, si es necesario, etc.
Cómo se hace esto se describe en guía de administración almacenamiento.
Después de realizar los ajustes anteriores, solo tenemos que hacer algunas cosas:
Configure los ID de puerto FC del host: Identificadores de puerto de host.
Crear un grupo de acogida − grupo anfitrión y agréguele nuestros dos hosts Dell.
Cree un grupo de discos y discos virtuales (o LUN) en él, que se presentarán a los hosts.
Configure la presentación de discos virtuales (o LUN) para hosts.
La adición de nuevos hosts y los identificadores de enlace de los puertos FC del host se realizan a través del menú: Asignaciones de host -> Definición -> Hospedadores…
Las direcciones WWPN de los hosts FC HBA se pueden encontrar, por ejemplo, en el servidor iDRAC.
Como resultado, deberíamos obtener algo como esta imagen:
Agregar un nuevo grupo de hosts y vincular hosts a él se realiza a través del menú: Asignaciones de host -> Definición -> Grupo anfitrión…
Para hosts, seleccione el tipo de sistema operativo: Linux (DM-MP).
Después de crear un grupo anfitrión, a través de la pestaña Servicios de almacenamiento y copia, crea un grupo de discos - Grupo de discos, con un tipo según los requisitos de tolerancia a fallas, por ejemplo, RAID10, y en él discos virtuales del tamaño requerido:
Y finalmente, la etapa final es la presentación de discos virtuales (o LUN) para hosts.
Para hacer esto, a través del menú - Asignaciones de host -> mapeo de lun -> Añadir ... vinculamos discos virtuales a hosts asignándoles números.
Todo debería verse como esta captura de pantalla:
Aquí es donde terminamos con la configuración del almacenamiento y, si todo se hizo correctamente, los hosts deberían ver los LUN presentados a través de sus FC HBA.
Obliguemos al sistema a actualizar la información sobre las unidades conectadas:
ls -la /sys/class/scsi_host/
echo "- - -" > /sys/class/scsi_host/host[0-9]/scan
Veamos qué dispositivos están visibles en nuestros servidores:
En los hosts, también puede configurar adicionalmente trayectoria múltiple, y aunque puede hacerlo él mismo al instalar oVirt, es mejor comprobar previamente la corrección del MP.
Como puede ver, los tres discos virtuales en el sistema de almacenamiento son visibles de dos maneras. Por lo tanto, se completó todo el trabajo preparatorio, lo que significa que puede continuar con la parte principal: configurar el clúster oVirt, que se analizará en el próximo artículo.