안녕하세요 

이번 포스팅은 지난 번에 했던 포스팅과 마찬가지로 간단한 동영상을 올려봅니다.


Cisco ACI에서 포트설정은 Profile 형태로 구성을 하게 되는 데, 

PortProfile을 생성하는 것을 JSON을 이용해서 Post하기 위한 예제입니다. 

동영상의 내용은, 동일한 PortProfile 그룹과 거기에 설정할 AEP를 지정하고 

그리고 각 인터페이스 별로 설정할 Port정보를 기입하여, ACI에 적용할 JSON을 생성한 후, ACI에 적용하게 되는 동영상입니다.


좀 더 많은 부분은 한꺼번에 JSON 형태로 만들어서 Profile을 만들고 싶은 생각은 있지만..

아무래도 실 운영 환경에서 테스트를 진행하는 부분에는 한계점이 있기 때문에.. 

가상머신이나. 에뮬레이터가.. 절실하다는.. 생각을 해보면서 포스팅을 마칩니다.



P.S 물론 본 동영상에 포함된 Profile 형태가 물론 ACI에서 하고자 하는 아키텍처의 그림은 아닐 수 있겠지만.

    위와 같은 형태의 자동화 부분도 가능하다는 점만 염두해두면 좋을 것 같습니다.

Posted by 네떡지기

안녕하세요.  이번 포스팅은 정보 공유 포스팅입니다.

Cisco ACI의 Dashboard에 대한 내용입니다.

요즘은 많은 벤더의 장비들이 그러하듯이 Cisco ACI도 REST-API나, SDK를 사용하여 다양한 것들을

추가적으로 구현하여 사용이 가능합니다. 

#앞으로 6월에 진행될 네트워크 전문가 따라잡기 커뮤니티의 N.EX.T에서도 관련 세션을 발표할려고 생각중입니다! ^^  


Cisco Korea에서는 이러한 프로그래머빌리티를 위해서 시스코 본사의 Github이외에

Cisco Korea의 Git(https://github.com/CiscoKorea)을 운영하고 있는 데,

오늘은 그 Github에 공유 중인 ACI Dashboard에 대해서 간단히 살펴봅니다. ^^


ACI Dashboard로 공개되어 있는 오픈소스 프로젝트는 Webkit과 archon이 있는 데,

archon이 신 버전, Webkit이 구 버전이라고 보시면 됩니다.

우선 webkit과 archon 모두 설치해서 돌려보기는 했으나, 아래의 화면은 archon입니다. ^^


설치 방법은 Cisco Korea git에서 확인하시면 되시구요. (https://github.com/CiscoKorea/archon)


대시보드를 실행하면 아래와 같이 로그인 화면이 뜨게 됩니다. (물론 초기에는 Cisco 로고가 나옵니다.)

로그인을 하고나면, 아래와 같이 메뉴를 고를 수 있는 데,

ACI에 대한 메뉴와, ASA 그리고 Sample이라고 되어 있는 부분이 있는 데,

Sample이라고 되어 있는 부분은 NX-OS에 대한 부분이 채워질 예정이라고 합니다.

ACI Dashboard로 들어가면, 초기 개요 화면이 있으며,

추가적으로 상태, 관계도, 점검, 분석, 도구 등의 메뉴가 있습니다.

아래는 초기 개요 화면입니다 .

현재 도메인(APIC 기준입니다.)에 대한 전체 정보가 뜨고, 각 상태 정보를 한 눈에 볼 수 있습니다.


기타 다른 메뉴들을 눌러보면, 이런 저런 대시보드에 대한 기능들이 존재합니다.

기존 버전인 Webkit과 UI가 바뀐 부분 말고 대부분의 기능으 대동소이 한 것 같습니다.

우선 ACI에서 흩어져서 볼 수 있는 내용들을 한 눈에 보기 쉽게 해 놓은 부분들도 있어서 좋습니다.

물론.. 메뉴를 눌러보다 보면.. 그래서 이걸 어디에 쓰지? 라는.. 생각이 문득 들기도 합니다.


제일 좋은 건, 특정 Endpoint에 대한 정보를 검색해서 찾을 수 있다는 것?

물론 APIC에 직접 접속해서 확인도 가능하고, APIC에서 찾아보는게 보다 많은 정보를 볼 수 있겠지만

그래도 Dashboard에서 손쉽고 빠르게 찾아볼 수 있는 점은 장점인 듯 싶습니다.

 

물론 운영자 입장에서의 100% 입맛에 맞추기는 어렵겠지만,

결국 이러한 도구들처럼, 필요한 부분들을 개발해서 사용할 수 있는 오픈 환경이 제공되어 진다는 점이

현재의 트렌드이자.. 앞으로 나아가는 방향 중에 하나가 아닐까 싶습니다.

 

 




Posted by 네떡지기
프로그래밍/Python2014.08.18 17:42

 


10번째 Python for Networker 포스팅입니다.

이번 포스팅에서 Cisco Nexus의 7000과 5000에서 공통으로 사용이 가능하도록 기존에 만들었던 ipinfo.py 모듈을 변경해봅니다.

장비별로 개개의 코드를 작성해서 수행하는 것보다는 장비에서 공통으로 호환성있게 사용 가능한 코드를 만드는 것이 향후 코드에 대한

유지보수 측면에서 더욱 유리할 것 이기 때문에 유심있게 봐두면 좋을 듯 싶습니다.

 

Git에서 Code 보기

  - einfo.py : https://github.com/NetworkZIGI/Python_for_Network/blob/master/eipinfo.py

  - vCheck.py : https://github.com/NetworkZIGI/Python_for_Network/blob/master/vCheck.py

 


 

 

Nexus 7000와 Nexus 5000에서 지원하는 Python의 경우에는 각각 지원되는 방식이 다르다.

 

실제 Cisco에서 제공되는 Python의 Cisco Module을 확인해 보면 아래와 같이 내장된 Member가 서로 다른 것을 확인할 수 있다.

 

◇ Nexus 7K Cisco Module

 

__doc__

__name__

__package__

cli

cli_execution_error

clil_syntax_error

clid

clip

set_vrf

 

 

◇ Nexus 5K Cisco Module

 

BGPSession

Routes

check_port_discards

line_parser

show_run

BufferDepthMonitor

SectionParser

cisco_secret

mac_address_table

ssh

CLI

VRF

cisco_socket

md5sum

tacacs

CheckPortDiscards

Vlan

cli

msdp

telnet

CiscoSecret

__all__

dhcp

ospf

transfer

CiscoSocket

__builtins__

eigrp

ospfv3

udld

Feature

__doc__

feature

pim

vlan

History

__file__

get_global_vrf

private-vlan

vpc

IPv4ACL

__name__

get_valid_port

ptp

vrf

IPv6ACL

__package__

history

rip

vrrp

Interface

__path__

hsrp

routes

vtp

Key

acl

interface

scheduler

 

LineParser

bfd

interface-vlan

section_parser

 

MacAddressTable

bgp

key

set_global_vrf

 

OSPFSession

buffer_depth_monitor

lacp

show_queues

 

 

 

서로 지원되는 Cisco Module이 다르기 때문에, 관리자가 Module을 새롭게 만들 경우에는 이러한 점이 고려되어야 합니다.

물론 Cisco Module을 사용하지 않고 만든 Python Module은 상관이 없겠지만, Cisco Module을 Import하여 만든 Python Module은

각 Nexus 별로 지원되는 내용과 결과값이 다르기 때문에 별개의 코드로 만들어야 하는 경우가 발생하게 됩니다.

 

기존 Python for Networker : Part 6 에서 다뤄졌던, IP를 가지고 해당 IP의 정보(IP / Mac  / VLAN / Interface / Description)를 보는

ipinfo.py의 경우에도 대부분의 코드가 비슷하지만, Cisco Module이 사용된 부분에 대해서는 내용이 달라지게 됩니다.

 

가령 Nexus 7K의 경우에는 Cisco Cli 명령을 수행하기 위해서 cisco.cli 메서드를 사용하여 결과를 수행하면 str(문자열) 값으로

결과값을 가져옵니다. 반면에 Nexus 5K의 경우에는 cisco.CLI 메서드르 사용하고 이러한 결과값은 tuple 형태로 결과를 가져옵니다.

 

이처럼 cisco에서 제공하는 Module이 서로 다르게 처리되다 보니, 각 Module을 만들고자 할 때에는 각각의 Module에서 사용되는

cisco Module을 고려하여 만들어야 합니다.

 

그렇다면, Nexus 7K와 Nexus 5K에서 공통으로 사용할 수 있는 코드를 만들 수는 없을까요?.... 물론 가능합니다.

 

먼저 아래의 예제 코드를 살펴보면..

 

 

vCheck.py : Nexus 7000/5000 구분하는 예제 코드

import sys
N7K = 'Nexus7000'
N5K = 'Nexus5000'
#N3K = 'Nexus3000'     : Constant for Extension.

NexusVersion = ''

def NexusVersionCheck():
    global NexusVersion
    sysPathList = sys.path
    for pathItem in sysPathList:
        if(pathItem=='/bootflash/scripts'):
            NexusVersion = N7K
            break
    else:
        NexusVersion = N5K

 

위의 예제 코드는 코드가 실행되는 장비가 Nexus 7000인지, 5000인지 확인하는 코드입니다.

원리는 무척이나 단순합니다.

 

각 장비의 path 정보값을 가져와서 확인을 하는 데, Nexus 7000에서는 기존 포스팅에서 다뤘던 것처럼

bootflash/scripts 에 Python Module이 들어가게 됩니다. 그리고 이 Path 정보는 Nexus 7000에만 있습니다.

(물론 제가 Testing이 가능한 장비가 Nexus 7000과 5000밖에 없기 때문에, 다른 장비에서는 어떻게 달라질지 그리고 그경우에는

 어떠한 방법으로 다시 구분을 할지는 달라지게 됩니다. 단지 장비별로 이렇게 특정값을 확인하여 어떤 장비인지 확인할 수 있는지에

 대한 부분을 확인하는 Module을 만든다면, 현재 해당 Module이 실행되는 장비가 어떤 장비인지 확인 할 수 있습니다.)

 

이러한 구분 정보를 통하여 현재 동작하고 있는 Module의 장비 값을 Global 변수에 저장할 수 있습니다.

그러면, 실제 특정 기능을 수행하는 Module에서는 위의 정보를 바탕으로 필요한 Cisco Module을 사용하여 처리할 수 있습니다.

 

위의 Nexus Version을 체크하는 Module을 바탕으로, 기존에 작성하였던 ipinfo.py를 Nexus 7000과 5000에서 모두 동작하게 하는

공통 Module로 아래와 같이 작성할 수 있습니다.

 

 

eipinfo.py

#!/bin/env python
import argparse
import sys
import cisco
import vCheck
from vCheck import NexusVersionCheck


IP = 'IP-Address'
MAC = 'Mac-Address'
Vlan = 'Vlan'
Intf = 'Interface'
Desc = 'Description'


IP_info = {IP:'None', MAC:'None', Vlan:'None', Intf:'None', Desc:'None'}

 

def get_ARP_Table(ipaddr):
    arpCmd = 'sh ip arp ' + ipaddr
    arpCmdResultList = [] 
    if(vCheck.NexusVersion==vCheck.N7K):
        arpCmdResult = cisco.cli(arpCmd)
        arpCmdResultList = arpCmdResult.split('\n')
    elif(vCheck.NexusVersion==vCheck.N5K):
        arpCmdResult = cisco.CLI(arpCmd, False)
        arpCmdResultList = arpCmdResult.get_output()

    for arp in arpCmdResultList:
        if (-1<arp.find(args.ip)):
            return arp
    else:
        print ' %s : Not found IP Address Infomation' % args.ip
        sys.exit()

 

def get_IP_MAC_info(info):
    info_list = info.split()
    IP_info[IP] = info_list[0]
    IP_info[MAC] = info_list[2]
    IP_info[Vlan] = info_list[3][4:]

 

def get_Interface_info():
    macCmd = 'sh mac address-table addr ' + IP_info[MAC]
    macCmdResultList = [] 

    if(vCheck.NexusVersion==vCheck.N7K):
        macCmdResult = cisco.cli(macCmd)
        macCmdResultList = macCmdResult.split('\n')
    elif(vCheck.NexusVersion==vCheck.N5K):
        macCmdResult = cisco.CLI(macCmd, False)
        macCmdResultList = macCmdResult.get_output()

 

    for infInfo in macCmdResultList:
        idx = infInfo.find(IP_info[MAC])
        if(-1<idx):
            IP_info[Intf] = infInfo[58:]
            get_Description_info(IP_info[Intf])
            break


def get_Description_info(iInfo):
    if(iInfo.find('Eth') == 0 or iInfo.find('Po')==0):
        intCmd = 'sh int desc | inc ' + iInfo
        if(vCheck.NexusVersion==vCheck.N7K):
            intCmdResult = cisco.cli(intCmd)
            intCmdResultList = intCmdResult.split('\n')
            if(intCmdResult != ''):
                IP_info[Desc] = intCmdResultList[0][25:].strip()
        elif(vCheck.NexusVersion==vCheck.N5K):
            intCmdResult = cisco.CLI(intCmd, False)
            intCmdResultList = intCmdResult.get_output()
            if(intCmdResult != ''):
                IP_info[Desc] = intCmdResultList[0][25:].strip()

 

def show_IP_info():
    print '==================================='
    print '      enhanced IP Info : NetworkZIGI                 '
    print '==================================='
    print '%-15s : %s' % (IP,IP_info[IP])
    print '%-15s : %s' % (MAC,IP_info[MAC])
    print '%-15s : %s' % (Vlan, IP_info[Vlan])
    print '%-15s : %s' % (Intf, IP_info[Intf])
    print '%-15s : %s' % (Desc,IP_info[Desc])

 

NexusVersionCheck()
parser = argparse.ArgumentParser('Args',description='Args Desc')
parser.add_argument('ip')
args = parser.parse_args()
iparp = get_ARP_Table(args.ip)
get_IP_MAC_info(iparp)
get_Interface_info()
show_IP_info()

 

 

위의 Code 중에서 파란색으로 표기된 부분이 Nexus 7K와 5K를 구분하기 위한 부분입니다.

 

 그럼 이제 위의 1개의 코드로 Nexus 7000과 Nexus 5000에서 별도의 코드를 각각 사용하는 것이 아닌, 하나의 동일한 코드로

원하는 결과값을 같이 얻을 수 있게 되었습니다.

 

 이번 Part에서 다뤄진 부분은 제가 Test가 가능한 장비를 기준으로 두 장비에 대해서 단순한 방법으로 구분을 지었습니다.

하지만, Nexus 의 다른 시리즈의 경우에는 또 지원되는 부분이 다르기 때문에 그러한 부분까지 수용하기 위해서는 장비를 구분하는

vCheck 모듈의 수정이 필요하게 될 것입니다.

 

 여기서 세부적인 장비 구분을 체크하는 실제적인 내용보다는, 그러한 장비 구분을 통해서 실제 수행을 원하는 내용의 코드를 장비 개별

코드가 아니라, 하나의 공통 코드로 만들어서 사용할 수 있다는 것이 다루고자 하는 내용이었습니다.  

 

 그러한 부분을 잘 활용하게 된다면, 하나의 코드로 다른 버전의 장비에서도 호환이 되는 코드를 작성할 수 있을 것입니다.

 

물론 아예 처음부터 지원되는 cisco module이 동일하다면, 이러한 부분을 별도로 고려하지 않을 수 있겠지만

그러한 부분도 고려한 코드를 작성하는 것도 현재 시점에서는 또 하나의 몫이 아닐까 생각을 해봅니다.

Posted by 네떡지기

 

개인적인 업무상으로 필요로해서 기존에 가지고 있던 자료에서 약간 수정해서 급조해서 만든 명령어 비교 리스트입니다.

후다닥 만든거라서 부족한게 많을 듯 싶지만, 혹시라도 필요하신 분들이 있으실 듯 싶어서 공유합니다. ^^;

추가하면 좋을 부분이라든가 틀린 부분은 가차없이 알려주시면 감사하겠습니다.

 


 

시스코 / 익스트림 / 한드림넷 명령어 리스트

by 네떡지기(http://ThePlmingSpace.tistory.com)

시스코

익스트림

한드림넷

설명

show ver show ver show version

OS 버전

show switch show system system-info

System정보 확인

show run show config show run / write terminal

Configration 표시

show interface show port [no] show interface switchport

포트 정보 확인

show interface status
show interface [if] show port [if] [util/packet] show interface [if]

인터페이스 세부 정보

show arp show iparp show ip arp

arp 정보 표시

show mac-address show fdb show mac-table [IFNAME]

MAC Address를 출력

show vlan show vlan show vlan

VLAN정보 표시

show spanning-tree show vlan show spanning-tree pvstp

spanning-tree 정보 표시

show spanning-tree vlan show "Default" show spanning-tree pvstp

특정 

show ip int brief show vlan show ip int brief

VLAN에 할당된 IP정보 표시

show cdp  show edp show cdp neighbor [detail]

인접 장비 정보 표시

show cdp neighbor [detail] show edp port all [detail]

인접한 장비 정보 표시

show process cpu top show system cpu-load

CPU 정보 표시

show cpu-monitoring
show memory show memory show system memory

Memory 정보 표시

show tech show tech show tech-support 

Show Tech

show log show log show syslog

log 정보 표시

show env fan show fan sh system fan

장비 Fan 정보 표시

show env power show power sh system psu 

장비 Power 정보표시

show env temperature show temperature sh system temperature

장비 온도 표시

writer memory save write [memory]

설정 저장

erase startup unconfigure switch all factory-default

설정 초기화

show inline-power  show inline-power info port [if] show poe

PoE 정보 표시

    show system uptime

시스템 Uptime

 

 

 

시스코_익스트림_한드림넷_명령어리스트.pdf

 

 

Posted by 네떡지기

NX-OS  - Licence Guide (NX-OS 6.1 기준)

• Base license: A comprehensive feature set is provided with the Base license, which is bundled with the hardware at no additional cost. Cisco TrustSec is included in this license from Cisco NX-OS Release 6.1 onwards.

 

• Enterprise license: The Enterprise license enables incremental functions that are applicable to many enterprise deployments.

 

     VDC license: The VDC license enables the use of the following functions in Cisco NX-OS:

        4 VDCs and +1 Admin VDC : Four VDC licenses for Cisco Nexus 7000 Series Supervisor 1, Supervisor 2

                                               and Supervisor 2 Enhanced modules

        +4 VDCs: Increments VDC licenses by four, allowing Cisco Nexus 7000 Series Supervisor 2 Enhanced

                      module to scale up to eight VDCs

 

 • Scalable Feature license: The Scalable Feature license enables XL capabilities on the line cards.

                                   The Scalable Feature license is applied on a per-chass basis.

 

 Transport Services license: The Transport Services license enables OTV functions. The license to enable the Cisco Locator/ID Separation Protocol (LISP) is included in this license from Cisco NX-OS Release 6.0.

 

 Enhanced Layer 2 license: The Enhanced Layer 2 license enables the Cisco FabricPath feature. The license to enable Pong is included in this license from Cisco NX-OS Release 6.0.

 

 MPLS license: The MPLS license enables all MPLS features, including MPLS forwarding; QoS; Layer 3 VPN (L3VPN); IPv6 VPN Provider Edge (6PE/VPE); and operations, administration, and maintenance (OAM).

 

 FCoE license: The FCoE license enables all FCoE features on the Cisco Nexus 7000 Series Switches.

Storage license: The Storage license enables VSAN routing and access control

Posted by 네떡지기

중간에 휴가도 있기도 하거니와 게으르니즘이 계속 발동해서 다시 또 늦어지고 말았네요.
이번 10번째 정리는 Port-Channel에 대한 부분입니다.
아시겠지만, 정리 순서는 공부를 하기 위한 차례는 전혀 아니고 제가 정리를 하는 임의의 순서입니다.
올해 말쯤에는 정리한 것을 하나로 몰아보려고(내용을 좀 더 보완해서...) 생각 중인데.. 잘 될지 모르겠네요..
그럼 내용 중에 이상한 부분이나 보완해야할 부분있으면 지체없이.. 댓글 부탁드립니다. ^^\

Last Updated ('12.09.10)

 


 

Port-Channels

다수의 Port를 묶어서 논리적인 하나의 Port로 인식하게 하는 기술

다수의 Link를 논리적인 하나의 Link로 구성하여 STP에 의한 Blocked 상태를 없애고, 전체 Link Bandwidth 활용 가능.

• Layer 2 Interface, Layer 3 Interface로 구성 가능 (Nexus 7000)

• Nexus 에서는 최대 16개의 Link를 하나의 논리적 Link 구성 가능. (Hardware / Software 영향)

     ※ LaCP 에서 16개의 물리적 Link 하나의 Port-Channel로 구성이 가능하나, 오직 그 중 8 LinkActive  가능.

        (나머지는 Hot-Standby)

     ※ Nexus 7000F1 Module16개를 Link를 하나의 Port-Channel로 구성 가능하며, 또한 16개 모두 Active로 구성 가능.

                            M1 Module16개를 Link를 하나의 Port-Channel로 구성 가능하나, 8개만 Active로 구성 가능.

     ※ Nexus 500016개를 Link를 하나의 Port-Channel로 구성 가능하며, 또한 16개 모두 Active로 구성 가능.

Chassis 528개의 Port-Channels 이 지원된다. (NX-OS 5.2(1) 기준)

• F series 모듈에서는 최대 16개의 Active Port-Channel이 설정된다. (기존 IOS에서는 8)

하나의 Port-ChannelM SeriesF SeriesModulePort를 연결할 수는 없다.

• M Series Module에서 Dedicated PortShared Port를 연결할 수는 없다.

효율적인 부하 분산을 위해서는 2, 4, 8개의 Link로 구성하는 것이 좋으며, 부하분산 알고리즘은 다음과 같이 지정할 수 있다.

     - Source IP, Destination IP, Source MAC, Destination MAC, Source Port, Destination Port

     - Source & Destination IP, Source & Destination MAC, Source & Destination Port

논리적 Interface L2 or L3 모두 설정이 가능하다 

• LACP는 Half-duplex를 지원하지 않으며, Half-duplex로 설정된 것은 suspended가 된다.

• lacp 에서는 ActiivePassive Mode가 있으며, lacp feacture를 활성화 하지 않고, 사용하는 ModeOn 이다.

     - pagp는 지원하지 않음

IOS에서는 port-channel 생성 시에, administratively down이 초기 상태이지만 NX-OS는 생성 직 후, Active 상태가 된다. 

• Server가 연결되는 경우에는 반드시 ModeOn으로 사용해야 한다. (가상화 서버)

 

 

 

Port Channel 설정 및 확인

 

NX-OS(Config)# interface ethernet 1/1 – 1/4                                - Layer 2 Port Channel

NX-OS(Config)# interface port-channel 1

NX-OS(Config-if)# switchport mode trunk

 

NX-OS(Config)# feature lacp                                                     - Layer 2 Port Channel (LACP)

NX-OS(Config)# interface ethernet 2/1 – 2/4

NX-OS(Config-if-range)# switchport

NX-OS(Config-if-range)# channel-group 2 mode active


NX-OS(Config)# interface port-channel 2

NX-OS(Config-if)# switchport access vlan 2

 

NX-OS(Config)# interface ethernet 3/1 – 3/4                              - Layer 3 Port Channel

NX-OS(Config-if-range)# channel-group 3


NX-OS(Config)# interface port-channel 3

NX-OS(Config-if)# ip address 10.10.3.1/24

 

NX-OS(Config)# feature lacp                                                    - Layer 3 Port Channel (LACP)

NX-OS(Config)# interface ethernet 4/1 – 4/4

NX-OS(Config-if-range)# channel-group 1 mode active


NX-OS(Config)# interface port-channel 4

NX-OS(Config-if)# ip address 10.10.4.1/24

 

 

 

NX-OS# sh port-channel summary

Flags:  D - Down        P - Up in port-channel (members)

        I - Individual  H - Hot-standby (LACP only)

        s - Suspended   r - Module-removed

        S - Switched    R - Routed

        U - Up (port-channel)

        M - Not in use. Min-links not met

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

Group Port-     Type     Protocol      Member Ports

      Channel

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

1    Po1(SU)      Eth          NONE      Eth1/1(P)    Eth1/2(P)    Eth1/3(P)   Eth1/4(P)

2    Po2(SU)      Eth          LACP       Eth2/1(P)    Eth2/2(P)    Eth2/3(P)   Eth2/4(P)

3    Po3(RU)      Eth          NONE      Eth3/1(P)    Eth3/2(P)    Eth3/3(P)   Eth3/4(P)

4    Po4(RU)      Eth          LACP       Eth4/1(P)    Eth4/2(P)    Eth4/3(P)   Eth4/4(P

 

 

NX-OS# sh port-channel traffic

ChanId      Port Rx-Ucst Tx-Ucst Rx-Mcst Tx-Mcst Rx-Bcst Tx-Bcst

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

     1    Eth1/1  55.12%  15.04%  16.22%  21.57%  21.32%  12.82%

     1    Eth1/2  40.58%   2.70%   8.86%  32.55%  21.75%  49.81%

     1    Eth1/3   2.27%  51.05%  46.20%  26.37%  29.18%   6.41%

     1    Eth1/4   2.01%  31.19%  28.69%  19.48%  27.72%  30.94%

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

 

 

 

 

You must remove the port-security information from a port before you can add that port to a port channel. Similarly, you cannot apply the port-security configuration to a port that is a member of a channel group.

Do not configure ports that belong to a port-channel group as private VLAN ports. While a port is part of the private VLAN configuration, the port channel configuration becomes inactive.

Channel member ports cannot be a source or destination SPAN port.

You cannot configure the ports from a F1 and an M1 series linecard in the same port channel because the ports will fail to meet the compatibility requirements.

 

Posted by 네떡지기

Nexus 4번째 정리입니다.

핑계 없는 무덤은 없다지만, 자주 업데이트를 하지를 못하고 있네요.

딱히 특정 챕터 중심이라기 보다는 제가 정리되는 순서대로 업데이트하다보니 내용 또한 중구난방입니다.

이 점 양해 부탁드리며~ 혹시 잘못된 부분이 있으면 알려주세요

 

 


Last Updated 2015. 01. 22. - High Availability

Updated 2013. 01. 23 - Port Profile


 

High Availability 정책

• VDC crashes 발생할 경우에 VDC고가용성 보장하기 위해서 VDC의 종류와 Supervisor(single/dual)에 다음과 같이 동작한다.

• Default VDC (Default VDC 혹은 Admin VDC의 경우는 정책 변경 불가)

      - Dual-supervisor : Switchover  - Single-supervisor : Reload

• Non-default VDC

      - Restart : VDC의 모든 내용을 초기화 하고, Startup configuration을 사용하여 새로 만든다. (Auto)

      - Bringdown : VDCfailed 상태로 전환한다.  Failed 상태를 복구하기 위해서는 수동으로 VDC나 장비를 Reload해야 한다.

      - Switchover : Active Supervisor을 전환 /  Dual-Supervisor 인 경우에만 설정 가능 

      - Reload(reset) : Super-visorReload(Reset) .  /  Single-Supervisor 인 경우에만 설정 가능

위와 같은 동작 방식은 Default VDC에서는 따로 설정할 필요가 없으나, Non-default VDC에서는 동작 방식을 설정해야 한다.

• High Availability 정책 설정 및 확인은 다음과 같이 할 수 있다.

 

 

 

Port-Profile 적용

NX-OS# show vdc detail

Switchwide mode is m1 f1 m1xl f2 m2xl f2e f3

vdc id: 1                                                                                                 : Default VDC

vdc name: NX-OS-VDC1

vdc state: active

vdc mac address: e4:c7:22:65:96:41

vdc ha policy: RELOAD

vdc dual-sup ha policy: SWITCHOVER

vdc boot Order: 1

CPU Share: 5

CPU Share Percentage: 25%

vdc create time: Thu Jun 19 03:44:46 2014

vdc reload count: 0

vdc uptime: 121 day(s), 21 hour(s), 11 minute(s), 18 second(s)

vdc restart count: 0

vdc type: Ethernet

vdc supported linecards: m1 m1xl m2xl f2e

vdc id: 2                                                                                                  : Non-Default VDC

vdc name: NX-OS-VDC2

vdc state: active

vdc mac address: e4:c7:22:65:96:42

vdc ha policy: RESTART

vdc dual-sup ha policy: SWITCHOVER

vdc boot Order: 1

CPU Share: 5

CPU Share Percentage: 25%

vdc create time: Thu Jun 19 03:48:15 2014

vdc reload count: 0

vdc uptime: 121 day(s), 21 hour(s), 7 minute(s), 57 second(s)

vdc restart count: 0

vdc type: Ethernet

vdc supported linecards: m1 m1xl m2xl f2e

 

 

 


Supervisior Redundancy

• Supervisior Module Active/Standby HA(High Availability) 상태 확인

     - NX-OS#  show system redundancy status

Supervisior ModuleActive/Standby 상태를 전환

     - NX-OS#  system switchover

 

 

 

 

 


Port-Profile

다수의 Interface에 동일한 Config 해야할 때, 설정해야 하는 ConfigProfile 형식으로 만들어 해당 설정을 적용해야 하는

  Interface 단순히 해당 Profile을 적용하여 Interface 설정을 손쉽게 하는 데 사용이 가능하

다수의 Interface에 동일한 Config 해야할, 설정해야 하는 ConfigProfile 형식으로 만들어 해당 설정을 적용해야 하는 Interface

  단순히 해당 Profile을 적용하여 Interface 설정을 손쉽게 하는 데 사용이 가능하다.

• Ethernet, VLAN or Port channel interface에 대해서 지원

하나의 Port-Profile은 상속되어서, 다른 Profile에서도 사용이 가능하다.  즉 계층적인 Profile을 구성 가능하다.

  이러한 계층적인 Profile 구성은 총 4단계의 계층으로 구성이 가능하지만,

   switchport private-vlan mappingprivate-vlan mapping

  명령을 사용 시에는 오직 1단계 계층으로만 구성이 가능하다.  (TEST 해볼 것)

반드시 해당 Port-Profilestate enable을 해주어야 해당 Port-Profile을 사용할 수 있다.

      - 사용 중, state disable시에는 해당 Port-Profile을 사용 중인 Port는 사용 불가.

• Port ProfileTypeInterface mode(Layer2, Layer3)은 동일하게 구성을 해야 한다.

 

• Port-Profile 수정 시에, 할당된 Port의 정보도 함께 Update.

 

Port-Profile 적용

 NX-OS(config)# port-profile type ethernet My_PortConfig

 NX-OS(config-port-prof)# switchport

 NX-OS(config-port-prof)# switchport access vlan 7

 NX-OS(config-port-prof)# spanning-tree port type edge

 NX-OS(config-port-prof)# spanning-tree bpduguard enable

 NX-OS(config-ppm)# state enable

 NX-OS(config)# interface ethernet 1/1-2

 NX-OS(config-if-range)# inherit port-profile My_PortConfig

 NX-OS# sh run int e 1/1

 ! Command: show running-config interface Ethernet1/1

 !Time: Tue Jun  5 21:28:25 2012

 version 6.0(1)

 interface Ethernet1/1

   inherit port-profile My_PortConfig

 NX-OS#

 

 

 Port-Profile 확인

 NX-OS# sh port-profile brief 

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

 Port                Profile  Conf   Eval   Assigned  Child

 Profile              State   Items  Items  Intfs       Profs

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

 My_PortConfig       1        4      4      2           0

 NX-OS# sh port-profile name My_PortConfig

 port-profile My_PortConfig

  type: Ethernet

  description:

  status: enabled

  max-ports: 512

  inherit:

  config attributes:

   switchport

   switchport access vlan 7

   spanning-tree port type edge

   spanning-tree bpduguard enable

  evaluated config attributes:

   switchport

   switchport access vlan 7

   spanning-tree port type edge

   spanning-tree bpduguard enable

  assigned interfaces:

   Ethernet1/1

   Ethernet1/2

 NX-OS#

 

 

 

Nexus_정리자료(Supervisior Redundancy_PortProfile).pdf

 

Posted by 네떡지기

어제에 이어서 올리는 Nexus 정리 3번째 입니다.

이번에는 Configuration을 특정시점에 기록하고, 복구할 수 있는 기능인 Checkpoint와 Rollback에 대한 정리입니다.

 

Nexus_정리자료(Checkpoint_Rollback).pdf

 


Checkpoint / Rollback

• Nexus에서 Config 변경 작업 시에, 작업 전 시점에서 Checkpoint 명령어를 사용하여 현재 Running-Config  시점을 기록

  하고 Config 작업 전으로 원상복구가 필요한 경우에 Rollback 명령을 이용해서 , Checkpoint에서 지정한 시점으로 복구할

  수 있다.

     - NX-OS(config)# checkpoint Checkpoint_NAME [desc desctription ]

     - NX-OS(config)# rollback running-config checkpoint Checkpoint_NAME  [option ]

다음의 3가지 경우에는 시스템에서 자동적으로 Checkpoint생성한다.

     - no feature 명령을 사용 특정 feature 제거했을 경우

     - Layer-3 프로토콜 Feature 제거했을 경우 ( Ex : no feature ospf )

     - feature 대한 Grace-period 라이센스가 만료되었을 경우.

 

 

Checkpoint Guidelines.

Checkpoint Exec 모드에서 생성되며, 오직 1명의 사용자만VDC별로번에 Checkpoint수행할있다.

VDC별로 최대 10개의 Checkpoint생성할있으며, 추가적으로 file 옵션 사용,  Bootflash volatile memory

   File 생성이 가능하다

Checkpoint 내부 저장소에 저장되며, Common User 접근이 불가능하다.

Checkpoint 영구적이며, Redundant Supervisior간의 동기화된다

• Checkpoint names 최대 80자까지 공백없이 사용 가능하며, descriptions 공백을 포함한 최대 80자까지 사용 할 수 있다.

show diff rollback-patch 명령을 사용하여 checkpoints, files, starup-configuration, running-configuration 비교할있다.

clear checkpoint database 또는 write erase 명령을 통해서 모든 Checkpoint 파일을 삭제할있다.

 

 

Checkpoint 시점 생성 및 Config 변경 테스트

 NX-OS#  sh run int e2/15

 !Command: show running-config interface Ethernet2/15

 interface Ethernet2/15

 NX-OS#  checkpoint My_Work_Point desc TestCheck

 Done

 NX-OS# conf t

 Enter configuration commands, one per line.  End with CNTL/Z.

 NX-OS(config)# int e2/15

 NX-OS config-if)# switchport

 NX-OS(config-if)# switchport access vlan 120

 NX-OS(config-if)# sh run int e2/15

 interface Ethernet2/15

   switchport

   switchport access vlan 120

 NX-OS(config-if)#

     § 최초에 ethernet e2/15에는 아무런 설정이 되어 있지 않은 것을 확인하고, 그 상태에서 checkpoint를 사용해서 현재 시점에 대한 설정을 저장 후에, ethernet e2/15에 설정을 변경한다.

 

Config Rollback 및 확인

 NX-OS# rollback running-config checkpoint My_Work_Point verbose

 Note: Applying config parallelly may fail Rollback verification

 Collecting Running-Config

 #Generating Rollback Patch

 Executing Rollback Patch

 ========================================================

 `conf t`

 `interface Ethernet2/15`

 `no switchport access vlan`

 `no switchport`

 `exit`

 `interface Ethernet2/15`

 `no switchport`

 ========================================================

 Generating Running-config for verification

 Generating Patch for verification

 Verification is Sucessful.

 Rollback completed successfully.

 NX-OS# sh run int e2/15

 version 6.0(1)

 interface Ethernet2/15

 NX-OS#

     § Checkpoint로 만든 시점으로 config를 원복하기 위해서 rollback을 사용하여 설정을 복구한다.

 

 Checkpoint 확인 및 삭제하기

 

 NX-OS # show checkpoint summary user

 User Checkpoint Summary

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

 1) My_Work_Point:

 Created by sadmin

 Created at Sun, 14:07:37 27 May 2012

 Size is 6,554 bytes

 Description: TestCheck

 NX-OS# clear checkpoint database user

 .......Done

 NX-OS# show checkpoint summary user

 NX-OS#

     § Checkpoint를 확인하고, Checkpoint를 삭제하는 것이다. 여기에서는 system에서 자동으로 생성된 checkpoint가 아닌 사용자에 의해서 생성된 user에 대한 checkpoint만 확인 및 삭제하였다.

Posted by 네떡지기

Nexus 두 번째 정리자료입니다.

내용상으로 보면, 이게 제일 먼저 올릴 법한 자료인 VDC에 관한 아주 간략한 내용입니다만,

자료 보는 순서와, 정리가 된 순서대로 하다보니 이렇게 됐네요.

(L2 관련 부분을 먼저 정리하기 시작했는데, 딱히 자료가 정리가 되지를 않아서..)

 

내용은 많지는 않지만, 자꾸 더디게 정리가 되서 우선 정리되는데로 올려보려고 짧게 끊어서라도

조금 빈번하게 올려보려고 합니다.

 

첨부파일(PDF)로도 첨부합니다.

 

=================================================================================================================

 

NX-OS : VDC

 

◈ VDC 관련 기본 정리

  Nexus 7000에서의 최대 VDC4개까지 생성이 가능하다. 

  장비의 최초 접속 시에는 default VDC로 접속하게 된다.. 

  VDC별로 Interface를 할당하여 사용을 하며, VDC 간의 통신을 위해서 VDC에 할당된 Interface를 직접 연결하지 않는 이상

   통신이 불가

 VDC는 독립적인 Configuration,  Software Process가 동작한다.

  VDCVDC별로 유일한 namespace로 구분을 할 수 있으며, VDC별로  Resource를 할당할 수 있다.

  VDC별로 Reload가 가능하지만, Default VDC는 전체 VDC에 영향을 미치기 떄문에 독립적인 Reload가 불가능하다.

  VDC에 대한 정보를 Default VDC에서 확인 시에는 전체 VDC에 대한 정보를 확인할 수 있지만, 특정 VDC로 이동하여 동일한

   명령어로 VDC 정보 확인 시에는, 현재 VDC에 대한 정보만 볼 수 있다

 

 

◈ VDC 관련 기본 설정 및 확인

 

VDC 생성 및 확인

 NX-OS(config)# vdc NW-ZIGI

 Note:  VDC creation is a time consuming process, please wait until the command completes

 NX-OS# show vdc

 vdc_id    vdc_name                     state               mac                     type           lc     

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

 1           NX-OS                         active              00:26:98:0d:19:41    Ethernet    m1 f1 m1xl

 2           NW-ZIGI                       active               00:26:98:0d:19:42    Ethernet    m1 f1 m1xl

§ VDC VDC_NAME 명령을 통해서 새로운 VDC를 생성할 수 있다.

  이 때 VDC 생성 시 사용한 VDC_NAME으로 VDC 관련 Config에서 각 VDC를 구분하게 된다.

 

VDC  Interface 할당 및 확인

 NX-OS(config)# vdc NW-ZIGI

 NX-OS(config-vdc)# allocate interface Ethernet1/4

 NX-OS(config-vdc)# allocate interface Ethernet1/5

 NX-OS(config-vdc)# show vdc membership

 vdc_id: 1 vdc_name: NX-OS interfaces:

          Ethernet1/1     Ethernet1/2 Ethernet1/3

 vdc_id: 2 vdc_name: NW-ZIGI interfaces:

          Ethernet1/4     Ethernet1/5

§ 각 VDC에서 사용하게 된 Interface는 해당 VDC에 할당한 후에 사용 가능하며,

  show vdc membership 명령어를 이용해서 각 VDC에 할당된 Interface 정보를 확인할 수 있다.

 

 

VDC  Resource 할당  

 NX-OS(config)# vdc NW-ZIGI

 NX-OS(config-vdc)# limit-resource port-channel minimum 32 maximum equal-to-min

 NX-OS(config-vdc)# limit-resource u4route-mem minimum 32 maximum equal-to-min

 NX-OS(config-vdc)# limit-resource u6route-mem minimum 32 maximum equal-to-min

 NX-OS(config-vdc)# limit-resource vlan minimum 32 maximum equal-to-min

 NX-OS(config-vdc)# limit-resource vrf minimum 32 maximum equal-to-min

§ VDC별로 Resourece를 어떻게 할당할 것인지에 대한 부분을 VDC별로 지정할 수 있다.

 

 

VDC 간의 이동 및 현재 VDC 확인

 NX-OS# switchto vdc ?

      NW-ZIGI         VDC number 2

      NX-OS            VDC number 1

 NX-OS # switchto vdc NW-ZIGI

 NW-ZIGI # show vdc current-vdc

 Current vdc is 2 - NW-ZIGI

§ 최초의 접속 시에는 Default VDC(VDC_ID : 1)로 접속하고, 각 VDC로 이동하기 위해서는

   switchto vdc VDC_NAME 명령어를 이용해서 이동할 수 있다.

 

 

Default VDC로 복귀

 NW-ZIGI # switchback   ( or exit )

 NX-OS  

§ 다른 VDC에서 Default VDC로 이동하기 위해서는 switchback 명령이나 exit 명령어를 사용하면 된다.

 

 

Non-VDC Reload

 NX-OS # reload vdc NW-ZIGI

 Are you sure you want to reload this vdc (y/n)?  [no] y

 NX-OS %$ VDC-1 %$ %VDC_MGR-2-VDC_OFFLINE: vdc 2 is now offline

 NX-OS %$ VDC-1 %$ %VDC_MGR-2-VDC_ONLINE: vdc 2 has come

§ Nexus는 Default VDC가 아닌 Non-VDC에 대해서는 VDC별로 Reload가 가능하다.

  해당 VDC이외에 다른 VDC에는 따라서 영향이 없다.   VDC별 Reload는 reload vdc VDC_NAME 명령어를 사용한다.

 

 ※ 전체 시스템을 Reload 할 경우에는 10분정도 소요되지만, VDC별 Reload 시에는 1분정도가 소요된다.

 

 

Nexus_정리자료(VDC).pdf

 

Posted by 네떡지기

티스토리 툴바