Failover Cluster Virtual Network Adpater
Failover Cluster Virtual Network Adapter
1. Node Health 모니터링
- Node 들 사이에서 가능하지 않은 노드들을 확인한다.
- Ping이 아닌 안정적이고 보안에 강한 Request-Reply를 사용하는 Unicast를 사용한다.
- 서버들 중에 반응하지 않는 서버가 있는 경우 Recovery Action을 수행함
2. Failover Cluster Virtual ADapter(NetFT)
- NetFT는 Cluster에서 노드들 사이에서 모든 가능한 인터페이스를 사용하여 TCP연결을 Fault-Tolerant하는 Adapter이다.
- Cluster들은 Cluster간 통신하기 위해 여러 개의 Cluster가능한 Adapter를 사용하는 구조이다.
- Cluster를 위한 내부 NIC Teaming과 유사하다.
- NetFT는 네트워크가 실패하였을때 우선 순위에 따라 다른 네트워크로 통신 연결을 전환한다.
3. NetFT Virtual Adapter
- Ipconfig /all을 사용하여 Microsoft Fialover Cluster Virtual Adapter를 확인할 수 있음
- Cluster Node에서 첫번째 Physical NIC의 Mac 주소의 Hash 값을 기반으로 생성한 MAC 주소를 사용한다.
- User가 해당 설정을 Manual하게 생성할 수 없다.
- Driver는 C:\Windows\System32\Drivers\Netft.sys 이며 장치 관리자의 Network Adapter에서 Microsoft Failover Cluster Virtual Adapter로 확인할 수 있음
4. NetFT 아키텍처
- NDIS 6.2 miniport Virtual Adapter를 사용
- RSS 지원
- Route된 네트워크 연결을 통해 TCP와 UDP에 대한 Network Fault Tolerance를 사용
각 링크는 독립적으로 모니터링 되고 있음
- IPv4와 IPv6를 지원함
- Route Failure 감지를 구성
- Physical Adapter와 Virtual Adapter간 터널 구성(UDP / IP 사용)
- 3343 포트 사용
NetFT : UDP 3343
ClusSvc : TCP 3343
5. Network Topology Manager
- Network Topology Manager는 Node 사이에 여러 개의 연결을 Subnet을 바탕으로 구분한다.
- Drive들은 Failure를 감지하고 Failover 함
6. NetFT Virtual Adapter Performance Filter
- Cluster 네트워크의 성능 향상
- 향상된 성능을 위해 NetFT Driver로 직접 Packet을 전달함
- Default로 Disable
Hyper-V Cluster가 아닌 경우에 대해 Enable
7. Cluster Communication
Cluster는 3가지 타입의 Communication을 사용함
- Network Health Monitoring
Heartbeat은 NIC의 health상태에 대한 모니터링 결과를 보 낸다.
모든 Cluster 가능 Network를 통해 보낸다.
- Intera-Cluster Communication
- Cluster에 있는 노드 사이에 Database Update와 상태 동기화에 대해 보낸다.
ex) Cluster에 새로운 Resource가 생성되면 모든 Node에 업데이트되어진다.
- 하나의 Interface를 통해 진행되어진다.
8. Network Bandwidth Planning
- Heartbeat
134 Bytes
Latency에 민감함
Cluster Heartbeat이 NIC 포화로 인해 블록되어지면 Cluster Membership에서 Node가 제거될 수 있다.
Badnwidth는 중요하지 않음
- Intra-Cluster Communication
File/Hyper-V Cluster에서는 안정적이지만 SQL/Exchange Cluster에서는 무거울 수 있음
Latency는 Cluster 상태 변경을 느리게 만들 수 있다.
Bandwidth는 중요하지 않음
- CSV I/O Redirection
종종 발생
Latency와 Network Performance가 Storage I/O 성능에 영향을 미치므로 중요함
QOS가 중요함
Network Bandwidth가 중요함
CSV의 Disk 연결은 SMB를 통해서 진행되어짐
9. CSV Networking 고려사항
- CSV 요구사항
SMB
Server, Workstation Service
NTLM
- CSV 성능 Tuning
SMB Multi Channel과 RDMA를 사용하는 경우 CSV Traffice에 이점이 있음
NetBIOS를 Disable하면 성능이 향상되어짐
Jumbo Frame으로 인한 이점은 적지만 구성하는 것을 권고함
- IF SMB Multi Channel을 사용할 수 있는 구성이 아닌 경우 NetFT 로직을 사용한다.
10. Cluster Heartbeat 구성
Property |
Default |
Maximum |
Description |
SameSubnetDelay |
1초 |
2초 |
가장 자주 Heartbeat이 보내짐 |
SameSubnetThreshold |
5 heartbeat |
120 heartbeat |
NIC가 다운 되기 전 Heartbeat 누락된 갯수 |
CrossSubnetDelay |
1 초 |
4 초 |
서로 다른 서브넷을 통해 Heartbeat을 보냄 |
CrossSubnetThreshold |
5 hearbeat |
120 heartbeat |
NIC가 다운 되기 전 다른 서브넷을 통해 Heartbeat을 보냄 |
- Powershell
(Get-Cluster) . SameSubnetThreshold = 10
- Windows 2012 R2의 경우 Hyper-V의 Network Failure가 변경되어짐
SameSubnetThreshold : 10
CrossSubnetThreshold : 20
11. Cluster 생성 동안 Heartbeat 갯수 수정
- Network가 느린 경우 Cluster 생성 시 Timeout으로 인한 오류가 발생할 수 있다.
- Registry 값을 통해 해당 값을 변경할 수 있다.
HKLM\SYSTEM\CCS\Services\ClusSvc\Parameters
DWORD
SetHeartbeatThresholdOnClusterCreate
각각의 Node에서 변경해야함