Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Tìm hiểu Luôn luôn BẬT Nhóm sẵn có giữa các Phiên bản Máy chủ SQL dựa trên Linux. Phần 1

SQL Server Luôn BẬT Nhóm sẵn sàng là một giải pháp nhằm đạt được tính khả dụng cao và khôi phục thảm họa cho cơ sở dữ liệu SQL Server. Chúng tôi có thể định cấu hình chức năng này giữa cài đặt SQL Server dựa trên Windows, cài đặt SQL Server dựa trên Linux và thậm chí giữa các cài đặt SQL Server dựa trên Linux và Windows với nhau.

Nhóm khả dụng được tích hợp chặt chẽ với các công nghệ cụm dưới dạng tự động chuyển đổi dự phòng và bảo vệ dữ liệu bằng cách sao chép dữ liệu sang các bản sao thứ cấp tương ứng của chúng. Tuy nhiên, không phải lúc nào cũng bắt buộc phải có trình quản lý tài nguyên cụm để định cấu hình các nhóm khả dụng.

Để định cấu hình các nhóm khả dụng của Máy chủ SQL, chúng tôi cần WSFC - Cụm chuyển đổi dự phòng Windows Server công nghệ dành cho Windows cài đặt SQL Server dựa trên cơ sở và PACEMAKER cho Linux cài đặt SQL Server dựa trên cơ sở.

PACEMAKER là trình quản lý tài nguyên cụm mã nguồn mở mà chúng tôi có thể sử dụng để quản lý tài nguyên và đảm bảo tính khả dụng của hệ thống, nếu xảy ra bất kỳ lỗi nào trên hệ thống Linux.

WSFC là một sản phẩm của Microsoft được phát triển để hỗ trợ các yêu cầu cụm dựa trên Windows.

Khi bạn xem xét các Nhóm khả dụng được định cấu hình trong SQL Server cho cả hai loại hệ điều hành, nó có vẻ tương tự trong SQL Server Management Studio.

Tuy nhiên, bài viết này giải thích Nhóm khả dụng giữa Máy chủ SQL dựa trên Ubuntu Linux cài đặt bằng PACEMAKER công nghệ cụm nên tôi sẽ chỉ xem xét cấu hình này.

Cấu hình loại cụm

Như tôi đã nêu ở trên, chúng tôi có ba biến thể để định cấu hình Nhóm khả dụng cho SQL Server, tùy thuộc vào hệ điều hành:

  • giữa các cài đặt SQL Server dựa trên Windows;
  • giữa các cài đặt SQL Server dựa trên Linux;
  • giữa kiểu cài đặt SQL Server dựa trên Windows và Linux kết hợp.

Microsoft đã giới thiệu Cluster_type cài đặt cấu hình để xác định và định cấu hình một công nghệ cụm thích hợp cho Nhóm khả dụng. Nó là một mục cấu hình xác định loại công nghệ cụm mà chúng tôi sử dụng cho Nhóm khả dụng, bất kể phiên bản SQL Server dựa trên hệ điều hành nào.

Bạn có thể tìm nạp và xác thực cấu hình hiện có của loại Cụm bằng cách sử dụng Chế độ xem quản lý động SQL Server (DMV) sys.available_groups . Có hai cột có tên cluster_type cluster_type_desc . Chúng tôi có thể đọc các cột này để xác định cấu hình loại cụm của thiết lập Nhóm khả dụng.

Cài đặt cấu hình này có 3 giá trị để đáp ứng các yêu cầu công nghệ cụm cho mỗi biến thể:

WSFC .Bạn phải sử dụng tùy chọn WSFC (cụm chuyển đổi dự phòng máy chủ Windows) nếu bạn có cài đặt SQL Server dựa trên Windows. Nó không được hỗ trợ cho cài đặt SQL Server dựa trên Linux.

BÊN NGOÀI . Nếu bạn đang định cấu hình Nhóm khả dụng giữa các bản cài đặt Máy chủ SQL dựa trên Linux, bạn phải sử dụng trình quản lý cụm PACEMAKER và chọn BÊN NGOÀI cụm loại . Chế độ chuyển đổi dự phòng cũng phải là BÊN NGOÀI (trong WSFC, chế độ này sẽ là Tự động).

KHÔNG . Nếu bạn không muốn sử dụng bất kỳ công nghệ phân nhóm nào cho các Nhóm khả dụng của mình, hãy chọn KHÔNG PHẢI . Tùy chọn này có thể áp dụng nếu bạn muốn định cấu hình Nhóm khả dụng giữa các phiên bản Máy chủ SQL dựa trên Linux và Windows. Ngay cả khi bạn đã định cấu hình phân nhóm cho hệ thống của mình, sau khi bạn đặt giá trị loại cụm thành NONE, Nhóm khả dụng sẽ không sử dụng công nghệ cụm. Chế độ chuyển đổi dự phòng cho loại cụm NONE luôn là Thủ công .

Cài đặt mới:Cam kết số thứ hai được đồng bộ hóa bắt buộc

Bắt đầu với SQL Server 2017, Microsoft đã giới thiệu một cài đặt mới có tên required_synchronized_secondaries_to_commit . Nó cho phép tùy chọn chuyển đổi dự phòng tự động nếu bạn đã định cấu hình loại cụm là BÊN NGOÀI cho cấu hình cụm PACEMAKER.

Giá trị của cài đặt này được đặt theo mặc định khi bạn định cấu hình tác nhân tài nguyên Máy chủ SQL mssql-server-ha và tạo cấu hình cụm.

Ngoài ra, bạn có thể sửa đổi thủ công giá trị cho các yêu cầu của mình bằng cách chạy lệnh dưới đây:

--Run below commands to change value for setting required_synchronized_secondaries_to_commit
--AGResourceName is the name of the resource configured for the Availability group
sudo pcs resource update <AGResourceName> required_synchronized_secondaries_to_commit=<Value>

Lưu ý:Chúng tôi chỉ có thể thay đổi cài đặt trên thông qua Pacemaker trên Linux. Không thể sửa đổi nó bằng cách sử dụng câu lệnh T-SQL cho các triển khai dựa trên Linux. Tuy nhiên, đối với các triển khai dựa trên Windows, chúng tôi có thể thay đổi cài đặt này bằng câu lệnh T-SQL.

Dưới đây là các giá trị có thể có cho required_synchronized_secondaries_to_commit

0 - Có nghĩa là các bản sao thứ cấp không cần phải được đồng bộ với bản sao chính tương ứng. Do đó, nó không hỗ trợ chuyển đổi dự phòng tự động. Bạn cần bắt đầu chuyển đổi dự phòng theo cách thủ công nếu bản sao chính gặp sự cố. Quan trọng:có khả năng mất dữ liệu khi bạn chọn giá trị này cho cấu hình.

1 - Có nghĩa là ít nhất một bản sao thứ cấp phải ở trạng thái đồng bộ hóa để có thể tự động chuyển đổi dự phòng.

2 - Có nghĩa là cả hai bản sao thứ cấp phải được đồng bộ với bản sao chính. Chuyển đổi dự phòng tự động được hỗ trợ.

Bản sao để tham gia vào nhóm sẵn sàng

Số lượng bản sao có thể tham gia vào Nhóm khả dụng phụ thuộc vào phiên bản SQL Server đã cài đặt.

  • Máy chủ SQL Tiêu chuẩn phiên bản chỉ hỗ trợ bản sao hai nút cho Nhóm khả dụng cùng với bản sao chỉ cấu hình bổ sung.
  • Máy chủ SQL Doanh nghiệp phiên bản hỗ trợ lên đến chín bản sao - một bản sao chính và tám bản sao phụ.

Vì SQL Server Standard Edition chỉ hỗ trợ hai bản sao (một bản sao chính và một bản sao phụ), Microsoft đã giới thiệu một khái niệm mới được gọi là bản sao chỉ cấu hình trong SQL Server 2017 CU1 để đạt được chuyển đổi dự phòng tự động cho Máy chủ SQL chạy trên hệ thống Linux.

Có hai phương án thiết kế khả thi:

  • Ba bản sao đồng bộ. Cấu hình này chỉ có thể được triển khai với phiên bản SQL Server Enterprise. Sẽ có 3 bản sao của cơ sở dữ liệu về tính khả dụng của bạn. Kiến trúc này cho phép cả 3 chức năng đều có quy mô đọc, tính khả dụng cao và bảo vệ dữ liệu.
  • Hai bản sao đồng bộ và một bản sao chỉ cấu hình. Bạn cũng có thể định cấu hình thiết kế này với sự trợ giúp của phiên bản SQL Server Standard, chạy hai bản sao đồng bộ trên phiên bản SQL Server Standard và 3 bản sao trên phiên bản SQL Server Express hoạt động như bản sao chỉ cấu hình. Đây là một thiết kế hiệu quả về chi phí, hỗ trợ tính sẵn sàng cao với tính năng tự động chuyển đổi dự phòng và bảo vệ cơ sở dữ liệu.

Bản sao hai nút

Cấu hình bản sao hai nút cho Nhóm sẵn sàng là một tùy chọn triển khai rất phổ biến để đảm bảo tính sẵn sàng cao của cơ sở dữ liệu SQL Server. Chúng tôi đạt được chuyển đổi dự phòng tự động với sự trợ giúp của công nghệ Cụm chuyển đổi dự phòng Windows Server và nhân chứng chia sẻ tệp trong triển khai SQL Server dựa trên Windows.

Chia sẻ tệp thường được sử dụng trên một nút bổ sung trong WSFC để cung cấp cấu hình số đại biểu cho cấu hình bản sao hai nút. WSFC đồng bộ hóa tất cả siêu dữ liệu cấu hình với cả bản sao và trên nút thứ ba hoặc nhân chứng chia sẻ tệp để chuyển đổi dự phòng suôn sẻ. Tất cả phân xử chuyển đổi dự phòng cho nhóm khả dụng của SQL Server dựa trên Windows đều xảy ra ở lớp WSFC.

Nếu chúng tôi muốn đạt được chuyển đổi dự phòng tự động cho việc triển khai Nhóm khả dụng máy chủ SQL dựa trên Linux, thì cấu hình trên sẽ không hoạt động. Đó là vì WSFC chỉ có thể được sử dụng cho cài đặt SQL Server dựa trên Windows.

Để giải quyết hạn chế này và cho phép tự động chuyển đổi dự phòng cho các triển khai hai bản sao dựa trên Linux, Microsoft đã đưa ra một khái niệm mới.

Bản sao chỉ cấu hình

Bản sao chỉ cấu hình là một tùy chọn trong đó chúng tôi cài đặt một phiên bản bổ sung của SQL Server trên nút thứ ba. Nút đó sẽ hoạt động như một máy chủ nhân chứng cho cấu hình bản sao hai nút để hỗ trợ chuyển đổi dự phòng tự động. Chúng tôi có thể tạo một bản sao chỉ cấu hình cho mỗi Nhóm sẵn có .

Đối với Phiên bản máy chủ SQL dựa trên Linux trong đó chúng tôi sử dụng loại cụm là BÊN NGOÀI cho PACEMAKER, phân xử chuyển đổi dự phòng không hoạt động ở lớp cụm như WSFC. Tất cả phân xử chuyển đổi dự phòng xảy ra ở lớp SQL Server vì tất cả siêu dữ liệu cấu hình nhóm khả dụng được lưu trữ trong cơ sở dữ liệu chính của mỗi bản sao.

Microsoft đã giới thiệu khái niệm bản sao chỉ cấu hình để xử lý số đại biểu cho các Nhóm khả dụng máy chủ SQL dựa trên Linux. Khái niệm này không lưu trữ bất kỳ cơ sở dữ liệu người dùng nào để tham gia vào nhóm khả dụng. Nó lưu trữ tất cả thông tin cấu hình Nhóm khả dụng trong cơ sở dữ liệu chính để đảm bảo rằng tất cả phân xử chuyển đổi dự phòng diễn ra suôn sẻ.

Bạn có thể sử dụng bất kỳ phiên bản SQL Server nào cho bản sao chỉ cấu hình. Ngay cả phiên bản SQL Server Express cũng sẽ phù hợp để tiết kiệm chi phí giấy phép của bạn cho bản sao thứ ba. Hãy nhớ rằng, bản sao chỉ cấu hình sẽ không lưu trữ bất kỳ cơ sở dữ liệu nào trong nhóm khả dụng. Do đó, bạn sẽ chỉ có hai bản sao của cơ sở dữ liệu trong một nhóm khả dụng.

Theo mặc định, required_synchronized_secondaries_to_commit được đặt thành 0 khi chúng tôi sử dụng bản sao chỉ cấu hình. Chúng tôi có thể sửa đổi thủ công giá trị này thành 1 nếu cần.

Hãy xem sơ đồ thiết kế của bản sao đồng bộ hai nút và bản sao chỉ cấu hình để đạt được chuyển đổi dự phòng tự động và bảo vệ dữ liệu.

Chúng ta có thể thấy có 3 máy ảo tên là AOAGVM1, AOAGVM2 &AOAGVM3. Tất cả chúng đều đang chạy bởi hệ thống Ubuntu Linux và SQL Server được cấu hình trên cả ba hệ thống Linux. Cơ sở dữ liệu về tính khả dụng được lưu trữ trên AOAGVM1 và AOAGVM2.

AOAGVM1 hoạt động như một bản sao chính, trong khi AOAGVM2 là một bản sao thứ cấp. AOAGVM3 đóng vai trò là bản sao chỉ cấu hình, là phiên bản SQL Server Express. Không có cơ sở dữ liệu người dùng nào được lưu trữ trên bản sao thứ ba này.

Cụm máy tạo nhịp tim đã được định cấu hình giữa tất cả ba nút để hỗ trợ công nghệ cụm cho cấu hình nhóm khả dụng dựa trên Linux.

Để cấu hình hoặc triển khai thiết kế trên, chúng ta cần thực hiện các bước sau:

  1. Cài đặt SQL Server trên ba hệ thống Ubuntu (phiên bản SQL Server Express sẽ phù hợp với bản sao chỉ cấu hình).
  2. Định cấu hình Nhóm khả dụng giữa ba nút.
  3. Định cấu hình Cụm PACEMAKER giữa ba nút.
  4. Thêm hoặc tích hợp Nhóm sẵn sàng làm tài nguyên trong nhóm cụm.

Hãy xem bài viết liên quan để hoàn thành bước 1 (cài đặt các phiên bản SQL Server trên ba nút).

Hãy theo dõi bài viết tiếp theo của tôi, nơi tôi sẽ giải thích quy trình từng bước để triển khai thiết kế ở trên. Mục tiêu của chúng tôi là đạt được chuyển đổi dự phòng tự động và bảo vệ dữ liệu bằng cách sử dụng bản sao đồng bộ 2 nút và bản sao chỉ cấu hình.

Chúng tôi rất vui khi nghe những suy nghĩ và mẹo thiết thực của bạn về vấn đề này. Vui lòng chia sẻ chúng trong phần Nhận xét.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách kiểm tra xem một thủ tục được lưu trữ có tồn tại hay không trước khi tạo nó

  2. Có bất kỳ nhược điểm nào khi luôn sử dụng nvarchar (MAX) không?

  3. SQL Server:Cách chọn tất cả các ngày trong một phạm vi ngày ngay cả khi không có dữ liệu nào tồn tại trong một số ngày

  4. Kiểm tra tình trạng máy chủ SQL chủ động, Phần 3:Cài đặt phiên bản và cơ sở dữ liệu

  5. Trả về loại của trình kích hoạt DML trên bảng trong SQL Server