Computer >> Máy Tính >  >> Hệ thống >> máy chủ Windows

Định cấu hình các nhóm luôn sẵn sàng hoạt động cao trên SQL Server

Trong bài viết này, chúng tôi sẽ hướng dẫn bạn từng bước về cách cài đặt và định cấu hình Luôn bật Nhóm Khả dụng trên SQL Server chạy trên Windows Server 2019, thảo luận về các trường hợp chuyển đổi dự phòng và một số chủ đề liên quan khác.

Nhóm Luôn có sẵn cung cấp tính khả dụng cao trong MIcrosoft SQL Server. Always On xuất hiện trong bản phát hành MSSQL 2012.

Tính năng của Nhóm Luôn sẵn sàng trong SQL Server

Bạn có thể sử dụng các nhóm khả dụng của SQL Server để làm gì?

  • Tính khả dụng cao của MS SQL và chuyển đổi dự phòng tự động;
  • Cân bằng tải các truy vấn SELECT giữa các nút (bản sao phụ có thể đọc được);
  • Sao lưu từ các bản sao thứ cấp;
  • Dự phòng dữ liệu. Mỗi bản sao giữ các bản sao của cơ sở dữ liệu nhóm khả dụng.

Always On dựa trên Cụm chuyển đổi dự phòng Windows Server (WSFC). WSFC giám sát các nút nhóm sẵn sàng và cung cấp chuyển đổi dự phòng tự động. Bắt đầu từ MS SQL Server 2017, Luôn bật có thể được sử dụng không có WSFC và trong Linux máy chủ lưu trữ. Khi xây dựng một cụm dựa trên Linux, bạn có thể sử dụng Pacemaker thay vì WSFC.

Luôn Bật có sẵn trong Tiêu chuẩn ấn bản, nhưng nó có một số hạn chế:

  • Nó được giới hạn ở 2 bản sao (chính và phụ);
  • Bản sao phụ không thể được sử dụng để đọc dữ liệu;
  • Bản sao phụ không thể được sử dụng để sao lưu MS SQL;
  • Chỉ 1 cơ sở dữ liệu cho mỗi nhóm khả dụng được hỗ trợ.

Không có hạn chế nào trong Doanh nghiệp phiên bản.

Bạn có thể đọc về các khía cạnh cấp phép MS SQL Server tại đây.

Hãy xem xét các điều khoản.

  • Nhóm Luôn sẵn sàng là một tập hợp các bản sao và cơ sở dữ liệu;
  • Bản sao là một phiên bản SQL Server trong nhóm khả dụng. Một bản sao có thể là chính hoặc phụ. Mỗi bản sao có thể chứa một hoặc nhiều cơ sở dữ liệu.

Always On dựa trên WSFC. Mỗi nút nhóm khả dụng phải là một thành viên của cụm chuyển đổi dự phòng Windows. Mỗi phiên bản SQL Server có thể có nhiều nhóm khả dụng. Mỗi nhóm khả dụng có thể có tối đa 8 bản sao thứ cấp.

Nếu một bản sao chính không thành công, cụm sẽ bỏ phiếu cho một bản sao chính mới và Always On sẽ biến một trong các bản sao thứ cấp trở thành bản sao chính. Vì người dùng kết nối với Trình nghe (địa chỉ IP cụm đặc biệt và tên DNS tương ứng) khi làm việc với Always On, có thể chạy lại truy vấn ghi. Trình xử lý cũng chịu trách nhiệm cân bằng các truy vấn CHỌN giữa các bản sao thứ cấp.

Định cấu hình Cụm chuyển đổi dự phòng Windows cho Nhóm Luôn sẵn sàng

Trước hết, chúng ta phải định cấu hình một cụm chuyển đổi dự phòng trên tất cả các nút được Always On sử dụng.

Đây là cấu hình của tôi:

  • 2 máy ảo chạy Windows Server 2019
  • 2 phiên bản SQL Server 2019 Enterprise
  • Tên máy chủ của nút là testnode1 và testnode2. Tên phiên bản SQL Server là node1 và node2.

Thêm Cụm chuyển đổi dự phòng bằng cách sử dụng Trình quản lý máy chủ hoặc cài đặt nó thông qua PowerShell:

Install-WindowsFeature –Name Failover-Clustering –IncludeManagementTools

Định cấu hình các nhóm luôn sẵn sàng hoạt động cao trên SQL Server

Quá trình cài đặt là tự động và bạn chưa cần định cấu hình bất kỳ thứ gì. Chạy Trình quản lý cụm chuyển đổi dự phòng snap-in (FailoverClusters.SnapInHelper.msc ) và tạo một cụm mới.

Định cấu hình các nhóm luôn sẵn sàng hoạt động cao trên SQL Server

Thêm tên của các máy chủ mà bạn muốn tham gia vào cụm của mình.

Định cấu hình các nhóm luôn sẵn sàng hoạt động cao trên SQL Server

Sau đó, trình hướng dẫn đề nghị thực hiện một số bài kiểm tra. Để làm điều đó, hãy chọn mục đầu tiên.

Định cấu hình các nhóm luôn sẵn sàng hoạt động cao trên SQL Server

Chỉ định tên cụm, chọn mạng và địa chỉ IP cụm. Tên cụm sẽ tự động xuất hiện trong DNS; bạn không cần tạo bản ghi DNS theo cách thủ công. Trong trường hợp của tôi, tên cụm là ClusterAG .

Định cấu hình các nhóm luôn sẵn sàng hoạt động cao trên SQL Server

Bỏ chọn các tùy chọn Thêm tất cả bộ nhớ đủ điều kiện vào cụm vì chúng tôi có thể thêm đĩa sau.

Định cấu hình các nhóm luôn sẵn sàng hoạt động cao trên SQL Server

Chỉ có hai nút trong cụm, vì vậy bạn phải định cấu hình Số lượng nhóm . Nhóm túc số là một cuộc bỏ phiếu. Ví dụ:nếu một trong các nút cụm trở nên không khả dụng, cụm phải phát hiện, các nút nào thực sự trực tuyến và có thể nhìn thấy nhau. Nhóm túc số cung cấp tính nhất quán của cụm (Cụm -> Tác vụ khác -> Định cấu hình Cài đặt nhóm túc số).

Định cấu hình các nhóm luôn sẵn sàng hoạt động cao trên SQL Server

Chọn tùy chọn nhân chứng túc số.

Định cấu hình các nhóm luôn sẵn sàng hoạt động cao trên SQL Server

Sau đó, chọn loại nhân chứng:nhân chứng chia sẻ tệp.

Định cấu hình các nhóm luôn sẵn sàng hoạt động cao trên SQL Server

Chỉ định một đường dẫn UNC đến thư mục được chia sẻ. Tự tạo thư mục. Nó phải có trên máy chủ bên ngoài cụm chuyển đổi dự phòng của bạn.

Định cấu hình các nhóm luôn sẵn sàng hoạt động cao trên SQL Server

Khi định cấu hình cụm của mình, bạn có thể gặp lỗi sau:

There was an error configuring the file share witness. Unable to save property changes for File Share Witness. The system cannot find the file specified.

Có thể là tài khoản người dùng mà cụm đang chạy, không có quyền NTFS để truy cập vào thư mục được chia sẻ. Theo mặc định, cụm đang chạy trong tài khoản người dùng cục bộ. Bạn có thể cấp đặc quyền trên thư mục cho tất cả các máy tính cụm hoặc thay đổi tài khoản cho dịch vụ cụm và cấp cho nó các đặc quyền liên quan.

Cấu hình Cụm chuyển đổi dự phòng Windows cơ bản đã kết thúc.

Định cấu hình Nhóm Luôn sẵn sàng trên MS SQL Server

Sau khi cài đặt phiên bản SQL Server điển hình, bạn có thể kích hoạt và định cấu hình Nhóm Luôn sẵn sàng. Bật chúng trong thuộc tính phiên bản của Trình quản lý cấu hình máy chủ SQL . Như bạn có thể thấy trong ảnh chụp màn hình, SQL Server đã phát hiện ra rằng nó thuộc về một cụm WSFC. Chọn Bật nhóm luôn bật và khởi động lại dịch vụ phiên bản MSSQL. Làm tương tự cho trường hợp thứ hai.

Định cấu hình các nhóm luôn sẵn sàng hoạt động cao trên SQL Server

Mẹo. Trước khi cấu hình Always On, hãy đảm bảo rằng các dịch vụ SQL Server không chạy trong tài khoản hệ thống cục bộ. Bạn nên sử dụng Tài khoản dịch vụ được quản lý theo nhóm hoặc tài khoản miền thông thường. Nếu không, bạn sẽ không thể hoàn thành cấu hình Luôn bật.

Chạy SQL Server Management Studio, kết nối với máy chủ của bạn, nhấp vào Luôn ở trạng thái sẵn sàng cao, và chạy Trình hướng dẫn nhóm sẵn có mới.

Trong SQL Server Management Studio 18.x dành cho SQL Server 2017 và SQL Server 2019, một số cài đặt Luôn bật đã xuất hiện chỉ khả dụng trong T-SQL, vì vậy bạn nên sử dụng phiên bản SSMS mới nhất.

Định cấu hình các nhóm luôn sẵn sàng hoạt động cao trên SQL Server

Chỉ định tên cho nhóm Luôn sẵn sàng của bạn và chọn Phát hiện tình trạng mức cơ sở dữ liệu . Sử dụng tùy chọn này, Always On sẽ có thể phát hiện khi cơ sở dữ liệu không lành mạnh.

Định cấu hình các nhóm luôn sẵn sàng hoạt động cao trên SQL Server

Chọn cơ sở dữ liệu SQL Server để thêm vào nhóm Luôn sẵn sàng của bạn.

Định cấu hình các nhóm luôn sẵn sàng hoạt động cao trên SQL Server

Nhấp vào Thêm bản sao và kết nối máy chủ SQL thứ hai. Do đó, bạn có thể thêm tối đa 8 máy chủ.

  • Vai trò Ban đầu là một vai trò sao chép vào thời điểm một nhóm đã được tạo. Nó có thể là Chính hoặc Phụ;
  • Tự động chuyển đổi dự phòng - nếu cơ sở dữ liệu không khả dụng, Always On sẽ chuyển vai trò chính sang một bản sao khác. Kiểm tra mục này;
  • Chế độ Khả dụng cho phép chọn Cam kết đồng bộ hoặc Cam kết không đồng bộ. Nếu bạn chọn một chế độ đồng bộ, các giao dịch đến với bản sao chính sẽ được gửi đến tất cả các bản sao thứ cấp khác với chế độ đồng bộ. Bản sao chính kết thúc giao dịch chỉ sau khi các bản sao khác đã ghi nó trên đĩa. Do đó, mất mát dữ liệu được loại bỏ nếu bản sao chính bị lỗi. Trong chế độ không đồng bộ, bản sao chính ghi các thay đổi ngay lập tức mà không cần đợi phản hồi của các bản sao khác.
  • Thứ cấp có thể đọc được là một tham số cho phép chạy các truy vấn SELECT đối với các bản sao thứ cấp. Nếu giá trị là có, khách hàng sẽ có thể có quyền truy cập chỉ đọc ngay cả khi kết nối mà không có ApplicationIntent=readonly .
  • Các bản thứ hai được đồng bộ hóa bắt buộc để cam kết là số lượng bản sao thứ cấp được đồng bộ hóa để kết thúc giao dịch. Đặt nó tùy thuộc vào số lượng bản sao, tôi sẽ đặt nó thành 1.

Định cấu hình các nhóm luôn sẵn sàng hoạt động cao trên SQL Server

Không chỉnh sửa bất kỳ thứ gì trong Điểm cuối tab.

Trong Tùy chọn sao lưu , bạn có thể chọn nơi thực hiện các bản sao lưu. Để cài đặt mặc định tại đây: Ưu tiên phụ .

Định cấu hình các nhóm luôn sẵn sàng hoạt động cao trên SQL Server

Chỉ định tên, cổng và địa chỉ IP của trình nghe nhóm khả dụng.

Định cấu hình các nhóm luôn sẵn sàng hoạt động cao trên SQL Server

Rời khỏi Định tuyến chỉ đọc cài đặt không thay đổi.

Chọn kiểu đồng bộ hóa bản sao. Tôi để lại mục đầu tiên ( Tự động gieo hạt ) đã kiểm tra.

Định cấu hình các nhóm luôn sẵn sàng hoạt động cao trên SQL Server

Sau đó, cài đặt của bạn phải được xác thực. Nếu không có lỗi, hãy nhấp vào Hoàn tất để áp dụng các thay đổi.

Trong trường hợp của tôi, tất cả các thử nghiệm đã thành công, nhưng trong bước Kết quả sau khi cài đặt, trình hướng dẫn hiển thị lỗi khi tạo trình nghe nhóm khả dụng. Lỗi EVENTID 1194 xuất hiện trong nhật ký sự kiện cụm:

Cluster network name resource failed to create its associated computer object in the domain.

Điều đó có nghĩa là cụm không có đủ quyền để tạo trình nghe. Tài liệu nói rằng chỉ cần cấp một đặc quyền để tạo các đối tượng kiểu máy tính cho đối tượng trong cụm của bạn là đủ. Sẽ dễ dàng thực hiện hơn bằng cách sử dụng ủy quyền đặc quyền trong AD (hoặc một cách nhanh chóng, nhưng biến thể không an toàn là thêm tạm thời đối tượng CLUSTERAG $ vào nhóm Quản trị viên miền).

Khi chẩn đoán sự cố Luôn bật và hiệu suất SQL thấp trong nhóm khả dụng, bạn nên nghiên cứu kỹ lưỡng nhật ký cụm Windows ngoài việc sử dụng các công cụ chẩn đoán SQL Server tiêu chuẩn.

Vì tôi đã tạo nhóm khả dụng, nhưng không phải người nghe, tôi đã thêm nhóm đó theo cách thủ công. Mở trình đơn ngữ cảnh cho nhóm khả dụng của bạn và nhấp vào Thêm trình nghe .

Định cấu hình các nhóm luôn sẵn sàng hoạt động cao trên SQL Server

Chỉ định địa chỉ IP, cổng và tên DNS của trình nghe.

Đảm bảo rằng Trình nghe đã xuất hiện trong Trình nghe nhóm khả dụng trong nhóm Luôn bật của bạn.

Như vậy, bạn đã hoàn thành cấu hình cơ bản của nhóm Luôn sẵn sàng.

SQL Server Always On:Kiểm tra hoạt động &chuyển đổi dự phòng

Chúng ta hãy xem qua Trang tổng quan về nhóm sẵn có (Hiển thị trang tổng quan).

Định cấu hình các nhóm luôn sẵn sàng hoạt động cao trên SQL Server

Không sao cả, nhóm đã được tạo và đang hoạt động.

Định cấu hình các nhóm luôn sẵn sàng hoạt động cao trên SQL Server

Hãy thử đặt node2 làm phiên bản chính theo cách thủ công. Nhấp chuột phải vào nhóm khả dụng và chọn Chuyển đổi dự phòng .

Định cấu hình các nhóm luôn sẵn sàng hoạt động cao trên SQL Server

Lưu ý giá trị trong Sẵn sàng chuyển đổi dự phòng . Không mất dữ liệu nghĩa là không có dữ liệu nào bị mất.

Định cấu hình các nhóm luôn sẵn sàng hoạt động cao trên SQL Server

Kết nối với node2.

Nhấp vào Hoàn tất.

Đảm bảo rằng node2 đã trở thành bản sao chính (Bản sao chính) trong nhóm khả dụng.

Đảm bảo rằng người nghe đang hoạt động chính xác. Chỉ định tên DNS của trình xử lý và cổng được phân tách bằng dấu phẩy trong SSMS:ag1-listener-1,1445

Định cấu hình các nhóm luôn sẵn sàng hoạt động cao trên SQL Server

Chạy chèn đơn giản, chọn và cập nhật các truy vấn SQL vào cơ sở dữ liệu của bạn.

Định cấu hình các nhóm luôn sẵn sàng hoạt động cao trên SQL Server

Sau đó kiểm tra chuyển đổi dự phòng tự động của bản sao chính. Chỉ cần diệt quá trình sqlservr.exe trên TESTNODE2.

Kiểm tra trạng thái nhóm khả dụng trên nút còn lại:TESTNODE1 \ NODE1.

Định cấu hình các nhóm luôn sẵn sàng hoạt động cao trên SQL Server

Cụm đã tự động thay đổi trạng thái testnode1 \ node1 thành trạng thái chính vì testnode2 \ node2 không khả dụng.

Kiểm tra trạng thái người nghe vì máy khách sẽ sử dụng nó để kết nối.

Trong trường hợp của tôi, tôi đã kết nối thành công với trình nghe, nhưng khi cố gắng truy cập cơ sở dữ liệu, tôi gặp lỗi này:

Unable to access database 'TestDatabase' because it lacks a quorum of nodes for high availability. Try the operation again later.

Lỗi đã xuất hiện do Số thứ hai được đồng bộ hóa bắt buộc phải thực hiện Lựa chọn. Vì chúng tôi đặt giá trị của nó thành 1 khi định cấu hình nó, nên Always On không cho phép nó kết nối với cơ sở dữ liệu, vì chúng tôi chỉ còn lại một bản sao chính.

Định cấu hình các nhóm luôn sẵn sàng hoạt động cao trên SQL Server

Đặt giá trị thành 0 và thử chạy lại truy vấn.

Testnode1 giữ trạng thái phiên bản Chính, trong khi testnode2 trở thành trạng thái phụ. Dữ liệu chúng tôi đã thay đổi trên testnode1 khi tắt nguồn testnode2 được đồng bộ hóa thành công sau khi máy tính được bật.

Vì vậy, chúng tôi đã đảm bảo rằng mọi thứ hoạt động chính xác và dữ liệu sẽ có sẵn để đọc / ghi trong trường hợp có sự cố nghiêm trọng.

Bạn có thể dễ dàng cấu hình các nhóm luôn sẵn sàng hoạt động. Nếu bạn muốn xây dựng giải pháp chuyển đổi dự phòng dựa trên SQL Server, các nhóm khả dụng sẽ quản lý tốt.