Red Hat Training

A Red Hat training course is available for RHEL 8

6.5. Configuração dos recursos e grupo de recursos para um servidor NFS em um cluster

Esta seção fornece o procedimento para configurar os recursos do cluster para este caso de uso.

Nota

Se você não tiver configurado um dispositivo de esgrima para seu cluster, por padrão os recursos não começam.

Se você descobrir que os recursos que você configurou não estão funcionando, você pode executar o pcs resource debug-start resource comando para testar a configuração do recurso. Isto inicia o serviço fora do controle e do conhecimento do cluster. No ponto em que os recursos configurados estão rodando novamente, executar pcs resource cleanup resource para que o grupo tome conhecimento das atualizações.

O procedimento a seguir configura os recursos do sistema. Para garantir que todos estes recursos funcionem no mesmo nó, eles são configurados como parte do grupo de recursos nfsgroup. Os recursos começarão na ordem em que são adicionados ao grupo, e pararão na ordem inversa em que são adicionados ao grupo. Execute este procedimento a partir de um único nó do grupo.

  1. Criar o recurso LVM-activate chamado my_lvm. Como o grupo de recursos nfsgroup ainda não existe, este comando cria o grupo de recursos.

    Atenção

    Não configure mais de um recurso LVM-activate que utiliza o mesmo grupo de volume LVM em uma configuração HA ativa/passiva, pois isso corre o risco de corrupção de dados. Além disso, não configure um recurso LVM-activate como um recurso clone em uma configuração de HA ativa/passiva.

    [root@z1 ~]# pcs resource create my_lvm ocf:heartbeat:LVM-activate vgname=my_vg vg_access_mode=system_id --group nfsgroup
  2. Verifique o status do agrupamento para verificar se o recurso está funcionando.

    root@z1 ~]#  pcs status
    Cluster name: my_cluster
    Last updated: Thu Jan  8 11:13:17 2015
    Last change: Thu Jan  8 11:13:08 2015
    Stack: corosync
    Current DC: z2.example.com (2) - partition with quorum
    Version: 1.1.12-a14efad
    2 Nodes configured
    3 Resources configured
    
    Online: [ z1.example.com z2.example.com ]
    
    Full list of resources:
     myapc  (stonith:fence_apc_snmp):       Started z1.example.com
     Resource Group: nfsgroup
         my_lvm     (ocf::heartbeat:LVM):   Started z1.example.com
    
    PCSD Status:
      z1.example.com: Online
      z2.example.com: Online
    
    Daemon Status:
      corosync: active/enabled
      pacemaker: active/enabled
      pcsd: active/enabled
  3. Configurar um recurso Filesystem para o cluster.

    O seguinte comando configura um recurso ext4 Filesystem chamado nfsshare como parte do grupo de recursos nfsgroup. Este sistema de arquivo usa o grupo de volume LVM e o sistema de arquivo ext4 que você criou em Configuring an LVM volume with an ext4 file system e será montado no diretório /nfsshare que você criou em Configuring an NFS share.

    [root@z1 ~]# pcs resource create nfsshare Filesystem \
    device=/dev/my_vg/my_lv directory=/nfsshare \
    fstype=ext4 --group nfsgroup

    Você pode especificar opções de montagem como parte da configuração do recurso para um recurso Filesystem com o options=options parâmetro. Execute o comando pcs resource describe Filesystem para opções de configuração completa.

  4. Verifique se os recursos my_lvm e nfsshare estão funcionando.

    [root@z1 ~]# pcs status
    ...
    Full list of resources:
     myapc  (stonith:fence_apc_snmp):       Started z1.example.com
     Resource Group: nfsgroup
         my_lvm     (ocf::heartbeat:LVM):   Started z1.example.com
         nfsshare   (ocf::heartbeat:Filesystem):    Started z1.example.com
    ...
  5. Criar o recurso nfsserver chamado nfs-daemon como parte do grupo de recursos nfsgroup.

    Nota

    O recurso nfsserver permite especificar um parâmetro nfs_shared_infodir, que é um diretório que os servidores NFS usam para armazenar informações de estado relacionadas ao NFS.

    Recomenda-se que este atributo seja definido em um subdiretório de um dos recursos Filesystem que você criou nesta coleção de exportações. Isto garante que os servidores NFS estejam armazenando suas informações de estado em um dispositivo que ficará disponível para outro nó se este grupo de recursos precisar se relocalizar. Neste exemplo;

    • /nfsshare é o diretório de armazéns compartilhados gerenciado pelo recurso Filesystem
    • /nfsshare/exports/export1 e /nfsshare/exports/export2 são os diretórios de exportação
    • /nfsshare/nfsinfo é o diretório de informações compartilhadas para o recurso nfsserver
    [root@z1 ~]# pcs resource create nfs-daemon nfsserver \
    nfs_shared_infodir=/nfsshare/nfsinfo nfs_no_notify=true \
    --group nfsgroup
    
    [root@z1 ~]# pcs status
    ...
  6. Adicione os recursos de exportfs para exportar o diretório /nfsshare/exports. Estes recursos fazem parte do grupo de recursos nfsgroup. Isto constrói um diretório virtual para clientes do NFSv4. Os clientes do NFSv3 também podem acessar estas exportações.

    Nota

    A opção fsid=0 é necessária somente se você quiser criar um diretório virtual para clientes do NFSv4. Para mais informações, veja Como configurar a opção fsid no arquivo /etc/exports de um servidor NFS?

    [root@z1 ~]# pcs resource create nfs-root exportfs \
    clientspec=192.168.122.0/255.255.255.0 \
    options=rw,sync,no_root_squash \
    directory=/nfsshare/exports \
    fsid=0 --group nfsgroup
    
    [root@z1 ~]# # pcs resource create nfs-export1 exportfs \
    clientspec=192.168.122.0/255.255.255.0 \
    options=rw,sync,no_root_squash directory=/nfsshare/exports/export1 \
    fsid=1 --group nfsgroup
    
    [root@z1 ~]# # pcs resource create nfs-export2 exportfs \
    clientspec=192.168.122.0/255.255.255.0 \
    options=rw,sync,no_root_squash directory=/nfsshare/exports/export2 \
    fsid=2 --group nfsgroup
  7. Adicione o recurso de endereço IP flutuante que os clientes NFS usarão para acessar o compartilhamento NFS. Este recurso faz parte do grupo de recursos nfsgroup. Para este exemplo de implantação, estamos usando 192.168.122.200 como o endereço IP flutuante.

    [root@z1 ~]# pcs resource create nfs_ip IPaddr2 \
    ip=192.168.122.200 cidr_netmask=24 --group nfsgroup
  8. Adicione um recurso nfsnotify para enviar notificações de reinicialização do NFSv3 quando toda a implantação do NFS tiver sido iniciada. Este recurso faz parte do grupo de recursos nfsgroup.

    Nota

    Para que a notificação NFS seja processada corretamente, o endereço IP flutuante deve ter associado um nome de host que seja consistente tanto nos servidores NFS quanto no cliente NFS.

    [root@z1 ~]# pcs resource create nfs-notify nfsnotify \
    source_host=192.168.122.200 --group nfsgroup
  9. Depois de criar os recursos e as restrições de recursos, você pode verificar o status do agrupamento. Observe que todos os recursos estão funcionando no mesmo nó.

    [root@z1 ~]# pcs status
    ...
    Full list of resources:
     myapc  (stonith:fence_apc_snmp):       Started z1.example.com
     Resource Group: nfsgroup
         my_lvm     (ocf::heartbeat:LVM):   Started z1.example.com
         nfsshare   (ocf::heartbeat:Filesystem):    Started z1.example.com
         nfs-daemon (ocf::heartbeat:nfsserver):     Started z1.example.com
         nfs-root   (ocf::heartbeat:exportfs):      Started z1.example.com
         nfs-export1        (ocf::heartbeat:exportfs):      Started z1.example.com
         nfs-export2        (ocf::heartbeat:exportfs):      Started z1.example.com
         nfs_ip     (ocf::heartbeat:IPaddr2):       Started  z1.example.com
         nfs-notify (ocf::heartbeat:nfsnotify):     Started z1.example.com
    ...