5.3. Création des ressources et des groupes de ressources

Créez les ressources de votre cluster en suivant la procédure suivante. Pour s'assurer que ces ressources s'exécutent toutes sur le même nœud, elles sont configurées comme faisant partie du groupe de ressources apachegroup. Les ressources à créer sont les suivantes, énumérées dans l'ordre dans lequel elles démarreront.

  1. Une ressource LVM-activate nommée my_lvm qui utilise le groupe de volumes LVM que vous avez créé dans Configuration d'un volume LVM avec un système de fichiers XFS.
  2. Une ressource Filesystem nommée my_fs, qui utilise le périphérique de système de fichiers /dev/my_vg/my_lv que vous avez créé dans Configuration d'un volume LVM avec un système de fichiers XFS.
  3. Une ressource IPaddr2, qui est une adresse IP flottante pour le groupe de ressources apachegroup. L'adresse IP ne doit pas être déjà associée à un nœud physique. Si le périphérique NIC de la ressource IPaddr2 n'est pas spécifié, l'adresse IP flottante doit résider sur le même réseau que l'une des adresses IP attribuées de manière statique au nœud, faute de quoi le périphérique NIC qui attribue l'adresse IP flottante ne peut être correctement détecté.
  4. Une ressource apache nommée Website qui utilise le fichier index.html et la configuration Apache que vous avez définie dans Configuration d'un serveur HTTP Apache.

La procédure suivante crée le groupe de ressources apachegroup et les ressources qu'il contient. Les ressources démarrent dans l'ordre dans lequel vous les ajoutez au groupe et s'arrêtent dans l'ordre inverse de celui dans lequel elles sont ajoutées au groupe. Exécutez cette procédure à partir d'un seul nœud de la grappe.

Procédure

  1. La commande suivante crée la ressource LVM-activate my_lvm . Comme le groupe de ressources apachegroup n'existe pas encore, cette commande crée le groupe de ressources.

    Note

    Ne configurez pas plus d'une ressource LVM-activate utilisant le même groupe de volumes LVM dans une configuration HA active/passive, car cela pourrait entraîner une corruption des données. En outre, ne configurez pas une ressource LVM-activate en tant que ressource clone dans une configuration HA active/passive.

    [root@z1 ~]# pcs resource create my_lvm ocf:heartbeat:LVM-activate vgname=my_vg vg_access_mode=system_id --group apachegroup

    Lorsque vous créez une ressource, celle-ci est démarrée automatiquement. Vous pouvez utiliser la commande suivante pour confirmer que la ressource a été créée et qu'elle a démarré.

    # pcs resource status
     Resource Group: apachegroup
         my_lvm	(ocf::heartbeat:LVM-activate):	Started

    Vous pouvez arrêter et démarrer manuellement une ressource individuelle à l'aide des commandes pcs resource disable et pcs resource enable.

  2. Les commandes suivantes créent les ressources restantes pour la configuration, en les ajoutant au groupe de ressources existant apachegroup.

    [root@z1 ~]# pcs resource create my_fs Filesystem device="/dev/my_vg/my_lv" directory="/var/www" fstype="xfs" --group apachegroup
    
    [root@z1 ~]# pcs resource create VirtualIP IPaddr2 ip=198.51.100.3 cidr_netmask=24 --group apachegroup
    
    [root@z1 ~]# pcs resource create Website apache configfile="/etc/httpd/conf/httpd.conf" statusurl="http://127.0.0.1/server-status" --group apachegroup
  3. Après avoir créé les ressources et le groupe de ressources qui les contient, vous pouvez vérifier l'état du cluster. Notez que les quatre ressources s'exécutent sur le même nœud.

    [root@z1 ~]# pcs status
    Cluster name: my_cluster
    Last updated: Wed Jul 31 16:38:51 2013
    Last change: Wed Jul 31 16:42:14 2013 via crm_attribute on z1.example.com
    Stack: corosync
    Current DC: z2.example.com (2) - partition with quorum
    Version: 1.1.10-5.el7-9abe687
    2 Nodes configured
    6 Resources configured
    
    Online: [ z1.example.com z2.example.com ]
    
    Full list of resources:
     myapc	(stonith:fence_apc_snmp):	Started z1.example.com
     Resource Group: apachegroup
         my_lvm	(ocf::heartbeat:LVM-activate):	Started z1.example.com
         my_fs	(ocf::heartbeat:Filesystem):	Started z1.example.com
         VirtualIP	(ocf::heartbeat:IPaddr2):	Started z1.example.com
         Website	(ocf::heartbeat:apache):	Started z1.example.com

    Notez que si vous n'avez pas configuré de dispositif de clôture pour votre cluster, les ressources ne démarrent pas par défaut.

  4. Une fois que le cluster est opérationnel, vous pouvez diriger un navigateur vers l'adresse IP que vous avez définie comme ressource IPaddr2 pour voir l'exemple d'affichage, qui consiste en un simple mot "Hello".

    Bonjour

    Si vous constatez que les ressources que vous avez configurées ne fonctionnent pas, vous pouvez exécuter la commande pcs resource debug-start resource pour tester la configuration des ressources.

  5. Lorsque vous utilisez l'agent de ressources apache pour gérer Apache, il n'utilise pas systemd. Pour cette raison, vous devez modifier le script logrotate fourni avec Apache afin qu'il n'utilise pas systemctl pour recharger Apache.

    Supprimez la ligne suivante dans le fichier /etc/logrotate.d/httpd sur chaque nœud du cluster.

    /bin/systemctl reload httpd.service > /dev/null 2>/dev/null || true

    Remplacez la ligne que vous avez supprimée par les trois lignes suivantes, en spécifiant /var/run/httpd-website.pid comme chemin d'accès au fichier PID où website est le nom de la ressource Apache. Dans cet exemple, le nom de la ressource Apache est Website.

    /usr/bin/test -f /var/run/httpd-Website.pid >/dev/null 2>/dev/null &&
    /usr/bin/ps -q $(/usr/bin/cat /var/run/httpd-Website.pid) >/dev/null 2>/dev/null &&
    /usr/sbin/httpd -f /etc/httpd/conf/httpd.conf -c "PidFile /var/run/httpd-Website.pid" -k graceful > /dev/null 2>/dev/null || true