通过ctdb来控制linux lio target启动关闭

it2024-04-06  51

修改/etc/ctdb/functions文件,增加target环境变量

ctdb_compat_managed_service "$CTDB_MANAGES_VSFTPD"   "vsftpd"

ctdb_compat_managed_service "$CTDB_MANAGES_SAMBA"    "samba"

ctdb_compat_managed_service "$CTDB_MANAGES_WINBIND"  "winbind"

ctdb_compat_managed_service "$CTDB_MANAGES_HTTPD"    "apache2"

ctdb_compat_managed_service "$CTDB_MANAGES_HTTPD"    "httpd"

ctdb_compat_managed_service "$CTDB_MANAGES_ISCSI"    "iscsi"

ctdb_compat_managed_service "$CTDB_MANAGES_CLAMD"    "clamd"

ctdb_compat_managed_service "$CTDB_MANAGES_NFS"      "nfs"

ctdb_compat_managed_service "$CTDB_MANAGES_NFS"      "nfs-ganesha-gpfs"

ctdb_compat_managed_service "$CTDB_MANAGES_TARGET"      "target"

在/etc/ctdb/event.d/目录下增加target的service文件

[root@localhost ~]# ls /etc/ctdb/events.d/

00.ctdb     10.interface  11.routing         20.multipathd  40.fs_use  41.httpd    50.samba    60.nfs   70.iscsi   91.lvs

01.reclock  11.natgw      13.per_ip_routing  31.clamd       40.vsftpd  49.winbind  60.ganesha  62.cnfs  71.target  99.timeout

[root@localhost ~]# vim /etc/ctdb/events.d/71.target

 

#!/bin/sh

# ctdb event script for target

[ -n "$CTDB_BASE" ] || \

    export CTDB_BASE=$(cd -P $(dirname "$0") ; dirname "$PWD")

. $CTDB_BASE/functions

detect_init_style

CTDB_SERVICE_TARGET=target

service_name="target"

loadconfig

ctdb_setup_service_state_dir

service_start ()

{

    service "$CTDB_SERVICE_TARGET" stop >/dev/null 2>&1

    service "$CTDB_SERVICE_TARGET" start || \

        die "Failed to start winbind"

}

service_stop ()

{

    service "$CTDB_SERVICE_TARGET" stop

}

###########################

ctdb_start_stop_service

is_ctdb_managed_service || exit 0

###########################

case "$1" in

     startup)

        ctdb_service_start

        ;;

     shutdown)

        ctdb_service_stop

        ;;

     monitor)

        ;;

     takeip|releaseip)

        iface=$2

        ip=$3

        maskbits=$4

        ;;

    *)

        ctdb_standard_event_handler "$@"

        ;;

esac

exit 0

修改/etc/sysconfig/ctdb配置文件,设置ctdb对target控制选项为yes

[root@localhost ~]# vim /etc/sysconfig/ctdb

CTDB_MANAGES_TARGET=yes

重新启动ctdb服务

[root@localhost ~]# service ctdb restart

Redirecting to /bin/systemctl restart  ctdb.service

[root@localhost ~]#

检查target运行状态

[root@localhost ~]# ctdb status

Number of nodes:1

pnn:0 192.168.36.122   OK (THIS NODE)

Generation:1018791569

Size:1

hash:0 lmaster:0

Recovery mode:NORMAL (0)

Recovery master:0

[root@localhost ~]# service target status

Redirecting to /bin/systemctl status  target.service

● target.service - Restore LIO kernel target configuration

   Loaded: loaded (/usr/lib/systemd/system/target.service; enabled; vendor preset: disabled)

   Active: active (exited) since Wed 2016-12-21 15:03:32 CST; 35s ago

 Main PID: 12760 (code=exited, status=0/SUCCESS)

Dec 21 15:03:32 localhost.localdomain systemd[1]: Starting Restore LIO kernel target configuration...

Dec 21 15:03:32 localhost.localdomain systemd[1]: Started Restore LIO kernel target configuration.

[root@localhost ~]#

最新回复(0)