Always On Availability Groups Database Server MS SQL 2016

Tác giả CCNACCNP, T.Một 17, 2019, 09:57:59 SÁNG

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 3 Khách đang xem chủ đề.

Always On Availability Groups Database Server MS SQL 2016


1. Giới thiệu.

SQL Always On Availability Groups được Microsoft giới thiệu lần đầu tiên trong bản SQL Server 2012 Enterprise như một chức năng nâng cao nhằm tăng độ sẳn sàng cho hệ thống Database mà không cần sử dụng các Shared Storage từ SAN hay NAS như mô hình SQL Cluster truyền thống (Failover Clustering). Dù vẫn còn một số vấn đề ở phiên bản đầu tiên nhưng theo đánh giá cá nhân thì SQL Always On Availability Groups thật sự hiệu quả trong việc tăng độ sẳn sàng, đơn giản trong vận hành và quản trị Database nên hoàn toàn có thể thay thế SQL Cluster truyền thống.

Trong bài viết này mình sẽ giới thiệu cách cấu hình SQL Always On Availability Groups trên MS SQL 2016 với 3 Server sau:


Chú ý: NIC 2 không bắt buộc nhưng trong thực tế, giữa các SQL Cluster Node nên trao đổi thông tin bằng một Card mạng riêng và bài hướng dẫn này sẽ sử dụng card NIC 2 để các SQL Cluster Nodes thực hiện việc trao đổi thông tin.

Sau đây SQL Always On Availability Groups sẽ được gọi tắt là SQL AOAG.

2. Chuẩn bị cài đặt.

  • Cài đặt SQL Server 2016 phiên bản Enterprise hoặc Evaluation trên các SQL Cluster Nodes: UAT-SRV01UAT-SRV02.
  • Tạo một Database tên UATDB (thay đổi tên theo nhu cầu) để đưa vào AOAG trên UAT-SRV01 (có thể tạo trên bất kỳ SQL Node nào sẽ thuộc SQL AOAGUATDB sẽ được đưa vào).
  • Tạo 2 Share Folder trên UAT-ADSRV với tên SQLCluster01 để làm Witness cho Windows ClusteringAG-UATDB trên UAT-ADSRV để chứa các bản Full Backup, Log phục vụ cho việc đồng bộ Database, Log giữa các SQL Node trong AOAG với Share Permissions giống nhau như sau:
  • Sharing Permissions cho Everyone – Full Controll.
  • Security Permissions cho các SQL Cluster Node – Write.

3. Cài đặt Windows Clustering trên các Cluster Nodes.

  • Trong cửa sổ Server Manager, nhấn Add roles and features.


  • Trong mục Before you begin của cửa sổ Add Roles and Features Wizard, nhấn Next để lướt qua giới thiệu. Giữ nguyên mặc định Role-based or feature-based installation của mục Select Installation Type rồi nhấn Next để cài đặt Role hoặc Feature mới.


  • Trong mục Select destination server, chọn Server cần cài đặt Role hoặc Feature rồi nhấn Next.


  • Trong mục Select server roles, nhấn Next để bỏ qua vì không cần cài đặt Roles.


  • Trong mục Select features, chọn Failover Clustering để cài đặt Windows Failover Clustering.


  • Khi chọn Failover Clustering, hệ thống thông báo các feature khác cần được cài đặt để đảm bảo hoạt động cho Failover Cluster, nhấn Add Features để xác nhận.


  • Sau khi xác nhận cài đặt các Feature liên quan, Failover Clustering đã được chọn, nhấn Next để tiếp tục


  • Trong mục Confirm installation selections, nhấn Install để bắt đầu cài đặt và khi quá trình cài đặt hoàn tất, nhấn Close để kết thúc.


Chú ý: Thực hiện cài đặt tương tự trên tất cả SQL Cluster Nodes. Trong bài viết này sẽ cài đặt trên UAT-SRV01 UAT-SRV02.

4. Tạo Windows Failover Cluster.

  • Sau khi cài đặt Failover Clustering hoàn tất, mở Failover Cluster Manager từ một Cluster Node và nhấn phải chuột lên Failover Cluster Manager rồi chọn Create Cluster để tạo một Failover Cluster mới.


  • Trong mục Before You Begin của cửa sổ Create Cluster Wizard, nhấn Next để lướt qua phần giới thiệu. Trong mục Select Servers, thêm tên các Server cần đưa vào Cluster vào mục Selected Servers rồi nhấn Next.


  • Trong mục Validation Warning, giữ mặc định "Yes. When I click Next,..." rồi nhấn Next để yêu cầu thực hiện việc kiểm tra điều kiện của các Node trước khi đưa vào Cluster.
  • Trong mục Before You Begin của cửa sổ Validate a Configuration Wizard, nhấn Next để lướt qua phần giới thiệu. Trong mục Testing Options, chọn Run all test (recommended) rồi nhấn Next để yêu cầu kiểm tra toàn bộ điều kiện.


  • Trong mục Confirmation, nhấn Next để xác nhận và bắt đầu quá trình kiểm tra.


  • Nếu sau khi thực hiện việc kiểm tra điều kiện mà kết quả trả về là "...The configuration appears to be suitable for clustering..." là các Cluster Node đã đảm bảo điều kiện để đưa vào Cluster, chọn Create the cluster now using the validated nodes rồi nhấn Finish để hệ thống tạo một Cluster với các Cluster Node đã kiểm tra.


  • Trong mục Access Point for Administering the Cluster, đặt tên cho Cluster trong phần Cluster Name và gán một địa chỉ IP cho Cluster rồi nhấn Next.


  • Trong mục Confirmation, kiểm tra lại các thông tin cấu hình cho Cluster và nhấn Next để xác nhận các thông tin đã chính xác.


  • Khi Cluster khởi tạo hoàn tất, nhấn Finish để kết thúc.


Chú ý:

  • Việc kiểm tra điều kiện các Cluster Node sẽ hoàn tất với một số cảnh báo về Storage (Disk) do mô hình Cluster đang thực hiện không bắt buộc sử dụng các đĩa từ SAN hay NAS nên có thể bỏ qua các cảnh báo về Storage.
  • Việc tạo Windows Cluster chỉ cần thực hiện một lần trên bất kỳ Node nào sẽ thuộc Cluster.

5. Cấu hình Witness cho Failover Cluster.

  • Nhấn phải chuột lên SQL Cluster vừa tạo (SQLCluster01), nhấn More Actions rồi chọn Configure Cluster Quorum Settings...


  • Trong mục Before You Begin của cửa sổ Configure Cluster Quorum Wizard, nhấn Next để lướt qua phần giới thiệu. Trong mục Select Quorum Configuration Option, chọn Select the quorum witness rồi nhấn Next để tự chỉ định Witness cho Failover Cluster SQLCluster01.


  • Trong mục Selct Quorum Witness, chọn Configure a file share witness rồi nhấn Next để chọn Witness là một Share Folder.


  • Trong mục Configure File Share Witness, nhập đường dẫn của Share folder được chọn làm Witness vào mục File Share Path rồi nhấn Next. Trong bài hướng dẫn này mình sẽ sử dụng Share Folder SQLCluster01 đã tạo ở bước chuẩn bị.


  • Trong mục Confirmation, kiểm tra các thông tin của Witness và nhấn Next để xác nhận thông tin.


  • Khi Witness được thêm thành công, nhấn Finish để kết thúc.


6. Bật chức năng Always On Availability Groups trên các SQL Cluster Nodes.

  • Trong SQL Server Configuration Manager, nhấn phải chuột lên SQL Server (MSSQLSERVER) rồi chọn Properties.


  • Trong thẻ AlwaysOn High Availability, đánh dấu vào ô Enable AlwaysOn Availability Groups rồi nhấn OK.
  • Cửa sổ Warning thông báo các thay đổi chỉ có hiệu lực sau khi Services được khởi động lại, nhấn OK để đóng thông báo.


  • Trong SQL Server Configuration Manager, nhấn phải chuột lên SQL Server (MSSQLSERVER) rồi chọn Restart để khởi động lại dịch vụ của MS SQL.


Lưu ý:

  • Bật chức năng AlwaysOn Availability Groups trên tất cả SQL Nodes.
  • Phải khởi động lại dịch vụ SQL Server trước khi thưc hiện bước tiếp theo.

7. Chuẩn bị đưa Database vào Availability Group.

  • Điều kiện để đưa một Database vào SQL AOAGDatabase đã được thực hiện Full Backup trước đó. Để thực hiện Full Backup cho Database UATDB trong SQL Management Studio, nhấn phải chuột lên Database UATDB chọn Back Up... trong mục Tasks.


  • Trong cửa sổ Backup Up Database, chọn Full tại trường Backup type rồi nhấn OK.


  • Khi Backup hoàn tất, nhấn OK.


8. Tạo SQL Always On Availability Group.

  • Trong SQL Management Studio, nhấn phải chuột lên AlwaysOn High Availability rồi chọn New Availability Group Wizard để tạo SQL AOAG mới.


  • Trong mục Introduction của cửa sổ New Availability Group, nhấn Next để lướt qua các thông tin giới thiệu. Đặt tên cho Availability Group trong trường Availability group name, đánh dấu vào Database Level Heath Detection của mục Sepcify Options rồi nhấn Next để tiếp tục.


Trong mục Select Databases, chọn Database đáp ứng yêu cầu và cần đưa vào Availability Group (UATDB) rồi nhấn Next.


  • Trong thẻ Replicas của mục Specify Replicas, nhấn Add Replica... để thêm các SQL Node cần đưa vào SQL AOAG đang tạo.


  • Trong cửa sổ Connect to Server, nhập tên SQL Node và các thông tin đăng nhập rồi nhấn Connect để kết nối. Trong bài hướng dẫn này Configure SQL Always On Availability Groups, user UAT\Administrator được chỉ định là SQL Administrator trên các SQL Nodes của AOAG và đang đăng nhập vào UAT-SRV01 nên không cần nhập lại usernamepassword.


  • Đánh dấu Automatic FailoverSynchronous Commit trong mục (1) và (2) cho tất cả các SQL Nodes để cho phép các SQL Nodes trong AOAG đồng bộ Database theo cơ chế Synchronous và chuyển trạng thái Readable Secondary sang Yes để cho phép các các truy vấn đọc dữ liệu trên Database có thể kết nối đến các Secondary Nodes.


  • Trong thẻ Listener của mục Specify Replicas, đặt tên cho Listener của AOAG đang tạo trong trường Listener DNS Name, chỉ định Port để kết nối trong trường Port, chọn Static IP trong trường Network Mode rồi nhấn Add để gán IP tĩnh cho Listener.


  • Chọn Subnet cần gán Static IP trong trường Subnet và nhập IP cần gán vào trường IPv4 Address rồi nhấn OK để tiếp tục.


  • Khi gán các thông tin cho Listener hoàn tất, nhấn Next để tiếp tục.


  • Trong mục Select Data Synchronization, chọn Full database and log backup rồi nhập địa chỉ Share Folder AG-UATDB đã tạo ở bước chuẩn bị để chứa các bản BackupLog File phục vụ cho việc đồng bộ giữa các SQL Node. Nhấn Next để tiếp tục.


  • Trong mục Validation, khi Result của các bước đều hiển thị Success thì nhấn Next để tiếp tục.


  • Trong  mục Summary, kiểm tra lại các thông số đã gán và nhấn Finish để bắt đầu quá trình tạo AOAG.


  • Khi Availability Group tạo thành công, nhấn Close để kết thúc.


Lưu ý:

  • Một Availability Group có thể sử dụng cho nhiều Databases. Mặc định các SQL Nodes trong AOAG sẽ đồng bộ theo cơ chế Asynchronous và việc đồng bộ Database giữ các SQL Nodes trong AOAG theo cơ chế Synchronous sẽ tăng thời gian xử lý các Transaction nên trường hợp có nhiều hơn 2 SQL Nodes, cần cân nhắc cơ chế đồng bộ cho từng SQL Node. Tham khảo thêm cơ chế SynchronousAsynchronous tại đây:
  •   Đăng nhập để xem liên kết