บทนำ
บทความนี้อธิบายขั้นตอนการติดตั้ง Microsoft SQL Server Always On Failover Cluster Instance (FCI) บน Sangfor HCI โดยอาศัยเทคโนโลยี Shared Storage ผ่านฟีเจอร์ Virtual Shared Disk ของ Sangfor HCI ซึ่งทุก Node ใน Cluster จะเข้าถึงและใช้งานดิสก์ข้อมูลชุดเดียวกัน เพื่อให้ระบบมีความเสถียรภาพสูง (High Availability)
ข้อกำหนดเบื้องต้น
- Sangfor HCI Cluster ที่มี aSAN node ตั้งแต่ 3 host ขึ้นไป หรือแบบ 2+1 (2 HCI nodes + 1 Witness node)
- VM อย่างน้อย 2 ตัวสำหรับเป็น SQL Cluster Node (เช่น
SQL-NodeAและSQL-NodeB) - ติดตั้ง Windows Server (เวอร์ชันที่รองรับ SQL Server) และ VMTools บน VM ทั้งสอง
- กำหนดค่าเครือข่าย (IP Address) และทำการ Join Domain ให้กับ VM ทั้งสอง
ขั้นตอน
ส่วนที่ 1: การเตรียมการบน Sangfor HCI
1. สร้าง Virtual Machines (VMs)
- ทำการสร้าง VM อย่างน้อย 2 ตัวเพื่อใช้เป็น Node ของ SQL Cluster (เช่น
SQL-NodeAและSQL-NodeB) - ติดตั้งระบบปฏิบัติการ Windows Server (เวอร์ชันที่รองรับ SQL Server) บน VM ทั้งสอง
- ติดตั้ง VMTools ให้เรียบร้อยบน VM ทุกตัว
- กำหนดค่าเครือข่าย (IP Address) และทำการ Join Domain ให้กับ VM ทั้งสอง
Run location Auto
2_replica_high_performance (หรือจะต้องเหมือนกับ share disk)
Enable High performance
2. สร้าง Shared Disks ตาม Best Practices
ข้อกำหนดเบื้องต้น
ฟีเจอร์ Virtual Shared Disk สามารถใช้งานได้บน Sangfor HCI Cluster ที่มี aSAN node ตั้งแต่ 3 host ขึ้นไป หรือในการติดตั้งแบบ 2+1 (2 HCI nodes + 1 Witness node) เท่านั้น
เพื่อประสิทธิภาพสูงสุด เราจะทำการแยกดิสก์ตามประเภทของ I/O Workload ตามคำแนะนำของ Microsoft โดยไปที่เมนู Storage Virtual Storage Shared Disks และสร้างดิสก์ทั้งหมด 4 ลูกดังนี้
-
Data Disk: สำหรับไฟล์ข้อมูล (.mdf, .ndf)
-
Name:
SQL-Data-Disk - Capacity: กำหนดขนาดตามที่คาดการณ์สำหรับไฟล์ข้อมูล
-
Name:
-
Log Disk: สำหรับไฟล์ Transaction Log (.ldf)
-
Name:
SQL-Log-Disk - Capacity: กำหนดขนาดสำหรับไฟล์ Log
-
Name:
-
TempDB Disk: สำหรับฐานข้อมูล TempDB
-
Name:
SQL-TempDB-Disk - Capacity: กำหนดขนาดตาม Workload ของแอปพลิเคชัน
-
Name:
-
Witness Disk: สำหรับทำหน้าที่เป็น Quorum ของ Cluster
-
Name:
SQL-Witness-Disk - Capacity: 1-2 GB ก็เพียงพอ
-
Name:
3. เชื่อมต่อ Shared Disks เข้ากับ VMs
หลังจากสร้าง Shared Disks ทั้ง 4 ลูกเสร็จแล้ว ให้นำไปเชื่อมต่อกับ Cluster Node ทั้งสองตัว
- ไปที่
SQL-NodeAและคลิก More Edit - คลิก Add Hardware Disk และเลือก Method เป็น Shared Disk
- ทำการเพิ่มดิสก์ทั้ง 4 ลูก (
SQL-Data-Disk,SQL-Log-Disk,SQL-TempDB-Disk,SQL-Witness-Disk) เข้าไปใน VM - คลิก OK เพื่อบันทึก
-
ทำซ้ำขั้นตอนที่ 1-4 กับ
SQL-NodeB
ส่วนที่ 2: การตั้งค่าบน Windows Server และ SQL Server
ข้อควรปฏิบัติที่สำคัญ
เอกสารฉบับนี้เน้นขั้นตอนการตั้งค่าบน Sangfor HCI เป็นหลัก สำหรับขั้นตอนการตั้งค่า Windows Server Failover Clustering (WSFC) และ SQL Server Always On โดยละเอียด ขอแนะนำให้ผู้ใช้งานปฏิบัติตามเอกสารและแนวทางปฏิบัติที่ดีที่สุด (Best Practices) จาก Microsoft โดยตรง เพื่อให้การตั้งค่ามีความถูกต้องและสมบูรณ์ที่สุด
4. เตรียมดิสก์บน Windows Server
- ล็อกอินเข้าสู่
SQL-NodeAและเปิด Disk Management - นำดิสก์ใหม่ทั้ง 4 ลูกขึ้นสถานะ Online และ Initialize (แนะนำ GPT)
- สร้าง Volume, Format เป็น NTFS, และกำหนด Drive Letter ให้สื่อความหมายอย่างชัดเจน เช่น
-
D:สำหรับ Data -
L:สำหรับ Logs -
T:สำหรับ TempDB -
Q:สำหรับ Quorum (Witness)
-
- บน
SQL-NodeB, ให้เปิด Disk Management และตรวจสอบว่าดิสก์ทั้งหมด Online และมี Drive Letter ถูกต้อง
5. ติดตั้งและตั้งค่า Windows Server Failover Clustering (WSFC)
- ติดตั้งฟีเจอร์ Failover Clustering บน VM ทั้งสอง
- เปิด Failover Cluster Manager และรัน Validate Configuration
- เมื่อผ่านการตรวจสอบ ให้ Create Cluster โดย Add VM ทั้งสองเข้าร่วม
- ตั้งชื่อและ IP Address สำหรับ Cluster
- กำหนดค่า Cluster Quorum ให้ใช้
SQL-Witness-Disk(Drive Q:) เป็น Witness Diskถ้า disk ไม่ขึ้นให้ run cluster configuration validation ใหม่
6. ติดตั้ง SQL Server Failover Cluster Instance (FCI)
- บน
SQL-NodeAให้รันตัวติดตั้ง SQL Server และเลือก New SQL Server failover cluster installation - ในหน้า Database Engine Configuration Data Directories ให้กำหนด Path ของไฟล์ต่างๆ ไปยัง folder ในดิสก์ที่เตรียมไว้
Data root directory: D:olderUser database: D:olderLog directory: L:olderTemp DB data directory: T:older-
Temp DB log directory: T:older
- ติดตั้งจนเสร็จสิ้น
- บน
SQL-NodeBให้รันตัวติดตั้ง SQL Server และเลือก Add node to a SQL Server failover cluster - ทดสอบการ Failover เพื่อให้แน่ใจว่าระบบทำงานได้ถูกต้อง
หมายเหตุ
ข้อควรทราบและข้อจำกัด
- ไม่สามารถขยายขนาด Shared Disk ได้: ใน Sangfor HCI เวอร์ชันปัจจุบัน ยังไม่รองรับการขยายขนาด (Extend) ของ Virtual Shared Disk ดังนั้นควรวางแผนขนาดของดิสก์ทั้งหมดให้เพียงพอต่อการใช้งานในอนาคตตั้งแต่แรก
- การสำรองข้อมูล (Backup): นโยบายการสำรองข้อมูลของ Sangfor HCI (เช่น Backup Policy, CDP) จะไม่ครอบคลุมข้อมูลที่อยู่บน Virtual Shared Disk ผู้ใช้งานจะต้องออกแบบกลไกการสำรองข้อมูลในระดับฐานข้อมูลด้วยตนเอง
- ข้อกำหนดสำหรับ Shared Disk: ฟีเจอร์นี้สามารถใช้งานได้บน aSAN Cluster ที่มี 3 host ขึ้นไป หรือแบบ 2+1 witness เท่านั้น
แนวทางปฏิบัติที่ดีที่สุด (Best Practice)
-
ใช้ Consistency Group Snapshot: ก่อนทำการเปลี่ยนแปลงที่สำคัญ (เช่น อัปเกรด Windows/Software) แนะนำให้สร้าง Consistency Group Snapshot ของ VM ทั้งสองตัว เพื่อให้สามารถ Rollback กลับมายังสถานะที่สอดคล้องกันได้อย่างรวดเร็วและปลอดภัย
- ไปที่เมนู Reliability Snapshots Consistency Groups
- สร้าง Group ใหม่ และเพิ่ม VM ที่เป็น SQL Cluster Node เข้าไป
- ก่อนทำการเปลี่ยนแปลง ให้ Take Snapshot ของ Group นี้
-
ตั้งค่านโยบาย Anti-Affinity: เพื่อให้มั่นใจว่า VM ทั้งสองตัวจะไม่ทำงานอยู่บน HCI Host เดียวกัน ซึ่งเป็นหัวใจสำคัญของ High Availability
- ไปที่เมนู Reliability VM Scheduling
- คลิก Create และเลือก Policy Type เป็น VM-VM Anti Affinity
- เพิ่ม
SQL-NodeAและSQL-NodeBเข้าไปในนโยบายนี้
ข้อคิดเห็น
0 ข้อคิดเห็น
โปรด ลงชื่อเข้าใช้ เพื่อแสดงข้อคิดเห็น