High Availability Là Gì? Cách Xây Dựng Hệ Thống High Availability
Excessive availability là gì?
Excessive availability có nghĩa “Độ sẵn sàng cao”. Tức là những máy chủ hoặc thiết bị luôn trong tình trạng sẵn sàng phục vụ, giảm thiểu khả năng gián đoạn của hệ thống. Hoặc có thể hiểu đơn giản Excessive availability là một giải pháp hoặc quy trình hay công nghệ nhằm thực hiện chức năng đảm bảo cho ứng dụng, cơ sở dữ liệu có thể truy cập được 24/7 trong mọi điều kiện.
Để có thể thực hiện được điều này, cơ chế cần tối thiểu 2 máy chủ cùng chạy tune tune và hoạt động liên tục. Nếu xảy ra tình huống một máy chủ gặp sự cố thì máy còn lại sẽ thay thế nhằm giúp hệ thống vẫn tiếp tục hoạt động bình thường.
Lợi ích của excessive availability server là gì?
- Tất cả các dữ liệu chứa trong server đều được bảo mật và nó được lưu giữ ở nhiều vị trí khác nhau. Khi có bất kỳ sự cố xảy ra trên VPS thì không gây ảnh hưởng hay làm mất mát dữ liệu nghiêm trọng.
- Khách hàng dễ dàng truy cập vào web site mọi lúc, mọi nơi mà không lo sợ tình trạng bị gián đoạn.
- Nhờ các bản sao VPS được lưu trữ ở nhiều cụm, do đó, khi xảy ra sự cố ở một VPS thì VPS khác sẽ tiếp quản. Điều này, giúp hệ thống được hoạt động liên tục.
Giải pháp excessive availability
Về cơ bản sẽ có 5 giải pháp thiết lập excessive availability cho database trong MS SQL Server. Cụ thể:
- Replication
- Log Transport
- Mirroring
- Clustering
- AlwaysON Availability Teams
Replication
Theo giải pháp này thì dữ liệu gốc được sao đến điểm đích thông qua tác vụ sao chép (agent/job). Đồng thời, dùng công nghệ ở mức độ đối tượng.
Một vài thuật ngữ trong Replication:
- Writer (Bên phát hành): tức máy chủ nguồn.
- Distributor (Bên phân phối): mục này tùy chọn. Nó cho phép lưu trữ dữ liệu đã sao chép cho bên đăng ký (gọi là Subscriber).
- Bên đăng ký: tức máy chủ đích.
Log Transport
Thông qua tác vụ sao lưu Transaction Log, dữ liệu gốc sẽ được sao chép đến điểm đích và dùng công nghệ ở mức độ cơ sở dữ liệu.
Các thuật ngữ cần biết:
- Major Server (Máy chủ sơ cấp): là máy chủ nguồn.
- Secondary Server (Máy chủ thứ cấp): là máy chủ đích.
- Máy chủ giám sát được giám sát bằng trạng thái Log Transport. Bạn có thể tùy chọn máy chủ này hoặc không,
Mirroring
Thiết lập excessive availability cho database trong MS SQL Server bằng cách sao chép dữ liệu sơ cấp sang thứ cấp thông qua các giao dịch mạng, nhờ sự hỗ trợ của các điểm kết nối hình chiếu với số cổng. Đồng thời, sử dụng công nghệ cấp độ cơ sở dữ liệu.
Các thuật ngữ cần biết:
- Principal Server (Máy chủ gốc): máy chủ nguồn.
- Mirror Server (Máy chủ hình chiếu): máy chủ đích.
- Witness Server (Máy chủ chứng kiến): dùng cho giải pháp chịu lỗi tự động. Máy chủ này tùy chọn theo nhu cầu sử dụng của người dùng.
Clustering
Cách thiết lập excessive availability này sử dụng dữ liệu đã lưu trữ tại địa điểm chung, dùng cho máy chủ sơ cấp và thứ cấp. Giải pháp này sử dụng công nghệ ở mức bản cài (occasion) và phải thiết lập Home windows Clustering tại khu vực lưu trữ chung.
Các thuật ngữ cần biết:
- Energetic Node (Node chủ động): nơi SQL Providers chạy.
- Passive Node (Node bị động): nơi SQL Providers không chạy.
AlwaysON Availability Teams
Dữ liệu sơ cấp được chuyển sang thứ cấp bằng các giao dịch mạng. Và dùng công nghệ ở mức độ nhóm cơ sở dữ liệu. Với cách này thì Home windows Clustering không cần thiết lập nơi lưu trữ chung.
Các thuật ngữ cần biết:
- Major Duplicate: máy chủ nguồn.
- Secondary Duplicate: máy chủ đích.
Trong phạm vi chia sẻ của bài viết này, Internet hosting Việt sẽ hướng dẫn thực hiện cấu hình excessive availability là gì cho Mirroring và Log Transport
- Bước 1: Lấy bản đầy đủ và bản sao T-log của cơ sở dữ liệu gốc.
Ví dụ:
Cấu hình Mirroring/Log Transport cho cơ sở dữ liệu TestDB với các thông tin sau:
- Testinstance: máy chủ nguồn
- SQL Server: máy chủ sơ cấp
- Devinstance: máy chủ thứ cấp
Để lấy sao lưu đầy đủ và T-log trên máy chủ nguồn. Bạn kết nối tới SQL Server Testinstance, mở truy vấn mới và sử dụng đoạn mã dưới đây.
Backup database TestDB to disk = ‘D:testdb_full.bak’GOBackup log TestDB to disk = ‘D:testdb_log.trn’
- Bước 2: Sao chép tập tin sao lưu đến máy chủ đích.
Trong ví dụ trên, chỉ có một máy chủ vật lý cùng 2 bản SQL Server Occasion nên không cần thực hiện thao tác sao chép. Tuy nhiên, nếu có 2 bản SQL Server Occasion ở 2 máy chủ vật lý thì cần sao chép 2 tập tin đến máy chủ thứ cấp, nơi cài Devinstance.
- Bước 3: Khôi phục cơ sở dữ liệu bằng tập tin sao lưu trên máy chủ đích với việc sử dụng lựa chọn norecovery.
Ví dụ:
- Kết nối tới SQL Server Devinstance.
- Mở truy vấn mới New Question.
- Viết đoạn mã sau để khôi phục cơ sở dữ liệu có tên TestDB. Vì tên trùng với cơ sở dữ liệu gốc nên bạn có thể dùng tên khác cho cấu hình Log Transport.
- Chọn norecovery để khôi phục.
Restore database TestDB from disk = ‘D:TestDB_full.bak’with transfer ‘TestDB’ to ‘D:DATATestDB_DR.mdf’,transfer ‘TestDB_log’ to ‘D:DATATestDB_log_DR.ldf’,norecoveryGORestore database TestDB from disk = ‘D:TestDB_log.trn’ with norecovery
- Sau đó, nhấn Refresh thư mục cơ sở dữ liệu trên máy chủ Devinstance sẽ thấy cơ sở dữ liệu TestDB đã được khôi phục với trạng thái như trong hình bên dưới.
- Bước 4: Cấu hình excessive availability (Log Transport/Mirroring).
Ví dụ:
- Click on chuột phải vào cơ sở dữ liệu TestDB máy chủ gốc, chọn Properties.
- Một màn hình sẽ hiện ra.
- Chọn Mirroring hoặc Transaction Log Transport tùy theo yêu cầu và thực hiện theo các bước được hệ thống hướng dẫn để hoàn tất việc cấu hình.
Xây dựng hệ thống excessive availability
Như chia sẻ phần trên, excessive availability cần sử dụng ít nhất 2 server chạy tune tune để đảm bảo việc chuyển tiếp thông tin không bị gián đoạn.
Vì thế, khi xây dựng giải pháp excessive availability cần tính đến khả năng xảy ra sự cố và thiết kế dự phòng ở các nơi cần thiết:
- Dự phòng tất cả các tuyến từ Worksattion đến router ở lớp constructing entry.
- Máy chủ dự phòng cho các server farm module.
- Dự phòng tuyến đường bên trong và giữa các thành phần mạng.
- Liên kết truyền thông dự phòng ở các lớp truy cập.
Server Redundancy (Máy chủ dự phòng )
Máy chủ này được cài đặt trong hệ thống mạng cần lưu trữ các thông tin quan trong. Trong trường hợp bình thường, máy chủ dự phòng ở chế độ offline. Còn khi máy chủ chính gặp sự cố thì máy chủ dự phòng sẽ được bật.
Router Redundancy (Tuyến dự phòng)
Tuyến dự phòng được thiết kế nhằm thực hiện 2 mục đích: cân bằng tải và tăng tính sẵn sàng.
- Cân bằng tải (Load balancing)
Đây là cách chia nhỏ số lượng công việc trên một thiết bị thành nhiều thiết bị tương ứng để xử lý yêu cầu nhanh và hiệu quả hơn.
Thực tế, các web site của những doanh nghiệp lớn thường gặp vấn đề về site visitors nên load balancing chính là giải pháp cần thiết, nhằm định tuyến yêu cầu truy cập đến các host server khác nhau.
Phần lớn các giao thức định tuyến IP đều cân bằng tải trên các liên kết tune tune. Do đó, cần sử dụng tối đa đường dẫn, thay đổi số lượng liên kết để router thực hiện cân bằng tải, mặc định là 4 và tối đa 6 đường.
Thông thường, cứ 2 server được sử dụng để cân bằng tải thì sẽ phải có thêm 1 server thực hiện nhiệm vụ quyết định server nào đảm nhận công việc. Vì thế, load balancing cần nhiều thiết bị để cài đặt và chúng được tích hợp với các dịch vụ sao lưu, dự phòng dữ liệu. Thậm chí, trong một vài tình huống, thiết bị còn được đặt ở nhiều nơi khác nhau.
- Growing Availability (Tăng khả năng sẵn sàng mạng)
Đây là yếu tố quan trọng trong mọi hệ thống mạng. Có 4 nguyên tắc chính là Redundancy – Entanglement – Consciousness – Persistence (viết tắt REAP).
- Redundancy (dự phòng): luôn có sẵn một bản dự phòng cho tất cả các thiết bị.
- Entanglement (kết dính): do trong hệ thống, mỗi phần đảm nhận một công việc nên cần phải kết nối chúng để đảm bảo tính nhất quán trong hoạt động.
- Consciousness (Nhận thức): giúp khách hàng tiếp cận thông tin của doanh nghiệp nhanh chóng và không gặp bất kỳ trở ngại nào. Một số cách để thực hiện như điều chỉnh bằng tay, cân bằng tải, quảng bá DNS, phương thức dịch vụ chuyên biệt DFS.
- Persistence (Bền bỉ): đảm bảo sự hoạt động xuyên suốt của hệ thống. Có 3 bước để thực hiện là:
+ Kiểm tra và kịp thời phát hiện sự cố.
+ Chuyển dự phòng sang server khác.
+ Kết nối lại với người truy cập.
- Hyperlink Media Redundancy (Dự phòng đa liên kết)
Các thiết bị trong mạng chuyển mạch có thể được liên kết dự phòng với nhau, nhằm giúp giảm thiểu thời giang down mạng. Tuy nhiên, điều này khiến chúng có thể gây ra hiện tượng Broadcast-storm (tức là gửi nhiều gói tin quảng bá). Vì thế, cần đến một thuật toán để có thể tối ưu hoạt động giữa 2 trạm mạng. Điển hình là thuật toán Spanning Tree Protocol (STP)
STP sẽ thực hiện chức năng đảm bảo trong cùng một thời điểm sẽ chỉ có một đường tối ưu hoạt động giữa 2 trạm mạng. Còn các đường còn lại trở thành dự phòng. Khi có sự cố với đường chính thì nó sẽ được kích hoạt hoạt động.
>>Xem thêm: Servlet là gì? Công dụng Servlet và Phân biệt giữa JSP và Servlet
Trên đây là chia sẻ của Internet hosting Việt về Excessive Availability Là Gì? Cách Xây Dựng Hệ Thống Excessive Availability! Hello vọng, bài viết mang đến cho bạn nhiều thông tin hữu ích, góp phần giúp tăng trải nghiệm lướt internet. Nếu có thắc mắc gì bạn hãy remark ngay bên dưới để được chúng tôi hỗ trợ nhé!