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

Triển khai SQL Server AlwaysOn Av available Groups trên Linux

Trong bài viết trước, tôi đã giải thích cách chúng ta có thể cài đặt Ubuntu 18.04 và SQL Server 2019 trên máy ảo. Bây giờ, trước khi tiếp tục, hãy xem qua cấu hình.

Chúng tôi đã tạo ba máy ảo và thông tin chi tiết như sau:

Tên máy chủ Địa chỉ IP Vai trò
LinuxSQL01 192.168.0.140 Bản sao chính
LinuxSQL02 192.168.0.141 Bản sao phụ đồng bộ
LinuxSQL03 192.168.0.142 Bản sao phụ không đồng bộ

Cập nhật tệp máy chủ.

Trong cấu hình, chúng tôi không sử dụng máy chủ miền. Do đó, để giải quyết tên máy chủ, chúng ta phải thêm một mục nhập trong tệp máy chủ lưu trữ.

Tệp máy chủ lưu trữ nằm trên / etc danh mục. Chạy lệnh dưới đây để chỉnh sửa tệp:

[email protected]:/# vim /etc/hosts

Trong tệp máy chủ lưu trữ, nhập tên máy chủ và địa chỉ IP của tất cả các máy ảo:

Lưu tệp máy chủ.

Thực hiện các bước tương tự trên tất cả các máy ảo.

Bật nhóm SQL Server AlwaysOn

Trước khi triển khai AlwaysOn, chúng ta phải bật tính năng sẵn sàng cao trong SQL Server.

Trong Windows Server 2016, tùy chọn này có thể được bật từ trình quản lý cấu hình SQL Server, nhưng trong nền tảng Linux, chúng ta phải thực hiện bằng lệnh bash.

Kết nối với LinuxSQL01 bằng Putty và chạy lệnh sau:

[email protected]:~# sudo /opt/mssql/bin/mssql-conf set hadr.hadrenabled  1

Khởi động lại các dịch vụ SQL Server:

[email protected]:~# service mssql-server restart

Thực hiện các bước trên trên tất cả các máy ảo.

Tạo chứng chỉ để xác thực

Không giống như AlwaysOn trên máy chủ Windows, việc triển khai Linux không yêu cầu bộ điều khiển miền. Để xác thực và giao tiếp giữa các bản sao chính và phụ, nó sử dụng chứng chỉ.

Tập lệnh sau tạo chứng chỉ và khóa chính. Sau đó, nó sao lưu chứng chỉ và bảo mật bằng mật khẩu.

Kết nối với LinuxSQL01 và chạy tập lệnh sau:

CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'abcd!1234';
CREATE CERTIFICATE AG_Auth_Cert WITH SUBJECT = 'dbm';
BACKUP CERTIFICATE AG_Auth_Cert
   TO FILE = '/var/opt/mssql/data/ AG_Auth_Cert_backup.cer'
   WITH PRIVATE KEY (
           FILE = '/var/opt/mssql/data/ AG_Auth_Cert_backup.pvk',
           ENCRYPTION BY PASSWORD = 'abcd!1234'
       );

Khi chúng tôi nhận được chứng chỉ và khóa chính được tạo, chúng tôi sao chép chúng vào các bản sao thứ cấp (LinuxSQL02 và LinuxSQL03) bằng cách chạy lệnh dưới đây.

Đảm bảo rằng khóa chính và vị trí của chứng chỉ giống nhau trên tất cả các bản sao và có quyền đọc-ghi.

/*Copy certificate and the key to LinuxSQL02*/

scp /var/opt/mssql/data/AG_Auth_Cert_backup.cer [email protected]:/var/opt/mssql/data/
scp /var/opt/mssql/data/AG_Auth_Cert_backup.pvk   [email protected]:/var/opt/mssql/data/

/*Copy certificate and the key to LinuxSQL03*/

scp /var/opt/mssql/data/AG_Auth_Cert_backup.cer   [email protected]:/var/opt/mssql/data/
scp /var/opt/mssql/data/AG_Auth_Cert_backup.pvk   [email protected]:/var/opt/mssql/data/

Thực thi lệnh sau trên các nút phụ để cấp quyền đọc-ghi trên chứng chỉ và khóa cá nhân:

/*Grant read-write permission on certificate and key to [email protected]*/

[email protected]:~# chmod 777 /var/opt/mssql/data/AG_Auth_Cert_backup.pvk
[email protected]:~# chmod 777 /var/opt/mssql/data/AG_Auth_Cert_backup.cer

/*Grant read-write permission on certificate and key to [email protected]*/

[email protected]:~# chmod 777 /var/opt/mssql/data/AG_Auth_Cert_backup.pvk
[email protected]:~# chmod 777 /var/opt/mssql/data/AG_Auth_Cert_backup.cer

Sau khi quyền được chỉ định, chúng tôi tạo chứng chỉ và khóa chính bằng cách sử dụng bản sao lưu chứng chỉ và khóa chính được tạo trên LinuxSQL01.

Để làm điều đó, hãy chạy lệnh sau trên cả hai bản sao phụ:

CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'abcd!1234';
CREATE CERTIFICATE AG_Auth_Cert
    FROM FILE = '/var/opt/mssql/data/AG_Auth_Cert_backup.cer'
    WITH PRIVATE KEY (
    FILE = '/var/opt/mssql/data/AG_Auth_Cert_backup.pvk',
    DECRYPTION BY PASSWORD = 'abcd!1234'
            );

Khi chúng tôi đã tạo chứng chỉ và khóa chính, chúng tôi sẽ định cấu hình các điểm sao chép cơ sở dữ liệu.

Tạo điểm cuối phản chiếu

Để giao tiếp giữa các bản sao chính và phụ, SQL Server sử dụng các điểm cuối sao chép.

Điểm cuối sao chép sử dụng giao thức TCP / IP để gửi và nhận tin nhắn từ các bản sao chính và phụ, đồng thời lắng nghe trên một cổng TCP / IP duy nhất.

Chạy tập lệnh sau để tạo một điểm cuối trên các nút Chính và Phụ:

/*Run this script on LinuxSQL01*/

CREATE ENDPOINT [AG_LinuxSQL01]
    AS TCP (LISTENER_PORT = 5022)
    FOR DATABASE_MIRRORING (
	    ROLE = ALL,
	    AUTHENTICATION = CERTIFICATE AG_Auth_Cert,
		ENCRYPTION = REQUIRED ALGORITHM AES
		);
ALTER ENDPOINT [AG_LinuxSQL01] STATE = STARTED;

/*Run this script on LinuxSQL02*/

CREATE ENDPOINT [AG_LinuxSQL02]
    AS TCP (LISTENER_PORT = 5022)
    FOR DATABASE_MIRRORING (
	    ROLE = ALL,
	    AUTHENTICATION = CERTIFICATE AG_Auth_Cert,
		ENCRYPTION = REQUIRED ALGORITHM AES
		);

ALTER ENDPOINT [AG_LinuxSQL02] STATE = STARTED;

/*Run this script on LinuxSQL03*/

CREATE ENDPOINT [AG_LinuxSQL03]
    AS TCP (LISTENER_PORT = 5022)
    FOR DATABASE_MIRRORING (
	    ROLE = ALL,
	    AUTHENTICATION = CERTIFICATE AG_Auth_Cert,
		ENCRYPTION = REQUIRED ALGORITHM AES
		);
ALTER ENDPOINT [AG_LinuxSQL03] STATE = STARTED;

Khi các điểm phản chiếu đã được tạo, hãy để chúng tôi tạo một nhóm khả dụng.

Tạo nhóm khả dụng

Chúng tôi sẽ định cấu hình AlwaysON bằng cách sử dụng SQL Server Management Studio.

Đầu tiên, khởi chạy nó và kết nối với phiên bản LinuxSQL01 bằng sa thông tin xác thực. Sau khi được kết nối với phiên bản SQL Server, nhấp chuột phải vào Luôn ở trạng thái sẵn sàng cao và chọn Trình hướng dẫn Nhóm Khả dụng Mới .

Trình hướng dẫn nhóm khả dụng bắt đầu.

1. Giới thiệu

Trong một Giới thiệu , xem danh sách nhiệm vụ sẽ được thực hiện bởi trình hướng dẫn nhóm khả dụng. Nhấp vào Tiếp theo.

2. Chỉ định tùy chọn nhóm khả dụng

Trên màn hình Chỉ định tùy chọn nhóm khả dụng, cung cấp tên nhóm khả dụng mong muốn và chọn BÊN NGOÀI từ Loại cụm trình đơn thả xuống.

Ngoài ra, hãy đánh dấu kiểm cho Phát hiện tình trạng mức cơ sở dữ liệu hộp kiểm. Nó cho phép phiên sự kiện kéo dài để có được sức khỏe nhóm.

3. Chọn cơ sở dữ liệu

Bạn có thể chọn cơ sở dữ liệu để thêm vào nhóm khả dụng trên Chọn cơ sở dữ liệu màn hình. Lưu ý:Cơ sở dữ liệu phải đáp ứng các điều kiện tiên quyết sau:

  1. Cơ sở dữ liệu phải ở trong mô hình khôi phục ĐẦY ĐỦ.
  2. Một bản sao lưu ĐẦY ĐỦ của cơ sở dữ liệu phải được tạo.

Tôi đã khôi phục bản sao lưu của WideWorldImportors cơ sở dữ liệu trên bản sao chính. Cơ sở dữ liệu ở trong FULL mô hình khôi phục và một bản sao lưu đầy đủ đã được tạo.

Chọn Nhà nhập khẩu WideWorld cơ sở dữ liệu từ danh sách và nhấp vào Tiếp theo .

4. Chỉ định bản sao

Trên Chỉ định bản sao màn hình, chúng tôi có một số tab để định cấu hình các tùy chọn khác nhau. Hãy xem lại tất cả.

Tab bản sao

Ở đây, chúng tôi chỉ định các bản sao chính và phụ, chế độ khả dụng và chế độ chuyển đổi dự phòng.

Chúng tôi sử dụng LinuxSQL01 như một bản sao chính. LinuxSQL02 LinuxSQL03 là một bản sao thứ cấp.

Chế độ khả dụng cho LinuxSQL02 sẽ là Cam kết đồng bộ và cho LinuxSQL03 sẽ là Cam kết không đồng bộ .

Để thêm bản sao, hãy nhấp vào Thêm bản sao . Sau đó, trên Kết nối với máy chủ hộp thoại, chỉ định tên máy chủ và chi tiết Đăng nhập SQL để kết nối với phiên bản:

Tab Điểm cuối

Tại đây, chúng ta có thể xem danh sách các bản sao và điểm cuối sao chép của chúng với số cổng và tên tương ứng:

Tùy chọn sao lưu

Tại đây, bạn chỉ định bản sao mà bạn muốn sử dụng để tạo bản sao lưu. Tùy chọn này hữu ích khi bạn muốn giảm tải quá trình sao lưu cơ sở dữ liệu SQL trong nhóm khả dụng.

Bạn có thể chọn bất kỳ tùy chọn nào sau đây:

  1. Ưu tiên thứ cấp:Bản sao lưu sẽ được tạo trên bản sao thứ cấp. Nếu không có bản sao phụ, thì bản sao lưu sẽ được tạo trên bản sao chính.
  2. Chỉ thứ cấp:Tất cả các bản sao lưu sẽ được tạo trên bản sao thứ cấp.
  3. Chính:Các bản sao lưu sẽ được tạo trên bản sao Chính.
  4. Mọi bản sao:Bản sao lưu sẽ được tạo từ bất kỳ bản sao nào.

Chúng tôi sẽ sử dụng Ưu tiên phụ tùy chọn:

Người nghe

Trình nghe nhóm khả dụng là tên ảo được ứng dụng sử dụng để kết nối cơ sở dữ liệu nhóm khả dụng. Chỉ định Tên DNS của trình xử lý và cổng của nó trong Tên DNS của trình xử lý Cổng hộp văn bản.

Chọn IP tĩnh từ Chế độ mạng trình đơn thả xuống.

Để thêm Địa chỉ IP cho trình nghe nhóm khả dụng, hãy nhấp vào Thêm > Nhập Địa chỉ IP Mặt nạ mạng con .

Định tuyến chỉ đọc

Tại đây, bạn có thể cung cấp URL định tuyến chỉ đọc danh sách Định tuyến chỉ đọc cho các bản sao Chính và Phụ.

Chúng tôi sẽ không định cấu hình định tuyến Chỉ đọc trong phần trình diễn của mình. Do đó, hãy nhấp vào Tiếp theo. Để tìm hiểu thêm về định tuyến Chỉ đọc, bạn có thể tham khảo Định tuyến chỉ đọc để luôn bật.

Bây giờ, hãy quay lại quy trình chính mà chúng tôi làm việc.

5. Chọn đồng bộ hóa dữ liệu ban đầu

Trên Chọn đồng bộ hóa dữ liệu ban đầu , đặt tùy chọn của bạn cho việc đồng bộ hóa dữ liệu ban đầu. Chi tiết của từng tùy chọn được cung cấp trên màn hình hướng dẫn và bạn có thể chọn bất kỳ tùy chọn nào trong số đó:

  1. Tự động gieo hạt.
  2. Cơ sở dữ liệu đầy đủ và sao lưu nhật ký.
  3. Chỉ tham gia.
  4. Bỏ qua quá trình đồng bộ hóa dữ liệu ban đầu.

Tôi chưa tạo Nhà nhập khẩu WideWorld cơ sở dữ liệu trên bản sao LinuxSQL02 và LinuxSQL03, chọn Tự động gieo hạt lựa chọn. Nó sẽ tạo cơ sở dữ liệu trên cả hai bản sao và khởi động quá trình đồng bộ hóa dữ liệu. Nhấp vào Tiếp theo.

6. Xác thực và Tóm tắt

Trên Xác thực màn hình, trình hướng dẫn xác nhận tất cả các cấu hình.

Để triển khai nhóm Always On thành công, bạn cần xác thực thành công tất cả. Nếu có bất kỳ lỗi nào, bạn phải giải quyết.

Trên Tóm tắt , bạn có thể xem danh sách các cấu hình được chọn để triển khai nhóm khả dụng.

Xem lại các chi tiết một lần nữa và nhấp vào Hoàn tất - nó khởi chạy quá trình triển khai.

Nếu bạn muốn tạo tập lệnh của quá trình triển khai, hãy nhấp vào Tập lệnh .

Như chúng ta thấy, quá trình triển khai AlwaysOn bắt đầu. Sau khi hoàn tất thành công, hãy nhấp vào Đóng để thoát khỏi trình hướng dẫn.

Như vậy, việc triển khai nhóm khả dụng AlwaysOn trên SQL Server 2019 đã hoàn tất.

Tóm tắt

Bài viết này giúp chúng tôi hiểu quy trình triển khai từng bước của nhóm khả dụng SQL Server AlwaysOn trên Linux.

Bài viết tiếp theo sẽ giải thích cách chúng ta có thể cấu hình trình nghe nhóm khả dụng và thực hiện chuyển đổi dự phòng thủ công bằng SQL Server Management Studio. Hãy theo dõi!


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. DISTINCT chỉ cho một cột

  2. tham chiếu chưa được giải quyết tới đối tượng [INFORMATION_SCHEMA]. [TABLES]

  3. Tạo cơ sở dữ liệu trong SQL Server 2017

  4. Cách thêm mã hóa xml <? Xml version =1.0 encoding =UTF-8?> Vào Đầu ra xml trong SQL Server

  5. Sự khác biệt giữa varchar và nvarchar là gì?