Trong hệ thống mạng hiện đại ngày nay, SQL server đóng vai trò rất quan trọng, SQL lưu trữ dữ liệu cho các ứng dụng và dịch vụ như SharePoint, System Center…. Vì vậy 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
Trong bài viết này tôi sẽ trình bày thao tác cài đặt và cấu hình Failover Cluster cho SQL Server 2012 trên Windows 2012 sử dụng dịch vụ lưu trữ iSCSI SAN Storage có sẵn trên Windows Server 2012
II- TRIỂN KHAI CHI TIẾT
Bài LAB sử dụng 3 server:
- DC2012 (IP Address 172.16.0.10) : Domain Controller (domain mcthub.local) chạy Windows Serrer 2012. Trong bài LAB, server này đảm nhận vai trò lưu trự cho Cluster (iSCSI Target Server)
- SQLSERVER1 (IP Address 172.16.0.21): Domain member chạy Windows Server 2012 đóng vai trò SQL Server (Node 1)
- SQLSERVER2 (IP Address 172.16.0.22): Domain member chạy Windows Server 2012 đóng vai trò SQL Server (Node 2)
Bài LAB gồm các bước chính sau đây
1- Chuẩn bị hệ thống lưu trữ
2- Kêt nối hệ thống lưu trữ
3- Tạo Failover Cluster
4- Cài đặt SQL Node 1
5- Kết nối SQL Node 2 vào Failover Cluster
6- 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 DC2012, bạn cần cài đặt iSCSI Target Server
Sau đó tạo sẵn các iSCSI Virtual Disk và đưa và 1 iSCSI Target và cho phép 2 máy có IP address là 172.16.0.21 và 172.16.0.22 kết nối như hình bên dưới
1- Chuẩn bị hệ thống lưu trữ
Trên máy DC2012, bạn cần cài đặt iSCSI Target Server
Sau đó tạo sẵn các iSCSI Virtual Disk và đưa và 1 iSCSI Target và cho phép 2 máy có IP address là 172.16.0.21 và 172.16.0.22 kết nối như hình bên dưới
01pt;font-size:medium;font-family:'Times New Roman';color:#000000;">Nếu bạn chưa từng thực hiện các thao tác này thì có thể tham khảo bài viết này để thực hiện chi tiết
2- Kêt nối hệ thống lưu trữ
Trên 2 máy SQLSERVER1 và SQLSERVER2, 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 (172.16.0.10) - 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 SQLSERVER1, mở Disk Management, quan sát bạn đã kết nối được 3 ổ đĩa (Disk1, Disk2 và Disk3) . Bấm phải chuột lên Disk1 - ChọnOnline
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 và ClusterDisk3
3- Tạo Failover Cluster
Trên cả 2 máy SQLSERVER1 và SQLSERVER2, cài đặt feature Failover Clustering
Trên SQLSERVER1, mở Failover Clustering Manager
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 SQLSERVER1 và SQLSERVER2 vào danh sách Selected 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à SQLCluster). Nhập IP tùy ý cho Cluster (172.16.0.100). Lưu ý IP này phải chưa được sử dụng. Nhấn Next
Khung Cluster Name: Nhập tên tùy ý cho Failover Cluster (tôi đặt tên là SQLCluster). Nhập IP tùy ý cho Cluster (172.16.0.100). Lưu ý IP này phải chưa được sử dụng. Nhấn Next
Kiểm tra đã đánh dấu Add all eligible storage to the cluster - Nhấn Next
Nhấn Finish
Chọn SQLCluster.mcthub.local - Storage - Disks - quan sát ClusterDisk3 đã được sử dụng làm Disk Witness Quorum
Tiếp theo tôi kiểm tra tính tương thích cho Failover Cluster bằng cách bấm phải chuột vào SQLCluster.mcthub.local - Chọn Validate Cluster
Nhấn Next
Chọn Run all tests - Nhấn Next
Nhấn Next
Nhấn Next
Sau khi quá trình kiểm tra hoàn tất, nhấn nút View Report để xem báo cáo
Quan sát báo cáo và bảo đảm rằng không có tiêu chí nào có kết quả là Fail - Đóng báo cáo
Nhấn nút Finish
4- Cài đặt SQL Node 1
Sau khi đã tạo Failover Cluster, tiếp theo tôi sẽ cài đặt SQL Server 2012 đầu tiên vào cluster. Trên máy SQLSERVER1, đưa đĩa cài đặt SQL Server 2012 vào DVD và chạy File setup.exe
Chọn Installation - New SQL Server failover cluster installation
Nhấn Show details để xem chi tiết - Nhấn OK
Chọn Specify a free edition. Nhấn Next (nếu bạn có bản quyền SQL Server 2012 thì có thể chọn Enter the product key và nhập key)
Chấp nhận thông tin bản quyền - Nhấn Next
Chương trình cài đặt yêu cầu cập nhật các bản update cần thiết - Nhấn Next (chú ý để hoàn tất bước này server cần có kết nối internet). Nếu không có kết nối internet, bản có thể bỏ qua quá trình cập nhật bằng cách bỏ dấu check Include SQL Server product updates
Nhấn Show details để xem chi tiết - Nhấn Next
Chọn SQL Server Feature Installation - Nhấn Next
Chọn các thành phần cần thiết tùy thuộc vào nhu cầu sử dụng SQL của bạn - Nhấn Next
Nhấn Show details để xem chi tiết - Nhấn Next
Khung SQL Server Network Name: Đặt tên tùy ý cho SQL Failover Cluster, tôi đặt là SQLCLU - Nhấn Next
Nhấn Next
Nhấn Next
Chọn đĩa tùy ý để lưu trữ thông tin của cluster - Mặc định chương trình cài đặt sẽ chọn đĩa đầu tiên. Tôi chọn ClusterDisk2 - Nhấn Next
Trong khung IP Address, nhập một IP chưa sử dụng cho Cluster (172.16.0.111) - Nhấn Next
Chỉ định 2 account SQL Server Agent và SQL Server Database Engine là account domain administrator (MCTHUB\Administrator). Nhập password ở khung Passsord - Nhấn Next
Nhấn nút Add Current User
Nhấn Next
Nhấn Next
Nhấn Show details để xem chi tiết - Nhấn Next
Nhấn nút Install
Chờ đợi quá trình cài đặt
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
Mở Failover Cluster Manager kiểm tra. Chọn SQLCluster.mcthub.local - Roles. Bạn sẽ thấy role SQL Server (MSSQLSERVER) đang chạy (trạng thái Running)
Chọn SQLCluster.mcthub.local - Storage - Disk: quan sát Cluster Disk 2 đã được sử dụng cho SQL Server (MSSQLSERVER)
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 2012 và gia nhập SQLSERVER2 vào Cluster có sẵn. Trên máy SQLSERVER2, đư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 sau đó thực hiện các bước tương tự như bước 4
Quan sát SQL Server instance name đã cài đặt trước đó trên node SQLSERVER1 - Nhấn Next
Quan sát IP Address của Cluster đã cấu hình trước đó - Nhấn Next
Nhập password của account domain admin (MCTHUB\Administrator) ở khung Password - Nhấn Next
Nhấn Next
Nhấn Show details để xem chi tiết - 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
Trên một trong 2 máy SQLSERVER1 hoặc SQLSERVER2, mở Failover Cluster Manager kiểm tra, chọn Roles, quan sát SQL Server (MSSQLSERVER) đang chạy (Running) và có Owner Node làSQLSERVER1
Chọn Nodes - SQLSERVER1 quan sát thấy server này đang đảm nhận dịch vụ SQL Server (MSSQLSERVER)
Chọn Nodes - SQLSERVER2 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 (MSSQLSERVER) sang SQLSERVER2. Chọn Roles, bấm phải chuột lên SQL Server (MSSQLSERVER)- Chọn Move - Select Node
Chọn SQLSERVER2 - 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 (MSSQLSERVER) đang có trạng thái Running và"> Chờ đợi quá trình di chuyển (trạng thái sẽ hiển thị là Pending)
Chọn Nodes - SQLSERVER1 quan sát thấy server không đảm nhận dịch vụ nào
Chọn Nodes - SQLSERVER2 quan sát thấy server này đang đảm nhận dịch vụ SQL Server (MSSQLSERVER)
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à SQLSERVER2. Sang máy SQLSERVER2, disable card mạng
SAng máy SQLSERVER1, chọn Nodes kiểm tra trạng thái của SQLSERVER2 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à SQLSERVER1
Kiểm tra dịch vụ SQL Server (MSSQLSERVER) đã chạy bình thường trên Node đang hoạt động là SQLSERVER1
Bài viết liên quan
Cấu hình Failover Cluster cho Hyper-V trên Windows Server 2012
Cấu hình iSCSI SAN Storage services trên Windows Server 2012