Link - based 방식

에러 감지 방법 : DLPI IFF_RUNNING flag 

IP : 1개만 필요 




Probe - based 방식 

에러 감지 방법 : ICMP 프로토콜 

IP : 3 ~ 4 개 필요 




Link - based 구현 (솔라리스 10 기준) 




SPARC 시 (x86은 기본으로 스킵) 

> eeprom | grep mac 

local-mac-address?=false 



> eeprom local-mac-address?=true 



> eeprom | grep mac 

local-mac-address?=true 






> ifconfig e1000g0 192.168.111.211 netmask 255.255.255.0 broadcast + group ipmp0 up 

* group ipmp0 : group을 설정 


실행 전 

lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000
e1000g0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        inet 192.168.111.211 netmask ffffff00 broadcast 192.168.111.255
        ether 0:c:29:97:31:c6


실행 후 


lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000
e1000g0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        inet 192.168.111.211 netmask ffffff00 broadcast 192.168.111.255
        groupname ipmp0
        ether 0:c:29:97:31:c6





> ifconfig e1000g1 down umplumb 


> ifconfig e1000g1 plumb group ipmp0 up 


* group ipmp0 : group을 설정 



> ifconfig -a 

lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000
e1000g0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        inet 192.168.111.211 netmask ffffff00 broadcast 192.168.111.255
        groupname ipmp0
        ether 0:c:29:97:31:c6
e1000g1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3
        inet 0.0.0.0 netmask ff000000
        groupname ipmp0
        ether 0:c:29:97:31:d0





이중화 테스트 


윈도우 ( client ) 

윈도우> ping -t 192.168.111.211

Ping 192.168.111.211 32바이트 데이터 사용:
192.168.111.211의 응답: 바이트=32 시간<1ms TTL=255
192.168.111.211의 응답: 바이트=32 시간<1ms TTL=255
192.168.111.211의 응답: 바이트=32 시간<1ms TTL=255
192.168.111.211의 응답: 바이트=32 시간<1ms TTL=255
192.168.111.211의 응답: 바이트=32 시간<1ms TTL=255




서버 


// failed over

서버> if_mpadm -d e1000g0  




서버> ifconfig -a 


lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000
e1000g0: flags=89000842<BROADCAST,RUNNING,MULTICAST,IPv4,NOFAILOVER,OFFLINE> mtu 0 index 2
        inet 0.0.0.0 netmask 0
        groupname ipmp0
        ether 0:c:29:97:31:c6
e1000g1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3
        inet 0.0.0.0 netmask ff000000
        groupname ipmp0
        ether 0:c:29:97:31:d0
e1000g1:1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3
        inet 192.168.111.211 netmask ffffff00 broadcast 192.168.111.255

* e1000g0 > e1000g1:1:로 ip 주소 failover 됨 



서버> tail -100 /var/adm/messages 

[ID 832587 daemon.error] Successfully failed over from NIC e1000g0 to NIC e1000g1




윈도우 

192.168.111.211의 응답: 바이트=32 시간<1ms TTL=255
192.168.111.211의 응답: 바이트=32 시간<1ms TTL=255
요청 시간이 만료되었습니다.
192.168.111.211의 응답: 바이트=32 시간<1ms TTL=255
192.168.111.211의 응답: 바이트=32 시간<1ms TTL=255
192.168.111.211의 응답: 바이트=32 시간<1ms TTL=255
192.168.111.211의 응답: 바이트=32 시간<1ms TTL=255




서버

// failed back

서버> if_mpadm -r e1000g0  


서버> ifconfig -a 

lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000
e1000g0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        inet 192.168.111.211 netmask ffffff00 broadcast 192.168.111.255
        groupname ipmp0
        ether 0:c:29:97:31:c6
e1000g1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3
        inet 0.0.0.0 netmask ff000000
        groupname ipmp0
        ether 0:c:29:97:31:d0

* e1000g1:1 > e1000g0로 ip 주소 failback 됨 



서버> tail -100 /var/adm/messages 

[ID 620804 daemon.error] Successfully failed back to NIC e1000g0

 


 

이중화 설정 영구적으로 사용

 

/etc/hostname.nicX에 등록 

 

 

 

> ls /etc/hostname.*

 

/etc/hostname.e1000g0

 

 

 

> vi hostname.e1000g0

 

192.168.111.211 netmask 255.255.255.0 broadcast + group ipmp0 up 

 

 

 

> vi hostname.e1000g1

 

group ipmp0 up 

 

 

 

> reboot 

 

 

블로그 이미지

나무뚱이

,