가상 스위치에서 다양한 로드 밸런싱 알고리즘을 구성하여 팀의 물리적 NIC 간에 네트워크 트래픽이 분산되는 방식을 결정하는 방법을 알아봅니다.
원래 가상 포트 기준 라우팅
가상 스위치는 vSphere 표준 스위치 또는 vSphere Distributed Switch의 가상 시스템 포트 ID에 따라 업링크를 선택합니다.
[원래 가상 포트 기준 라우팅]은 vSphere Standard Switch 및 vSphere Distributed Switch의 기본 로드 밸런싱 방법입니다.
ESXi 호스트에서 실행되는 각 가상 시스템에는 가상 스위치에 대한 관련 가상 포트 ID가 있습니다. 가상 시스템에 대한 업링크를 계산하기 위해 가상 스위치는 가상 시스템 포트 ID 및 NIC 팀의 업링크 수를 사용합니다. 가상 스위치가 가상 시스템에 대한 업링크를 선택한 다음에는 시스템이 동일한 포트에서 실행되는 한 항상 이 가상 시스템에 대해 동일한 업링크를 통해 트래픽을 전달합니다. 업링크가 NIC 팀에 추가되거나 NIC 팀에서 제거되지 않는 한 가상 스위치는 가상 시스템에 대한 업링크를 한 번만 계산합니다.
가상 시스템이 동일한 호스트에서 실행되는 동안 가상 시스템의 포트 ID가 고정됩니다. 가상 시스템 마이그레이션, 전원 끄기 또는 삭제를 수행하면 가상 스위치의 포트 ID가 해제됩니다. 가상 스위치가 이 포트에 트래픽을 전달하는 작업을 중지하기 때문에 관련된 업링크에 대한 전체 트래픽이 줄어듭니다. 가상 시스템의 전원을 켜거나 마이그레이션하는 경우 다른 포트에 표시되고 새 포트에 연결되는 업링크를 사용할 수 있습니다.
고려 사항 | 설명 |
---|---|
장점 |
|
단점 |
|
소스 MAC 해시 기준 라우팅
가상 스위치는 가상 시스템 MAC 주소에 따라 가상 시스템에 대한 업링크를 선택합니다. 가상 시스템에 대한 업링크를 계산하기 위해 가상 스위치는 가상 시스템 MAC 주소 및 NIC 팀의 업링크 수를 사용합니다.
고려 사항 | 설명 |
---|---|
장점 |
|
단점 |
|
IP 해시 기준 라우팅
가상 스위치는 각 패킷의 소스 및 대상 IP 주소를 기준으로 가상 시스템에 대한 업링크를 선택합니다.
가상 스위치는 가상 시스템에 대한 업링크를 계산하기 위해 패킷의 소스 IP 주소와 대상 IP 주소의 마지막 8진수를 가져와 XOR 연산을 거친 다음 해당 결과에 대해 NIC 팀의 업링크 수를 기준으로 한 다른 계산을 실행합니다. 그 결과는 0과 팀의 업링크 수에서 1을 뺀 것 사이의 숫자입니다. 예를 들어 NIC 팀에 4개의 업링크가 있는 경우 결과는 0과 3 사이의 숫자이며 각 숫자는 팀의 NIC와 연결되어 있습니다. 비IP 패킷의 경우 가상 스위치는 IP 주소가 위치한 프레임이나 패킷에서 2개의 32비트 이진 값을 가져옵니다.
모든 가상 시스템은 소스 및 대상 IP 주소에 따라 NIC 팀의 모든 업링크를 사용할 수 있습니다. 이러한 방식으로 각 가상 시스템은 팀에 있는 모든 업링크의 대역폭을 사용할 수 있습니다. 가상 시스템이 다수의 독립형 가상 시스템이 있는 환경에서 실행되는 경우 IP 해시 알고리즘은 트래픽을 팀의 NIC 간에 일정하게 확산합니다. 가상 시스템이 여러 대상 IP 주소와 통신할 때 가상 스위치는 각 대상 IP에 대해 각기 다른 해시를 생성할 수 있습니다. 이러한 방식으로 패킷은 가상 스위치에서 각기 다른 업링크를 사용하여 더 높은 잠재적 처리량을 얻을 수 있습니다.
그러나 환경에 소수의 IP 주소가 있는 경우에는 가상 스위치가 팀의 하나의 업링크를 통해 트래픽을 일관되게 전달할 수 있습니다. 예를 들어 하나의 애플리케이션 서버가 액세스하는 데이터베이스 서버가 있는 경우 하나의 소스-대상 쌍만 존재하므로 가상 스위치는 항상 동일한 업링크를 계산합니다.
물리적 스위치 구성
IP 해시 로드 밸런싱이 올바르게 작동하도록 하려면 물리적 스위치에 Etherchannel이 구성되어 있어야 합니다. Etherchannel은 여러 네트워크 어댑터를 단일 논리적 링크에 결합합니다. 포트가 Etherchannel에 바인딩된 경우 물리적 스위치가 서로 다른 포트를 통해 동일한 가상 시스템 MAC 주소로부터 패킷을 수신할 때마다 스위치는 해당 CAM(내용 주소 지정 가능 메모리) 테이블을 올바르게 업데이트합니다.
예를 들어 물리적 스위치가 MAC 주소 A로부터 포트 01 및 02를 통해 패킷을 수신하는 경우 스위치는 해당 CAM 테이블에 01-A 및 02-A 항목을 만듭니다. 그 결과 물리적 스위치는 들어오는 트래픽을 올바른 포트로 분산합니다. Etherchannel을 구성하지 않은 경우, 물리적 스위치는 먼저 포트 01에서 MAC 주소 A의 패킷을 수신한다는 기록을 생성한 다음 포트 02에서 MAC 주소 A의 패킷을 수신한다고 동일한 기록을 업데이트합니다. 따라서 물리적 스위치가 들어오는 트래픽을 포트 02에만 전달하므로 패킷이 대상에 도달하지 않고 해당 업링크가 오버로드될 수 있습니다.
제한 사항 및 구성 요구 사항
- ESXi 호스트는 단일 물리적 스위치 또는 누적 스위치에서 IP 해시 팀 구성을 지원합니다.
- ESXi 호스트는 정적 모드에서 802.3ad 링크 집계만 지원합니다. vSphere 표준 스위치에는 정적 Etherchannel만 사용할 수 있습니다. LACP는 지원되지 않습니다. 802.3ad 링크 집계 없이 IP 해시 로드 밸런싱을 사용하도록 설정하거나 그 반대의 경우 네트워킹 중단이 발생할 수 있습니다.
- IP 해시 로드 밸런싱에서 네트워크 장애 감지로 [링크 상태만]을 사용해야 합니다.
- 활성 페일오버 목록의 팀에서 모든 업링크를 설정해야 합니다. 대기 및 사용되지 않음 목록은 비어 있어야 합니다.
- Etherchannel의 포트 수는 팀의 업링크 수와 동일해야 합니다.
IP 해시 기준 라우팅 사용에 대한 고려 사항
고려 사항 | 설명 |
---|---|
장점 |
|
단점 |
|
물리적 NIC 로드 기준 라우팅
물리적 NIC 로드 기준 라우팅은 원래 가상 포트를 기반으로 라우팅을 기반으로 하여, 가상 스위치가 업링크의 실제 로드를 검사하고 오버로드된 업링크에서 로드를 줄이는 단계를 수행합니다. vSphere Distributed Switch에만 사용할 수 있습니다.
Distributed Switch는 NIC 팀의 포트 ID 및 업링크 수를 사용하여 가상 시스템에 대한 업링크를 계산합니다. Distributed Switch는 30초마다 업링크를 테스트하고 해당 로드가 사용량의 75퍼센트를 초과하는 경우 가장 높은 I/O를 가진 가상 시스템의 포트 ID를 다른 업링크로 이동합니다.
고려 사항 | 설명 |
---|---|
장점 |
|
단점 |
|
명시적 페일오버 명령 사용
이 정책으로 사용 가능한 실제 로드 밸런싱이 없습니다. 가상 스위치는 항상 페일오버 명령에서 활성 어댑터 목록 처음에 있으며 페일오버 감지 기준을 통과하는 업링크를 사용합니다. 활성 목록에 사용 가능한 업링크가 없는 경우 가상 스위치는 대기 목록에 있는 업링크를 사용합니다.