Module4: Network Operations
1. 가상 Network
: 물리 네트워크와 구성 유사, 용어와 기능적 차이
- 내부 네트워크: 하나의 호스트 내의 VM간 통신
- 외부 네트워크: VM이 물리 네트워크와 연결
- 가상 스위치: VM Kernel에 생성
- VSS: 표준 스위치(소규모 환경-host level)
- VDS: 분산 스위치(대규모 환경- datacenter level) / Enterprise+ 라이선스 이상
2. 분산스위치(VDS)

- Distributed Switches
- 동일한 스위치 구성을 여러 호스트에 적용시킬 수 있음
- 분산 포트는 VM이 마이그레이션될 때, 함께 이동됨
=> 중앙 집중 관리로, 보다 간편한 운영이 가능하다는 장점이 있음

- Traffic Rules
- Actions: Allow(트래픽 허용)/Drop(트래픽 차단)
- Traffic Direction: Ingress(인바운드)/Egress(아웃바운드)
- Traffic Qualifiers: 특정 트래픽만을 허용할 수 있도록 설정할 수 있음
=> 분산 스위치는 포트그룹 별로 정책 적용 가능(표준 스위치보다 세밀한 컨트롤)

- N-VDS
- 하이퍼바이저 레벨에서 만드는 분산 스위치
- vCenter Server를 벗어나 NSX에서 관리
- vSphere 외의 환경에서까지 확장해서 사용할 수 있도록 만든 스위치
- vSphere7 부터 지원

- 네트워크 이중화
- SPOF(Single point of failure) 방지
- NIC Teaming: A-A(로드밸런싱 가능)/A-P(페일오버)
- 로드밸런싱
- Port ID
- MAC hash
- S+T ID: 물리 스위치에 etherchannel 구성(또는 LACP)이 되어있어야 함.
- Health Check
- 가상 스위치와 물리적 스위치 간의 오류 또는 불일치 식별 가능

- Health Check 기능 활성화
- Configure > Health Check > Edit
- VLAN 및 MTU를 확인하려면 VDS에 물리적 업링크가 두 개 이상 연결되어 있어야 함
- Teaming policy check를 위해서는 Team에 두 개 이상의 활성 업링크가 연결되어 있어야 하며 두 개 이상의 ESXI 호스트가 VDS에 연결되어 있어야 함


- Restore&Export
- Restore: 배포, 롤백 목적으로 VDS 구성(포트그룹, 업링크 포트 그룹 구성 등)을 백업하고 복원할 수 있음
- Export: VDS 구성을 파일로 내보낼 수 있음(탬플릿)

- Rollback
- 네트워크 문제가 발생했을 때, 유효한 네트워크 구성으로 되돌아 갈 수 있음
- 관리 네트워크 소실 방지를 위한 기능
- 관리 네트워크를 끊는 작업은 허용되어 있지 않음(파라미터 값 변경하면 가능)
- 잘못된 구성이 감지된 경우 자동 롤백
- 이벤트 롤백이 비활성화된 경우, DCUI를 통한 수동 복구 가능

- DCUI를 통한 Rollback
- 만약 관리 네트워크가 끊어졌다면, DCUI를 통해 수동으로 복구 작업을 수행해야 함
- 분산 스위치 백업본이 존재해야 작업이 가능함
- Rollback level
- VDS-level: 분산 스위치 관련 설정만 가능
- Host-level: 추가적인 스위치 관련 설정 가능
2-1 . Network I/O Control in VDS

- Network I/O control
- 네트워크 대역폭이 부족한 상황을 해결할 수 있음
- VM 및 시스템 트래픽에 대해 리소스 풀을 사용하여 VDS에 네트워크 대역폭을 할당함

- Bandwidth Allocation Model
- Network I/O Control을 사용하면, Shares, Limits, Reservations을 구성해 시스템 트래픽과 VM 트래픽에 대역폭이 할당되는 방식을 제어할 수 있음
- 기존 시스템과 VM 트래픽에서 사용되지 않는 Bandwidth(대역폭)을 다른 유형의 시스템 트래픽에서 사용할 수 있도록 할당할 수 있음

- Configuring Bandwidth Allocation
- Configure > Resource Allocation > System Traffic
- 시스템 유형 별로 대역폭 할당 구성을 설정할 수 있음

- Network Resource pools
- 기본적으로 분산 포트 그룹은 할당량이 구성되지 않은 Defalt라는 이름의 네트워크 리소스 풀에 할당됨
- Network I/O Control은 VM의 대역폭을 전체 Distributed Switch와 VM 트래픽을 전송하는 물리적 어댑터에 할당함

- Creating Network resource pools
- Configure > Resource Allocation > Network resource pools > ADD
- 각 네트워크 리소스 풀은 대역폭 할당량을 예약할 수 있음(Reservation quota)

- Bandwidth Allocation with VM
- 호스트에 있는 VM의 총 대역폭 예약은 시스템 트래픽에 대해 구성된 예약 대역폭을 초과할 수 없음
- 대역폭을 보장하기 위해 Network I/O Control은 트래픽 배치 엔진을 구현함


- Bandwidth Admission Control
- 대역폭 승인 제어는 VM의 예약을 충족할 수 있는지 확인하는 역할을 수행함
- DRS
- DRS 사용 클러스터에서 VM의 전원이 켜지면 DRS는 VM에 예약된 대역폭을 보장할 수 있는 용량을 가진 호스트에 VM을 배치함
- HA
- HA 동작 시, 해당 VM에 대한 대역폭 예약을 충족할 수 없는 경우 VM을 재시작하지 못하게 함
3. NetFlow

- NetFolw
- 네트워크를 모니터링하고 Distributed Switch를 통해 흐르는 VM 트래픽을 보기 위한 분석 도구
- 프로파일링, 침입 탐지 및 방지 등에 사용
- 벤더사 서버에 구성 후, vCenter Server에 추가하는 방식
- 수집되는 정보
- Internal Flow
- External Flow
- 분석
- 누가 대역폭을 가장 많이 사용하는지
- IP 세팅 오류
- 해킹목록 확인 가능
- VM 레벨 뿐만 아니라 호스트 레벨에서도 동작


- NetFlow Configuring
- Configure > Net Flow > Edit
- Collect IP 주소 및 Collector 포트: Net Flow Collector 시스템과 통신하는 데 사용
- Observation Domain ID: Net Flow 설정을 구성하는 동안 스위치와 관련된 정보를 식별하는 값
- Switch IP 주소: Net Flow 수집기에 대한 네트워크 흐름의 소스를 식별하는 데 사용되는 선택적인 IP 주소(Ping 가능할 필요 X)
- Port-Group Setting
- Net Flow를 구성한 후, 분산 포트그룹/특정 포트/업링크 포트 Setting > Monitoring 에서 NetFlow를 활성화하거나 비활성화 함
3. 포트 미러링

- Port Mirroring
- 소스에서 대상으로 네트워크 패킷을 복제함
- 포트 미러링 - 스위치 기능
- SPAN(스위치 포트 분석기)
- RSPAN(원격 SPAN)
- 캡슐화된 RSPAN


- Port mirroring Session Type
- 분산 포트 미러링: 여러 부산 포트의 패킷을 동일한 호스트의 다른 분산 포트로 미러링
- 원격 미러링 소스: 다수의 분산 포트에서 해당 호스트의 특정 업링크 포트로 패킷을 미러링
- 원격 미러링 대상: 여러 Vlan의 패킷을 분산 포트로 미러링
- 캡슐화된 원격 미러링(L3): 소스의 여러 분산 포트의 패킷을 원격 에이전트의 IP 주소로 미러링

- Port mirroring session properties
- TCP/IP 스택 유형(기본값/미러)
- 대상 포트의 일반 I/O(허용/비허용)
- 미러링된 패킷 길이
- 패킷이 샘플링되는 속도

- Source&Destination
- 디폴트는 들어오고 나가는 패킷을 미러링
- 트래픽 방향, 포트 id, 업링크, ip 주소 지정
- 미러링된 트래픽으로 네트워크가 범람하는 것을 막기 위한 제한사항
- 세션에서 포트는 소스 및 대상이 동시에 될 수 없음
- 포트는 둘 이상의 세션의 대상이 될 수 없음
5. SmartNICs

- Smart NICs
- 프로그래밍기반된 NIC
- 네트워크 어댑터 카드에 별도의 ARM CPU 구성
- 기존 x86 장치에서 처리하는(네트워크, 보안 등)작업을 대신 처리
- 기존 x86이 좀 더 여유로워지므로 어플리케이션 동작에 이점을 줄 수 있음
5-1. Distributed Service Engine

- 전통적인 인프라의 과제(DPU의 등장 배경)
- 서비스 제공 환경과 인프라 관리 차원에서의 자원들이 혼재되어 있음
- 어플리케이션의 기능적인 측면에서 단점이 발생

- Distributed Services Engine
- DPU를 통해 인프라 성능을 높임
- 보안처리, 네트워크 처리 등의 작업을 처리
- 밑단의 x86 리소스에게 여유를 줄 수 있음
- 고객이 원하는 서비스를 하기 위한 워크로드와 인프라 관리를 위한 워크로드를 분리

- Smart NICs의 이점
- 전용 CPU리소스 및 HW 가속화
- 매우 높은 처리량과 낮은 대기 시간
- 성능에 영향을 주지 않고 보안 서비스를 활성화할 수 있음
- 관찰 및 운영 기능 향상
- Distributed Services Engine로 인해 변화한 Architecture
- NSX, 스토리지 및 I/O 제어와 같은 인프라 서비스 - vSphere Distributed Services Engine 프로세서에서 실행
- Distributed Services Engine을 사용해 ESXI 및 NSX 기능을 실행하려면 모듈이 필요(ESXiO-Smart NICs에서 실행되는 경량 ESXI 컴포넌트/NSXiO-Smart NICs에서 실행되는 NSX 컴포넌트)
To be Continue...