НАЗВА
cluster.conf - загальний файл налаштувань для кластерних рішень.
ОПИС
Файл cluster.conf знаходиться в каталозі /etc/cluster. Він є джерелом інформації для кластерних програм - яку вони отримують через посередництво ccs(7). Цей файл містить всю необхідну інформацію для роботи кластеру, таку, як: з яких вузлів складається кластер та як працює захист вводу/виводу на них. Це загальна інформація, що відноситься до всієї кластерної інфраструктури так само як деяка специфічна інформація, що стосується конкретних кластерних продуктів.
Ця сторінка підручника описує загальний вміст файлу cluster.conf. Специфіка пов'язана з окремими програмами залишається для опису відповідним сторінкам підручника. Для прикладу, після складання загального опису користувачам буде потрібно заглянути до сторінки підручника ?lock gulmd(5), якщо користуєтесь ?lock gulmd як сервером блокування. Відповідно, користувачам dlm варто глянути у cman(5) та ?dlm(5) для подальших інструкцій.
Файл cluster.conf складено у форматі XML. Він має одну загальну секцію яка містить всі інші згруповані секції. На початку секції кластеру міститься два делегованих атрибути: name та config_version. Атрибут name оголошує ім'я кластеру. Важливим є унікальність цього імені від інших кластерів, що користувач можливо підійме. Атрибут config_version є номером котрий використовують для визначення версії файлу cluster.conf. Записавши цю інформацію Ваш cluster.conf файл виглядатиме наступним чином:
<cluster name="alpha" config_version="1">
</cluster>
Делегованим підрозділом головної секції cluster є fencedevices. Вона містить всі пристрої з захищеним вводом/виводом з котрих складається кластер. Пристрої захищеного I/O перелічені в підсекції з назвою fencedevice та містять атрибути, що описують конкретний пристрій. Для прикладу:
<fencedevices>
<fencedevice name="apc" agent="fence_apc"
ipaddr="apc_1" login="apc" passwd="apc"/>
</fencedevices>
Після підсекції fencedevice, мусять бути оголошені ім'я та атрибути агенту для всіх пристроїв з захищеним вводом/виводом. Очікувані атрибути залежать від пристрою і використовуються для опису специфічної, необхідної інформації потрібної для доступу до пристрою. Атрибут імені name повинен бути унікальним і використовується для звертання до пристрою з захищеним I/O в інших секціях файлу cluster.conf. Атрибут агенту agent використовується для вказання двійкової програми-агенту, що використовується з конкретним пристроєм. Зараз ваш файл cluster.conf повинен виглядати приблизно так:
<cluster name="alpha" config_version="1">
<fencedevices>
<fencedevice name="apc" agent="fence_apc"
ipaddr="apc_1" login="apc" passwd="apc"/>
<fencedevice name="brocade" agent="fence_brocade"
ipaddr="brocade_1" login="bro" passwd="bro"/>
<fencedevice name="wti" agent="fence_wti"
ipaddr="wti_1" passwd="wti"/>
<fencedevice name="last_resort" agent="fence_manual"/>
</fencedevices> </cluster>
Заключною делегуючою підсекцією cluster є clusternodes. Вона містить індивідуальні специфікації всіх машин, членів кластеру. Кожна машина має свою секцію clusternode, що містить атрибут імені name - яке мусить співпадати з іменем машини. Секція clusternode також містить підсекцію fence (не сплутайте з секцією fencedevices), секція fence використовується для вказання всіх можливих методів "method" захисту конкретної машини, подібно до того як device використовується для визначення методу та необхідних специфічних параметрів машини. Секція вузла кластеру може виглядати наступним чином:
<clusternodes>
<clusternode name="nd01">
<fence>
<method name="power">
<device name="apc" port="1:1"/>
</method>
<method name="fabric">
<device name="brocade" port="1"/>
</method>
<method name="human">
<device name="last_resort" ipaddr="nd01"/>
</method>
</fence>
</clusternode>
</clusternodes>
Зібравши все разом, файл налаштувань cluster.conf для трьохвузлового кластеру виглядатиме так:
<cluster name="example" config_version="1">
<clusternodes>
<clusternode name="nd01">
<fence>
<method name="power">
<device name="apc" port="1:1"/>
</method>
<method name="fabric">
<device name="brocade" port="1"/>
</method>
<method name="human">
<device name="last_resort" ipaddr="nd01"/>
</method>
</fence>
</clusternode>
<clusternode name="nd02">
<fence>
<method name="power">
<device name="apc" port="1:2"/>
</method>
<method name="fabric">
<device name="brocade" port="2"/>
</method>
<method name="human">
<device name="last_resort" ipaddr="nd02"/>
</method>
</fence>
</clusternode>
<clusternode name="nd11">
<fence>
<method name="power">
<device name="apc" port="2:1"/>
<device name="wti" port="1"/>
</method>
<method name="fabric">
<device name="brocade" port="11"/>
</method>
<method name="human">
<device name="last_resort" ipaddr="nd11"/>
</method>
</fence>
</clusternode>
</clusternodes>
<fencedevices>
<fencedevice name="apc" agent="fence_apc"
ipaddr="apc_1" login="apc" passwd="apc"/>
<fencedevice name="brocade" agent="fence_brocade"
ipaddr="brocade_1" login="bro" passwd="bro"/>
<fencedevice name="wti" agent="fence_wti"
ipaddr="wti_1" passwd="wti"/>
<fencedevice name="last_resort" agent="fence_manual"/>
</fencedevices> </cluster>