CentOS 5
Sponsored Link

DRBD を監視2008/08/15

 
DRBDをクラスタ対象として設定してみます。 ここではDRBD単体を対象とします。
[1]
まずは(1)の項を参照して HeartBeat の基本設定をしておきます。 以下で行う設定中のクラスタ参加ノード等は (1) のものと同じです。
[2]
DRBD の項を参照して ミラーリングの設定をします。 ここでの HeartBeat との連携設定は DRBD の項の設定にしたがって行いますので、 DRBD の設定ファイル内の各設定名やマウント位置は適宜読み替えてください。
[3] HearBeat と DRBD の基本設定ができたら、次は連携設定を行います。対象の両サーバーで以下のように同じ設定をします。 なお、DRBDはすでに両サーバーで起動済みであるものとします。
[root@www1 ~]#
/etc/rc.d/init.d/heartbeat stop

Stopping High-Availability services:
[  OK  ]
[root@www1 ~]#
cd /var/lib/heartbeat/crm

[root@www1 crm]#
rm -f cib.xml.*

[root@www1 crm]#
vi cib.xml
 <cib generated="true" admin_epoch="0" epoch="1" have_quorum="true" ignore_dtd="false" ccm_transition="2" num_peers="2" cib_feature_revision="2.0" dc_uuid="f8719a77-70b4-4e5f-851b-dafa7d65d3a2" num_updates="4" cib-last-written="Sun Jun 15 05:04:30 2008">
   <configuration>
     <crm_config>
       <cluster_property_set id="cib-bootstrap-options">
         <attributes>
           <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="2.1.3-node: 552305612591183b1628baa5bc6e903e0f1e26a3"/>
         </attributes>
       </cluster_property_set>
     </crm_config>
     <nodes>
       <node id="2bbd6408-ec01-4b8c-bb8e-207237af3a99" uname="www1.server-linux.info" type="normal"/>
       <node id="f8719a77-70b4-4e5f-851b-dafa7d65d3a2" uname="www2.server-linux.info" type="normal"/>
     </nodes>
     <resources/>
← 削除

# 以下, DRBD 用の設定として追記(各自変更の必要があるところは注釈の部分)

     <resources>
       <master_slave id="ms-drbd0">
         <meta_attributes id="ma-ms-drbd0">
           <attributes>
             <nvpair id="ma-ms-drbd0-1" name="clone_max" value="2"/>
             <nvpair id="ma-ms-drbd0-2" name="clone_node_max" value="1"/>
             <nvpair id="ma-ms-drbd0-3" name="master_max" value="1"/>
             <nvpair id="ma-ms-drbd0-4" name="master_node_max" value="1"/>
             <nvpair id="ma-ms-drbd0-5" name="notify" value="yes"/>
             <nvpair id="ma-ms-drbd0-6" name="globally_unique" value="false"/>
           </attributes>
         </meta_attributes>
         <primitive id="drbd0" class="ocf" type="drbd" provider="heartbeat">
           <instance_attributes id="ia-drbd0">
             <attributes>
              
# 次行の value= はDRBDで設定したリソース名を指定する

               <nvpair id="ia-drbd0-1" name="drbd_resource" value="r0"/>
             </attributes>
           </instance_attributes>
         </primitive>
       </master_slave>
       <primitive id="fs0" class="ocf" type="Filesystem" provider="heartbeat">
         <meta_attributes id="ma-fs0">
           <attributes/>
         </meta_attributes>
         <instance_attributes id="ia-fs0">
           <attributes>
             <nvpair id="ia-fs0-1" name="fstype" value="ext3"/>
            
# 次行の value= はマウントポイントを指定する

             <nvpair id="ia-fs0-2" name="directory" value="/mnt/drbd"/>
            
# 次行の value= はDRBDで設定したデバイス名を指定する

             <nvpair id="ia-fs0-3" name="device" value="/dev/drbd0"/>
           </attributes>
         </instance_attributes>
       </primitive>
     </resources>
     <constraints>
       <rsc_location id="rsc_location_group_1" rsc="ms-drbd0">
         <rule id="prefered_location_group_1" role="Master" score="100">
          
# 次行の value= はDRBDで設定したプライマリノード名を指定する

           <expression id="prefered_location_group_1_expr" attribute="#uname" operation="eq" value="www1.server-linux.info"/>
         </rule>
       </rsc_location>
       <rsc_order id="drbd0_before_fs0" from="fs0" action="start" to="ms-drbd0" to_action="promote"/>
       <rsc_colocation id="fs0_on_drbd0" to="ms-drbd0" to_role="master" from="fs0" score="infinity"/>
     </constraints>
     <constraints/>  
← 削除

   </configuration>
 </cib>
[root@www1 crm]#
/etc/rc.d/init.d/heartbeat start

Starting High-Availability services:
[  OK  ]
[4] しばらく時間をおいて、両サーバーで crm_mon を実行して、以下のような結果が返ってくれば問題なしです。 HeartBeat で DRBD が制御され、プライマリノードで df の結果を見ると DRBD ディスクが自動的にマウントされていることが分かります。
[root@www1 crm]#
crm_mon -i 3

Defaulting to one-shot mode
You need to have curses available at compile time to enable console mode
============
Last updated: Wed Jun 18 23:16:41 2008
Current DC: www2.server-linux.info (f8719a77-70b4-4e5f-851b-dafa7d65d3a2)
2 Nodes configured.
2 Resources configured.
============
Node: www1.server-linux.info (2bbd6408-ec01-4b8c-bb8e-207237af3a99): online
Node: www2.server-linux.info (f8719a77-70b4-4e5f-851b-dafa7d65d3a2): online
Master/Slave Set: ms-drbd0
    drbd0:0     (heartbeat::ocf:drbd):     Master www1.server-linux.info
    drbd0:1     (heartbeat::ocf:drbd):     Started www2.server-linux.info
fs0        (heartbeat::ocf:Filesystem):     Started www1.server-linux.info
[root@www1 crm]#
df -h

Filesystem     Size     Used     Available     Use%     Mounted on
/dev/hda1     20G     2.7G     17G     14%     /
tmpfs     513M     0     513     0%     /dev/shm
/dev/drbd0     1008M     18M     940M     2%     /mnt/drbd
[5] プライマリ側で HeartBeat を停止し、フェイルオーバーするか確認してみます。
[root@www1 crm]#
/etc/rc.d/init.d/heartbeat stop

Starting High-Availability services:
[  OK  ]
  セカンダリ側でcrm_mon を実行して確認してみます。正常に切り替わり、DRBDディスクも自動的にマウントされています。
[root@www2 crm]#
crm_mon -i 3

Defaulting to one-shot mode
You need to have curses available at compile time to enable console mode
============
Last updated: Wed Jun 18 23:32:11 2008
Current DC: www2.server-linux.info (f8719a77-70b4-4e5f-851b-dafa7d65d3a2)
2 Nodes configured.
2 Resources configured.
============
Node: www1.server-linux.info (2bbd6408-ec01-4b8c-bb8e-207237af3a99): OFFLINE
Node: www2.server-linux.info (f8719a77-70b4-4e5f-851b-dafa7d65d3a2): online
Master/Slave Set: ms-drbd0
    drbd0:0     (heartbeat::ocf:drbd):     Master www2.server-linux.info
    drbd0:1     (heartbeat::ocf:drbd):     Stopped
fs0        (heartbeat::ocf:Filesystem):     Started www2.server-linux.info
[root@www2 crm]#
df -h

Filesystem     Size     Used     Available     Use%     Mounted on
/dev/hda1     15G     1.6G     13G     12%     /
tmpfs     513M     0     513     0%     /dev/shm
/dev/drbd0     1008M     18M     940M     2%     /mnt/drbd
[6] プライマリ側で再び HeartBeat を起動し、フェイルバックするか確認してみます。
[root@www1 crm]#
/etc/rc.d/init.d/heartbeat start

Starting High-Availability services:
[  OK  ]
  プライマリ側でcrm_mon を実行して確認してみます。正常に切り替わり、DRBDディスクも再び自動的にマウントされています。
[root@www1 crm]#
crm_mon -i 3

Defaulting to one-shot mode
You need to have curses available at compile time to enable console mode
============
Last updated: Wed Jun 18 23:37:25 2008
Current DC: www2.server-linux.info (f8719a77-70b4-4e5f-851b-dafa7d65d3a2)
2 Nodes configured.
2 Resources configured.
============
Node: www1.server-linux.info (2bbd6408-ec01-4b8c-bb8e-207237af3a99): OFFLINE
Node: www2.server-linux.info (f8719a77-70b4-4e5f-851b-dafa7d65d3a2): online
Master/Slave Set: ms-drbd0
    drbd0:0     (heartbeat::ocf:drbd):     Slave www2.server-linux.info
    drbd0:1     (heartbeat::ocf:drbd):     Master www1.server-linux.info
fs0        (heartbeat::ocf:Filesystem):     Started www1.server-linux.info
[root@www1 crm]#
df -h

Filesystem     Size     Used     Available     Use%     Mounted on
/dev/hda1     20G     2.7G     17G     14%     /
tmpfs     513M     0     513     0%     /dev/shm
/dev/drbd0     1008M     18M     940M     2%     /mnt/drbd
関連コンテンツ