質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

シェル

シェル(shell)はUnix や Linux 系のOSで使用されるコマンドインタプリタを指します。

Q&A

解決済

2回答

651閲覧

シェルスクリプトのトラブルシューティングについて質問です。

dame-dame

総合スコア78

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

シェル

シェル(shell)はUnix や Linux 系のOSで使用されるコマンドインタプリタを指します。

0グッド

1クリップ

投稿2017/06/26 08:06

編集2017/06/26 09:05

Keepalivedでmasterになったときにmaster.sh
backupになったときにbackup.shという
スクリプトを走らせるように設定しています。

Systemctl status keepalivedを見てみると下記のようにmaster.shやbackup.shは実行されているように見えました。

<keepalived statusのログ>
Keepalived_vrrp[1490]: Opening script file /etc/keepalived/master.sh
Keepalived_vrrp[40536]: Opening script file /etc/keepalived/backup.sh

このシェルでは下記のようなコマンドを記述して、keepalived のmasterになったときはhttpdとnagiosを立ち上げて
backupになったときにはhttpdとnagiosを落とすようにしています

<master.sh>
#!/bin/sh
systemctl start httpd.service
systemctl start nagios.service

<backup.sh>
#!/bin/sh
systemctl stop httpd.service
systemctl stop nagios.service

しかしながら、keepalived statusでは上記のようにスクリプトを実行したように見えても
Master.sh ,backup.sh いずれも実行されておらずnagios /httpdのステータスにも変化はありませんでした。

トラブルシューティングのステップとして以下の方法を考えておりますが
何かいい方法はありますでしょうか?
①実際にmaster.sh と backup.shが実行されたのかをログでチェックすること
>>/var/log/message を探してみましたが、それらしきものは見つけられませんでした。

②master.shとbackup.shそれぞれに各systemctl start /stop コマンドが
実行されたらコンソール上にログを出力する仕組みは作れませんでしょうか?
これがあればコマンドが実行されたかどうかすぐにわかると思います

<アドバイスに対する解答>
はい、その行を/etc/sysconfig/keepalivedにいれてやってみていますが
ログに残るのは下記のみです。Keepalived は普通に動いているようです。
(ちなみにkeepalivedのVIPの移り変わりやmaster/backup切り替え時の
メール送信などの挙動については問題ないかと思います)

journalctl | grep keepalived
Keepalived_vrrp[40536]: Opening script file /etc/keepalived/master.sh
Keepalived_vrrp[40536]: Opening script file /etc/keepalived/backup.sh
Keepalived_vrrp[40536]: Opening script file /etc/keepalived/master.sh
Keepalived_vrrp[40536]: Opening script file /etc/keepalived/backup.sh
Keepalived_vrrp[40536]: Opening script file /etc/keepalived/backup.sh
Keepalived_vrrp[40536]: Opening script file /etc/keepalived/master.sh
Keepalived_vrrp[40536]: Opening script file /etc/keepalived/backup.sh

アドバイスいただけたら幸いです

よろしくお願いいたします

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mattn

2017/06/26 08:42

KEEPALIVED_OPTIONS="-D -S 1" で syslog に出るのでまずは keepalived が動いているか確認した方が良いですね。
TaichiYanagiya

2017/06/26 15:25

master.sh, backup.sh 起動時、journalctl や /var/log/messages に keepalived 以外のログが出力されていませんでしょうか。 例えば、SELinux, audit 関連のログなど。
dame-dame

2017/06/26 22:21

はい、昨日からの分のaudit , selinux のログをgrepしてみても 下記しか見当たりません。しかもselinuxはdisableにしてありますので あまり関係ないかもしれません。 [root@xxxxxx audit]# cat /var/log/messages | grep audit Jun 25 18:40:49 xxxxxx kernel: audit: initializing netlink socket (disabled) Jun 25 18:40:49 xxxxxx kernel: type=2000 audit(1498383648.669:1): initialized Jun 25 18:40:55 xxxxxx kernel: type=1404 audit(1498383655.606:2): selinux=0 auid=4294967295 ses=4294967295 Jun 25 18:41:31 xxxxxx auditd[949]: Started dispatcher: /sbin/audispd pid: 958 Jun 25 18:41:31 xxxxxx kernel: type=1305 audit(1498383691.346:3): audit_pid=949 old=0 auid=4294967295 ses=4294967295 res=1 Jun 25 18:41:31 xxxxxx auditd[949]: Init complete, auditd 2.6.5 listening for events (startup state enable) [root@xxxxxx audit]# cat /var/log/messages | grep selinux Jun 25 18:40:49 xxxxxx kernel: EVM: security.selinux Jun 25 18:40:55 xxxxxx kernel: type=1404 audit(1498383655.606:2): selinux=0 auid=4294967295 ses=4294967295
TaichiYanagiya

2017/06/27 01:47

master.sh 起動時、systemctl/systemd のログは出ていますでしょうか? httpd なら「systemd: Starting The Apache HTTP Server...」のようなものです。出ているようならば、httpd のログ(/var/log/httpd/error_log など)には起動に失敗したようなログは出ていないでしょうか。
dame-dame

2017/06/27 02:07 編集

いえ特にログはありませんでした。 systemctl status keepalived では下記のようにmasterになり master.shが起動されたことがログとして残っています。 Jun 27 10:58:05 XXXXX Keepalived_vrrp[21102]: VRRP_Instance(VI_1) Entering MASTER STATE Jun 27 10:58:05 XXXXX Keepalived_vrrp[21102]: VRRP_Instance(VI_1) setting protocol VIPs. Jun 27 10:58:05 XXXXX Keepalived_vrrp[21102]: VRRP_Instance(VI_1) Sending gratuitous ARPs on bond0 for 192.168.XX.XX Jun 27 10:58:05 XXXXX Keepalived_healthcheckers[21101]: Netlink reflector reports IP 192.168.XX.XX added Jun 27 10:58:05 XXXXX Keepalived_vrrp[21102]: Opening script file /etc/keepalived/master.sh しかしながら、systemctl status nagios httpd で同じ時刻のログを調べてみても 立ち上げようとした形跡すら見られませんでした。もちろん/var/log/httpd/error_log にもエラーや立ち上げようとした形跡すら見られませんでした。
guest

回答2

0

ベストアンサー

sh master.sh ではなく、/etc/keepalived/master.sh では起動できるのでしょうか?
また、以下のように、/bin/sh でシェルスクリプトを引数にしても実行できませんでしょうか。

notify_master "/bin/sh /etc/keepalived/master.sh" notify_backup "/bin/sh /etc/keepalived/backup.sh"

(2017/06/27 14:16) 追記
実行権限(x)が必要です。
chmod +x master.sh または chmod u+x master.sh

実行権限の問題であれば、/bin/sh で実行できると思うのですが、ログを出してみるとどうでしょう。

notify_master "/bin/sh -x /etc/keepalived/master.sh >/tmp/master.log 2>&1" notify_backup "/bin/sh -x /etc/keepalived/backup.sh >/tmp/backup.log 2>&1"

(2017/06/27 15:12) 追記
同じ環境ですが、問題なく実行できました。
こちらでは再現できないので、何とも言えませんが、strace でトレースすると何か違いがあるかもしれません。

[root]# strace -f -e open,execve -o /tmp/strace.log /usr/sbin/keepalived -D (/bin/sh 実行箇所を抜粋) 1522 open("/bin/sh", O_RDONLY) = 15 1521 open("/etc/keepalived/keepalived.conf", O_RDONLY) = 10 1521 open("/etc/resolv.conf", O_RDONLY|O_CLOEXEC) = 10 1521 open("/etc/nsswitch.conf", O_RDONLY|O_CLOEXEC) = 10 1521 open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 10 1521 open("/lib64/libnss_files.so.2", O_RDONLY|O_CLOEXEC) = 10 1521 open("/etc/host.conf", O_RDONLY|O_CLOEXEC) = 10 1521 open("/etc/hosts", O_RDONLY|O_CLOEXEC) = 10 1523 open("/dev/null", O_RDWR) = 15 1521 open("/dev/urandom", O_RDONLY|O_NOCTTY|O_NONBLOCK) = 10 1524 execve("/bin/sh", ["sh", "-c", "/bin/sh -x /etc/keepalived/backu"...], [/* 24 vars */]) = 0 1524 open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 1524 open("/lib64/libtinfo.so.5", O_RDONLY|O_CLOEXEC) = 3 1524 open("/lib64/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3 1524 open("/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 1524 open("/dev/tty", O_RDWR|O_NONBLOCK) = -1 ENXIO (No such device or address) 1524 open("/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3 1524 open("/proc/meminfo", O_RDONLY|O_CLOEXEC) = 3 1524 open("/usr/lib64/gconv/gconv-modules.cache", O_RDONLY) = 3 1525 open("/tmp/backup.log", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 3 1525 execve("/bin/sh", ["/bin/sh", "-x", "/etc/keepalived/backup.sh"], [/* 23 vars */]) = 0 1525 open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 1525 open("/lib64/libtinfo.so.5", O_RDONLY|O_CLOEXEC) = 3 1525 open("/lib64/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3 1525 open("/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 1525 open("/dev/tty", O_RDWR|O_NONBLOCK) = -1 ENXIO (No such device or address) 1525 open("/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3 1525 open("/proc/meminfo", O_RDONLY|O_CLOEXEC) = 3 1525 open("/usr/lib64/gconv/gconv-modules.cache", O_RDONLY) = 3 1525 open("/etc/keepalived/backup.sh", O_RDONLY) = 3 1526 execve("/usr/bin/systemctl", ["systemctl", "stop", "httpd.service"], [/* 23 vars */]) = 0 (中略) 1522 open("/bin/sh", O_RDONLY) = 14 1531 open("/dev/null", O_RDWR) = 14 1532 execve("/bin/sh", ["sh", "-c", "/bin/sh -x /etc/keepalived/maste"...], [/* 24 vars */]) = 0 1532 open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 1532 open("/lib64/libtinfo.so.5", O_RDONLY|O_CLOEXEC) = 3 1532 open("/lib64/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3 1532 open("/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 1532 open("/dev/tty", O_RDWR|O_NONBLOCK) = -1 ENXIO (No such device or address) 1532 open("/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3 1532 open("/proc/meminfo", O_RDONLY|O_CLOEXEC) = 3 1532 open("/usr/lib64/gconv/gconv-modules.cache", O_RDONLY) = 3 1533 open("/tmp/master.log", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 3 1533 execve("/bin/sh", ["/bin/sh", "-x", "/etc/keepalived/master.sh"], [/* 23 vars */]) = 0 1533 open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 1533 open("/lib64/libtinfo.so.5", O_RDONLY|O_CLOEXEC) = 3 1533 open("/lib64/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3 1533 open("/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 1533 open("/dev/tty", O_RDWR|O_NONBLOCK) = -1 ENXIO (No such device or address) 1533 open("/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3 1533 open("/proc/meminfo", O_RDONLY|O_CLOEXEC) = 3 1533 open("/usr/lib64/gconv/gconv-modules.cache", O_RDONLY) = 3 1533 open("/etc/keepalived/master.sh", O_RDONLY) = 3 1534 execve("/usr/bin/systemctl", ["systemctl", "start", "httpd.service"], [/* 23 vars */]) = 0

投稿2017/06/27 02:37

編集2017/06/27 06:13
TaichiYanagiya

総合スコア12141

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dame-dame

2017/06/27 05:09

ありがとうございます。やはり /etc/keepalived/backup.sh ですとエラーがでますが、/bin/sh /etc/keepalived/backup.sh だと大丈夫です。 [root@xxxxxxxxx keepalived]# /bin/sh /etc/keepalived/backup.sh [root@xxxxxxxxx keepalived]# /etc/keepalived/backup.sh -bash: /etc/keepalived/backup.sh: Permission denied これをもとにkeepalivedには下記のように書きましたが シェルは動作しませんでした。 notify_master "/bin/sh /etc/keepalived/master.sh" notify_backup "/bin/sh /etc/keepalived/backup.sh" 書き方は間違ってますでしょうか?何か権限は必要でしょうか? 各ファイルの権限は下記のようになっています -rw-r--r-- 1 root root 331 Jun 26 13:53 master.sh -rw-r--r-- 1 root root 244 Jun 26 18:30 backup.sh
dame-dame

2017/06/27 05:24

notify_master "/bin/sh -x /etc/keepalived/master.sh >/tmp/master.log 2>&1" notify_backup "/bin/sh -x /etc/keepalived/backup.sh >/tmp/backup.log 2>&1" にしましたが、tmp配下にログは出力されませんでした。
dame-dame

2017/06/27 05:30

そして面白いことに /bin/sh -x /etc/keepalived/master.sh >/tmp/master.log 2>&1 /bin/sh -x /etc/keepalived/backup.sh >/tmp/backup.log 2>&1 をコピペして手動で打鍵したら下記のようにログがtmp配下に出力されました。 [root@XXXXXXX tmp]# more backup.log + systemctl stop httpd.service + echo + systemctl stop nagios.service + echo [root@XXXXXXX tmp]# more backup.log + systemctl stop httpd.service + echo + systemctl stop nagios.service + echo やはりkeepalived自体に問題があるのでしょうか?
TaichiYanagiya

2017/06/27 05:44

以下の情報を教えてください。 ・OS のバージョン ・keepalived のバージョン・インストール方法 ・keepalived.conf
dame-dame

2017/06/27 05:54

こちらでよろしいでしょうか? <CENTOSバージョン> cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) <keepalived> Yum install keepalived 出インストールしました。下記がバージョンになります。 keepalived -v Keepalived v1.2.13 (05/25,2017) <keepalived.conf> Configuration File for keepalived global_defs { notification_email { unko@unko.com } notification_email_from unko@unko.co.jp smtp_connect_timeout 30 # router_id 11 smtp_server localhost } vrrp_instance VI_1 { state BACKUP interface bond0 virtual_router_id 11 priority 100 smtp_alert advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.X00.XX } unicast_src_ip 192.168.X00.XX unicast_peer { 192.168.X00.XX } notify_master "/bin/sh -x /etc/keepalived/master.sh >/tmp/master.log 2>&1" notify_backup "/bin/sh -x /etc/keepalived/backup.sh >/tmp/backup.log 2>&1" }
dame-dame

2017/06/27 07:00

ありがとうございます。もう一度確認してみたのですが なぜだかうまくいきました、しかしながら strace -f -e open,execve -o /tmp/strace.log /usr/sbin/keepalived -D のコマンドを打鍵しても、strace.logには execve("/bin/sh", ["/bin/sh", "-x", "/etc/keepalived/backup.sh"] のように、シェルが起動できた形跡は見られませんでした。 (ちなみにstraceコマンドは検証前に打鍵しました。) 引き続き何が悪かったのか、検証してみます
TaichiYanagiya

2017/06/27 14:02

何でしょうね? 再起動していなかったり、二重起動していたりしませんでしたでしょうか。 余談ですが、もし、LVS を使わないで keepalived を HAクラスタのように使うのであれば、corosync + pacemaker などの方が適していると思います。
dame-dame

2017/06/27 22:52

いままで再起動を何回も繰り返していました。2重起動とはどのような意味でしょうか?(すいません、Linuxもviもここ数ヶ月ではじめたものでして。。。)keepalivedを2重に起動することでしょうか?
guest

0

回答ではないです。どこかでエラーが出てるのかもしれませんね。
それぞれのスクリプトで

bash

1#!/bin/sh 2 3echo 1 >> /tmp/test 4systemctl start httpd.service 5echo 2 >> /tmp/test 6systemctl start nagios.service 7echo 3 >> /tmp/test

の様にしてどこまで処理が進んでいるか確認してみてはどうでしょう。

投稿2017/06/26 09:12

mattn

総合スコア5030

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dame-dame

2017/06/26 09:38

はい実はそのやり方で試してみたのですが、text.txtに結果を出力しても 何もtest.txtには何も出力されず、sh master.sh や sh backup.shコマンドを 打鍵すると、test.txtに出力されるのです。もしかして、keepalived のほうで Opening script file /etc/keepalived/,,,,とログがあっても実際はシェルをうまく 起動できてないのではないかと思いますがいかがでしょうか? ご意見いただければ幸いです
mattn

2017/06/26 09:42

keepalived -f /etc/keepalived.conf --dont-fork --log-console --log-detail でスタンドアローン起動できますが、どう出力されますか?
dame-dame

2017/06/26 09:55

いただいたコマンドをたたいて、keepalived をリスターとさせました [root@ XXXXXXX ~]# cat /var/log/messages | grep keepalived Jun 26 10:39:18 XXXXXXX Keepalived_vrrp[1490]: Opening file '/etc/keepalived/keepalived.conf'. Jun 26 10:39:18 XXXXXXX Keepalived_healthcheckers[1488]: Opening file '/etc/keepalived/keepalived.conf'. Jun 26 17:48:37 XXXXXXX Keepalived_healthcheckers[27416]: Opening file '/etc/keepalived/keepalived.conf'. Jun 26 17:48:37 XXXXXXX Keepalived_vrrp[27417]: Opening file '/etc/keepalived/keepalived.conf'. Jun 26 18:51:40 XXXXXXX Keepalived_healthcheckers[40126]: Opening file '/etc/keepalived/keepalived.conf'. Jun 26 18:51:40 XXXXXXX Keepalived_vrrp[40127]: Opening file '/etc/keepalived/keepalived.conf'. 同様に切り替えを行ってもkeepalived 関連のログは上記のものしか出ませんでした journalctlでも同様です
mattn

2017/06/26 09:56

あ、すみません。conf ファイルの場所などは環境に合わせ置き換えて下さい。
dame-dame

2017/06/26 10:10

あ、はい ディレクトリを/etc/keepalived/keepavlied.confとしましたが、結果は同じでした。
mattn

2017/06/26 10:16

この場合は master.sh slave.sh が実行されないという結果でしょうか?
dame-dame

2017/06/26 10:24

失礼しました。こんな感じで、実行されていることがわかりました。ただログの出力に変化があるようには思えませんでした Jun 26 18:47:30 XXXXXXX Keepalived_vrrp[49215]: Opening file '/etc/keepalived/keepalived.conf'. Jun 26 18:47:30 XXXXXXX Keepalived_vrrp[49215]: Opening script file /etc/keepalived/backup.sh Jun 26 18:47:35 XXXXXXX Keepalived_vrrp[49215]: Opening script file /etc/keepalived/master.sh Jun 26 18:47:39 XXXXXXX Keepalived_vrrp[49215]: Opening script file /etc/keepalived/backup.sh Jun 26 18:51:41 XXXXXXX Keepalived_vrrp[49215]: Opening script file /etc/keepalived/backup.sh Jun 26 19:07:55 XXXXXXX Keepalived_healthcheckers[59693]: Opening file '/etc/keepalived/keepalived.conf'. Jun 26 19:07:55 XXXXXXX Keepalived_vrrp[59694]: Opening file '/etc/keepalived/keepalived.conf'. Jun 26 19:07:55 XXXXXXX Keepalived_vrrp[59694]: Opening script file /etc/keepalived/backup.sh Jun 26 19:08:14XXXXXXX Keepalived_vrrp[59694]: Opening script file /etc/keepalived/master.sh Jun 26 19:23:07 XXXXXXX Keepalived_vrrp[59694]: Opening script file /etc/keepalived/backup.sh
mattn

2017/06/26 12:31

んー。なんでしょうね。ちなみに実行権限は付いていますでしょうか?
dame-dame

2017/06/26 12:33

実行権限はrootのみですがまずいでしょうか?Nagiosと違って、nagiosというユーザを特に指定する必要はなかったと思います。
mattn

2017/06/26 12:41

keepalived のソースを見てみたところ、コマンドラインで -D や -l を付けるとデバッグログが出るっぽいです。
dame-dame

2017/06/26 13:09

ありがとうございます。明日もう一度試してご連絡します
dame-dame

2017/06/26 22:39

ただ、下記のようにvar/log/messagesではshellを開いた旨のメッセージが出力されません。 cat /var/log/messages | grep Keepalived の出力 Jun 27 07:26:04 xxxxxx Keepalived_vrrp[45966]: VRRP_Instance(VI_1) Transition to MASTER STATE Jun 27 07:26:05 xxxxxx Keepalived_vrrp[45966]: VRRP_Instance(VI_1) Entering MASTER STATE Jun 27 07:26:05 xxxxxx Keepalived_vrrp[45966]: VRRP_Instance(VI_1) setting protocol VIPs. Jun 27 07:26:05 xxxxxx Keepalived_vrrp[45966]: VRRP_Instance(VI_1) Sending gratuitous ARPs on bond0 for 192.168.xxx.65 Jun 27 07:26:05 xxxxxx Keepalived_healthcheckers[45965]: Netlink reflector reports IP 192.168.xxx.65 added Jun 27 07:26:05 xxxxxx Keepalived_vrrp[45966]: Remote SMTP server [0.0.0.0]:25 connected. Jun 27 07:26:05 xxxxxx Keepalived_vrrp[45966]: SMTP alert successfully sent. Jun 27 07:26:10 xxxxxx Keepalived_vrrp[45966]: VRRP_Instance(VI_1) Sending gratuitous ARPs on bond0 for 192.168.xxx.65 下記の出力ではmaster.shを開いた旨が出力されています。 systemctl status keepalived.serviceの出力 Jun 27 07:25:44 xxxxxx Keepalived_vrrp[45966]: SMTP alert successfully sent. Jun 27 07:26:04 xxxxxx Keepalived_vrrp[45966]: VRRP_Instance(VI_1) Transition to MASTER STATE Jun 27 07:26:05 xxxxxx Keepalived_vrrp[45966]: VRRP_Instance(VI_1) Entering MASTER STATE Jun 27 07:26:05 xxxxxx Keepalived_vrrp[45966]: VRRP_Instance(VI_1) setting protocol VIPs. Jun 27 07:26:05 xxxxxx Keepalived_vrrp[45966]: VRRP_Instance(VI_1) Sending gratuitous ARPs on bond0 for 192.168.xxx.65 Jun 27 07:26:05 xxxxxx Keepalived_vrrp[45966]: Opening script file /etc/keepalived/master.sh Jun 27 07:26:05 xxxxxx Keepalived_healthcheckers[45965]: Netlink reflector reports IP 192.168.xxx.65 added Jun 27 07:26:05 xxxxxx Keepalived_vrrp[45966]: Remote SMTP server [0.0.0.0]:25 connected. この出力はkeepavlied -i -L を打鍵した後に、keepalivedをrestartさせてから検証して 取得したログです。 やはり、master.shやbackup.shの書き方に問題があるのでしょうか?
dame-dame

2017/06/26 23:16

切り分けをしてみて下記のことがわかりました ①keepalivedでmasterやbackupになったときに自動的にmaster.shやbackup.shが立ち上がらないように 設定しておく ②①の状態でkeepalivedの切り替わりが発生してmasterに昇格したマシン上で手動で "sh master.sh"と打鍵したら、正常にhttpdもnagiosも立ち上がりました。Backup.shも手動で 打鍵すると問題ないです。 つまり、master.shとbackup.shの内容には問題なく、keepalivedがshを開く方法とタイミングに問題があるのではないかと 思いますがいかがでしょうか?ご意見いただければ幸いです
mattn

2017/06/26 23:48

なるほど、片方のサーバで master.shbackup.sh を逆に走らせてしまっている可能性があるという事でしょうか?ですと起きた事象としては説明が付きそうですが。 "echo 1 >> /tmp/test" が吐かれなかったのが少し気になりますね。
dame-dame

2017/06/27 00:07

いいえ、逆に走らせているということはございません。 主系、副系のサーバでもいずれもkeepalived.confの設定は下記のように しています。 notify_master "/etc/keepalived/master.sh" notify_backup "/etc/keepalived/backup.sh" 今回は下記のようにコメントアウトして、手動でshを打鍵して 検証しました。 #notify_master "/etc/keepalived/master.sh" #notify_backup "/etc/keepalived/backup.sh" echoでmaster.shに systemctl status httpd.service >> master_and_backup.txt と書き込んでおいたので master_and_backup.txtをチェックしたのですが手動でshを 動作させるときちんとnagios,httpdも起動した旨が表示されていました。
mattn

2017/06/27 00:15

むむむ。という事は Opening script file とは出ているけど実行しては無いというのを疑った方が良さそうですね。
dame-dame

2017/06/27 00:23

そうですね。もう少し自力で切り分けして見ます
mattn

2017/06/27 00:37

長々と付き合い頂いたのに何もヒントが出ず申し訳ないす。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問