Verifique o Sistema Operacional que terá o pacemaker instalado.
Usaremos dois servidores:
- oracle86 com IP 192.168.50.3
- oracle86B com IP 192.168.50.4
Mostrarei os procedimentos abaixo somente no oracle86, mas faça também no oracle86B.
Se quiser descobrir o nome do seu servidor, execute uname -n ou hostnamectl
[root@oracle86 ~]# uname -n oracle86
Se quiser alterar o nome do servidor veja:
- Linux: Como Ver e Alterar O Nome da Máquina(hostname)?
- Linux: Como Ver e Alterar o Nome de Domínio DNS?
Lembre-se de fazer as ações nos dois ou mais servidores do cluster!
Verificando a Rede
#1 Certifique-se de que a máquina tenha o endereço IP estático. Abaixo está a configuração da rede no servidor chamado de oracle86.
[root@oracle86 ~]# ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 08:00:27:6f:dd:8c brd ff:ff:ff:ff:ff:ff inet 192.168.50.3/24 brd 192.168.50.255 scope global noprefixroute enp0s3 valid_lft forever preferred_lft forever inet6 fe80::a00:27ff:fe6f:dd8c/64 scope link noprefixroute valid_lft forever preferred_lft forever
Se você precisar alterar o endereço IP faça isso agora, já que alterar após a instalação e implantação do cluster é complicado.
Siga a documentação da sua distro para alterar a rede. No caso da distro Red Hat e derivadas edite a rede alterando o arquivo: /etc/sysconfig/network-scripts/ifcfg-${dispositivo}, substitua dispositivo pelo nome da interface de rede, por exemplo, em meu caso:
[root@oracle86 ~]# vim /etc/sysconfig/network-scripts/ifcfg-enp0s3
TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no IPADDR=192.168.50.3 GATEWAY=192.168.50.1 DNS1=192.168.50.3 DNS2=8.8.8.8 DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no NAME=enp0s3 UUID=847ba988-bb5f-48dc-b77b-69f6bf3fb1dd DEVICE=enp0s3 ONBOOT=yes PREFIX=24 BOOTPROTO=none DOMAIN=lab.interno
Agora processa com os comandos abaixo para aplicar as alterações.
[root@oracle86 ~]# nmcli dev disconnect enp0s3
[root@oracle86 ~]# nmcli con reload enp0s3
[root@oracle86 ~]# nmcli con up enp0s3
#2 Em seguida, certifique-se de que as rotas sejam as esperadas:
[root@oracle86 ~]# ip route default via 192.168.50.1 dev enp0s3 proto static metric 100 192.168.50.0/24 dev enp0s3 proto kernel scope link src 192.168.50.3 metric 100
Se não houver linha começando com default via, talvez seja necessário adicionar uma linha como GATEWAY=192.168.50.1 no arquivo ifcfg-enp0s3 de rede e executando os comandos nmcli…
#3 Agora verifique a conectividade com o mundo exterior.
Comece testando se podemos alcançar o gateway que configuramos.
[root@oracle86 ~]# ping -c 2 192.168.50.1 PING 192.168.50.1 (192.168.50.1) 56(84) bytes of data. 64 bytes from 192.168.50.1: icmp_seq=1 ttl=64 time=0.599 ms 64 bytes from 192.168.50.1: icmp_seq=2 ttl=64 time=0.841 ms --- 192.168.50.1 ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1002ms rtt min/avg/max/mdev = 0.599/0.720/0.841/0.121 ms
Agora tente algo externo; escolha um local que você sabe que deve estar disponível.
[root@oracle86 ~]# ping -c 2 categoriaoutros.com.br PING categoriaoutros.com.br (149.62.37.120) 56(84) bytes of data. 64 bytes from 149.62.37.120 (149.62.37.120): icmp_seq=1 ttl=49 time=6.62 ms 64 bytes from 149.62.37.120 (149.62.37.120): icmp_seq=2 ttl=49 time=7.49 ms --- categoriaoutros.com.br ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1002ms rtt min/avg/max/mdev = 6.618/7.053/7.489/0.443 ms
Acesso Remoto com SSH
As máquinas que farão parte do cluster podem ser acessadas de outro pc. Não é muito bom e nem prático termos que ficar na frente desses servidores com um teclado e mouse. Se tivermos o SSH habilitado poderemos acessar de onde quisermos.
Também, SSH é uma maneira conveniente e segura de copiar arquivos e executar comandos remotamente.
Atenção: se for usar chaves SSH não deixe a chave sem senha!
Se estiver usando Windows poderá usar o programa putty. Veja:
Se estiver usando um computador com Linux para acessar o servidor então sua vida está fácil. Basta abrir qualquer terminal e digitar:
Para acessar oracle86 usando usuário root
ssh -l root 192.168.50.3
Para acessar oracle86B usando usuário root
ssh -l root 192.168.50.4
Se estiver praticando e quiser usar ssh com chaves sem senha, execute:
#1 Crie e ative uma nova chave SSH
[root@oracle86 ~]# ssh-keygen -t dsa -f ~/.ssh/id_dsa -N ""
[root@oracle86 ~]# cp ~/.ssh/id_dsa.pub ~/.ssh/authorized_keys
#2 transfira a chave para o outro nó:
[root@oracle86 ~]# scp -r ~/.ssh oracle86B:
#3 Teste se agora você pode executar comandos remotamente, sem ser solicitado:
[root@oracle86 ~]# ssh oracle86B -- uname -n
Atualize o Sistema Operacional
Aplique todas as atualizações de pacote lançadas desde que sua imagem de instalação foi criada. Execute yum update ou dnf update:
[root@oracle86 ~]# yum update
Configurar resolução de nome de host
Confirme se você pode se comunicar entre os dois novos nós.
#1 veja se o ip responde ao ping
[root@oracle86 ~]# ping 192.168.50.4 -c 3 PING 192.168.50.4 (192.168.50.4) 56(84) bytes of data. 64 bytes from 192.168.50.4: icmp_seq=1 ttl=64 time=0.583 ms 64 bytes from 192.168.50.4: icmp_seq=2 ttl=64 time=0.674 ms 64 bytes from 192.168.50.4: icmp_seq=3 ttl=64 time=0.734 ms --- 192.168.50.4 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2012ms rtt min/avg/max/mdev = 0.583/0.663/0.734/0.068 ms
#2 Veja se o nome do host responde ao ping
Aqui, certamente, o ping poderá não responder. Para termos certeza da resposta ao usar ping vamos editar o arquivo /etc/hosts.
abra /etc/hosts com seu editor predileto: nano, vim, vi…
[root@oracle86 ~]# vim /etc/hosts
adicione as duas linhas abaixo apontando o ip para o nome do servidor
192.168.50.3 oracle86.lab.interno oracle86 192.168.50.4 oracle86B.lab.interno oracle86B
Agora execute o ping no nome do host
[root@oracle86 ~]# ping oracle86B -c 3 PING oracle86B.lab.interno (192.168.50.4) 56(84) bytes of data. 64 bytes from oracle86B.lab.interno (192.168.50.4): icmp_seq=1 ttl=64 time=0.642 ms 64 bytes from oracle86B.lab.interno (192.168.50.4): icmp_seq=2 ttl=64 time=0.709 ms 64 bytes from oracle86B.lab.interno (192.168.50.4): icmp_seq=3 ttl=64 time=0.731 ms --- oracle86B.lab.interno ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2004ms rtt min/avg/max/mdev = 0.642/0.694/0.731/0.037 ms
Liberando Portas no Firewall
Se você estiver executando o firewalld, adicione o serviço high-availability em cada um dos nós para que os componentes do serviço possam se comunicar pela rede.
esta etapa normalmente habilita as seguintes portas:
- porta TCP 2224 (usada pelo daemon pcs),
- porta 3121 (para nós remotos Pacemaker),
- porta 21064 (para recursos DLM)
- porta UDP 5405 (para agrupamento Corosync)
- porta 5404 (para multicast Corosync, se configurado)
sudo firewall-cmd --permanent --add-service=high-availability sudo firewall-cmd --add-service=high-availability
faça o mesmo procedimento no outro host.
Ajustando SELinux
Como iremos trabalhar em laboratório, iremos desabilitar SELinux.
Execute os comandos abaixo:
setenforce 0
sed -i.bak "s/SELINUX=enforcing/SELINUX=permissive/g" /etc/selinux/config