7.5.2. Come aggiungere un servizio ad un cluster
Per aggiungere un servizio al cluster seguire le fasi di questa sezione.
- Aprire
/etc/cluster/cluster.conf
su qualsiasi nodo nel cluster. - Aggiungere una sezione
service
all'interno dell'elementorm
per ogni servizio. Per esempio:<rm> <service autostart="1" domain="" exclusive="0" name="" recovery="restart"> </service> </rm>
- Configurare i seguenti parametri (attributi) nell'elemento
service
:autostart
— Specifica se eseguire un avvio automatizzato del servizio all'avvio del cluster. Usare '1' per abilitare e '0' per disabilitare; l'impostazione predefinita è abilitato.domain
— Specifica un dominio di failover (se necessario).exclusive
— Specifica una politica in cui il servizio viene eseguito solo su nodi sprovvisti di altri servizi.recovery
— Specifica una politica di ripristino del servizio. Usare le opzioni per riposizionare, riavviare e riavviare-disabilitare il servizio.
- In base al tipo di risorse da usare popolate il servizio con risorse globali o specifiche al servizio.Per esempio ecco riportato un servizio Apache che utilizza risorse globali:
<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>
Esempio di un servizio Apache che utilizza risorse specifiche al servizio:<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>
Esempio 7.10, «cluster.conf
con l'aggiunta dei servizi: Usando le risorse globali e le risorse specifiche al servizio» mostra un esempio di filecluster.conf
con due servizi:example_apache
— Questo servizio utilizza le risorse globaliweb_fs
,127.143.131.100
, eexample_server
.example_apache2
— Questo servizio utilizza risorse specifiche del servizioweb_fs2
,127.143.131.101
, eexample_server2
.
- Aggiornare l'attributo
config_version
aumentando il proprio valore (per esempio, modificandolo daconfig_version="2"
aconfig_version="3">
). - Salvare
/etc/cluster/cluster.conf
. - (Opzionale) Convalidare il file aggiornato con lo schema del cluster (
cluster.rng
) eseguendo il comandoccs_config_validate
. Per esempio:[root@example-01 ~]#
ccs_config_validate
Configuration validates - Eseguire il comando
cman_tool version -r
per diffondere la configurazione al resto dei nodi del cluster. - Verificare che il file di configurazione aggiornato è stato diffuso.
- Procedere alla Sezione 7.8, «Verifica di una configurazione».
Esempio 7.10. cluster.conf
con l'aggiunta dei servizi: Usando le risorse globali e le risorse specifiche al servizio
<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>