Để đáp ứng nhu cầu về máy chủ dữ liệu luôn hoạt động và có tính sẵn sàng cao nhằm đảm bảo việc kết nối thông suốt, hệ thống máy chủ cần có High Availability (HA), HA cung cấp cơ chế dự phòng trong hạ tầng mạng, đảm bảo các host luôn truy cập được đến các server quan trọng trong mạng hoặc Internet ở bất cứ thời điểm nào . Hầu hết các hạ tầng mạng doanh nghiệp hiện nay đều được triển khai tính năng High Availability.
I. HA là gì?
High Availability (HA) là một giải pháp/quy trình/công nghệ để đảm bảo ứng dụng/cơ sở dữ liệu có thể truy cập được 24/7 trong bất kì điều kiện nào, dù là có dự định trước hay bất ngờ. HA là một lý thuyết chứ không phải là một công nghệ cụ thể, được đo bằng % uptime của dịch vụ đó trong khoảng thời gian, ví dụ HA=99.999%/1 năm. Để nâng cao %HA người ta phải kết hợp nhiều công nghệ đồng thời dưới đây. Về cơ bản thì có 5 lựa chọn để thiết lập tính sẵn sàng cho cơ sở dữ liệu trong MS SQL Server.
– Replication
– Log Shipping
– Mirroring
– Clustering
– AlwaysON Availability Groups
1. Replication
Dữ liệu gốc sẽ được sao chép tới điểm đích qua tác vụ sao chép (agent/job), sử dụng công nghệ ở mức độ đối tượng. Một số thuật ngữ cần biết:
Bên phát hành (Publisher) là máy chủ nguồn.
– Bên phân phối (Distributor) là tùy chọn, lưu trữ dữ liệu đã được sao chép cho bên đăng ký (Subscriber).
– Bên đăng ký (Subscriber) là máy chủ đích.
2. Log Shipping
Dữ liệu nguồn được sao chép tới điểm đích thông qua tác vụ sao lưu Transaction Log, sử dụng công nghệ ở mức độ cơ sở dữ liệu. Một số thuật ngữ:
– Máy chủ sơ cấp (Primary Server) là máy chủ nguồn.
– Máy chủ thứ cấp (Secondary Server) là máy chủ đích.
– Máy chủ giám sát là tùy chọn, được giám sát bằng trạng thái Log Shipping.
3. Mirroring
Dữ liệu sơ cấp được sao chép sang thứ cấp qua các giao dịch mạng với sự trợ giúp của các điểm kết nối hình chiếu và số cổng, sử dụng công nghệ ở cấp độ cơ sở dữ liệu. Một số thuật ngữ:
– Máy chủ gốc (Principal Server) là máy chủ nguồn.
– Máy chủ hình chiếu (Mirror Server) là máy chủ đích.
– Máy chủ chứng kiến (Witness Server) là tùy chọn, được dùng cho giải pháp chịu lỗi tự động.
4. Clustering
Dữ liệu được lưu trữ tại địa điểm chung, được cả máy chủ sơ cấp và thứ cấp sử dụng, dùng công nghệ ở mức bản cài (instance). Cần phải thiết lập Windows Clustering trên nơi lưu trữ chung này. Một số thuật ngữ:
– Node chủ động (Active Node) là nơi SQL Services chạy.
– Node bị động (Passive Node) là nơi SQL Services không chạy.
5. AlwaysON Availability Groups
Dữ liệu sơ cấp sẽ được chuyển sang thứ cấp qua các giao dịch, sử dụng công nghệ ở mức độ nhóm cơ sở dữ liệu. Thiết lập Windows Clustering không cần nơi lưu trữ chung. Một số thuật ngữ:
– Primary Replica là máy chủ nguồn.
– Secondary Replica là máy chủ đích.
II. Các bước cấu hình High Availability cho Mirroring và Log Shipping
– Dưới đây là các bước cấu hình HA (Mirroring và Log Shipping) ngoại trừ Clustering, AlwaysON Availability Groups và Replication.
– Bước 1 Lấy một bản đầy đủ và một bản sao T-log của cơ sở dữ liệu gốc.
– Ví dụ:
– Để cấu hình Mirroring/Log Shipping cho CSDL TestDB trên TESTINSTANCE làm máy chủ SQL Server sơ cấp và DEVINSTANCE làm máy chủ thứ cấp, dùng truy vấn dưới đây để lấy sao lưu đầy đủ và T-log trên máy chủ nguồn (TESTINTANCE).
– Kết nối tới SQL Server TESTINSTANCE và mở truy vấn mới, viết đoạn mã dưới đây và thực thi như trong hình.
– Backup database TestDB to disk = ‘D:\testdb_full.bak’ GO Backup log TestDB to disk = ‘D:\testdb_log.trn’
Truy vấn lấy sao lưu
– Bước 2 Sao chép tập tin sao lưu tới máy chủ đích.
– Trong trường hợp này chúng ta chỉ có một máy chủ vật lý và 2 bản SQL Server Instance nên không phải sao chép. Nhưng nếu 2 bản SQL Server Instance nằm ở 2 máy chủ vật lý khác nhau thì cần sao chép 2 tập tin dưới đây tới địa điểm trên máy chủ thứ cấp, nơi cài DEVINSTANCE.
Sao chép tập tin sao lưu tới máy chủ đích
– Bước 3 Khôi phục CSDL bằng tập tin sao lưu trên máy chủ đích bằng lựa chọn norecovery.
– Ví dụ.
– Kết nối tới SQL Server DEVINSTANCE và mở truy vấn mới New Query. Viết đoạn mã dưới đây để khôi phục CSDL với tên TestDB, trùng với tên của CSDL gốc. Có thể dùng tên khác cho cấu hình Log Shipping. Dùng lựa chọn norecovery để khôi phục.
– Restore database TestDB from disk = ‘D:\TestDB_full.bak’ with move ‘TestDB’ to ‘D:\DATA\TestDB_DR.mdf’, move ‘TestDB_log’ to ‘D:\DATA\TestDB_log_DR.ldf’, norecovery GO Restore database TestDB from disk = ‘D:\TestDB_log.trn’ with norecovery
Khôi phục CSDL bằng tập tín sao lưu
– Refresh lại thư mục CSDL trên máy chủ DEVINSTANCE để thấy CSDL đã được khôi phục TestDB với trạng thái khôi phục như trong hình dưới đây.
Trạng thái khôi phục CSDL
– Bước 4 Cấu hình HA (Log Shipping/Mirroring) như trong hình dưới đây.
– Ví dụ:
– Click chuột phải vào CSDL TestDB của SQL Server TESTINTANCE (máy chủ gốc) và click Properties. Màn hình dưới đây sẽ hiện ra.
Cấu hình Log Shipping/Mirroring
– Bước 5 Chọn Mirroring hoặc Transaction Log Shipping theo yêu cầu của bạn và làm theo các bước Wizard được hệ thống đưa ra để hoàn tất việc cấu hình.
MỌI THÔNG TIN XIN VUI LÒNG LIÊN HỆ:
CÔNG TY CỔ PHẦN ĐIỆN TOÁN VIỄN THÔNG VIETTELCO
Dịch vụ thuê máy chủ | Dịch vụ thuê cloud server |
Dịch vụ thuê chỗ đặt máy chủ | Dịch vụ thuê tủ rack |