บทนำ
ใน Windows Server รุ่นก่อน Windows Server 2016 สามารถสร้าง Failover Cluster ได้เฉพาะระหว่างเซิร์ฟเวอร์ใน Active Directory Domain เดียวกันเท่านั้น รุ่นใหม่นี้อนุญาตให้สร้าง Failover Cluster 2 โหนด (หรือมากกว่า) ระหว่างเซิร์ฟเวอร์ที่ Join Domain ต่างกัน และแม้แต่ระหว่าง Workgroup Servers (ไม่ได้ Join AD Domain) – เรียกว่ Workgroup Cluster
Windows Server 2016 ต้องติดตั้งบนโหนดคลัสเตอร์ทั้งหมด สนับสนุน Cluster Scenarios ดังนี้:
| Service | Status | Comment |
|---|---|---|
| SQL Server | Supported | แนะนำให้ใช้ SQL Server Integrated Authentication |
| File Server | Supported, but not recommended | ไม่รองรับ Kerberos Authentication สำหรับ SMB |
| Hyper-V | Supported, but not recommended | ไม่รองรับ Live Migration รองรับเฉพาะ Quick Migration |
| Message Queuing (MSMQ) | Not Supported | MSMQ จัดเก็บ Properties ใน Active Directory |
การเตรียมโหนดคลัสเตอร์ทั้งหมด
- ติดตั้ง Failover Clustering Role:
Install-WindowsFeature Failover-Clustering –IncludeManagementTools - สร้าง Local Account ที่มีสิทธิ์ Administrator (หรือใช้ Built-in Administrator) พร้อม Password เดียวกัน:
net user /add clustadm Sup33P@ssw0Rd! net localgroup administrators clustadm /add - หากเกิด Error "Requested Registry access is not allowed": แก้ไข Remote UAC Parameter ใน Registry (Parameter นี้เปิดใช้งานการเข้าถึง Administrative Shares แบบ Remote)
New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name LocalAccountTokenFilterPolicy -Value 1 - ตั้งค่า Primary DNS Suffix ให้เหมือนกัน ช่วยให้เซิร์ฟเวอร์คลัสเตอร์ติดต่อกันได้ด้วยชื่อ FQDN
- Uncheck "Register DNS connection addresses" ใน Advanced TCP/IP Settings
- แก้ไขไฟล์ Hosts ให้เซิร์ฟเวอร์ Resolve ชื่อของสมาชิกคลัสเตอร์อื่นและชื่อคลัสเตอร์ (รวมถึง FQDN) ได้ เพิ่มรายการใน
c:\windows\system32\drivers\etc\hosts:Set file="%windir%\System32\drivers\etc\hosts" echo 192.168.1.21 clust-host1 >> %file% echo 192.168.1.21 clust-host1.mylocal.net >> %file% echo 192.168.1.22 clust-host2 >> %file% echo 192.168.1.22 clust-host2.mylocal.net >> %file% echo 192.168.1.20 cluster1 >> %file% echo 192.168.1.20 cluster1.mylocal.net>> %file%
การ Validate และสร้าง Cluster
Validate Cluster Nodes:
test-cluster -node "clust-host1.mylocal.net"," clust-host2.mylocal.net"
สร้าง Cluster ด้วย PowerShell:
New-Cluster -Name cluster1 -Node clust-host1.mylocal.net, clust-host2.mylocal.net -AdministrativeAccessPoint DNS -StaticAddress 192.168.1.20
ตรวจสอบสถานะคลัสเตอร์และ Components ด้วย get-cluster และ get-clusterresource
เพื่อเชื่อมต่อและจัดการผ่าน GUI ใช้ Failover Cluster Manager Snap-in (รวมใน RSAT สำหรับ Windows 10) ใช้เมนู Connect to cluster
หมายเหตุ: หากคลัสเตอร์มีจำนวนเซิร์ฟเวอร์เป็นเลขคู่ ต้องกำหนด Witness Resource ไม่สามารถใช้ SMB Shared Folder เป็น Quorum Witness ได้ รองรับ 2 โหมด: Disk Witness – Shared Disk (เข้าถึงพร้อมกันจากทั้งสองโหนด) หรือ Cloud Witness – Cloud Disk Resource ใน Azure