소개
이 문서에서는 Cisco Nexus 5500 스위치에서 VM-FEX(Virtual Machine Fabric Extender) 기능을 구성, 운영 및 트러블슈팅하는 방법에 대해 설명합니다.
사전 요구 사항
요구 사항
Cisco는 이러한 주제에 대한 기본적인 지식을 갖추고 있는 것이 좋습니다.
- Nexus VPC(Virtual Port Channel)
- VMware vSphere
사용되는 구성 요소
이 문서의 정보는 다음 하드웨어 및 소프트웨어 버전을 기반으로 합니다.
- 버전 5.2(1)N1(4)을 실행하는 Nexus 5548UP
- UCS(Unified Computing System)-C C210 M2 랙 서버(펌웨어 버전 1.4(2)를 실행하는 UCS P81E 가상 인터페이스 카드 포함)
- vSphere 버전 5.0(ESXi 및 vCenter)
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다.이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다.네트워크가 작동 중인 경우 모든 명령 또는 패킷 캡처 설정의 잠재적인 영향을 이해해야 합니다.
VM-FEX 개요
VM-FEX는 가상 네트워킹과 물리적 네트워킹을 단일 인프라로 결합합니다.이를 통해 통합 인프라 내에서 가상 머신 네트워크 트래픽 및 베어 메탈 네트워크 트래픽을 프로비저닝, 구성 및 관리할 수 있습니다.
VM-FEX 소프트웨어는 다음과 같은 기능을 통해 Cisco 패브릭 익스텐더 기술을 가상 머신으로 확장합니다.
- 각 가상 머신은 상위 스위치에 전용 인터페이스를 포함합니다.
- 모든 가상 머신 트래픽은 스위치의 전용 인터페이스로 직접 전송됩니다.
- 하이퍼바이저의 표준 vSwitch가 제거됩니다.
VM-FEX는 DVS 또는 VDS(Distributed Virtual Switch) 유형 중 하나입니다. DVS는 vCenter에서 동일한 데이터 센터 컨테이너에 속하는 여러 ESX Server에서 단일 스위치를 추상화했습니다.VM(Virtual Machine) VNIC(Virtual Network Interface Controller) 컨피그레이션은 중앙 위치에서 유지 관리됩니다(VM-FEX의 Nexus 5000 또는 UCS, Nexus 500 기반 VM-FEX).
VM-FEX는 두 가지 모드로 작동할 수 있습니다.
- 통과:VM 트래픽의 데이터 경로에 VEM이 포함되는 기본 모드입니다.
- 고성능:VM 트래픽은 VEM에서 처리되지 않지만 NIV(Network IO Virtualization) 어댑터로 직접 전달됩니다.
고성능 모드를 사용하려면 포트 프로필 컨피그레이션에서 요청해야 하며 VM 운영 체제 및 가상 어댑터에서 지원해야 합니다.이에 대한 자세한 내용은 이 문서의 뒷부분에 나와 있습니다.
정의
- VEM(Virtual Ethernet Module). ESX 하이퍼바이저 내에서 실행되며 단일 패키지로 VNLink 구현을 제공하는 Cisco 소프트웨어 모듈
- NIV(Network IO Virtualization)는 VNtagging을 사용하여 동일한 물리적 이더넷 채널에 여러 VN-Link(Virtual Network Link)을 구축합니다.
- DCBX(Datacenter Bridging Capability Exchange)
- VNIC 인터페이스 제어(VIC)
- 호스트 엔드포인트를 나타내는 VNIC(Virtual NIC).활성 VIF 또는 대기 VIF와 연결할 수 있습니다.
- DVPort(Distributed Virtual Port).VNIC가 VEM의 DVPort에 연결됨
- 네트워크 엔드포인트에 표시되는 NIV VIF(Virtual Interface)
- vEth(Virtual Ethernet) 인터페이스는 스위치의 VIF를 나타냅니다.
- PTS(Pass-Through Switch).하이퍼바이저에 설치된 VEM 모듈
참고:VM-FEX에서 사용되는 VEM은 Nexus 1000v에서 사용되는 VEM과 유사합니다.차이점은 VM-FEX에서 VEM은 통과 모드에서 작동하며 동일한 ESX에서 VM 간의 로컬 스위칭을 수행하지 않는다는 것입니다.
구성
토폴로지는 2개의 Nexus 5548 VPC 스위치에 P81E VIC 듀얼 홈(dual-homed)이 설치된 UCS-C 서버입니다.
참고:이 섹션에 사용된 명령에 대한 자세한 내용을 보려면 Command Lookup Tool(등록된 고객만 해당)을 사용합니다.
네트워크 다이어그램
이러한 필수 구성 요소는 이미 갖춰져 있어야 합니다.
- 두 Nexus 5000 스위치 간에 VPC가 올바르게 구성 및 초기화됩니다.
- VMWare vCenter는 vSphere 클라이언트를 통해 설치 및 연결됩니다.
- ESXi는 UCS-C 서버에 설치되고 vCenter에 추가됩니다.
구성 단계는 여기에 요약되어 있습니다.
- 서버 어댑터에서 NIV 모드를 활성화합니다.
- HTTP를 통해 Cisco CIMC(Integrated Management Controller) 인터페이스에 연결하고 관리자 자격 증명으로 로그인합니다.
- Inventory(인벤토리) > Network Adapters(네트워크 어댑터) > Modify Adapter Properties(어댑터 속성 수정)를 선택합니다.
- NIV 모드를 활성화하고 VM FEX 인터페이스의 수를 설정하고 변경 사항을 저장합니다.
- 서버의 전원을 끈 다음 전원을 켜십시오.
서버가 다시 온라인 상태가 되면 NIV가 활성화되었는지 확인합니다.
- 서버에 두 개의 고정 vEths를 생성합니다.
2개의 VNIC를 생성하려면 Inventory(인벤토리) > Network Adapters(네트워크 어댑터) > VNICs > Add(추가)를 선택합니다.
가장 중요한 필드는 다음과 같습니다.
- 사용할 VIC 업링크 포트(P81E에는 0과 1로 참조된 2개의 업링크 포트가 있습니다).
- 채널 번호:어댑터의 VNIC의 고유한 채널 ID입니다.이는 Nexus 5000의 vEth 인터페이스 아래의 bind 명령에서 참조됩니다.채널 번호의 범위는 VNTag 물리적 링크로 제한됩니다.이 채널은 스위치와 서버 어댑터 사이의 물리적 링크에서 "가상 링크"로 간주할 수 있습니다.
- 포트 프로필:업스트림 Nexus 5000에 정의된 포트 프로파일 목록을 선택할 수 있습니다.Nexus 5000이 vEthernet auto-create 명령으로 구성된 경우 Nexus 5000에서 vEth 인터페이스가 자동으로 생성됩니다.vEthernet 포트 프로필 이름만 서버에 전달됩니다(포트 프로필 컨피그레이션은 그렇지 않음). 이는 VNTag 링크 연결이 설정되고 스위치와 서버 어댑터 간에 초기 핸드셰이크 및 협상 단계가 수행된 후에 발생합니다.
- 업링크 장애 조치 활성화:구성된 업링크 포트가 오프라인 상태가 되면 VNIC가 다른 P81E 업링크 포트로 장애 조치됩니다.
- 서버를 재부팅합니다.
- ESXi 호스트에 VEM을 설치합니다.
ESXi 호스트에 VEM을 설치하는 예제는 Cisco UCS Manager VM-FEX for VMware GUI Configuration Guide, Release 2.1에서 ESX 또는 ESXi 호스트에서 Cisco VEM 소프트웨어 번들 설치 또는 업그레이드를 참조하십시오.
참고:다음에 표시되는 모든 스위치 컨피그레이션은 Nexus 5500 VPC 피어 모두에서 구성해야 합니다. 단, SVS(Software Virtual Switch) 연결 명령과 XML 확장 키는 VPC 기본 스위치에서만 구성해야 합니다.
- 가상화 기능 세트 및 VM-FEX 및 HTTP 기능을 활성화합니다.
(config)# install feature-set virtualization
(config)# feature-set virtualization
(config)# feature vmfex
(config)# feature http-server
(Optional) Allow the Nexus 5000 to auto-create its Vethernet interfaces when the
corresponding vNICs are defined on the server:
(config)# vethernet auto-create
- 호스트 인터페이스에서 VNTag를 활성화합니다.
Configure the N5k interface that connects to the servers in VNTAG mode:
(config)# interface Eth 1/1
(config-if)# switchport mode vntag
(config-if)# no shutdown
- 정적 vEths를 표시합니다.
두 Nexus 5500 스위치 모두에서 서버 VIC에서 활성화된 두 고정 VNIC에 연결해야 하는 고정 vEth 가상 인터페이스를 활성화합니다.
Nexus 5548-A에서 다음을 입력합니다.
interface vethernet 1
bind interface eth 1/1 channel 10
no shutdown
Nexus 5548-B에서 다음을 입력합니다.
interface vethernet 2
bind interface eth 1/1 channel 11
no shutdown
또는 vethernet auto-create 명령을 사용하여 이러한 vEth 인터페이스를 자동으로 생성할 수 있습니다.
참고:듀얼 홈 서버를 액티브/액티브 FEX 모듈로 연결하는 토폴로지의 경우 서버 VNIC는 업링크 장애 조치를 활성화하고 스위치 vEthernet 인터페이스에는 두 개의 bind interface 명령(서버가 연결된 각 FEX HIF(Host Interface) 포트당 한 번)이 있습니다. vEthernet 인터페이스는 각 Nexus 5000 스위치에서 액티브 또는 스탠바이 인터페이스입니다.
이제 DDoS 공격의 실제 사례를 살펴보겠습니다.
두 Nexus 5000에서 각각 다음을 구성합니다.
interface Vethernet1
description server_uplink1
bind interface Ethernet101/1/1 channel 11
bind interface Ethernet102/1/1 channel 11
interface Vethernet2
description server_uplink2
bind interface Ethernet101/1/1 channel 12
bind interface Ethernet102/1/1 channel 12
- vCenter에 대한 SVS 연결을 구성하고 연결합니다.
두 Nexus 5500 스위치 모두에서 다음을 구성합니다.
svs connection <name>
protocol vmware-vim
remote ip address <vCenter-IP> vrf <vrf>
dvs-name <custom>
vmware dvs datacenter-name <VC_DC_name>
VPC 기본 스위치에서만 vCenter에 연결합니다.
svs connection <name>
connect
Sample configuration on VPC primary:
svs connection MyCon
protocol vmware-vim
remote ip address 10.2.8.131 port 80 vrf management
dvs-name MyVMFEX
vmware dvs datacenter-name MyVC
connect
다음은 VPC 보조 구성의 예입니다.
svs connection MyCon
protocol vmware-vim
remote ip address 10.2.8.131 port 80 vrf management
dvs-name MyVMFEX
vmware dvs datacenter-name MyVC
- Nexus 5000에서 포트 프로파일을 생성합니다.
두 Nexus 5500 스위치 모두에서 VM-FEX VNIC에 대한 포트 프로필을 구성합니다.이러한 포트 프로필은 vCenter에서 DVS 스위치의 포트 그룹으로 나타납니다.
예를 들면 다음과 같습니다.
vlan 10,20
port-profile type vethernet VM1
dvs-name all
switchport mode access
switchport access vlan 10
no shutdown
state enabled
port-profile type vethernet VM2
dvs-name all
switchport mode access
switchport access vlan 20
no shutdown
state enabled
참고:dvs-name all 명령은 vCenter에서 이 포트 프로파일을 포트 그룹으로 내보내야 하는 DVS 스위치를 정의합니다.데이터 센터의 모든 DVS 스위치로 포트 그룹을 내보내려면 option all 명령을 사용합니다.
VM 고성능 모드
High-Performance 모드(DirectPath IO)를 구현하고 VM 트래픽용 하이퍼바이저를 우회하려면 고성능 host-netio 명령을 사용하여 vEthernet 포트 프로필을 구성합니다.VPC 토폴로지의 경우 포트 프로파일은 항상 두 VPC 피어 스위치에서 편집되어야 합니다.예:
port-profile type vethernet VM2
high-performance host-netio
고성능 모드를 작동하려면 VM에 다음 추가 사전 요구 사항이 있어야 합니다.
- VM 가상 어댑터는 vmxnet3 유형이어야 합니다(vCenter 체크 인:오른쪽 메뉴에서 VM > Edit settings(설정 편집) > Network adapter(네트워크 어댑터) > Adapter type(어댑터 유형)을 마우스 오른쪽 버튼으로 클릭합니다.
- VM에 전체 메모리 예약이 있어야 합니다(vCenter:VM > Edit settings(설정 편집) > Resources(리소스) 탭 > Memory(메모리) > Slide reservation slider to the rightmost(맨 오른쪽으로 슬라이드 예약 슬라이더)를 마우스 오른쪽 버튼으로 클릭합니다.
- VM에서 실행되는 운영 체제는 이 기능을 지원해야 합니다.
High-Performance 모드(DirectPath IO)를 사용할 때 확인하는 방법은 다음과 같습니다.
VM 하드웨어 설정에서 오른쪽 메뉴의 DirectPath I/O 필드는 VM 고성능 모드가 사용 중일 때 활성으로 표시되고 기본 VM 패스스루 모드가 사용 중일 때는 비활성 상태로 표시됩니다.
- vCenter에서 VPC 기본 Nexus 5548을 등록합니다.
참고:VPC 토폴로지에서는 기본 VPC 스위치가 확장 키 쌍을 vCenter와 포트 프로파일로 푸시합니다.확장 키는 기본 VPC 피어에서 보조 VPC 피어로 동기화됩니다.이는 나중에 show svs connectioncommand를 통해 확인되며, 이 명령은 두 피어에서 동일한 확장 키를 보고합니다.두 Nexus 5500이 VPC 피어가 아닌 경우 구성된 확장 키는 각 스위치마다 다르며 각 스위치에서는 vCenter에 대한 별도의 SVS 연결을 설정해야 합니다.
HTTP를 통해 VPC 기본 Nexus 5548에 연결하고 확장 XML 파일을 다운로드합니다.
그런 다음 vCenter에서 해당 확장 플러그인을 등록합니다.Plug-ins > Manage Plug-ins > Right click > New Plug-in을 선택합니다.
- vCenter에 연결합니다.(8단계 참조)
- Nexus 5000이 vSphere에 vDS로 등록되는지 확인합니다.
Nexus 5000의 svs 연결에서 dvs-name에 정의된 이름으로 vCenter에서 새 DVS를 생성했는지 확인합니다.Home(홈) > Inventory(인벤토리) > Networking(네트워킹)을 선택합니다.
Nexus 5000 VPC 기본 스위치에서 다음 명령을 사용하여 SVS 연결이 온라인 상태인지 확인합니다.
n5k1# show svs connections
Local Info:
-----------
connection MyCon:
ip address: 10.2.8.131
remote port: 80
vrf: management
protocol: vmware-vim https
certificate: default
datacenter name: MyVC
extension key: Cisco_Nexus_1000V_126705946
dvs name: MyVMFEX
DVS uuid: 89 dd 2c 50 b4 81 57 e4-d1 24 f5 28 df e3 d2 70
config status: Enabled
operational status: Connected
sync status: in progress
version: VMware vCenter Server 5.0.0 build-455964
Peer Info:
----------
connection MyCon:
ip address: 10.2.8.131
remote port: 80
vrf: management
protocol: vmware-vim https
extension key: Cisco_Nexus_1000V_126705946
certificate: default
certificate match: TRUE
datacenter name: MyVC
dvs name: MyVMFEX
DVS uuid: -
config status: Disabled
operational status: Disconnected
n5k1#
- vCenter에서 VM 포트 그룹을 사용할 수 있는지 확인합니다.
Nexus 5000에 정의된 vEthernet 포트 프로파일은 네트워킹 보기의 DVS 아래에 포트 그룹으로 vCenter에 나타나야 합니다.
- ESXi 호스트를 DVS로 마이그레이션합니다.
VSphere에서 Home(홈) > Inventory(인벤토리) > Networking(네트워킹)을 선택하고 DVS 이름을 마우스 오른쪽 버튼으로 클릭한 다음 Add Host(호스트 추가)를 클릭하여 ESXi 호스트를 DVS에 추가합니다.
Adapter-FEX 가상 인터페이스는 ESXi 호스트 업링크입니다.해당 업링크 포트에 대한 기본 업링크 포트 그룹(unused_or_quarantine_uplink)을 선택합니다.
- VM을 프로비저닝합니다.
VM의 네트워크 어댑터에 대한 VM-FEX 포트 그룹을 선택합니다(오른쪽 메뉴에서 VM > Edit Settings > Network Adapter > Network Label(설정 편집 > 네트워크 어댑터 > 네트워크 레이블).
- 프로비저닝된 VM VNIC입니다.
- 어댑터가 스위치에 대한 VIC 인터페이스 생성을 시작합니다.
VM 네트워크 어댑터가 VM-FEX 포트 그룹에 매핑되면 Nexus 5000에서 vEthernet 인터페이스가 동적으로 생성됩니다.동적으로 생성된 vEth 인터페이스의 범위는 32769에서 시작합니다.
이러한 인터페이스는 다음 명령을 통해 확인할 수 있습니다.
# show interface virtual status
# show interface virtual summary
확인 및 문제 해결
이 섹션을 사용하여 컨피그레이션이 제대로 작동하는지 확인하고 발생한 모든 문제를 해결할 수 있습니다.
- UCS-C 서버의 두 고정 VNIC가 VN-Link와 Nexus 5500의 고정 고정 vEth 인터페이스에 연결되었는지 확인하려면 다음 명령을 입력합니다.
n5k1# show system internal dcbx info interface e1/1
Interface info for if_index: 0x1a001000(Eth1/1)
tx_enabled: TRUE
rx_enabled: TRUE
dcbx_enabled: TRUE
DCX Protocol: CEE
DCX CEE NIV extension: enabled
<output omitted>
- 두 개의 듀얼 홈 FEX에 대한 액티브/스탠바이 토폴로지의 경우, vEth 인터페이스가 두 Nexus 5000 VPC 스위치에서 액티브 또는 스탠바이 모드로 표시되는지 확인합니다.
여기서 모드는 unknown으로 표시됩니다.
n5k1# show int virtual status
Interface VIF-index Bound If Chan Vlan Status Mode Vntag
-------------------------------------------------------------------------
Veth1 VIF-16 Eth101/1/1 11 1 Up Active 2
Veth1 None Eth102/1/1 11 0 Init Unknown 0
Veth2 None Eth101/1/1 12 0 Init Unknown 0
Veth2 None Eth102/1/1 12 0 Init Unknown 0
Veth3 VIF-18 Eth101/1/2 11 1 Up Active 2
Veth3 None Eth102/1/2 11 0 Init Unknown 0
Veth4 None Eth101/1/2 12 0 Init Unknown 0
Veth4 VIF-19 Eth102/1/2 12 1 Up Active 3
알 수 없는 모드가 발생할 경우 VNIC에서 업링크 장애 조치 모드를 활성화해야 합니다.또한 CIMC에 지정한 채널 번호가 vEthernet 컨피그레이션에 지정된 채널 번호와 일치하는지 확인합니다.
올바른 출력은 다음과 같아야 합니다.
n5k1# show int virtual status
Interface VIF-index Bound If Chan Vlan Status Mode Vntag
-------------------------------------------------------------------------
Veth1 VIF-27 Eth101/1/1 11 1 Up Active 2
Veth1 VIF-35 Eth102/1/1 11 1 Up Standby 2
Veth2 VIF-36 Eth101/1/1 12 1 Up Standby 3
Veth2 VIF-33 Eth102/1/1 12 1 Up Active 3
Veth3 VIF-30 Eth101/1/2 11 1 Up Active 2
Veth3 VIF-21 Eth102/1/2 11 1 Up Standby 2
Veth4 VIF-24 Eth101/1/2 12 1 Up Standby 3
Veth4 VIF-31 Eth102/1/2 12 1 Up Active 3
- vEth 인터페이스는 스위치에 나타나지 않습니다.
UCS-C 서버 CIMC HTTP 메뉴에서 다음을 확인합니다.
- 어댑터에서 NIV가 활성화됩니다.
- 0이 아닌 수의 VM-FEX 인터페이스가 어댑터에 구성됩니다.
- VNIC에서 어댑터 장애 조치가 활성화됩니다.
- UCS-C 서버는 위의 컨피그레이션을 수행한 후 리부팅되었습니다.
- vEth 인터페이스는 온라인 상태가 아닙니다.
VIF_CREATE가 이 명령에 나타나는지 확인합니다.
# show system internal vim info logs interface veth 1
03/28/2014 16:31:47.770137: RCVD VIF CREATE request on If Eth1/32 <<<<<<<
03/28/2014 16:31:53.405004: On Eth1/32 - VIC CREATE sending rsp for msg_id 23889
to completion code SUCCESS
03/28/2014 16:32:35.739252: On Eth1/32 - RCVD VIF ENABLE. VIF-index 698 msg id 23953
VIF_ID: 0, state_valid: n, active
03/28/2014 16:32:35.802019: On Eth1/32 - VIC ENABLE sending rsp for msg_id 23953 to
completion code SUCCESS
03/28/2014 16:32:36.375495: On Eth1/32 - Sent VIC SET, INDEX: 698, msg_id 23051, up,
enabled, active, cos 0VIF_ID: 50 vlan:
1 rate 0xf4240, burst_size 0xf
03/28/2014 16:32:36.379441: On Eth1/32 - RCVD VIC SET resp, INDEX: 698, msg_id 23051,
up, enabled,active, cos 0, completion
code: 100
VIF_CREATE가 나타나지 않거나 스위치가 올바르게 응답하지 않으면 다음 단계를 완료하십시오.
- vCenter에서 DVS 스위치가 ESX 호스트에 대한 두 개의 물리적 업링크로 올바르게 구성되었는지 확인합니다(마우스 오른쪽 버튼으로 DVS 스위치 클릭 > 호스트 관리 > 물리적 어댑터 선택).
- vCenter에서 VMNIC가 올바른 네트워크 레이블/포트 프로필을 선택했는지 확인합니다(마우스 오른쪽 버튼으로 VM > Edit Settings(설정 편집) > Network adapter(네트워크 어댑터)를 클릭하고 Network label(네트워크 레이블)을 선택합니다.
- vCenter에 대한 SVS 연결이 온라인 상태가 아닙니다.
이전 섹션의 12단계와 같이 이 프로세스를 사용하여 Nexus 5000이 vCenter에 연결되었는지 확인합니다.
- vCenter에서 DVS가 네트워킹 보기 아래에 나타나는지 확인합니다.
- Nexus 5000 VPC 기본에서 SVS가 연결되어 있는지 확인합니다(show svs connection 명령 사용).
연결이 설정되지 않은 경우 다음을 확인합니다.
- SVS 컨피그레이션은 두 VPC 피어에서 동일합니다.
- VPC가 초기화되고 역할이 올바르게 설정됩니다.
- VPC 기본 스위치 XML 인증서가 vCenter에 설치됩니다.
- VPC 기본 스위치에는 "svs connection" 컨피그레이션 모드에서 "connect"가 구성되어 있습니다.
- 데이터 센터 이름은 vCenter에서 사용되는 이름과 일치합니다.
- 올바른 VRF(Virtual Routing and Forwarding)는 SVS remote 명령에서 구성되며 스위치가 vCenter IP 주소에 대한 IP 연결을 가집니다.
이러한 모든 조건이 충족되었지만 SVS 연결이 아직 성공하지 못한 경우 다음 출력을 수집하여 Cisco TAC(Technical Assistance Center)에 문의하십시오.
show msp port-profile vc sync-status
show msp internal errors
show msp internal event-history msgs
show vms internal errors
show vms internal event-history msgs
- Nexus 5500 스위치는 HTTP를 통해 연결할 수 없습니다.
http-server 기능이 활성화되었는지 확인합니다.
n5k1# show feature | i http
http-server 1 disabled
n5k1# conf t
Enter configuration commands, one per line. End with CNTL/Z.
n5k1(config)# feature http-server
n5k1(config)#