분류없음2016.12.29 10:21

Last Update : 16.12.30

   * MMM으로는 기본 VIP 전환 시에, GARP 를 발생하여 Table 갱신이 되지는 않는 것으로 보입니다. 
     우선 조치할 수 있을만한 방법은 VIP에 대해서 VIP 전환 시점에 Source-Ping을 하던지,
     아니면 주기적으로 동일 대역 내에서 VIP에 PIng을 쳐서, 지속적으로 갱신을 해야 할 것 같습니다.
     주기적으로 VIP 전환 시 Ping을 체크하는 경우도 아래의 설정은 필요로 합니다.

     추가적으로 확인되는 사항은 업데이트 하도록 하겠습니다.

 



오랜만에 하는 포스팅은 Cisco ACI에 대한 관련 이슈 공유 내용입니다.

Bridge Domain에서의 기본 설정인 Hardware Proxy와 관련한 이슈 사항입니다.

앞으로 아마도 ACI에 대한 포스팅을 시작하게 될 듯 싶은 데... 우선 정리 포스팅 전에..

어쩌다보니.. 간단한 이슈 포스팅을 먼저하게 되었습니다 ^^;

물론 ACI 이외에도 기존처럼 다양한 포스팅 들도 함께 할 수 있도록 노력하겠습니다. ^^

즐거운 연말되세요!

 


Cisco ACI Bridge Domain 관련

 

○ 현상 

  ㆍ MySQL DB Clustering을 위한 MMM(Multi Master Replication Manager) 을 서버에서 사용 중.(Active-Standby)

  ㆍVIP가 Active 서버에서 Standby 서버로 전환될 경우에 정상적으로 통신이 되지 않음.

 

 

○ 확인 및 원인 분석

  ㆍACI 내에서 VIP에 대한 정보(IP/Mac Address)가 갱신되지 않음.

  ㆍMMM에서 VIP가 Active-Standby로 전환되면서, IP에 대한 MAC이 변경되었기 때문에 GARP를 보내서,

     Table이 갱신되어야 하나, 정상적으로 이뤄지지 않은 것으로 추정

  ㆍBridge Domain의 L2 Unknown Unicast 설정이 Hardware Proxy이고, ARP Flooding은 비활성화

  ㆍBridge Domain의 설정으로 GARP 패킷이 Drop되어서, 정상적으로 Table 갱신이 되지는 않는 것으로 추정.

 

 

○ 조치 및 결과

  ㆍBridge Domain의 ARP Flooding 설정을 활성화 상태로 변경 후, DB VIP가 Standby로 넘어감에 따라
     Table이 정상적으로 갱신되는 것을 확인

 

○ Bridge Domain 관련 내용 

  ㆍBridge Domain은 기존의 전통적인 네트워크의 VLAN 컨셉과 유사. Brocast와 Flooding Domain으로 동작 가능
       - 물론 관련 설정이 활성화 되어 있어야 하며, 완전하게 동일하지는 않음.

  ㆍBridge Domain의 Unknwon Unicast 프레임에 대해서, 아래의 2가지 모드로 동작 가능.

       - Optimized mode : Hardware Proxy

           Mapping Database 사용하여 처리

       - Flood mode : Flood

           Bridge Domain의 Multicast Tree를 이용해서 L2 Unknown unicast가 Flood됨.

  ㆍBridge Domain의 기본 L2 Unknown Unicast의 동작 방식은 Hardware Proxy임.

  ㆍBridge Domain의 ARP Flooding은 Default Disable 상태.  

  ㆍHardware Proxy의 기본동작은 L2 Unknown Unicast에 대해서 Spine으로 보내게 되고, Spine의 Mapping Database에

      해당 정보가 없을 경우, 패킷이 Drop 됨.

  

 

○ 정리하면..

ㆍDB서버에서 Active가 Standby로 Failover되면서, VIP가 DB2번기에서 올라오면서 GARP를 발생 시키는 데 기존 Hardware proxy/ARP Flooding Disable에서는 해당 패킷을 Drop시켜서 정상적으로 Table이 갱신되지 않았고, Hardware Proxy  설정을 Flood로 전환하게 되면, ARP Flooding이 같이 Enable되지만, 이 경우에는 해당 BD에 연결이 일시적으로 끊기기 때문에 (Test 시에 Ping 3개정도 빠짐), Hardware Proxy 설정은 유지한 채, ARP Flooding만 Enable로 변경 후, 정상 동작 확인

  

  

※ 참조 : Cisco Application Centric Infrastructure Release 2.0 Design Guide

 

 ARP Flooding
If ARP flooding is disabled, a Layer 3 lookup occurs for the target IP address of the ARP packet. ARP behaves like a Layer 3 unicast packet until it reaches the destination leaf switch.
ARP flooding is required when you need Gratuitous ARP (GARP) requests to update host ARP caches or router ARP caches. This is the case when an IP address may have a different MAC address (for example, with clustering of failover of load balancers and firewalls).

 

.  

 

Bridge Domain 관련 설정

 

 

 

 

 

 

* Bridge Domain 설정에서 ARP Flooding 설정을 활성화하게 되면, L3 설정에 아래와 같은 설정이 가능.  

  우선 해당 설정까지는 하지 않은 상태였으나, MMM VIP가 전환되는 데에는 문제가 없었음.

  아래 설정은 어느 경우에 사용되는지는 추가로 확인 필요.

 

 

 

 

GARP

   - Source / Destination IP는 모두 패킷을 보내는 시스템 IP로 설정

   - Destination MAC은 Broadcast MAC 으로 설정 (ff:ff:ff:ff:ff:ff)

   - 일반적으로 GARP는 Request만 발생하고, Response는 발생하지 않음.

   - IP 충돌을 감지하거나, 다른 시스템의 ARP 테이블을 갱신하기 위해서 사용(특히나, Clustering Solution에서 Active가 전환되는 경우에 동일한 IP에 대한 Mac 주소가 변경되기  때문에 필요)

 

※ 참조 : https://wiki.wireshark.org/Gratuitous_ARP

Posted by 네떡지기
분류없음2013.08.30 15:35

도메인 주소 중에 한글로 된 도메인 주소가 있다. 그럼 이런 도메인은 DNS에서 어떻게 등록하고 처리되는 것인가?

 

바로 퓨니코드라는 것으로 변경하여서 등록하고 처리를 하게 된다. 우선 네이버 지식백과에서 찾아보면 '퓨니코드'라는 것은 다음과 같다.

 

  

 

퓨니코드 [Punycode]

 

 애플리케이션 국제화 도메인 네임(IDNA)의 기반하에서 다국어 도메인이 아스키로 변환(encoding)된 구문. 다국어 문자셋으로부터 온 코드 포인트들을 기본적인 문자열(영숫자, 하이픈)들로 유일하게 표현한 것으로, IDNA는 다국어 도메인을 처리하기 위한 작동 원리에 의해 인터넷 사용자가 입력한 다국어 도메인 질의는 클라이언트단에서 아스키 기반의 퓨니코드 형태로 변환(xn--로 시작하는 문자열로 변환)되어 네임서버에 전송되며, 네임서버는 퓨니코드 형태의 영역 데이터를 운영한다. 퓨니코드는 RFC 3492에 정의되어 있다.

[네이버 지식백과] 퓨니코드 [Punicode] (IT용어사전, 한국정보통신기술협회) 

 

 

 

 즉, 한글 뿐만이 아니라 세계에서 자국어로 도메인을 가지고 처리할 수 있게 만들어주는 공통적인 표준 코드라고 볼 수 있다.

 (유니코드 문자열을 인코딩 하는 것으로, 유니코드가 지원하는 모든 언어로 도메인 가능)

 

 

 다국어 도메인의 표준화 작업이 이루어지기 전에는 'COM'과 'NET' 등록 사업자이자, 인터넷 기반 시설 서비스 사업자인 Verisign에서 'COM','NET'에 대해서 "레이스코드"와 "퓨니코드"로 병행하였으나,  2004년 5월 2일에 "퓨니코드"로 표준화 되었다.

 

 퓨니코드로의 변환은 서버가 아닌 웹 브라우저 같은 클라이언트 단에서 이뤄지게 되며, IE 7 이후부터는 기본 지원이나 그 이전 버전에서는 별도의 플러그 인 설치가 필요하다.

 

 퓨니코드 문자열에는 제일 앞에 접두어 'xn--'이 붙게 된다.

가령 "네떡지기.com" 을 퓨니코드로 변환하게 되면,  xn--ok0b09cr8eyq0a.com 로 변환이 된다.

 

전환하는 구조에 대한 것은 위키백과를 찾아보면 아래와 같이 나와있다.

  

퓨니코드는 ASCII 문자 집합에 포함되는 문자만 문자열에 남긴 후에, 일반화된 가변 길이 기수법을 사용하여 ASCII에 포함되지 않는 문자들이 원래 문자열에 어떻게 삽입될지를 부호화한다. 이 부호화 과정에서는 코드 포인트가 델타 인코딩으로 저장되기 때문에 삽입될 문자들이 비슷한 코드 포인트를 사용할 경우 짧은 길이로 부호화될 수 있다.

                                                                                                                                                - 위키백과

 

 

 

 퓨니코드로 도메인을 등록하기 위해서는 한글을 퓨니코드로 전환은 아래의 사이트를 참고하면 된다. [2013년 8월 30일 기준]

 

http://domain.blueweb.co.kr/pop_puny.html

 

http://direct.co.kr/domain/punycode.html

 

http://www.inplaza.com/puny/index.php

 

http://www.cypack.com/util/race_converter.html

 

Posted by 네떡지기

이번 포스팅은 그나마 그 전 포스팅 올린 시기와 비교해서 조금 빠른(?) 간격을 두고 올려봅니다.

이번 것도 지난 번과 마찬가지로 기존에 정리를 하고 있었지만, 딱 정리를 됐다는 느낌을 가지지 못해서 계속 가지고 있던

부분이었는데, 그것보다는 포스팅을 하고 버전 관리를 하는 편이 더 좋을 듯 싶어서 올려봅니다.

버전관리를 위해서 혹시 이상한 부분이나 수정해야 하는 부분이 있으면 알려주시면 감사하겠습니다.


 

vPC System-MAC & vPC Local System-MAC

• vPC peer device간에는 vPC Domain ID를 사용하여 자동적으로 vPC System Mac-Address가 아래와 같이 할당된다.

  (수동설정도 가능)

      -  vPC system-mac = 00:23:04:ee:be:<vPC domain-id 값의 16진수>  

      -  vPC Domain ID (27) : 00:23:04:ee:be: 1b

• vPC System macPeer device 간에 동일하며, 이것은 vPCLayer 2 가상화를 위한 바탕이 된다.

• vPC System들에서 논리적인 Device라는 것을 나타내기 위해서, vPC System Mac을 사용하게 된다. 

   (Peer간에는 서로 공유하고 있는 동일힌 값이면서, 다른 장비의 값과 다른 유일한 값을 가진 주소)

• vPC Peer 간의 구분을 하기 위해서 Peer별로 System 혹은 VDC Mac-address로부터 파생된 vPC Local System Mac Address

  가 있다.

• vPC Local System Macorphans Port와 같이 vPC System들에서 논리적인 Deivce로써의 역할이 필요 없는 경우에 사용된다.

• vPC system mac-addressvPC Local system Mac-Address 모두 LACP Protocol에서 LCAP system ID로 사용이 된다.

      - vPC System Mac-Address : vPC  Access Device와 연결된 경우.

      - vPC Local System Mac-Address : Orphan PortActvie/Standby와 같이 단독으로 연결된 경우

 

 

 

 

vPC System-MAC & vPC Local System-MAC 확인

 - vPC Domain ID :   sh vpc  - vPC System Mac , Local Mac :  sh  vpc role   - VDC Mac :  sh  vdc

 

NX-OS# sh vpc

Legend:

  (*) - local vPC is down, forwarding via vPC peer-link

vPC domain id  : 1 

Peer status  : peer adjacency formed ok 

vPC keep-alive status  : peer is alive 

Configuration consistency status  : success

Per-vlan consistency status  : success 

Type-2 consistency status  : success

vPC role  : primary

Number of vPCs configured  : 1 

Peer Gateway  : Disabled

Dual-active excluded VLANs  : -

Graceful Consistency Check  : Enabled

Auto-recovery status  : Disabled

vPC Peer-link status

---------------------------------------------------------------------

id  Port  Status   Active vlans 

--  ----  ------  ----------------

1  Po1  up  1-2,20-22 

vPC status

------------------------------------------------------------------------------------------------------

id  Port  Status  Consistency   Reason  Active vlans

--  ----  ------  -----------   ------  ---------------

2  Po2  up  success  success  1-2,20-22

 

 

NX-OS# sh vpc role

vPC Role status

----------------------------------------------------

vPC role  : primary, operational secondary

Dual Active Detection Status  : 0

vPC system-mac  : 00:23:04:ee:be:01 

vPC system-priority  : 32667

vPC local system-mac  : 00:26:98:0d:19:41 

vPC local role-priority  : 1

 

 

NX-OS#  sh vdc

vdc_id  vdc_name  state  mac    type  lc 

------  --------  -----  ----------    ---------  ------ 

1  VDC1  active  00:26:98:0d:19:41  Ethernet  m1 f1 m1xl

2  VDC2  active  00:26:98:0d:19:42  Ethernet  m1 f1 m1xl

3  VDC3  active  00:26:98:0d:19:43  Ethernet  m1 f1 m1xl

4  VDC4  active  00:26:98:0d:19:44  Ethernet  m1 f1 m1xl

 

 

 

vPC Domain 구성  절차

1. vPC를 구성하는 장비 양단 간에 동일한  vPC Domain ID를 설정한다. (반드시 Domain ID는 동일해야 함.)

     - 상하단의 장비에서 모두 vPC를 구성할 때, 동일한 위치 상의 Peer 장비 간에는 vPC Domain이 동일해야 한다.

     - Double-sided vPC topology(.하단 모두 vPC 구성-아래그림참조) 구성 시에는 반드시 상하단의 vPC Domain ID

       달라야 한다.   이 정보가 LACP Protocol의 일부로 사용되며, 동일한 ID를 사용하게 되면, vPC 사이에서 flaps이 발생한다.

2. vPC peer-keepalive link를 양단 간 peer 장비 모두 설정한다.

   Link가 정상적으로 동작하여야만, vPC Domain 구성이 가능하다.

 

NX-OS(Config)# vpc domain 1

NX-OS(Config-vpc-domain)# peer-keepalive destination 1.1.1.2 source 1.1.1.1 vrf vPC_Keepalive

 

3. vPC peer장비 사이의 Inter Switch Link(ISL) L2 trunk port-channel이 설정한다. (기존에 구성된 Link로도 가능)

4. Access Device에서 Nexus 장비와 연결된 포트를 Port-Channel을 구성한다. (기존에 구성된 Port-Channel로도 가능

 

 

 

 

유의사항

 vPCDCI(Data Center Interconnect)를 목적으로 사용하는 경우에, Data center간의 vPC Domain은 서로 달라야 한다. 

 Double-sided vPC 구성과 마찬가지 이유로 LACP Protocol의 일부로 vPC domain ID가 사용되기 때문이다.

 만일, 동일한 domain ID를 사용하고자 할 때에는 vPC Domain 설정에서 System-macvPC system-mac 값과 다른 값으로

설정하면, 사용이 가능하지만, 다른 domain ID를 사용하는 것을 권고함.

 

 

 

vPC Type 1 일관성 체크

vPC Feature 활성화와 vPC peer-link 설정을 양쪽 Peer 장비에 한 후, CFS MessageRemote vPC Peer 장비로 Local vPC peer장비 구성 설정의 사본을 보내서, peer간의 vPC를 구성하는 주요 vPC 구성 매개 변수가 서로 다른 것이 있는지 확인을 한다.

자동으로 vPC 구성을 위한 매개변수의 호환성을 체크한다. 

• Interface별 매개변수는 Interface별로 동일해야 하며, Global 매개변수는 반드시 Global 매개변수마다 동일해야 한다.

 Type 1 비일관성이 확인되면, 아래와 같이 처리 된다.

     - global configuration type 1 비일관성이 확인될 경우, 모든 vPC member 포트는 Down 상태가 된다.

     - vPC Interface configuration type 1 비일관성이 확인될 경우, 잘못 설정된 vPCDown 상태가 된다.

• NX-OS 5.2 이후로, vPC SystemType 1 일관성 체크는 보다 유연하게 동작한다.

     - global configuration type 1 비일관성 체크 시, Secondary Peer장비의 vPC member 포트만 Down 상태가 된다.

     - vPC Interface configuration type 1 비일관성 체크 시, Secondary Peer장비의 vPC member 포트만 Down 상태가 된다.

• show vpc consistency-parameters 명령을 통해서 vpc global 설정값과, interface 매개변수 값을 확인할 수 있다.

 

 

vPC 설정 확인 – Global 설정

• vPC 설정 시, Peer 간의 설정을 확인하기 위해서

     sh vpc consistency-parameters global

명령을 통해서 Global 설정 매개변수의 각 설정 값을 확인할 수 있다.

 

 

 

 

vPC 설정 확인 – Interface 설정

• vPC 설정 시, Peer 간의 설정을 확인하기 위해서

     sh vpc consistency-parameters interface port-channel port_channel_number

명령을 통해서 Global 설정 매개변수의 각 설정 값을 확인할 수 있다

 

 

 

vPC Type 2 일관성 체크

• Type 2 비일관성이 감지되면, 아래와 같이 동작을 하거나 혹은 아무런 동작을 하지 않을 수도 있습니다.

     - global configuration type 2 비일관성 확인 시, 모든 vPC member portup 상태를 유지하며, vPC system

     - vPC Interface configuration type 2 비일관성이 확인될 경우,  잘못 설정된 vPC는 여전히 Up 상태를 유지하지만, 차이가

      나는 Type  따라서, vPC System은 보호 조치를 할 것이다. 

     가장 일반적인 잘못은 vPC interface trunking 설정 시 allowed VLAN에 대한 부분이다.  이 경우에 vPC System은 양쪽에서

      일치하지 않는 vPC interface VLANDisable 상태로 만든다.

일부 global configuration 일관성 체크 매개변수는 show vpc consistency-parameters global 을 통해서 볼 수 있다.

  그러나 Type 2 일관성 체크를 위한 vPC Interface 매개변수는 show vpc consistency-parameters interface port-channel 명령에

  안 나타난다.

다음 매개변수가 vPC Peer 장비 간의 동일하게 구성되지 않을 경우에는 Traffic 흐름이 정상적으로 동작하지 않을 수도 있다.

 

 

 

 

 

 

Posted by 네떡지기

티스토리 툴바