SQL Server Thực hành triển khai SQL Server Always On trên Windows Failover Cluster (P1)

diephan

Moderator
Trong môi trường doanh nghiệp, việc đảm bảo hệ thống cơ sở dữ liệu luôn hoạt động liên tục (High Availability - HA) và có khả năng phục hồi sau thảm họa (Disaster Recovery - DR) là yêu cầu tối quan trọng. Đối với hệ sinh thái Microsoft, Windows Server Failover Clustering (WSFC) là nền tảng cốt lõi để xây dựng các giải pháp này.

Thông thường, quản trị viên có hai hướng tiếp cận chính:
  1. Failover Cluster Instances (FCI): Giải pháp truyền thống, bảo vệ toàn bộ instance nhưng yêu cầu hệ thống lưu trữ dùng chung (Shared Storage SAN) phức tạp và đắt đỏ.
  2. Always On Availability Groups (AG): Giải pháp hiện đại hơn, cho phép bảo vệ ở cấp độ Database và linh hoạt trong việc đồng bộ dữ liệu mà không bắt buộc phải có ổ cứng dùng chung.
Bên cạnh việc chọn mô hình database, một thách thức lớn khác khi thiết lập Cluster là cơ chế "Quorum" (bỏ phiếu) để ngăn chặn tình trạng "Split-brain" – khi các node mất kết nối và tranh giành quyền kiểm soát, dẫn đến hỏng dữ liệu. Để giải quyết vấn đề này, Cluster cần một lá phiếu thứ 3 (ngoài 2 node chính) gọi là Witness.
Trong bài Lab thực hành này, chúng ta sẽ triển khai theo mô hình tối ưu cho các môi trường không có sẵn hạ tầng SAN đắt tiền, đó là sử dụng SQL Server Always On Availability Groups kết hợp với File Share Witness.
Cụ thể, hệ thống sẽ bao gồm 3 Node: 2 Node tại Primary Data Center (DC) và 1 Node tại Disaster Recovery (DR) Site. Thay vì tốn kém tài nguyên cho một Disk Witness vật lý, chúng ta sẽ dựng một File Share Witness – một thư mục chia sẻ đóng vai trò như "người làm chứng". Cơ chế này hoạt động dựa trên cấu hình Node and File Share Majority: nếu một trong các Node SQL gặp sự cố, File Share Witness sẽ cung cấp lá phiếu quyết định để duy trì Cluster hoạt động

Ở phần trước, chúng ta đã tìm hiểu về các yêu cầu phần cứng và tối ưu hóa hệ điều hành Windows. Tiếp theo chuỗi bài viết, phần này sẽ đi vào thực hành (Lab) chi tiết quá trình triển khai.
(Lưu ý trong bài lab này đang thực hành join từng node vào cluster hiện có, thay vào đó thực tế bạn có thể thực hiện cùng lúc 3 node)

Hardware resourses
1765452301856.png


Operating System and Software Configuration
1765452366758.png


Network Configuration
1765452441874.png


Cấu hình ổ cứng trên SQL01, SQL02, SQL03:
1765452553877.png


Checklist cài đặt:
1. Tạo máy ảo (chạy sysrep nếu máy ảo được clone từ template)
2. Cấu hình network, join domain, NTP (network card 10G)
3. Active license cho máy ảo
4. Kiểm tra các máy ảo đã ping được nhau và các port 1433 và 5022 đã mở chưa. Nếu không kiểm tra Firewall trên Windows
5. Đặt Power plan thành High Perfomance trên tất cả máy chủ SQL
6. Cấu hình các ổ đĩa (bring online, create volume, block size,.. – đảm bảo ổ đĩa và tên ổ đĩa giống nhau ở tất cả server)
1765452757094.png


7. Tạo user dùng chung cho các service trong SQL (sqluser – user nay phai delegated) và thêm vào group Administrator của các máy ảo (loging bằng user này để cài đặt)

1. Install SQL Server Stand-alone
1.1. Install MS SQL Server 2019 Software on SQL 01
1765452879791.png

1765452887936.png

1765452895409.png

1765452902971.png

1765452910146.png

1765452919514.png

1765452925983.png

1765452932495.png

1765452938401.png

1765452945753.png

1765452951682.png

1765452959249.png

1765452965281.png

1765452972996.png

1765452979625.png


- Cài đặt phần mềm SSMS
- Restore hoặc tạo Database lên server SQL01
2. Join to SQL Server Always On Availability Groups (Convert SQL standalone to Always on)
- Cài đặt 1 server khác với hệ điều hành và cấu hình tương tự
- Cài đặt Windows Failover clustering trên cả 2 node
- Cài đặt SQL trên node thứ 2

2.1. Cài đặt Windows Failover clustering trên SQL01 và SQL02
1765453096196.png

1765453102553.png

1765453110002.png

1765453115457.png

1765453122440.png

1765453129355.png

1765453135896.png

1765453143279.png


- Sau khi cài xong restart máy ảo
- Tạo DNS record cho Cluster IP và SQL Cluster Listener
SQLCLUSTER.securityzone.local: 10.120.190.124/24
SQLLSNR.securityzone.local:10.120.190.125/24

2.2. Cấu hình Failover Cluster trên SQL01 (chỉ trên SQL01 hoặc SQL02)
1765453182791.png

1765453188931.png

1765453195193.png

1765453201130.png

1765453207312.png

1765453212933.png

1765453219318.png

1765453226888.png

1765453232579.png

1765453237749.png

1765453245243.png


2.3. Cài đặt SQL trên SQL02 (cài đặt giống hệt SQL01)
2.4. Cấu hình SQL Always On cho SQL01 và SQL02

- Đảm bảo từ SQL01 có thể truy cập vào CSDL ở SQL02 và ngược lại
1765453271333.png




(Còn tiếp...)
 

Đính kèm

  • 1765453289780.png
    1765453289780.png
    147 KB · Lượt xem: 0
  • 1765453296059.png
    1765453296059.png
    104.1 KB · Lượt xem: 0
  • 1765453302086.png
    1765453302086.png
    124.7 KB · Lượt xem: 0
  • 1765453307307.png
    1765453307307.png
    135.8 KB · Lượt xem: 0
  • 1765453313862.png
    1765453313862.png
    162.7 KB · Lượt xem: 0
  • 1765453318768.png
    1765453318768.png
    120.8 KB · Lượt xem: 0
  • 1765453325033.png
    1765453325033.png
    109.4 KB · Lượt xem: 0
  • 1765453330991.png
    1765453330991.png
    93.8 KB · Lượt xem: 0
  • 1765453338535.png
    1765453338535.png
    101.7 KB · Lượt xem: 0
  • 1765453344438.png
    1765453344438.png
    65.6 KB · Lượt xem: 0
Sửa lần cuối:
Back
Top