4.4. 仮想 IP アドレスの表示
各 IPaddr2 リソースは、クライアントがサービスへのアクセスを要求するために使用する仮想 IP アドレスを設定します。その IP アドレスが割り当てられたコントローラーノードで異常が発生すると、IPaddr2 リソースは IP アドレスを別のコントローラーノードに再割り当てします。
すべての仮想 IP アドレスの表示
--full オプションを指定して pcs resource show コマンドを実行し、VirtualIP タイプを使用するすべてのリソースを表示します。
sudo pcs resource show --full
$ sudo pcs resource show --full
以下の出力例では、特定の仮想 IP アドレスをリッスンするように現在設定されている各コントローラーノードを確認することができます。
初期状態では、各 IP アドレスは特定のコントローラーノードに接続されます。たとえば、192.168.1.150 は overcloud-controller-0 で開始されます。ただし、そのコントローラーノードで異常が発生すると、IP アドレスはクラスター内の他のコントローラーノードに再割り当てされます。
以下の表には、この出力例の IP アドレスと、各 IP アドレスの初期の割り当てをまとめています。
| IP アドレス | 説明 | 割り当て元 |
|---|---|---|
|
| パブリック IP アドレス |
|
|
| コントローラーの仮想 IP アドレス |
|
|
| コントローラーノード上の OpenStack API サービスへのアクセスを提供します。 |
|
|
| Glance API および Swift プロキシーのサービスへのアクセスを提供するストレージの仮想 IP アドレス |
|
|
| コントローラーノード上の Radis サービスへのアクセスを提供します。 |
|
|
| ストレージ管理へのアクセスを提供します。 |
|
特定 IP アドレスの表示
pcs resource show コマンドを実行します。
sudo pcs resource show ip-192.168.1.150
$ sudo pcs resource show ip-192.168.1.150
出力例:
Resource: ip-192.168.1.150 (class=ocf provider=heartbeat type=IPaddr2)
Attributes: ip=192.168.1.150 cidr_netmask=32
Operations: start interval=0s timeout=20s (ip-192.168.1.150-start-timeout-20s)
stop interval=0s timeout=20s (ip-192.168.1.150-stop-timeout-20s)
monitor interval=10s timeout=20s (ip-192.168.1.150-monitor-interval-10s)
Resource: ip-192.168.1.150 (class=ocf provider=heartbeat type=IPaddr2)
Attributes: ip=192.168.1.150 cidr_netmask=32
Operations: start interval=0s timeout=20s (ip-192.168.1.150-start-timeout-20s)
stop interval=0s timeout=20s (ip-192.168.1.150-stop-timeout-20s)
monitor interval=10s timeout=20s (ip-192.168.1.150-monitor-interval-10s)
特定 IP アドレスのネットワーク情報の表示
- 表示する IP アドレスが割り当てられているコントローラーノードにログインします。
ip addr showコマンドを実行して、ネットワークインターフェース情報を表示します。ip addr show vlan100
$ ip addr show vlan100Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow netstatコマンドを実行して、IP アドレスをリッスンするすべてのプロセスを表示します。sudo netstat -tupln | grep "192.168.1.150.haproxy"
$ sudo netstat -tupln | grep "192.168.1.150.haproxy"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記0.0.0.0のように、すべてのローカルアドレスをリッスンしているプロセスは、192.168.1.150からも利用できます。これらのプロセスには、sshd、mysqld、dhclient、ntpdなどがあります。
ポート番号割り当ての表示
/var/lib/config-data/puppet-generated/haproxy/etc/haproxy/haproxy.cfg ファイルを開き、デフォルトのポート番号割り当てを確認します。
以下の例は、ポート番号およびポートがリッスンするサービスを示しています。
- TCP ポート 6080: nova_novncproxy
- TCP ポート 9696: neutron
- TCP ポート 8000: heat_cfn
- TCP ポート 80: horizon
- TCP ポート 8776: cinder
この例では、haproxy.cfg ファイルで定義されているサービスの大半は、3 つすべてのコントローラーノードで 192.168.1.150 の IP アドレスをリッスンしています。ただし、192.168.1.150 の IP アドレスを外部でリッスンしているのは controller-0 ノードのみです。
このため、controller-0 ノードで異常が発生した場合には、HAProxy は 192.168.1.150 を別のコントローラーノードに再割り当てするだけで、他のサービスはすべてフォールバックコントローラーノードですでに実行されている状態となります。