VServer設定 · 1 min read · Oct 21, 2025

レニーとハイになる - ページ 5

上記の2つのファイルが設定された後、haresourcesはHeartbeatの動作を制御するために必要な場所です。これは後で設定する1つのVserverの例です。

nano /etc/ha.d/haresources
node1 drbddisk::r1 LVM::drbdvg1 Filesystem::/dev/drbdvg1/web::/VSERVERS/web::ext3 vserver-web SendArp::123.123.123.125/eth0

上記は、webという名前のVserverをnode1にデフォルト設定し、マウントポイントを指定します。vserver-webスクリプトはそれをheartbeatで開始および停止し、sendarpはこのIPが以前とは異なる場所にあることをネットワークに通知するためのものです。(より良い結果を得るために、SendArpを追加で下に記載しました。)

vserver-webスクリプトは、ここにあるMartin Fickによる元のR2スタイルエージェントの壊れたバージョンです: http://www.theficks.name/bin/lib/ocf/VServer。私が行ったのは、感度の高い上部を削除し、”$OCF_RESKEY_vserver”を特定のVserver名に置き換え、さまざまな結果が得られたため、開始部分に/etc/ha.d/resource.d/SendArp 123.123.123.126/eth0 startを追加しました。

nano /etc/ha.d/resource.d/Vserver-web
#!/bin/sh
#
# License: GNU General Public License (GPL)
# Author:  Martin Fick <[email protected]>
# Date:    04/19/07
# Version: 1.1
#
#    このスクリプトはVServerインスタンスを管理します
#
#    VServerを開始または停止できます
#
#    使用法: $0 {start|stop|status|monitor|meta-data}
#
#
#       OCFパラメータは以下の通りです
#       OCF_RESKEY_vserver
#
#######################################################################
# 初期化:
#
#. /usr/lib/heartbeat/ocf-shellfuncs
#
#USAGE="使用法: $0 {start|stop|status|monitor|meta-data}";
#
#######################################################################
#
#
#meta_data() {
#        cat <
#
#
# 1.0
# 
#このスクリプトはVServerインスタンスを管理します。
#VServerを開始または停止できます。
# 
# OCFリソースエージェント準拠のVServerスクリプト。
#
#

#
#

#   
#Vserver名は/etc/vserversの下に見つかる名前です
#   
#   VServer名
#    
#   
#
# 
#
# 
#  
#  
#  
#  
#  
# 
#
#END
#}
vserver_reload() {
    vserver_stop || return
    vserver_start
}
vserver_stop() {
  #
  #    VServerはすでに停止していますか?
  #
    vserver_status
    [ $? -ne 0 ] && return 0
    /usr/sbin/vserver "web" "stop"
    vserver_status
    [ $? -ne 0 ] && return 0
    return 1
}
vserver_start() {
    vserver_status
    [ $? -eq 0 ] && return 0
    /usr/sbin/vserver "web" "start"
    vserver_status
    /etc/ha.d/resource.d/SendArp 123.123.123.125/eth0 start
}
vserver_status() {
    /usr/sbin/vserver "web" "status"
    rc=$?
    if [ $rc -eq 0 ]; then
    echo "running"
        return 0
    elif [ $rc -eq 3 ]; then
    echo "stopped"
    else
    echo "unknown"
    fi
    return 7
}
vserver_monitor() {
  vserver_status
}
vserver_usage() {
  echo $USAGE >&2
}
vserver_info() {
cat - <