Criando uma infraestrutura de TI resistente a falhas. Parte 1 — preparação para a implantação do cluster oVirt 4.3

Os leitores são convidados a conhecer os princípios da construção de uma infraestrutura resiliente para pequenas empresas dentro de um único Data Center, que serão detalhados em uma breve série de artigos.

Introdução

Por Data Center (Centro de Processamento de Dados) pode ser entendido como:

  • um rack próprio em sua 'sala de servidores' nas instalações da empresa, que atenda aos requisitos mínimos de fornecimento de energia e refrigeração do equipamento, além de ter acesso à Internet por meio de dois provedores independentes;
  • um rack alugado com equipamentos próprios, localizado em um verdadeiro Data Center – conhecido como colocation, que atende ao padrão Tier III ou IV, e onde é garantido fornecimento de energia confiável, refrigeração e uma conexão resiliente à Internet;
  • equipamentos totalmente alugados em um Data Center Tier III ou IV.

Qual opção de hospedagem escolher – em cada caso é tudo individual, e geralmente depende de vários fatores principais:

  • para que a empresa precisa de sua própria infraestrutura de TI;
  • o que exatamente a empresa deseja da infraestrutura de TI (confiabilidade, escalabilidade, gerenciabilidade etc.);
  • o volume de investimento inicial na infraestrutura de TI, bem como que tipo de custos serão envolvidos – custos de capital (significa que o equipamento é adquirido), ou custos operacionais (o equipamento geralmente é alugado);
  • o horizonte de planejamento da própria empresa.

Sobre os fatores que influenciam a decisão da empresa sobre a criação e uso de sua infraestrutura de TI, pode-se escrever muito, mas nosso objetivo é mostrar na prática como criar essa infraestrutura de maneira que ela seja resiliente e ainda assim economizar – reduzir os custos na aquisição de software comercial, ou até mesmo evitá-los.

Como mostra a longa experiência, economizar em hardware não vale a pena, pois o mão de vaca paga duas vezes, e até mais. Mas, novamente, um bom hardware é apenas uma recomendação, e, no final das contas, o que exatamente comprar e por quanto, depende das possibilidades da empresa e da "cobiça" de sua direção. E é importante entender a palavra "cobiça" de maneira positiva, pois é melhor investir em hardware na fase inicial para evitar problemas sérios com seu suporte e escalonamento futuramente, já que um planejamento incorreto inicial e uma economia excessiva podem resultar em custos muito maiores no futuro do que no lançamento do projeto.

Então, os dados iniciais para o projeto:

  • existe uma empresa que decidiu criar seu próprio portal na web e levar suas atividades para a Internet;
  • a empresa decidiu alugar um rack para posicionar seu equipamento em um bom data center, possuindo certificação no padrão Tier III;
  • a empresa decidiu não economizar muito em hardware, e portanto comprou o seguinte equipamento com garantias e suporte estendidos:

Lista de equipamentos

  • dois servidores físicos Dell PowerEdge R640 com a seguinte configuração:
  • dois processadores Intel Xeon Gold 5120
  • 512 Gb de RAM
  • dois discos SAS em RAID1, para instalação do SO
  • placa de rede integrada de 4 portas 1G
  • duas placas de rede de 2 portas 10G
  • um HBA FC de 2 portas 16G.
  • Uma SAN Dell MD3820f de 2 controladores, conectada diretamente aos hosts Dell via FC 16G;
  • dois switches de camada 2 — Cisco WS-C2960RX-48FPS-L, interconectados em stack;
  • dois switches de camada 3 — Cisco WS-C3850-24T-E, interconectados em stack;
  • Rack, UPS, PDU, servidores de console – fornecidos pelo data center.

Como podemos ver, o equipamento existente tem boas perspectivas para escalonamento horizontal e vertical, caso a empresa consiga competir com outras semelhantes na Internet e comece a gerar lucros que poderão ser reinvestidos na expansão de recursos para competição e aumento de lucros.

Que equipamentos podemos adicionar se a empresa decidir aumentar a performance do nosso cluster de computação:

  • temos uma grande reserva no número de portas nos switches 2960X, o que significa que podemos adicionar mais servidores físicos;
  • adquirir dois switches FC para conectá-los ao armazenamento e servidores adicionais;
  • os servidores existentes podem ser atualizados – adicionar memória, substituir processadores por modelos mais potentes, conectar à rede 10G utilizando adaptadores de rede já existentes;
  • pode-se adicionar prateleiras de discos adicionais ao armazenamento, com o tipo de disco necessário – SAS, SATA ou SSD, dependendo da carga planejada;
  • após a adição dos switches FC, é possível adquirir mais um armazenamento para aumentar a capacidade de disco, e se adquirir a opção especial de Replicação Remota, será possível configurar a replicação de dados entre os armazenamentos, tanto dentro do mesmo data center quanto entre data centers (mas isso já foge do escopo deste artigo);
  • também existem switches de nível 3 – Cisco 3850, que podem ser utilizados como núcleo de rede de alta disponibilidade, para roteamento de alta velocidade entre redes internas. Isso será muito útil à medida que a infraestrutura interna cresça. Além disso, os 3850 têm portas 10G que podem ser utilizadas posteriormente, quando a atualização do equipamento de rede para velocidades de 10G ocorrer.

Dado que agora a virtualização é essencial, nós certamente estaremos na tendência, pois é uma excelente maneira de reduzir os custos com a compra de servidores caros para elementos específicos da infraestrutura (servidores web, bancos de dados etc.), que nem sempre são utilizados de forma otimizada em casos de baixa carga, o que ocorrerá no início do lançamento do projeto.

Além disso, a virtualização possui muitas outras vantagens que podem ser muito úteis: alta disponibilidade das máquinas virtuais em caso de falha do servidor físico, migração ao vivo entre os nós físicos do cluster para manutenção, distribuição manual ou automática de carga entre os nós do cluster, e assim por diante.

Para o hardware adquirido pela empresa, a implantação de um cluster VMware vSphere de alta disponibilidade se apresenta como uma opção, mas dado que qualquer software da VMware é conhecido por seus preços exorbitantes, utilizaremos um software totalmente gratuito para gerenciamento de virtualização – oVirt, que serve de base para a criação de um produto comercial conhecido — RHEV.

Software oVirt é necessário reunir todos os elementos da infraestrutura em um todo, para possibilitar um trabalho eficiente com máquinas virtuais de alta disponibilidade – isso inclui bancos de dados, aplicativos web, servidores proxy, balanceadores, servidores para coleta de logs e análises, etc., ou seja, o que compõe o portal web da nossa empresa.

Resumindo esta introdução, nos aguardam os seguintes artigos, que na prática mostrarão como implantar toda a infraestrutura de hardware e software da empresa:

Lista de artigos

  • Parte 1. Preparação para a implantação do cluster oVirt 4.3.
  • Parte 2. Instalação e configuração do cluster oVirt 4.3.
  • Parte 3. Configuração do cluster VyOS, organização de roteamento externo com alta disponibilidade.
  • Parte 4. Configuração do stack Cisco 3850, organização de roteamento interno.

Parte 1. Preparação para a implantação do cluster oVirt 4.3

Configuração básica dos hosts

A instalação e configuração do sistema operacional é a etapa mais simples. Existem inúmeros artigos sobre como instalar e configurar o sistema operacional, então não há sentido em tentar apresentar algo exclusivo a respeito.

Assim, temos dois hosts Dell PowerEdge R640, nos quais é necessário instalar o sistema operacional e realizar configurações iniciais, para utilizá-los como hypervisores para executar máquinas virtuais no cluster oVirt 4.3.

Como planejamos usar o software gratuito e não comercial oVirt, o sistema operacional escolhido para a implantação dos hosts é CentOS 7.7, embora outros sistemas operacionais possam ser instalados nos hosts do oVirt:

  • uma versão especial baseada em RHEL, chamada de oVirt Node;
  • sistema operacional Oracle Linux, anunciado no verão de 2019. Foi anunciado o suporte à operação do oVirt nela.

Antes da instalação do sistema operacional, é recomendado:

  • configurar a interface de rede iDRAC em ambos os hosts;
  • atualizar o firmware do BIOS e do iDRAC para as versões mais recentes;
  • configurar o Perfil do Sistema do servidor preferencialmente em modo Performance;
  • configurar o RAID a partir dos discos locais (recomendado RAID1), para a instalação do sistema operacional no servidor.

Em seguida, instalamos o sistema operacional no disco criado anteriormente através do iDRAC – o processo de instalação é comum, não há momentos especiais nele. O acesso ao console do servidor para iniciar a instalação do sistema operacional também pode ser feito através do iDRAC, embora nada impeça a conexão de um monitor, teclado e mouse diretamente ao servidor e a instalação do sistema operacional a partir de um pen drive.

Após a instalação do sistema operacional, realizamos as configurações iniciais:

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

Instalando o conjunto básico de software

Para a configuração inicial do sistema operacional, é necessário configurar qualquer interface de rede no servidor para que se possa acessar a Internet, para atualizar o sistema e instalar os pacotes de software necessários. Isso pode ser feito tanto durante a instalação do sistema quanto após ela.

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 as configurações e o conjunto de software acima são uma questão de preferência pessoal, e este conjunto é apenas recomendativo.

Como nosso host atuará como hipervisor, habilitaremos o perfil de desempenho necessário:

systemctl enable tuned 
systemctl start tuned 
systemctl status tuned 

tuned-adm profile 
tuned-adm profile virtual-host 

Para saber mais sobre o perfil de desempenho, você pode ler aqui: «Capítulo 4. tuned e tuned-adm«.

Após a instalação do sistema operacional, vamos para a próxima parte – a configuração das interfaces de rede nos hosts e no stack de switches Cisco 2960X.

Configuração do stack de switches Cisco 2960X

Em nosso projeto, usaremos os seguintes números de VLAN — ou domínios de broadcast, isolados uns dos outros, com o objetivo de dividir diferentes tipos de tráfego:

VLAN 10 – Internet
VLAN 17 – Gerenciamento (iDRAC, armazenamento, gerenciamento de switches)
VLAN 32 – Rede de produção de VM
VLAN 33 – rede de interconexão (para contratados externos)
VLAN 34 – Rede de teste de VM
VLAN 35 – Rede de desenvolvedor de VM
VLAN 40 – Rede de monitoramento

Antes de começar o trabalho, apresentaremos o esquema no nível L2, que devemos alcançar:

Criando uma infraestrutura de TI resistente a falhas. Parte 1 — preparação para a implantação do cluster oVirt 4.3

Para a interação em rede entre os hosts oVirt e as máquinas virtuais entre si, bem como para o gerenciamento do nosso armazenamento, é necessária a configuração do stack de switches Cisco 2960X.

Os hosts da Dell possuem placas de rede embutidas de 4 portas, portanto, organizar sua conexão ao Cisco 2960X é conveniente usando uma conexão de rede redundante, agrupando as portas de rede físicas em uma interface lógica, e usando o protocolo LACP (802.3ad):

  • as duas primeiras portas do host são configuradas em modo de bonding e conectadas ao switch 2960X – nesta interface lógica será configurado bridge com um endereço para gerenciar o host, monitoramento e comunicação com outros hosts no cluster oVirt, que também será utilizado para a migração ao vivo de máquinas virtuais;
  • as duas últimas portas no host também são configuradas em modo de agregação e conectadas ao 2960X – neste interface lógica, utilizando o oVirt, serão criadas posteriormente bridges (nas VLANs correspondentes) às quais as máquinas virtuais serão conectadas.
  • ambas as portas de rede, dentro de uma única interface lógica, estarão ativas, ou seja, o tráfego pode ser transmitido por elas simultaneamente, em modo de balanceamento.
  • as configurações de rede nos nós do cluster devem ser absolutamente IGUAIS, exceto pelos endereços IP.

Configuração básica do stack de switches 2960X e suas portas

Previamente nossos switches devem ser:

  • montados em um rack;
  • conectados por meio de dois cabos especiais de comprimento adequado, por exemplo, CAB-STK-E-1M;
  • conectados à fonte de alimentação;
  • conectados ao workstation do administrador através da porta de console, para sua configuração inicial.

O guia necessário para isto está disponível em página oficial do fabricante.

Depois de realizar as etapas acima, procederemos com a configuração dos switches.
O que cada comando significa não será detalhado neste artigo, se necessário, todas as informações podem ser encontradas de forma independente.
Nosso objetivo é configurar o stack de switches o mais rápido possível e conectá-los aos hosts e interfaces de gerenciamento do armazenamento.

1) Conecte-se ao switch principal, entre no modo privilegiado, em seguida, acesse o modo de configuração e faça as configurações básicas.

Configuração básica do switch:

 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 

Salvamos a configuração com o comando «wr mem» e reiniciamos o stack dos switches com o comando «reload» no switch principal 1.

2) Configuramos as portas de rede do switch em modo de acesso (access) na VLAN 17, para conectar as interfaces de gerenciamento dos arrays de armazenamento e servidores iDRAC.

Configuração das portas de gerenciamento:

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) Após reiniciar o stack, verificamos se está funcionando corretamente:

Verificação do funcionamento do 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) Configuração do acesso SSH ao stack 2960X

Para gerenciar o stack remotamente via SSH, usaremos o IP 172.20.1.10, configurado na SVI (interface virtual do switch) VLAN17.

Embora para fins de gerenciamento seja desejável usar uma porta dedicada no switch, isso depende de preferências pessoais e possibilidades.

Configuração do acesso SSH ao stack dos switches:

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 a senha para acesso ao modo privilegiado:

enable secret *myenablepassword*
service password-encryption

Configuramos o 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 as interfaces lógicas do Etherchannel e as portas físicas conectadas aos hosts. Para simplificar a configuração, todas as VLANs disponíveis serão autorizadas em todas as interfaces lógicas, mas geralmente é recomendável configurar apenas o que for necessário:

Configuração das interfaces do Etherchannel:

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

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

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

interface Port-channel4
 description EtherChannel com 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

Configuração inicial das interfaces de rede para máquinas virtuais, nos hosts Host1 e Host2

Verificamos a presença dos módulos necessários para o funcionamento do bonding no sistema, instalamos o módulo para gerenciamento de bridges:

modinfo bonding
modinfo 8021q
yum install bridge-utils

Configuração no host da interface lógica BOND1 para máquinas virtuais e suas interfaces físicas:

cat /etc/sysconfig/network-scripts/ifcfg-bond1
#DESCRIPTION - management
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 - management
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 - management
DEVICE=em3
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond1
SLAVE=yes
USERCTL=no 
NM_CONTROLLED=no 

Depois de concluir as configurações na pilha 2960X e em hosts, reiniciamos a rede nos hosts e verificamos a funcionalidade da interface lógica.

  • no host:

systemctl restart network

cat /proc/net/bonding/bond1
Driver de Agregação de Canal Ethernet: v3.7.1 (27 de abril de 2011)

Modo de Agregação: IEEE 802.3ad Agregação de links dinâmica
Política de Hash de Transmissão: layer2+3 (2)
Status MII: up
Intervalo de Polling MII (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
...
info 802.3ad
Taxa LACP: rápida
Links mínimos: 0
Política de seleção de agregadores (ad_select): estável
Prioridade do sistema: 65535
...
Interface Escrava: em2
Status MII: up
Velocidade: 1000 Mbps
Duplex: completo
...
Interface Escrava: em3
Status MII: up
Velocidade: 1000 Mbps
Duplex: completo

  • na pilha de switches 2960X:

2960X#show lacp internal
Flags:  S - Dispositivo está solicitando LACPDUs Lentos
        F - Dispositivo está solicitando LACPDUs Rápidos
        A - Dispositivo está em modo Ativo       P - Dispositivo está em modo Passivo

Grupo de canal 1
                            Porta LACP     Admin     Oper    Porta        Estado
Porta      Flags   Estado     Prioridade      Chave       Chave     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 - inativo        P - agrupado no canal-porta
        I - autônomo s - suspenso
        H - Standby quente (apenas LACP)
        R - Camada3      S - Camada2
        U - em uso      N - não em uso, sem agregação
        f - falha ao alocar agregador

        M - não em uso, links mínimos não atendidos
        m - não em uso, porta não agregada devido aos links mínimos não atendidos
        u - inadequado para agrupamento
        w - aguardando ser agregado
        d - porta padrão

        A - formado por LAG Automático

Número de grupos de canais em uso: 11
Número de agregadores:           11

Grupo  Canal-porta  Protocolo    Portas
------+-------------+-----------+-----------------------------------------------
1      Po1(SU)         LACP      Gi1/0/1(P)  Gi2/0/1(P)

Configuração inicial das interfaces de rede para gerenciamento dos recursos do cluster, nos hosts Host1 e Host2

Configuração das interfaces lógicas BOND1 nos hosts para gerenciamento e suas interfaces físicas:

cat /etc/sysconfig/network-scripts/ifcfg-bond0
#DESCRIÇÃO - gerenciamento
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
#DESCRIÇÃO - gerenciamento
DEVICE=em0
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no 
NM_CONTROLLED=no 

cat /etc/sysconfig/network-scripts/ifcfg-em1
#DESCRIÇÃO - gerenciamento
DEVICE=em1
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no 
NM_CONTROLLED=no 

Depois de concluir as configurações na pilha 2960X e em hosts, reiniciamos a rede nos hosts e verificamos a funcionalidade da interface lógica.

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

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

Configuramos a interface de rede de gerenciamento em cada host em VLAN 17, e vinculamos a ele a interface lógica BOND1:

Configuração da VLAN17 no 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

Configuração da VLAN17 no 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 a rede nos hosts e verificamos a visibilidade entre eles.

Com isso, a configuração do stack de switches Cisco 2960X está concluída, e se tudo foi feito corretamente, agora temos a conectividade de rede entre todos os elementos da infraestrutura no nível L2.

Configuração do Storage Dell MD3820f

Antes de começar a configuração do Storage, ele já deve estar conectado ao stack de switches Cisco. 2960X interfaces de gerenciamento, assim como aos hosts Host1 e Host2 via FC.

O diagrama geral de como o Storage deve ser conectado ao stack de switches foi apresentado no capítulo anterior.

O esquema de conexão do Storage via FC aos hosts deve ser o seguinte:

Criando uma infraestrutura de TI resistente a falhas. Parte 1 — preparação para a implantação do cluster oVirt 4.3

Durante a conexão, é necessário anotar os endereços WWPN para os hosts FC HBA conectados às portas FC no Storage - isso será necessário para a configuração posterior da vinculação dos hosts aos LUNs no Storage.

No workstation do administrador, baixamos e instalamos a ferramenta para gerenciar o Storage Dell MD3820f - PowerVault Modular Disk Storage Manager (MDSM).
Conectamo-nos a ele através de seus endereços IP padrão e, em seguida, configuramos nossos endereços de VLAN17, para gerenciar os controladores via TCP/IP:

Storage1:

ControladorA IP - 172.20.1.13, MÁSCARA - 255.255.255.0, Gateway - 172.20.1.2
ControladorB IP - 172.20.1.14, MÁSCARA - 255.255.255.0, Gateway - 172.20.1.2

Após a configuração dos endereços, acessamos a interface de gerenciamento do Storage e definimos a senha, ajustamos a hora, atualizamos os firmwares para os controladores e discos, se necessário, etc.
Como isso é feito está descrito no manual de administração do Storage.

Após completar as configurações acima mencionadas, teremos que realizar algumas ações:

  1. Configurar os identificadores das portas FC dos hosts - Identificadores de Portas de Host.
  2. Criar um grupo de hosts - Grupo de Hosts e adicionar nele nossos dois hosts Dell.
  3. Criar um grupo de discos e nele os discos virtuais (ou LUNs) que serão apresentados aos hosts.
  4. Configurar a apresentação dos discos virtuais (ou LUNs) para os hosts.

Adicionar novos hosts e vincular a eles os identificadores das portas FC dos hosts é feito através do menu - Mapeamentos de Hosts -> Definir -> Hosts…
Os endereços WWPN dos hosts FC HBA podem ser encontrados, por exemplo, no iDRAC do servidor.

Como resultado, devemos obter uma imagem semelhante a esta:

Criando uma infraestrutura de TI resistente a falhas. Parte 1 — preparação para a implantação do cluster oVirt 4.3

A adição de um novo grupo de hosts e a vinculação de hosts a ele é feita através do menu – Mapeamentos de Hosts -> Definir -> Grupo de Hosts…
Para os hosts, escolhemos o tipo de SO – Linux (DM-MP).

Após criar o grupo de hosts, através da aba Armazenamento e Serviços de Cópia, criamos um grupo de discos – Grupo de Discos, com o tipo dependendo dos requisitos de confiabilidade, por exemplo, RAID10, e dentro dele os discos virtuais do tamanho necessário:

Criando uma infraestrutura de TI resistente a falhas. Parte 1 — preparação para a implantação do cluster oVirt 4.3

E, finalmente, a etapa final — a apresentação dos discos virtuais (ou LUNs) para os hosts.
Para isso, através do menu – Mapeamentos de Hosts -> Mapeamento de Lun -> Adicionar… vinculamos os discos virtuais aos hosts, atribuindo-lhes números.

Tudo deve ficar assim, como nesta captura de tela:

Criando uma infraestrutura de TI resistente a falhas. Parte 1 — preparação para a implantação do cluster oVirt 4.3

Com isso, concluímos a configuração do armazenamento e, se tudo foi feito corretamente, os hosts devem ver os LUNs apresentados a eles através de seus FC HBA.
Vamos forçar o sistema a atualizar a informação sobre os discos conectados:

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

Vamos ver quais dispositivos estão visíveis em nossos servidores:

cat /proc/scsi/scsi
Dispositivos anexados:
Host: scsi0 Canal: 02 Id: 00 Lun: 00
  Vendedor: DELL     Modelo: PERC H330 Mini   Rev: 4.29
  Tipo:   Acesso Direto                    ANSI revisão SCSI: 05
Host: scsi15 Canal: 00 Id: 00 Lun: 00
  Vendedor: DELL     Modelo: MD38xxf          Rev: 0825
  Tipo:   Acesso Direto                    ANSI revisão SCSI: 05
Host: scsi15 Canal: 00 Id: 00 Lun: 01
  Vendedor: DELL     Modelo: MD38xxf          Rev: 0825
  Tipo:   Acesso Direto                    ANSI revisão SCSI: 05
Host: scsi15 Canal: 00 Id: 00 Lun: 04
  Vendedor: DELL     Modelo: MD38xxf          Rev: 0825
  Tipo:   Acesso Direto                    ANSI revisão SCSI: 05
Host: scsi15 Canal: 00 Id: 00 Lun: 11
  Vendedor: DELL     Modelo: MD38xxf          Rev: 0825
  Tipo:   Acesso Direto                    ANSI revisão SCSI: 05
Host: scsi15 Canal: 00 Id: 00 Lun: 31
  Vendedor: DELL     Modelo: Universal Xport  Rev: 0825
  Tipo:   Acesso Direto                    ANSI revisão SCSI: 05
Host: scsi18 Canal: 00 Id: 00 Lun: 00
  Vendedor: DELL     Modelo: MD38xxf          Rev: 0825
  Tipo:   Acesso Direto                    ANSI revisão SCSI: 05
Host: scsi18 Canal: 00 Id: 00 Lun: 01
  Vendedor: DELL     Modelo: MD38xxf          Rev: 0825
  Tipo:   Acesso Direto                    ANSI revisão SCSI: 05
Host: scsi18 Canal: 00 Id: 00 Lun: 04
  Vendedor: DELL     Modelo: MD38xxf          Rev: 0825
  Tipo:   Acesso Direto                    ANSI revisão SCSI: 05
Host: scsi18 Canal: 00 Id: 00 Lun: 11
  Vendedor: DELL     Modelo: MD38xxf          Rev: 0825
  Tipo:   Acesso Direto                    ANSI revisão SCSI: 05
Host: scsi18 Canal: 00 Id: 00 Lun: 31
  Vendedor: DELL     Modelo: Universal Xport  Rev: 0825
  Tipo:   Acesso Direto                    ANSI revisão 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  -

Nos hosts, também é possível configurar adicionalmente multipath, e embora durante a instalação do oVirt isso possa ser feito automaticamente, é melhor verificar a funcionalidade do MP por conta própria com antecedência.

Instalação e configuração do 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 o serviço MP para iniciar automaticamente e o iniciamos:

systemctl enable multipathd && systemctl restart multipathd

Verificando informações sobre os módulos carregados para o funcionamento do 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:    alvo multipath do 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:         Chave de assinatura do kernel do 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

Visualizando informações sumarizadas sobre a configuração multipath existente:

mpathconf
multipath está habilitado
find_multipaths está desativado
user_friendly_names está desativado
módulo dm_multipath está carregado
multipathd está em execução

Após adicionar um novo LUN no armazenamento e apresentá-lo ao host, é necessário executar a varredura dos HBAs conectados ao host.

systemctl reload multipathd
multipath -v2

E por fim, verificamos se todos os LUNs foram apresentados no armazenamento para os hosts, e se todos têm dois caminhos.

Verificação do funcionamento do 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  ativo pronto em execução
`-+- policy='service-time 0' prio=9 status=enabled
  `- 18:0:0:1  sdi 8:128 ativo pronto em execução
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 ativo pronto em execução
`-+- policy='service-time 0' prio=9 status=enabled
  `- 15:0:0:11 sdd 8:48  ativo pronto em execução
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  ativo pronto em execução
`-+- policy='service-time 0' prio=9 status=enabled
  `- 18:0:0:4  sdj 8:144 ativo pronto em execução

Como pode ser visto, todos os três discos virtuais no armazenamento são visíveis por dois caminhos. Assim, todos os trabalhos preparatórios foram concluídos, e podemos prosseguir para a parte principal - configuração do cluster oVirt, que será abordada no próximo artigo.

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster