Nosso primeiro resource(recurso) será um endereço IP exclusivo que o cluster pode ativar em qualquer um dos nós. Independentemente de onde qualquer serviço de cluster esteja sendo executado, os usuários finais precisam de um endereço consistente para contatá-los. Aqui, escolherei 192.168.50.2 como o endereço flutuante, darei a ele o nome criativo ClusterIP e direi ao cluster para verificar se ele está sendo executado a cada 30 segundos.
Escolha um IP que ainda não exista na sua rede! Não reutilize um endereço IP que um dos nós já tenha configurado.
O comando será que usaremos é: pcs resource create ClusterIP ocf:heartbeat:IPaddr2 \
ip=192.168.50.2 cidr_netmask=24 op monitor interval=30s
Digite tudo em uma linha só. A barra \ significa apenas que continua na próxima linha sem enter.
Execute esse comando em um dos servidores do cluster:
[root@oracle86B ~]# pcs resource create ClusterIP ocf:heartbeat:IPaddr2 ip=192.168.50.2 cidr_netmask=24 op monitor interval=30s
Execute pcs status para ver o resource criado:
[root@oracle86B ~]# pcs resource create ClusterIP ocf:heartbeat:IPaddr2 ip=192.168.50.2 cidr_netmask=24 op monitor interval=30s [root@oracle86B ~]# pcs status Cluster name: meuCluster WARNINGS: No stonith devices and stonith-enabled is not false Status of pacemakerd: 'Pacemaker is running' (last updated 2023-03-06 10:33:04 -05:00) Cluster Summary: * Stack: corosync * Current DC: oracle86 (version 2.1.4-5.0.1.el8_7.2-dc6eb4362e) - partition with quorum * Last updated: Mon Mar 6 10:33:05 2023 * Last change: Mon Mar 6 10:23:01 2023 by root via cibadmin on oracle86B * 2 nodes configured * 1 resource instance configured Node List: * Online: [ oracle86 oracle86B ] Full List of Resources: * ClusterIP (ocf::heartbeat:IPaddr2): Stopped Daemon Status: corosync: active/disabled pacemaker: active/disabled pcsd: inactive/disabled
Veja que o resource está parado(stopped). Em meu caso, isso ocorreu porque o stonith(ou fencing) estava habilitado. Coloque como “false”.
Veja: Pacemaker: Configurando Fencing(STONITH) – Parte 009
[root@oracle86B ~]# pcs property set stonith-enabled=false
Execute novamente pcs status e verá que o serviço foi iniciado.
use ping para validar a existência o novo IP
[root@oracle86B ~]# ping -c3 192.168.50.2 PING 192.168.50.2 (192.168.50.2) 56(84) bytes of data. 64 bytes from 192.168.50.2: icmp_seq=1 ttl=64 time=2.81 ms 64 bytes from 192.168.50.2: icmp_seq=2 ttl=64 time=0.476 ms 64 bytes from 192.168.50.2: icmp_seq=3 ttl=64 time=0.437 ms
Se você desligar o servidor onde ele está ativo verá que ele irá automaticamente flutuar para o outro servidor do cluster.
Entendendo o Comando
- pcs resource create é a parte para criar(create) o resource(recurso); nesse caso chamamos de ClusterIP
- ocf:heartbeat:IPaddr2 Isso informa ao Pacemaker três coisas sobre o recurso que você deseja adicionar:
- O primeiro campo(ocf neste caso) é o padrão ao qual o script do resource está em conformidade e onde encontrá-lo.
- O segundo campo(heartbeat) é específico do padrão ocf; nos resources OCF, informa ao cluster em qual namespace OCF o script de recurso está.
- O terceiro campo(IPaddr2) é o nome do script do resource.
- ip=192.168.50.2 cidr_netmask=24 respectivamente, é o ip e a máscara de rede.
- op monitor interval=30s define o tempo de verificação a cada 30 segundos
Exibindo Padrões de Resources Disponíveis
Para obter uma lista dos padrões de resources disponíveis, como a que vimos acima(a parte ocf de ocf:heartbeat:IPaddr2), execute: pcs resource standards
[root@oracle86B ~]# pcs resource standards lsb ocf service systemd
Para obter uma lista dos provedores de resources OCF disponíveis(a parte heartbeat em ocf:heartbeat:IPaddr2), execute: pcs resource providers
[root@oracle86B ~]# pcs resource providers heartbeat openstack pacemaker
Se você quiser ver todos os agentes de resources disponíveis para um provedor OCF específico(a parte IPaddr2 em ocf:heartbeat:IPaddr2), execute: pcs resource agents ocf:heartbeat
A lista é grande, vamos vê-la:
[root@oracle86B ~]# pcs resource agents ocf:heartbeat apache aws-vpc-move-ip aws-vpc-route53 awseip awsvip azure-events azure-events-az azure-lb conntrackd crypt CTDB db2 Delay dhcpd docker Dummy ethmonitor exportfs Filesystem galera garbd iface-vlan IPaddr IPaddr2 IPsrcaddr iSCSILogicalUnit iSCSITarget LVM-activate lvmlockd MailTo mysql nagios named nfsnotify nfsserver nginx NodeUtilization openstack-cinder-volume openstack-floating-ip openstack-info openstack-virtual-ip oraasm oracle oralsnr pgsql podman portblock postfix rabbitmq-cluster redis Route rsyncd SendArp slapd Squid storage-mon sybaseASE symlink tomcat vdo-vol VirtualDomain Xinetd
Comment on “Pacemaker: Adicionando um Resource – Parte 010”