HA設定では、eth0のVIPアドレスを定期的にチェックしています(2.2.2.2と呼ぶことができます)。文字列用のBash grepファイルで、別のコマンドで変数として使用する
up ip addr add **1.2.3.34** dev $IFACE
up ip addr add **1.2.3.40** dev $IFACE
up ip addr add **1.2.3.48** dev $IFACE
とコマンドのみの別のグループにそれぞれのIPを渡す:
それがアップしている場合は、私は、/ etc/network/interfacesの設定ファイルではeth0用に定義されたIPアドレスの別のグループを起動する必要がありますip a a **1.2.3.34/32** dev eth0
ip a a **1.2.3.40/32** dev eth0
ip a a **1.2.3.48/32** dev eth0
私がこれまで行ってきたことである:
#!/bin/bash
STATUS=$(ip a s eth0 | grep inet | awk '{print $2}' | sed 's/addr://')
if ip a s eth0 | grep inet | awk '{print $2}' | sed 's/addr://' | grep 2.2.2.2/27 ; then
cat /etc/network/interfaces | grep -o "up ip addr add [0-9]*\.[0-9]*\.[0-9]*\.[0-9]*" | grep -o "[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*" > /tmp/ext_ip.txt
は、今私は(IP AAの1.2.3 ...)上記の別のコマンドにそれぞれの行を渡す方法を助ける必要があるが、どのように見当がつかないこれを適切に行う。
オプションで、プライマリHAホストがオフラインになる場合に、VIPがシステムに存在しない場合は元に戻したいと思います。これを達成する