Site icon DBA의 정석

IPMP 개요

– IPMP는 Solaris 8부터 기본으로 제공, NIC에 대하여 동일한 subnet에서 Redundant Network Path를 제공할 수 있도록 해줌.


– in.mpathd는 IP layer에서 NIC의 Failure에 대하여 자동감지, 자동 Failover/Failback기능을 가진 Daemon


– In.mpathd는 해당 Network에서 가장 신뢰성이 확보된 default router를 테스트 상대로 선정하여


   ICMP echorequest packet(ping)을 보내서 reply결과에 따라 NIC의 정상유무를 판단


– System에 default router가 없는 경우에는 All Host에 대한 multicast(224.0.0.1) packet을 보내 응답하는 시스템중에서


   5대의 시스템을 선정하여 test target으로 활용


– Failure 감지 시간은 기본값이 10초 이며, /etc/default/mpathd파일에서 정의 가능
   FAILURE_DETECTION_TIME=10000 ; 단위 ms, 최소 100ms
 


[ IPMP test target 선정 방법 ]


– in.mpathd Daemon에 의해 자동으로 선정


– netstat -r에서 router를 찾아 target 등록


– router가 없는 경우에는 같은 link상에 있는 임의의 Host에 Multicast packet(IPv4=224.0.0.1)을보내 응답한 시스템들 중에서


   5개까지를 선정. 만일 5개가 되지 않은 경우에는 5개의 시스템을 확보할 때까지 계속해서 Multicast packet을 전송


– Multicast packet을 방지하기 위하여 임으로 네트워크상의 호스트를 routing table에 등록하여 in.mpathd가 Target시스템으로


   사용할수 있다.
 예) #route add host 192.168.11.20 192.168.11.20


 


 [ pingpong interval의 의미 ]


– Sun Cluster에서 사용하는 resource failover 관련 parameter


– A node에서 resource failure가 발생하면 B node로 failover가 발생, 그때 다시 B node에서 failure가 발생하면 이 pingpong


   interval에 설정된 시간동안에는 resource를 다시 A node로 failback 시키지 않음


– A node에서 이미 문제가 발생하였으므로 A node가 다시 안정적으로 복구되지 전까지는 다시 A node로 resource를


   전환시키는 것을 방지하여 양쪽 node간의 resource pingpong 현상을 방지하기 위한 parameter


– 확인방법
  # scrgadm -pvv | grep -i pingpong_interval


– 변경방법
  # scrgadm -c -g ResourceGroup_name -y pingpong_interval=nnnn : pingpong_interval 값 변경 (초 단위)


  [ 권장 parameter value ]
 
– default 값은 3600 초임


– 너무 적은 값을 설정하면 resource가 무한 pingpong 현상을 발생시킬 수 있음


– 문제가 생긴 node가 복구될 정도의 시간은 고려해야 하므로 최소 600초 이상으로 설정해야 함


– resource group의 특성상 복구에 장시간이 필요할 경우 최대 복구시간으로 설정하는 것을 권장


 


– 설정 방법


 


① active-active


/etc/hostname.qfe0:
<production_IP_host> netmask + broadcast + group ipmp1 up


addif <test_IP_host> netmask + broadcast + deprecated -failover up


 


/etc/hostname.qfe4:
<test_IP_host> netmask + broadcast + group ipmp1 deprecated -failover up


 


② active-standby


Entry of /etc/hostname.qfe0:
<production_IP_host> netmask + broadcast + group ipmp1 up


addif <test_IP_host> netmask + broadcast + deprecated -failover up


 


Entry of /etc/hostname.qfe4:
<test_IP_host> netmask + broadcast + group ipmp1 deprecated -failover standby up


 

Exit mobile version