Professional Documents
Culture Documents
.
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.
- 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.
- 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.
- 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.