Tags

, , , , , , , , ,

GIẢI PHÁP ALWAYSON TRONG SQL SERVER 2012 (Phần 3)

Giải pháp AlwaysOn trong SQL Server 2012 (Phần 1) giới thiệu tổng quan về AlwaysOn trong SQL Server 2012

Giải pháp AlwaysOn trong SQL Server 2012 (Phần 2) đề cập tới AlwaysOn Availability Groups

Trong phần 3 này sẽ nói rõ hơn Các bước cấu hình cài đặt AlwaysOn Availability Groups với mô hình đơn giản gồm 1 primary replica và 1 secondary replica. 2 replica này là 2 Instance nằm trên 2 Server khác nhau. 2 Server này là 2 member server trong 1 Domain và là 2 node của cùng 1 WSFC.

1. Cấu hình Windows Server Failover Cluster

Để cấu hình WSFC, các bước thực hiện như sau:

1.1. Cài đặt tính năng Failover Clustering cho từng Server tham gia với vai trò là một Node trong Cluster.

  • Mở Server Manager, vào mục Features.
  • Click Add Features
  • Trong Select Features page, chọn install feature Failover Clustering.

1.2 Tạo 1 Cluster có 2 Node

Bước này chỉ cần thực hiện trên 1 trong những Server đã cài đặt Failover Cluster feature và sẽ được cấu hình thành Node trong Cluster.

  • Mở Failover Cluster Management.
  • Trong mục Management, chọn Create a Cluster.
  • Add  2 server, sử dụng FQDN để chỉ ra tên Server.
  • Click Next để qua trang cấu hình Access Point for Administering the Cluster.
  • Điền Name và IP cho Cluster. Thông thường IP này sẽ thuộc subnet là interface giao tiếp với bên ngoài cluster.
  • Click Finish để tạo 1 cluster đã được cấu hình với 2 node ở trên.

1.3 Cấu hình Quorum (nếu muốn có Automatic Failover)

Chế độ Automatic Failover đòi hỏi Cluster phải được cấu hình Quorum mode. Có 4 quorum mode trong WSFC. Availability Groups hỗ 2 mode trong số 5 mode đó:

  • Node and File Share Majority trong trường hợp số node là chẵn
  • Node Majority trong trường hợp số node là lẻ
Trong trường hợp này (số node chẵn =2), các bước thực hiện như sau:
  • Trong Failover Cluster Management, right click Cluster vừa được tạo và chọn More Actions –> Configure Cluster Quorum Settings.
  • Trong trang Select Quorum Configuration, chọn Node and File Share Majority.
  • Điền UNC path của 1 shared folder trong mục Shared Folder Path. 

2. Bật tính năng AlwaysOn Availability Groups

Thực hiện đối với từng Server (hay Instance) như sau:

  • Mở SQL Server Configuration Manager, chọn SQL Server Services
  • Chọn Properties của service thực thi cho Instance (Database engine) chứa các database cần có.
  • Vào tab AlwaysOn High Availability, tích chọn Enable AlwaysOn Availability Groups.
  • Restart lại service.
Với các phiên bản thử nghiệm (TCP hay RC), chúng ta phải enable lại
tính năng này mỗi khi service bị restart hoặc phải add vào Startup
Parameters tham số  -T9532.

3. Thiết lập Availability Groups

Các bước để thiết lập Availability Groups cho 1 nhóm các database sẽ như sau (không thể áp dụng cho các system databases):

  • Vào SQL Server Management Studio (SSMS), connect đến Instance sẽ được cấu hình thành Primary Replica.
  • Mở folder Management trong Object Explorer
  • Right Click Availability Groups, chọn New Availability Group Wizard.
  • Đặt tên cho Availability Group, ví dụ: DemoAG.
  • Add 1 hoặc nhiều database.
Chỉ có thể chọn các Database thỏa mãn các yêu cầu sau:
 -  Phải là read-write user database
 -  Đang thiết lập multi-user và không sử dụng AUTO_CLOSE
 -  Đang được thiết lập ở chế độ Full Recovery mode
 -  Đã có có 1 bản Full Backup
 -  Không tham gia vào trong bất kì 1 Availability Group hay
Database Mirroring nào khác
  • Chỉ định Secondary Replica và Replica Mode: là tổ hợp gồm Automatic Failover mode và Synchronous-commit mode.
  • Chọn Readable Secondary mode: Yes, No, hoặc Read-intent only.
Read-intent only là 1 lựa chọn mới chỉ cho phép Application access
xuống database để đọc trong trường hợp có khai báo trong Connection
String tham số "Application Intent=readonly".
  • Chọn Perform Initial Data Synchronization và chỉ định shared folder (theo UNC path) nếu muốn khởi tạo dữ liệu đồng bộ.
  • Finish và review kết quả

4. Tạo Availability Group Listener

Để 1 Application luôn kết nối đến Primary replica để đọc/ghi dữ liệu trên các database của Availability Group, chúng ta phải tạo 1 Listener cho Availability Group đó. Các bước thực hiện như sau:

  • Mở Availability Group vừa tạo, right click Availability Group Listeners.
  • Chọn Add Listener.
  • Điền tên của Listener DNS Name, ví dụ: DemoAG_Listener
  • Chọn port và IP cho Listener, ví dụ: port 1433 và IP là 192.168.1.99

5. Chỉnh Connection string của Application

Sau khi đã cấu hình Availability Group và tạo Listener, các Application có thể connect đến các database thông qua Listener thay vì chỉ định 1 server cụ thể nào đó như trước đây.

Ví dụ sau đây khai báo 1 connection string chỉ đến 1 Listener:

Provider=SQLNCLI11.1;
Data Source=DemoAG_Listener;
Integrated Security=SSPI;
Initial Catalog=Adventureworks;
Timeout=1;

Trong trường hợp Replica mode của Secondary replica là Read-intent only, để Application connect thẳng vào Secondary replica này để đọc dữ liệu chúng ta có thể khai báo connection string như sau:

Provider=SQLNCLI11.1;
Data Source=SQLDENALI02;
Integrated Security=SSPI;
Initial Catalog=Adventureworks;
Timeout=1;
Application Intent=Readonly;

Enjoy!!!
Nhat Phan