You are on page 1of 69

Cài đặt và cấu hình

Failover Cluster SQL Server 2016


MỤC LỤC
Giới thiệu 4

Chi tiết cài đặt 4


Chuẩn bị hệ thống lưu trữ 4
Cài đặt iSCSI Target Server 4
Tạo iSCSI Virtual Disk 6
Kết nối hệ thống lưu trữ 24
Tạo Failover Cluster 32
Cài đặt SQL Node 1 38
Cài đặt và kết nối SQL Node 2 vào Failover Cluster 52
Kiểm tra hoạt động và khả năng chịu lỗi 57

.
I. Giới thiệu
SQL Server đóng vài trò quan trọng, được dùng để lưu trữ dữ liệu cho các ứng dụng. Việc xây dựng một hệ
thống SQL có tính chịu lỗi (Failover​) và khả năng sẵn sàng cao (High Availability​) là hết sức cần thiết.
Bài viết này trình bày thao tác cài đặt và cấu hình Failover Cluster cho ​SQL Server 2016 trên ​Windows
2016​ sử dụng dịch vụ lưu trữ iSCSI SAN Storage​ có sẵn trên Windows.

II. Chi tiết cài đặt


Hướng dẫn này sử dụng 3 server:
- DC16 (IP Address 192.168.10.1) : Domain Controller (domain ​dc16.local​) chạy Windows Serrer 2016.
Trong bài, server này đảm nhận vai trò lưu trử cho Cluster (iSCSI Target Server).
- SQL1 (IP Address 192.168.10.2): ​Domain member chạy Windows Server 2016 đóng vai trò SQL Server
(Node 1).
- SQL2 (IP Address 192.168.10.3): ​Domain member chạy Windows Server 2016 đóng vai trò SQL Server
(Node 2).

Hướng dẫn gồm các bước chính sau đây


- Chuẩn bị hệ thống lưu trữ.
- Kêt nối hệ thống lưu trữ.
- Tạo Failover Cluster.
- Cài đặt SQL Node 1.
- Kết nối SQL Node 2 vào Failover Cluster.
- Kiểm tra hoạt động và khả năng chịu lỗi.

1. Chuẩn bị hệ thống lưu trữ


Trên máy ​DC16​, bạn cần cài đặt ​iSCSI Target Server​, sau đó tạo sẵn các ​iSCSI Virtual Disk và đưa vào 1
iSCSI Target và cho phép 2 máy có IP address là ​192.168.10.2 và ​192.168.10.3 kết nối. Thực hiện các bước
sau:

a. Cài đặt iSCSI Target Server


- Trên máy ​DC16,​ bạn mở Server Manager​. Bạn vào menu Manage,​ chọn Add Roles and Features​.
- Màn hình ​Welcome​, bạn nhấn ​Next.​ Màn hình ​Select Server Roles​, bung mục ​File and Storage
Services,​ đánh dấu chọn vào ô iSCSI Target Server​.
- Các bước còn lại bạn nhấn ​Next ​theo mặc định. Màn hình ​Confirm installation selections​, bạn
đánh dấu chọn vào ô Restart the destination server automatically if required​, sau đó nhấn Install​.
- Sau khi cài đặt xong, chương trình sẽ yêu cầu bạn khởi động lại máy tính. Bạn nhấn vào nút ​Restart
Now​ để khởi động.
b. Tạo iSCSI Virtual Disk
iSCSI Virtual Disk là các đĩa ảo được tạo ra từ physical disk. Như vậy một physical disk có thể tạo ra nhiều
iSCSI Virtual Disk, phải tính toán tùy theo mục đích sử dụng.
- Mở Server Manager​, ở bên trái bạn chọn File and Storage Services​.
- Ở khung bên trái, bạn chọn ​iSCSI​, sau đó vào mục ​TASKS nằm ở góc phải, chọn ​New iSCSI Virtual
Disk.​
- Màn hình ​Select iSCSI virtual disk location​, ở mục Select by volume bạn chọn vào phân vùng cần
tạo iSCSI Virtual Disk​ (chúng ta sẽ tạo Disk1​ từ ổ đĩa C​)
- Màn hình ​Specify iSCSI virtual disk name​, ở mục ​Name​, bạn đặt tên là ​Disk1​. Bạn chú ý ở mục
Path​, Windows Server 2016 sẽ sử dụng công nghệ đĩa cứng ảo thông qua file vhdx​.
- Màn hình ​Specify iSCSI virtual disk size​, ở mục ​Free space sẽ cho bạn biết dung lượng còn trống
ở physical disk. Ở mục ​Size​, bạn thiết lập dung lượng cho ​iSCSI virtual disk​, trong bài này chúng ta
sẽ tạo Disk1 c​ ó dung lượng 10 GB.
- Màn hình ​Specify iSCSI target​, chọn ​New iSCSI target​. iSCSI Target: tập hợp gồm 1 hoặc nhiều
iSCSI Virtual Disk, là thành phần để các Server có thể kết nối và sử dụng.
- Màn hình ​Specify target name​, ở mục ​Name​, bạn đặt tên cho target của mình, trong bài này chúng
ta đặt tên là Target1​.
- Màn hình ​Specify access server​, bạn nhấn ​Add đ ​ ể thêm vào máy Server sẽ kết nối đến ​iSCSI
Target nhằm mục đích sử dụng hệ thống đĩa. iSCSI Initiator (Access Server): là 1 Server đảm nhận
một dịch vụ bất kỳ mà nó sẽ kết nối tới iSCSI Target​ để sử dụng hệ thống đĩa
- Cửa sổ ​Add Initiator ID​, mục ​Select a method to identify the initiator ID​, bạn chọn vào ô ​Enter the
value for a selected type​. Ở mục ​Type​, bạn chọn ​IP Address​. Sau đó ở mục ​Value​, bạn nhập vào
địa chỉ IP ​của máy SQL1​.
- Lặp lại thao tác Add ​để thêm SQL2​. Kết thúc, ta được như hình
- Màn hình ​Enable Authentication​, bạn nhấn Next ​theo mặc định.
- Màn hình ​Confirmation​, bạn kiểm tra các thông tin mà mình đã thiết lập. Sau đó, bạn nhấn vào nút
Create ​để tạo mới iSCSI Virtual Disk​.
- Màn hình ​View Results​, khi bạn nhận được thông báo ​iSCSI Virtual Disk was created
successfully​ nghĩa là quá trình tạo đĩa đã thành công. Bạn nhấn vào nút Close ​để đóng lại.
- Quay lại Server Manager​, lúc này bạn sẽ nhìn thấy iSCSI Virtual Disk​ và ​iSCSI Target​.

- Tương tự, bạn tạo thêm ​Disk2​. Màn hình ​Select iSCSI virtual disk location​, bạn chọn phân vùng
cho ​Disk2​, trong bài này, bạn sẽ sử dụng phân vùng còn lại (E:​)
- Màn hình ​Specify iSCSI virtual disk name​, ở mục Name​, bạn đặt tên là Disk2​.
- Màn hình ​Specify iSCSI virtual disk size​, bạn nhập vào dung lượng cho Disk2 ​là 9GB.
- Màn hình ​Assign iSCSI target​, bạn chọn vào ô ​Existing iSCSI target mà mình đã tạo ở phần trên.
Sau đó bạn nhấn Next ​(như vậy, 1 iSCSI target​ có thể chứa một hoặc nhiều iSCSI virtual disk​).
- Các bước còn lại, bạn nhấn ​Next ​theo mặc định. Màn hình ​View Results​, lúc này bạn sẽ nhìn thấy
chương trình không còn tạo iSCSI target nữa mà chỉ tạo ​iSCSI virtual disk và gán vào ​target ​mà
bạn chỉ định.
- Quay lại Server Manager​, bạn kiểm tra thấy đã có 2 iSCSI virtual disk​.

2. Kết nối hệ thống lưu trữ


- Trên 2 máy ​SQL1​ và ​SQL2​, thực hiện kết nối vào iSCSI Target bằng công cụ iSCSI Initiator​.
- Nhấn Yes​ để xác nhận khởi động dịch vụ Microsoft iSCSI services

- Trong khung ​Target​, nhập IP của iSCSI Target Server (192.168.10.1​) - Nhấn nút Quick Connect
- Kiểm tra trạng thái kết nối là Connected​ - Nhấn nút Done.
- Nhấn OK
- Tiếp theo bạn cần tạo volume từ các đĩa đã kết nối. Trên máy SQL1, mở ​Disk Management​, quan
sát bạn đã kết nối được 2 ổ đĩa (Disk1, Disk2) . Bấm phải chuột lên Disk1​ - Chọn Online.
- Bấm phải chuột lên Disk1​ - Chọn Initialize Disk.
- Nhấn OK.
- Tiếp theo bạn tạo 1 Simple volume. Bấm phải chuột lên vùng trống trên ​Disk1 - Chọn ​New Simple
Volume.
- Thực hiện các bước tạo volume và định dạng để tạo và định dạng một volume tên là ClusterDisk1.
- Thực hiện tương tự để tạo và định dạng thêm 2 simple volume tên là ClusterDisk2.
- Thực hiện lại các thao tác ở mục (2) này cho SQL2. Ở SQL2, chúng ta chỉ cần thực hiện đến bước
Online Disks là đủ.
3. Tạo Failover Cluster
- Trên 2 máy ​SQL1 ​và ​SQL2​, chúng ta cài đặt feature Failover Clustering​.
- Tạo Cluster trên ​SQL1.​ Lưu ý, user tạo cluster phải có đủ quyền thực thi trên ​Active Directory​. Thực
hiện theo các bước ở Mục III trước khi tiếp tục ở bước này (hoặc tham khảo bài viết nguồn:
https://docs.microsoft.com/en-us/windows-server/failover-clustering/prestage-cluster-adds​). Sau khi
hoàn thành, mở Failover Clustering Manager​ ​ ​để bắt đầu tạo cluster.

- Tạo một Failover Cluster: Bấm phải chuột lên Failover Cluster Manager​ - Chọn Create Cluster.
- Nhấn Next.​

- Lần lượt đưa 2 máy SQL1​ và S


​ QL2​ vào danh sách S
​ elected servers​ - Nhấn Next​.
- Chọn No ….​ Nhấn Next​ (tôi sẽ kiểm tra tính tương thích cho Cluster ở bước sau).
- Khung ​Cluster Name:​ Nhập tên tùy ý cho Failover Cluster (tôi đặt tên là S
​ QLCluster​). Nhập địa chỉ
IP vào mục Address (địa chỉ IP chưa được dùng trước đó). Nhấn Next​.

- Kiểm tra đã đánh dấu Add all eligible storage to the cluster​ - Nhấn Next.
- Nhấn Finish.​
4. Cài đặt SQL Node 1
- Chạy file setup.exe để bắt đầu cài đặt.
- Chọn Installation - New SQL Server failover cluster installation​.

- Làm theo hướng dẫn và click Next ở​ các màn hình tiếp theo.
- Ở màn hình Install Failover Cluster Rules​, đảm bảo không có bất kỳ lỗi nào. Click Next​.
- Ở màn hình ​Feature Selection​, chọn các tính năng cần thiết tùy thuộc vào nhu cầu sử dụng SQL của
bạn. Nhấn Next​.
- Khung ​SQL Server Network Name​, đặt tên tùy ý cho ​SQL Failover Cluster​, tôi đặt là ​Sql2016Clu​,
nhấn ​Next​. Nếu bạn gặp lỗi “​The given network name is unusable because there was a failure
trying to determine...”​ khi nhấn ​Next​, và nếu bạn đang dùng ​VirtualBox​, thử gỡ bỏ ​Guest
Additional​ ở Program and Feature​ ra.
- Nhập Group Name​ và nhấn Next​.
- Chọn đĩa tùy ý để lưu trữ thông tin của cluster. Ở đây tôi chọn ClusterDisk1​. Nhấn Next​.
- Nhập địa chỉ IP ​chưa sử dụng cho Cluster ​(​192.168.10.23​). Nhấn Next​.
- Chỉ định 2 account ​SQL Server Agent,​ ​SQL Server Database Engine và ​SQL Server Analysic
Services là account domain administrator (DC16\Administrator). Nhập password ở khung ​Passsord
- Nhấn Next.
- Chọn Mixed Mode​, nhập password ​cho user ​sa​, nhấn nút Add Current User
- Nhấn Add Current User​, nhấn Next​.
- Nhấn Next
- Nhấn Install
- Chờ đợi quá trình cài đặt. Sau khi quá trình cài đặt hoàn tất, nhấn nút ​Close​. Lưu ý: phải đảm bảo tất
​ ều Succeeded t​ rước khi Close​.
cả các feature đ
- Mở Failover Cluster Manager kiểm tra. Chọn ​SQLCluster.dc16.local - Roles​. Bạn sẽ thấy role ​SQL
Server (SqlCluGroup)​ đang chạy (trạng thái Running)​ .
- Chọn SQLCluster.dc16.local - Storage - Disk: ​quan sát ​Cluster Disk 1 đã được sử dụng cho ​SQL
Server (SqlCluGroup)
5. Cài đặt và kết nối SQL Node 2 vào Failover Cluster
- Tiếp theo tôi sẽ cài đặt SQL Server 2016 và gia nhập ​SQL2 vào Cluster có sẵn. Trên máy ​SQL2​, đưa
đĩa DVD cài đặt SQL Server 2012 vào DVD và chạy File setup.exe.​
- Chọn ​Installation - Add node to a SQL Server failover cluster s​ au đó thực hiện các bước tương tự
như bước 4.
- ​ QL Server instance name​ đã cài đặt trước đó trên node SQL1 - Nhấn Next​.
Quan sát S
- Quan sát IP Address của Cluster đã cấu hình trước đó - Nhấn Next​.
- ​ CTHUB\Administrator)​ ở khung P
Nhập password của account domain admin (M ​ assword - Nhấn
Next.​
- Nhấn Install​.
- Sau khi quá trình cài đặt hoàn tất - Nhấn nút Close​.
6. Kiểm tra hoạt động và khả năng chịu lỗi
- ​ QL1 ​hoặc SQL2​, mở ​Failover Cluster Manager kiểm tra, chọn R
Trên một trong 2 máy S ​ oles,​ quan
sát​ SQL Server (MSSQLSERVER)​ đang chạy (Running)​ và có O ​ wner Node​ là​SQL1.​
- Chọn Nodes - SQL1​ quan sát thấy server này đang đảm nhận dịch vụ SQL Server (SqlCluGroup)​.
- Chọn Nodes - SQL2​ quan sát thấy server này hiện không đảm nhận dịch vụ nào.
- Trước khi kiểm tra khả năng chịu lỗi của Failover Cluster tôi sẽ kiểm tra hoạt động của Cluster bằng
cách di chuyển dịch vụ ​SQL Server (SqlCluGroup) s​ ang SQL2. C ​ họn Roles, ​bấm ​phải chuột lên
SQL Server (SqlCluGroup)- C ​ họn Move - Select Node.​
- Chọn SQL2​ - Nhấn OK
- Chờ đợi quá trình di chuyển (trạng thái sẽ hiển thị là Pending)​
- Kiểm tra quá trình di chuyển thành công, ​SQL Server (SqlCluGroup) ​đang có trạng thái Running ​và
đang có​ Owner Node ​là​ SQL2.​
- Chọn Nodes - SQL1​ quan sát thấy server không đảm nhận dịch vụ nào.

- Chọn Nodes - SQL2​ quan sát thấy server này đang đảm nhận dịch vụ SQL Server (SqlCluGroup).​
- Tiếp theo tôi sẽ kiểm tra tính chịu lỗi của Failover Cluster bằng cách giả lập lỗi trên server đang đảm
nhận dịch vụ là SQL2.​ Sang máy ​SQL2,​ disable card mạng.

- SAng máy SQL1, chọn Nodes​ kiểm tra trạng thái của SQL2​ là ​Down​.
- Chọn ​Roles,​ chờ đợi giây lát bạn sẽ thấy dịch vụ được tự động chuyển sang Node đang hoạt động là
SQL1​.


​ ​ ​

​ ​ ​ ​
​ ​ ​
​ ​
​ ​
​ ​ ​

You might also like