web-dev-qa-db-ja.com

仮想インターフェイスはkeepalivedと衝突する必要がありますか?

私は今日サーバーで作業していました、debiansqueeze。 2つのステージングサーバーでこれをテストした後、次のように/ etc/network/interfacesに仮想ネットワークインターフェイスを追加しました。

# The primary network interface
auto lo
iface lo inet loopback
allow-hotplug eth0
iface eth0 inet static
    address 10.100.2.70
    netmask 255.255.0.0
    gateway 10.100.0.1

# adding this one
auto eth0:1
allow-hotplug eth0:1
iface eth0:1 inet static
    address 10.100.2.77
    netmask 255.255.0.0
    gateway 10.100.0.1

Keepalivedはマシン上の仮想IPを管理しています

ip addr show
....
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:24:81:81:e5:54 brd ff:ff:ff:ff:ff:ff
inet 10.100.2.70/16 brd 10.100.255.255 scope global eth0
inet 10.100.2.72/32 scope global eth0

新しいインターフェイスデータが配置されたら、Sudo service networking restartボックス上のネットワークをダウンさせました。 iDracを介したコンソールでは、ファイルから新しい行を削除してもネットワークが起動せず、再起動が必要でした。私はif-up eth0:0、しかし私はすべてがうまくいくのを見たかった。

私の問題を引き起こしたであろうkeepalivedのいくつかの機能はありますか? Syslogに表示されるログメッセージは

Sep 30 15:48:17 pgpool01 Keepalived_vrrp: Kernel is reporting: interface eth0 DOWN
Sep 30 15:48:17 pgpool01 Keepalived_vrrp: VRRP_Instance(VI_1) Entering FAULT STATE
Sep 30 15:48:17 pgpool01 Keepalived_vrrp: VRRP_Instance(VI_1) Now in FAULT state

私が言ったように、私はステージングボックスの問題を見ませんでした。

どんなヒントも役に立ちます、ありがとう。

編集:IPリンクとifconfig出力の追加

$ ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:24:81:81:e5:54 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether 00:24:81:81:e5:55 brd ff:ff:ff:ff:ff:ff

$ /sbin/ifconfig
eth0  Link encap:Ethernet  HWaddr 00:24:81:81:e5:54  
      inet addr:10.100.2.70  Bcast:10.100.255.255  Mask:255.255.0.0
      inet6 addr: fe80::224:81ff:fe81:e554/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:2080027816 errors:0 dropped:0 overruns:0 frame:0
      TX packets:2498837332 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:683029542202 (636.1 GiB)  TX bytes:710577938507 (661.7 GiB)
      Interrupt:16 Memory:fc4c0000-fc4e0000 

lo    Link encap:Local Loopback  
      inet addr:127.0.0.1  Mask:255.0.0.0
      inet6 addr: ::1/128 Scope:Host
      UP LOOPBACK RUNNING  MTU:16436  Metric:1
      RX packets:45564 errors:0 dropped:0 overruns:0 frame:0
      TX packets:45564 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0 
      RX bytes:2279497 (2.1 MiB)  TX bytes:2279497 (2.1 MiB)

およびkeepalived.conf

vrrp_script chk_pgpool {           # Requires keepalived-1.1.13
    script "killall -0 pgpool"     # cheaper than pidof
    interval 2                      # check every 2 seconds
    weight 2                        # add 2 points of prio if OK
}
vrrp_instance VI_1 {
    interface eth0
    state MASTER
    virtual_router_id 72
    priority 101                    # 101 on master, 100 on backup
    virtual_ipaddress {
        10.100.2.72
    }
    track_script {
        chk_pgpool
    }
}
1
Kevin G.

追加情報を投稿していただきありがとうございます。 keepalivedがvrrpインスタンスを仮想インターフェイス(例:eth0:0)に割り当てないことを忘れました。

service networking restartを実行したので、eth0が消えたときにkeepalivedが反転しました。

ネットワークを再起動するのではなく、keepalivedを開始する前にインターフェイスを構成するか、新しいインターフェイスを手動で構成する必要があります。これを行うには、新しいインターフェースを「/ etc/network/interfaces」に追加してから、ifup eth0:#を実行します。

1
Gene