7.5.2. Hinzufügen eines Cluster-Dienstes zum Cluster
Um einen Cluster-Dienst zum Cluster hinzuzufügen, folgen Sie den Schritten in diesem Abschnitt.
Anmerkung
Die Beispiele in diesem Abschnitt zeigen einen Cluster-Dienst, in dem sich alle Ressourcen auf derselben Ebene befinden. Werfen Sie einen Blick auf Anhang C, Verhalten der Hochverfügbarkeitsressourcen für Informationen über das Definieren eines Dienstes, in dem es eine Abhängigkeitenkette in der Ressourcenhierarchie gibt sowie Regeln, die das Verhalten der Eltern- und Kind-Ressourcen steuern.
- Öffnen Sie
/etc/cluster/cluster.conf
auf einem beliebigen Knoten im Cluster. - Fügen Sie für jeden Dienst einen
service
Abschnitt innerhalb desrm
Elements hinzu. Zum Beispiel:<rm> <service autostart="1" domain="" exclusive="0" name="" recovery="restart"> </service> </rm>
- Konfigurieren Sie die folgenden Parameter im
service
Element:autostart
— Legt fest, ob der Dienst beim Start des Clusters automatisch gestartet werden soll. Verwenden Sie '1' zur Aktivierung und '0' zur Deaktivierung; der Standard ist aktiviert.domain
— Legt eine Ausfallsicherungs-Domain fest (falls erforderlich).exclusive
— Legt eine Richtlinie fest, gemäß der dieser Dienst ausschließlich auf Knoten ausgeführt werden darf, auf denen kein anderer Dienst läuft.recovery
— Legt eine Richtlinie zur Wiederherstellung des Dienstes fest. Die Optionen sind relocate, restart, disable oder restart-disable.
- Abhängig von der Art der Ressource, die Sie verwenden möchten, füllen Sie den Dienst mit globalen oder dienstspezifischen Ressourcen aus.Sehen Sie hier beispielsweise einen Apache-Dienst, der globale Ressourcen verwendet:
<rm> <resources> <fs name="web_fs" device="/dev/sdd2" mountpoint="/var/www" fstype="ext3"/> <ip address="127.143.131.100" monitor_link="yes" sleeptime="10"/> <apache config_file="conf/httpd.conf" name="example_server" server_root="/etc/httpd" shutdown_wait="0"/> </resources> <service autostart="1" domain="example_pri" exclusive="0" name="example_apache" recovery="relocate"> <fs ref="web_fs"/> <ip ref="127.143.131.100"/> <apache ref="example_server"/> </service> </rm>
Und sehen Sie hier beispielsweise einen Apache-Dienst, der dienstspezifische Ressourcen verwendet:<rm> <service autostart="0" domain="example_pri" exclusive="0" name="example_apache2" recovery="relocate"> <fs name="web_fs2" device="/dev/sdd3" mountpoint="/var/www2" fstype="ext3"/> <ip address="127.143.131.101" monitor_link="yes" sleeptime="10"/> <apache config_file="conf/httpd.conf" name="example_server2" server_root="/etc/httpd" shutdown_wait="0"/> </service> </rm>
Beispiel 7.10, »cluster.conf
mit hinzugefügten Diensten: Einer verwendet globale Ressourcen, der andere verwendet dienstspezifische Ressourcen« zeigt ein Beispiel einercluster.conf
Datei mit zwei Diensten:example_apache
— Dieser Dienst verwendet die globalen Ressourcenweb_fs
,127.143.131.100
undexample_server
.example_apache2
— Dieser Dienst verwendet die dienstspezifischen Ressourcenweb_fs2
,127.143.131.101
undexample_server2
.
- Aktualisieren Sie den
config_version
Parameter, indem Sie dessen Wert erhöhen (ändern Sie ihn z.B. vonconfig_version="2"
aufconfig_version="3"
). - Speichern Sie die
/etc/cluster/cluster.conf
ab. - (Optional) Überprüfen Sie die aktualisierte Datei anhand des Cluster-Schemas (
cluster.rng
), indem Sie denccs_config_validate
Befehl ausführen. Zum Beispiel:[root@example-01 ~]#
ccs_config_validate
Configuration validates - Führen Sie den
cman_tool version -r
Befehl durch, um die Konfiguration an die übrigen Cluster-Knoten weiterzugeben. - Vergewissern Sie sich, dass die aktualisierte Konfigurationsdatei übertragen wurde.
- Fahren Sie mit Abschnitt 7.9, »Überprüfen der Konfiguration« fort.
Beispiel 7.10. cluster.conf
mit hinzugefügten Diensten: Einer verwendet globale Ressourcen, der andere verwendet dienstspezifische Ressourcen
<cluster name="mycluster" config_version="3"> <clusternodes> <clusternode name="node-01.example.com" nodeid="1"> <fence> <method name="APC"> <device name="apc" port="1"/> </method> </fence> </clusternode> <clusternode name="node-02.example.com" nodeid="2"> <fence> <method name="APC"> <device name="apc" port="2"/> </method> </fence> </clusternode> <clusternode name="node-03.example.com" nodeid="3"> <fence> <method name="APC"> <device name="apc" port="3"/> </method> </fence> </clusternode> </clusternodes> <fencedevices> <fencedevice agent="fence_apc" ipaddr="apc_ip_example" login="login_example" name="apc" passwd="password_example"/> </fencedevices> <rm> <failoverdomains> <failoverdomain name="example_pri" nofailback="0" ordered="1" restricted="0"> <failoverdomainnode name="node-01.example.com" priority="1"/> <failoverdomainnode name="node-02.example.com" priority="2"/> <failoverdomainnode name="node-03.example.com" priority="3"/> </failoverdomain> </failoverdomains> <resources> <fs name="web_fs" device="/dev/sdd2" mountpoint="/var/www" fstype="ext3"/> <ip address="127.143.131.100" monitor_link="yes" sleeptime="10"/> <apache config_file="conf/httpd.conf" name="example_server" server_root="/etc/httpd" shutdown_wait="0"/> </resources> <service autostart="1" domain="example_pri" exclusive="0" name="example_apache" recovery="relocate"> <fs ref="web_fs"/> <ip ref="127.143.131.100"/> <apache ref="example_server"/> </service> <service autostart="0" domain="example_pri" exclusive="0" name="example_apache2" recovery="relocate"> <fs name="web_fs2" device="/dev/sdd3" mountpoint="/var/www2" fstype="ext3"/> <ip address="127.143.131.101" monitor_link="yes" sleeptime="10"/> <apache config_file="conf/httpd.conf" name="example_server2" server_root="/etc/httpd" shutdown_wait="0"/> </service> </rm> </cluster>