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.
-
Une ressource
LVM-activate
nomméemy_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. -
Une ressource
Filesystem
nomméemy_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. -
Une ressource
IPaddr2
, qui est une adresse IP flottante pour le groupe de ressourcesapachegroup
. L'adresse IP ne doit pas être déjà associée à un nœud physique. Si le périphérique NIC de la ressourceIPaddr2
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é. -
Une ressource
apache
nomméeWebsite
qui utilise le fichierindex.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
La commande suivante crée la ressource
LVM-activate
my_lvm
. Comme le groupe de ressourcesapachegroup
n'existe pas encore, cette commande crée le groupe de ressources.NoteNe 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 ressourceLVM-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
etpcs resource enable
.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
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.
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.Lorsque vous utilisez l'agent de ressources
apache
pour gérer Apache, il n'utilise passystemd
. Pour cette raison, vous devez modifier le scriptlogrotate
fourni avec Apache afin qu'il n'utilise passystemctl
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 estWebsite
./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