4.4. 查看虚拟 IP 地址
每个 IPaddr2 资源设置虚拟 IP 地址,客户端使用它来请求访问服务。如果 IP 地址的 Controller 节点失败,IPaddr2 资源会将 IP 地址重新分配给不同的 Controller 节点。
显示所有虚拟 IP 地址
					使用 --full 选项运行 pcs resource show 命令来显示使用 VirtualIP 类型的所有资源:
				
sudo pcs resource show --full
$ sudo pcs resource show --full以下示例输出显示当前设置为侦听特定虚拟 IP 地址的每个 Controller 节点:
				每个 IP 地址最初附加到特定的 Controller 节点。例如,overcloud-controller-0 上启动 192.168.1.150。但是,如果该 Controller 节点失败,IP 地址会重新分配给集群中的其他 Controller 节点。
			
下表描述了示例输出中的 IP 地址,并显示了每个 IP 地址的原始分配。
| IP 地址 | 描述 | 分配自 | 
|---|---|---|
| 
								 | 公共 IP 地址 | 
								 | 
| 
								 | 控制器虚拟 IP 地址 | 
								 | 
| 
								 | 提供对 Controller 节点上的 OpenStack API 服务的访问 | 
								 | 
| 
								 | 存储虚拟 IP 地址,提供对 Glance API 和 Swift 代理服务的访问 | 
								 | 
| 
								 | 提供对 Controller 节点上的 Redis 服务的访问 | 
								 | 
| 
								 | 提供对存储管理的访问 | 
								 | 
查看特定 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 地址的 Controller 节点。
- 运行 - ip addr show命令来查看网络接口信息。- ip addr show vlan100 - $ ip addr show vlan100- Copy 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_ ever
- TCP 端口 9696: neutron
- TCP 端口 8000: heat_cfn
- TCP 端口 80: horizon
- TCP 端口 8776: cinder
				在本例中,在 haproxy.cfg 文件中定义的大多数服务都侦听所有三个 Controller 节点上的 192.168.1.150 IP 地址。但是,只有 controller-0 节点在外部侦听 192.168.1.150 IP 地址。
			
				因此,如果 controller-0 节点失败,HAProxy只需要将 192.168.1.150 重新分配给另一个 Controller 节点,所有其他服务则已在回退 Controller 节点上运行。