Damit die DRBD-Ressource tatsächlich von Pacemaker gesteuert wird, fehlt noch das bereits erwähnte Master-Slave-Setting. Die Syntax einer solchen Regel ist diese:
ms <!-- START: including template: design/standard/templates/content/datatype/view/ezxmltags/emphasize.tpl (design:content/datatype/view/ezxmltags/emphasize.tpl) -->Name der Master-Slave-Ressource <!-- STOP: including template: design/standard/templates/content/datatype/view/ezxmltags/emphasize.tpl (design:content/datatype/view/ezxmltags/emphasize.tpl) --> <!-- START: including template: design/standard/templates/content/datatype/view/ezxmltags/emphasize.tpl (design:content/datatype/view/ezxmltags/emphasize.tpl) --> Name der Ressource, auf die sie sich <!-- STOP: including template: design/standard/templates/content/datatype/view/ezxmltags/emphasize.tpl (design:content/datatype/view/ezxmltags/emphasize.tpl) --> <!-- START: including template: design/standard/templates/content/datatype/view/ezxmltags/emphasize.tpl (design:content/datatype/view/ezxmltags/emphasize.tpl) --> bezieht meta-Attribute <!-- STOP: including template: design/standard/templates/content/datatype/view/ezxmltags/emphasize.tpl (design:content/datatype/view/ezxmltags/emphasize.tpl) -->
Ein funktionierendes Master-Slave-Setup für die vormals konfigurierte DRBD-Primitive-Ressource wäre diese:
ms ms_drbd_mysql res_drbd_mysql meta clone-max="2" master-max="1" master-node-max="1" clone-node-max="1" notify="true" target-role="Master"
»ms_drbd_mysql
«
legt dabei den Namen der Master-Slave-Resource fest, und
»res_drbd_mysql
«
legt fest, dass sich die Master-Slave-Regel auf die DRBD-Ressource
»res_drbd_mysql
«
bezieht. Die
»meta
«
-Paramater scheinen konfus, sind aber treffend:
clone-max
«
legt fest, dass die Ressource zu jedem Zeitpunkt auf höchstens zwei Knoten im Cluster gleichzeitig laufen darf.master-max
«
legt fest, dass es zu jeder Zeit nur einen Knoten im Cluster geben darf, auf dem die Ressource im
»Master
«
-Modus läuft.master-node-max
«
legt fest, dass auf diesem Knoten jeweils nur eine Instanz der Ressource im Master-Modus laufen darf.clone-node-max
«
sorgt dafür, dass auf einem Clusterknoten nur eine Kopie dieser Ressource vorhanden sein darf.An dieser Stelle wird deutlich, dass Master-Slave-Setups eigentlich für umfangreichere Aufgaben vorgesehen sind, als sich mit einer DRBD-Ressource bewerkstelligen lassen.
»master-node-max
«
und
»clone-node-max
«
sind im Falle von DRBD eigentlich überflüssig, müssen aber trotzdem angegeben werden
Wenn die
»primitive
«
-Ressource für DRBD sowie die dazu gehörende
»Master-Slave-Ressource
«
in der CRM-Shell hinzugefügt sind, katapultiert
»commit
«
im
»configure
«
-Abschnitt der CRM-Shell die Änderungen in den Cluster. Ein
»crm_mon -rf
«
zeigt die Ressourcen an – das Ergebnis sollte dann aussehen wie in
Abbildung 2
. Damit ist die Konfiguration von DRBD für Pacemaker abgeschlossen. Der Clustermanager wird ab sofort versuchen, die DRBD-Ressource jederzeit auf einem der beiden Cluster-Knoten im Modus
»Primary
«
zu betreiben.
Für das Beispiel dieses Artikels ist es mit DRBD allein allerdings noch nicht getan. Denn auch, wenn Pacemaker die DRBD-Ressource auf einem Knoten ordnungsgemäß in den
»Primary
«
-Modus schaltet, fehlt noch immer der automatische Mount-Vorgang, um das Dateisystem tatsächlich verwenden zu können. Zusätzlich zur DRBD-Ressource samt Master-Slave-Setup muss deshalb auch eine Ressource für eben diesen Mount in die Clusterkonfiguration. Der für Mountvorgänge vorhandene Ressource-Agent entstammt der OCF-Klasse, kommt vom Anbieter Heartbeat und heißt Filesystem. Somit könnte eine brauchbare Filesystem-Ressource für das
»mysql
«
-DRBD so aussehen:
primitive res_fs_mysql ocf:heartbeat:Filesystem \ params device="/dev/drbd/by-res/mysql/0" directory="/mnt/mysql" fstype="ext3"options="noatime" \ op start interval="0" timeout="180s" \op stop interval="0" timeout="300s" \op monitor interval="60s"
In der
»params
«
-Zeile bezeichnet
»device
«
das Device, welches gemountet werden soll – im Beispiel also die DRBD-Ressource.
»directory
«
legt den Mountpoint fest,
»fstype
«
und
»options
«
funktionieren analog zu den Parametern
»-t
«
sowie
»-o
«
bei
»mkfs
«
. Nachdem die Zeile oben so in der CRM-Shell eingetippt ist, aktiviert
»commit
«
sie im Cluster. Die DRBD-Ressource ist damit vorhanden – es fehlen noch die passenden Constraints, um die beiden Ressourcen auf denselben Knoten des Clusters zu zwingen.