4.4. 가상 IP 주소 보기
각 IPaddr2 리소스는 클라이언트가 서비스에 대한 액세스를 요청하는 데 사용하는 가상 IP 주소를 설정합니다. 해당 IP 주소가 있는 컨트롤러 노드가 실패하면 IPaddr2 리소스에서 IP 주소를 다른 컨트롤러 노드에 다시 할당합니다.
모든 가상 IP 주소 표시
가상IP
유형을 사용하는 모든 리소스를 표시하려면 --full
옵션과 함께 pcs resource show
명령을 실행합니다.
$ sudo pcs resource show --full
다음 예제 출력에서는 현재 특정 가상 IP 주소를 수신하도록 설정된 각 컨트롤러 노드를 보여줍니다.
ip-10.200.0.6 (ocf::heartbeat:IPaddr2): Started overcloud-controller-1 ip-192.168.1.150 (ocf::heartbeat:IPaddr2): Started overcloud-controller-0 ip-172.16.0.10 (ocf::heartbeat:IPaddr2): Started overcloud-controller-1 ip-172.16.0.11 (ocf::heartbeat:IPaddr2): Started overcloud-controller-0 ip-172.18.0.10 (ocf::heartbeat:IPaddr2): Started overcloud-controller-2 ip-172.19.0.10 (ocf::heartbeat:IPaddr2): Started overcloud-controller-2
각 IP 주소는 처음에 특정 컨트롤러 노드에 연결됩니다. 예를 들어 192.168.1.150
은 overcloud-controller-0 에서 시작됩니다. 그러나 해당 컨트롤러 노드에 실패하면 IP 주소가 클러스터의 다른 컨트롤러 노드에 다시 할당됩니다.
다음 표에서는 예제 출력의 IP 주소를 설명하고 각 IP 주소의 원래 할당을 보여줍니다.
IP 주소 | 설명 | 할당됨 from |
---|---|---|
| 공용 IP 주소 |
|
| 컨트롤러 가상 IP 주소 |
|
| 컨트롤러 노드에서 OpenStack API 서비스에 대한 액세스 제공 |
|
| Glance API 및 Swift Proxy 서비스에 대한 액세스를 제공하는 스토리지 가상 IP 주소 |
|
| 컨트롤러 노드에서 Redis 서비스에 대한 액세스 제공 |
|
| 스토리지 관리에 대한 액세스 제공 |
|
특정 IP 주소 보기
pcs resource show
명령을 실행합니다.
$ 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)
특정 IP 주소에 대한 네트워크 정보 보기
- 보려는 IP 주소에 할당된 컨트롤러 노드에 로그인합니다.
ip addr show
명령을 실행하여 네트워크 인터페이스 정보를 확인합니다.$ ip addr show vlan100
출력 예:
9: vlan100: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN link/ether be:ab:aa:37:34:e7 brd ff:ff:ff:ff:ff:ff inet *192.168.1.151/24* brd 192.168.1.255 scope global vlan100 valid_lft forever preferred_lft forever inet *192.168.1.150/32* brd 192.168.1.255 scope global vlan100 valid_lft forever preferred_lft forever
netstat
명령을 실행하여 IP 주소를 청취하는 모든 프로세스를 표시합니다.$ sudo netstat -tupln | grep "192.168.1.150.haproxy"
출력 예:
tcp 0 0 192.168.1.150:8778 0.0.0.0:* LISTEN 61029/haproxy tcp 0 0 192.168.1.150:8042 0.0.0.0:* LISTEN 61029/haproxy tcp 0 0 192.168.1.150:9292 0.0.0.0:* LISTEN 61029/haproxy tcp 0 0 192.168.1.150:8080 0.0.0.0:* LISTEN 61029/haproxy tcp 0 0 192.168.1.150:80 0.0.0.0:* LISTEN 61029/haproxy tcp 0 0 192.168.1.150:8977 0.0.0.0:* LISTEN 61029/haproxy tcp 0 0 192.168.1.150:6080 0.0.0.0:* LISTEN 61029/haproxy tcp 0 0 192.168.1.150:9696 0.0.0.0:* LISTEN 61029/haproxy tcp 0 0 192.168.1.150:8000 0.0.0.0:* LISTEN 61029/haproxy tcp 0 0 192.168.1.150:8004 0.0.0.0:* LISTEN 61029/haproxy tcp 0 0 192.168.1.150:8774 0.0.0.0:* LISTEN 61029/haproxy tcp 0 0 192.168.1.150:5000 0.0.0.0:* LISTEN 61029/haproxy tcp 0 0 192.168.1.150:8776 0.0.0.0:* LISTEN 61029/haproxy tcp 0 0 192.168.1.150:8041 0.0.0.0:* LISTEN 61029/haproxy
참고0.0.0.0
과 같은 모든 로컬 주소를 청취하는 프로세스는192.168.1.150
에서도 사용할 수 있습니다. 이러한 프로세스에는sshd
,mysqld
,dhclient
, pxe 가포함됩니다
.
포트 번호 할당 보기
/var/lib/config-data/puppet-generated/haproxy/etc/haproxy/haproxy.cfg
파일을 열어 기본 포트 번호 할당을 확인합니다.
다음 예제에서는 포트 번호와 수신 대기하는 서비스를 보여줍니다.
- TCP 포트 6080: nova_novncproxy
- TCP 포트 9696: neutron
- TCP 포트 8000: heat_cfn
- TCP 포트 80: 지평
- TCP 포트 8776: cinder
이 예에서 haproxy.cfg
파일에 정의된 대부분의 서비스는 세 개의 컨트롤러 노드에서 192.168.1.150
IP 주소를 수신 대기합니다. 그러나 controller-0 노드만 192.168.1.150
IP 주소를 외부에서 수신 대기하고 있습니다.
따라서 controller-0 노드가 실패하는 경우 HAProxy는 다른 컨트롤러 노드에 192.168.1.150
만 다시 할당하고 다른 모든 서비스는 대체 컨트롤러 노드에서 이미 실행되고 있습니다.