본문 바로가기

OS & network/solaris

솔라리스 11을 이용한 IPMP 구성 ( Active-Active ) 방식

테크넷 마스터 김재벌입니다.

늘 그렇지만...역시나...간만에 포스팅입니다.....~.~;

원래는 좀 거창하게 문서를 만들어 보려고 끄적거리고 있었는데 , 아무래도 손이 너무 가서 업무 로드가 걸린 현 시점에는 차일피일 미뤄지다 보니 , 간단하게 포스팅을 먼저 하고 , 천천히 완벽가이드 형식으로 만들어서 배포하고자 합니다.


IPMP 는 솔라리스 10 이전에도 네트워크 이중화를 위해 제공되던 기술입니다.

솔라리스 11에서는 약간 변경되고 , 업그레이드 되었다는 점이 차별점이라고 할 수 있는데 , IPMP는 Active - Active 방식 이외에도 Active-Standby 등의 방식으로 적용이 가능합니다.


실습환경은 버추얼박스를 이용했으며  , 솔라리스 11.2 베타버전의 공식 이미지를 사용하였습니다.

NIC은 실습을 위해 4개의 NIC을 추가 하였으나 , Active-Active 방식에서는 2개의 NIC만 사용하였습니다.



IPMP를 이용하여 네트워크 장애가 발생되어도 서비스가 가능하도록 구성하였습니다.

net0 인터페이스와 net1 인터페이스를 ipmpnet0 그룹에 포함시켜 서비스를 구성하도록 했습니다.

 

일단은 Active - Active 방식의 적용부터 살펴 보도록 하겠습니다.

먼저 물리적 인터페이스 구성정보를 확인 합니다.

여기서는 4개의 NIC이 모두 존재함을 확인할 수 있습니다.

root@sol11-2:~# dladm show-phys

LINK              MEDIA                STATE      SPEED  DUPLEX    DEVICE

net1              Ethernet             unknown    0      unknown   e1000g1

net0              Ethernet             unknown    0      unknown   e1000g0

net2              Ethernet             unknown    0      unknown   e1000g2

net3              Ethernet             unknown    0      unknown   e1000g3



1) ipmp 인터페이스 생성

먼저 ipmp 그룹으로 사용할 ipmpnet0 를 생성하기 위해 아래와 같이 입력합니다.

root@sol11-2:~# ipadm create-ipmp ipmpnet0 


2) 인터페이스 활성화

net0 와 net1의 활성화를 위해 아래와 같이 입력합니다.

root@sol11-2:~# ipadm create-ip net0

root@sol11-2:~# ipadm create-ip net1


net0 와 net1 모두 활성화 하였습니다. 이를 확인하기 위해서 아래와 같이 수행합니다.


root@sol11-2:~# ipadm show-if

IFNAME     CLASS    STATE    ACTIVE OVER

lo0        loopback ok       yes    --

ipmpnet0   ipmp     failed   no     --

net0       ip       down     no     --

net1       ip       down     no     --

net2       ip       down     no     --


3)ipmp 그룹에 NIC 할당

ipmp 그룹인 ipmpnet0 에 net0와 net1을 할당해 줍니다.

이를 위해서 아래와 같이 입력합니다.

root@sol11-2:~# ipadm add-ipmp -i net0 -i net1 ipmpnet0 


4)ipmp 그룹 할당 여부 체크

ipmp 그룹정보를 확인하기 위해서는 ipmpstat 명령어와 -g 옵션을 사용하면 됩니다.

root@sol11-2:~# ipmpstat -g

GROUP       GROUPNAME   STATE     FDT       INTERFACES

ipmpnet0    ipmpnet0    ok        --        net1 net0 


5) ip 주소 할당

ipmpnet0 에서 사용할 ip 주소를 할당해 줍니다. 이 때 192.168.56.10과 192.168.56.11은 서비스 NIC이고 , 192.168.56.200과 192.168.56.201은 테스트 IP 입니다.

root@sol11-2:~# ipadm create-addr -T static -a 192.168.56.10/24 ipmpnet0/ad1

root@sol11-2:~# ipadm create-addr -T static -a 192.168.56.11/24 ipmpnet0/ad2

root@sol11-2:~# ipadm create-addr -T static -a 192.168.56.200/24 ipmpnet0/testad1

root@sol11-2:~# ipadm create-addr -T static -a 192.168.56.201/24 ipmpnet0/testad2 


6) ip 할당 정보 확인

정상적으로 구성이 되었는지 확인하기 위해서 아래와 같이 입력합니다.

정상적으로 입력되었음을 확인할 수 있습니다.

root@sol11-2:~# ipadm show-addr

ADDROBJ           TYPE     STATE        ADDR

lo0/v4            static   ok           127.0.0.1/8

ipmpnet0/ad1      static   ok           192.168.56.10/24

ipmpnet0/ad2      static   ok           192.168.56.11/24

ipmpnet0/testad1  static   ok           192.168.56.200/24

ipmpnet0/testad2  static   ok           192.168.56.201/24

lo0/v6            static   ok           ::1/128



이제 정상적으로 구성이 완료 되었습니다.

임의 적으로 장애를 유발하기 위해서 버추얼박스에서 2번째 NIC의 연결을 제거 했습니다.


IPMP 구성이 아닌 일반적인 구성환경이라면 192.168.56.10 과 192.168.56.11 둘중 하나는 접근이 불가능 해야 합니다.


두 아이피에 모두 ping 을 테스트해 보았습니다.

먼저 192.168.56.10에 수행했습니다. 정상적으로 접근 되어짐을 확인할 수 있습니다.

192.168.56.11에 수행해 보았습니다.  역시 정상적으로 잘 접근되고 있음을 확인할 수 있습니다.


간단한 구성을 통해서 IPMP 의 Active-Active 구성을 확인해 보았습니다.

상태를 확인하기 위해서 ipmpstat 명령어를 이용할 수 있습니다.


장애 발생 후 4)에서 확인했던 ipmpstat -g 명령어를 이용하여 ipmp 그룹에 할당하여 확인할 수 있습니다.

<장애 전>

root@sol11-2:~# ipmpstat -g

GROUP       GROUPNAME   STATE     FDT       INTERFACES

ipmpnet0    ipmpnet0    ok        --        net1 net0 


<장애발생 후>

 root@sol11-2:~# ipmpstat -g

GROUP       GROUPNAME   STATE     FDT       INTERFACES

ipmpnet0    ipmpnet0    ok        --        net0

net1 이 사라졌음을 확인할 수 있습니다.


역시 마찬가지로  ipmpstat -an 명령어를 비교해 보도록 하겠습니다.


<장애 전>

root@sol11-2:~# ipmpstat -an

ADDRESS                   STATE  GROUP       INBOUND     OUTBOUND

::                        down   ipmpnet0    --          --

192.168.56.201            up     ipmpnet0    net1        net1 net0

192.168.56.200            up     ipmpnet0    net0        net1 net0

192.168.56.11             up     ipmpnet0    net1        net1 net0

192.168.56.10             up     ipmpnet0    net0        net1 net0 


<장애 발생 후>

모든 인터페이스가 net0 로 변경되었음을 확인 할 수 있습니다.

root@sol11-2:~# ipmpstat -an

ADDRESS                   STATE  GROUP       INBOUND     OUTBOUND

::                        down   ipmpnet0    --          --

192.168.56.201            up     ipmpnet0    net0        net0

192.168.56.200            up     ipmpnet0    net0        net0

192.168.56.11             up     ipmpnet0    net0        net0

192.168.56.10             up     ipmpnet0    net0        net0




다음에는 Active-Stanby 구성 방법에 대해서 포스팅 하도록 하겠습니다.


그럼...^^