Yêu cầu về sự ổn định và tính sẵn sàng cao luôn được đặt lên hàng đầu trong hệ thống máy tính. High availability được tạo ra nhằm cung cấp giải pháp kết nối hoàn hảo giữa khách hàng và doanh nghiệp. Vậy giải pháp High availability là gì? Có những giải pháp nào để thiết lập High availability? Lợi ích của High availability là gì? Xây dựng hệ thống High availability thế nào? Hãy cùng Phúc An Tech tìm hiểu ngay trong bài viết dưới đây.
Giải pháp chạy song hành (High availability) là gì?
High availability (HA) là khả năng của một server hoặc thiết bị luôn ở trong trạng thái sẵn sàng phục vụ, giảm thiểu tình trạng gián đoạn của hệ thống. Nó đảm bảo rằng cơ sở dữ liệu và ứng dụng có thể truy cập liên tục, 24/7, trong mọi điều kiện.

Để đạt được khả năng truy cập liên tục 24/7 cho ứng dụng và cơ sở dữ liệu, High availability cần ít nhất hai server chạy song song, hoạt động liên tục. Khi một trong hai server gặp sự cố, server còn lại sẽ tiếp tục hoạt động để đảm bảo hệ thống vẫn có thể hoạt động bình thường. Từ đó, High availability tạo ra một môi trường ổn định và liên tục hoạt động để đáp ứng nhu cầu của người dùng và doanh nghiệp.
Lợi ích của High availability là gì?
Dữ liệu trong server được lưu ở các vị trí khác nhau
High availability đảm bảo tính sẵn sàng cao của hệ thống bằng cách triển khai các biện pháp sao lưu dữ liệu và lưu trữ chúng ở nhiều vị trí khác nhau. Điều này giúp đảm bảo rằng dữ liệu không chỉ nằm tại một địa điểm duy nhất, mà còn được sao lưu và phân tán đến các cụm dữ liệu hoặc máy chủ riêng biệt.
Việc lưu trữ dữ liệu ở nhiều vị trí khác nhau mang lại nhiều lợi ích:
- Đảm bảo an toàn dữ liệu: Khi dữ liệu được sao lưu và lưu trữ ở nhiều vị trí, rủi ro mất mát dữ liệu do sự cố ở một vị trí cụ thể giảm đi đáng kể. Nếu xảy ra sự cố tại một vị trí, dữ liệu vẫn có thể được phục hồi từ các vị trí khác.
- Tránh gián đoạn dịch vụ: Nếu một vị trí hoặc máy chủ gặp sự cố, dữ liệu vẫn có sẵn từ các vị trí khác, từ đó hệ thống vẫn có thể tiếp tục hoạt động mà không bị gián đoạn dịch vụ.
- Tăng tính sẵn sàng: Dữ liệu phân tán giữa nhiều vị trí giúp tăng tính sẵn sàng của hệ thống. Người dùng có thể truy cập vào dữ liệu và các dịch vụ một cách liên tục và liền mạch.
- Phòng ngừa sự cố hệ thống: Với dữ liệu được sao lưu ở nhiều vị trí, sự cố xảy ra tại một vị trí sẽ ít có tác động đến toàn bộ hệ thống, giúp giảm thiểu thời gian chết máy và đảm bảo ổn định của hệ thống.
Tất cả dữ liệu đều được bảo mật, đảm bảo an toàn
High availability (HA) thường được kết hợp với các biện pháp bảo mật và mã hóa để đảm bảo tính toàn vẹn và an toàn của dữ liệu trong hệ thống. Các biện pháp bảo mật và mã hóa đóng vai trò quan trọng trong việc bảo vệ thông tin quan trọng của người dùng và đảm bảo rằng chỉ những người được ủy quyền mới có thể truy cập và xử lý dữ liệu.
Dữ liệu sẽ không bị ảnh hưởng nếu VPS xảy ra sự cố
VPS là gì? – VPS là viết tắt của “Virtual Private Server”, tạm dịch là Máy chủ ảo riêng. Đây là một loại máy chủ được tạo ra bằng cách chia nhỏ một máy chủ vật lý thành nhiều máy chủ ảo độc lập. Mỗi VPS hoạt động như một máy chủ riêng biệt với hệ điều hành và tài nguyên riêng, cho phép người sử dụng có sự kiểm soát hoàn toàn và quyền quản lý tương tự như khi sử dụng một máy chủ riêng.
Một trong những lợi ích quan trọng của High availability (HA) là khả năng tự động kích hoạt các VPS khác để tiếp tục hoạt động khi một VPS gặp sự cố. Khi một VPS xảy ra sự cố, các tác vụ và dữ liệu trên VPS đó sẽ được tự động chuyển đổi và hoạt động trên một hoặc nhiều VPS khác.
Cơ chế này đảm bảo rằng dịch vụ không bị gián đoạn và tiếp tục hoạt động một cách liên tục, mặc dù có sự cố xảy ra. Việc tự động chuyển đổi giữa các VPS được thực hiện nhanh chóng và tức thì để đảm bảo tính sẵn sàng và ổn định của hệ thống.
Điều này giúp giảm thiểu thời gian gián đoạn dịch vụ và ảnh hưởng đến người dùng. Khi một VPS gặp sự cố, người dùng sẽ không cảm nhận được tình trạng gián đoạn, vì hệ thống đã tự động chuyển đổi và tiếp tục phục vụ từ các VPS khác.

Người dùng có thể truy cập dễ dàng vào website mọi lúc mọi nơi
High availability (HA) chắc chắn rằng hệ thống luôn hoạt động và sẵn sàng phục vụ người dùng một cách liên tục và không gặp trở ngại. Điều này đảm bảo rằng website và các dịch vụ trực tuyến luôn có sẵn và hoạt động ổn định, không bị gián đoạn dịch vụ hay tình trạng chết máy.
Với tính sẵn sàng cao của HA, người dùng có thể truy cập vào website và sử dụng các dịch vụ một cách mượt mà và không bị hạn chế về thời gian và địa điểm. Không còn lo lắng về việc hệ thống sẽ tạm ngưng hoạt động do sự cố hoặc lỗi, người dùng có thể tương tác và tiếp tục sử dụng dịch vụ một cách không gián đoạn.
Đối với doanh nghiệp, HA là một yếu tố quan trọng giúp xây dựng lòng tin và đáng tin cậy từ phía khách hàng. Tính sẵn sàng và hoạt động liên tục của hệ thống giúp doanh nghiệp duy trì dịch vụ ổn định và nâng cao chất lượng phục vụ, tạo điều kiện thuận lợi cho sự phát triển và mở rộng.
Các bản sao VPS được lưu trữ tại nhiều cụm khác nhau
Lưu trữ các bản sao của VPS (Virtual Private Server) ở nhiều cụm dữ liệu khác nhau hoặc trên các máy chủ riêng biệt giúp tăng tính sẵn sàng và đáng tin cậy của hệ thống trong trường hợp xảy ra sự cố.
Các biện pháp như sao lưu dữ liệu và đồng bộ hóa các bản sao của VPS đến nhiều cụm dữ liệu hay máy chủ riêng biệt giúp đảm bảo rằng dữ liệu không chỉ lưu trữ tại một nơi duy nhất. Điều này giảm thiểu rủi ro mất mát dữ liệu do sự cố tại một cụm dữ liệu cụ thể. Nếu xảy ra sự cố tại một vị trí, dữ liệu vẫn có sẵn và khả dụng từ các vị trí khác, đảm bảo tính toàn vẹn và không bị mất mát.
Việc phân tán các bản sao của VPS cũng giúp cân bằng tải và tăng cường hiệu suất hệ thống. Khi một máy chủ hoặc cụm dữ liệu gặp tải cao, HA cho phép chuyển đổi người dùng và các tác vụ tới các máy chủ khác, giúp duy trì hiệu suất và đáp ứng nhu cầu người dùng một cách mượt mà.
Giải pháp High availability trong MS SQL server
Replication
Cơ chế Replication trong MS SQL Server cho phép sao chép và cập nhật dữ liệu từ bên phát hành (Publisher) đến bên đăng ký (Subscriber) thông qua bên phân phối (Distributor). Quá trình sao chép dữ liệu được thực hiện thông qua các tác vụ Replication, và dữ liệu có thể được sao chép và cập nhật theo thời gian thực hoặc theo lịch trình đã được đặt.
Replication sử dụng công nghệ ở mức đối tượng cơ sở dữ liệu, tức là nó hoạt động trên cấu trúc và đối tượng trong cơ sở dữ liệu. Các đối tượng cơ sở dữ liệu như bảng, thủ tục lưu trữ, hàm, và dữ liệu liên quan có thể được sao chép và cập nhật giữa các bên liên kết trong quá trình Replication.
Cơ chế Replication cung cấp nhiều kiểu Replication khác nhau, bao gồm:
- Transactional Replication: Sao chép các thay đổi dữ liệu theo thời gian thực từ Publisher đến Subscriber. Các thay đổi được ghi lại trong transaction log của Publisher và được sao chép đến Subscriber.
- Merge Replication: Kết hợp các thay đổi dữ liệu từ Publisher và Subscriber để tạo ra một bản sao đồng nhất. Các thay đổi có thể xảy ra ở cả hai bên và được hợp nhất lại với nhau.
- Snapshot Replication: Sao chép toàn bộ dữ liệu từ Publisher đến Subscriber theo một điểm thời điểm cụ thể. Bản sao đầy đủ của dữ liệu được tạo ra và sao chép đến Subscriber.
Mỗi kiểu Replication có ứng dụng và tính chất riêng, phù hợp với các tình huống và yêu cầu khác nhau trong việc sao chép và cập nhật dữ liệu giữa các bên liên kết.

Log Shipping
Log Shipping là một giải pháp High availability trong MS SQL Server cho phép sao chép và đồng bộ hóa dữ liệu gốc từ server sơ cấp (Primary server) đến server thứ cấp (Secondary server) thông qua tác vụ sao lưu Transaction Log.
Quá trình Log Shipping diễn ra như sau:
- Trên server sơ cấp (Primary server), tập tin sao lưu Transaction Log được tạo ra và sao chép đến server thứ cấp (Secondary server) thông qua một tác vụ sao lưu (backup job).
- Trên server thứ cấp (Secondary server), tập tin sao lưu Transaction Log được phục hồi (restore) và cập nhật vào cơ sở dữ liệu. Quá trình này đồng bộ hóa dữ liệu giữa server sơ cấp và server thứ cấp.
- Các tập tin sao lưu Transaction Log được sao chép và phục hồi theo định kỳ, giúp đảm bảo dữ liệu trên server thứ cấp luôn cập nhật và đồng bộ với server sơ cấp.
Log Shipping sử dụng công nghệ ở mức độ cơ sở dữ liệu, tức là quá trình sao chép và phục hồi dữ liệu diễn ra trên cơ sở dữ liệu và tập tin sao lưu Transaction Log. Kỹ thuật này giúp tăng tính sẵn sàng và đáng tin cậy của hệ thống, vì nếu server sơ cấp gặp sự cố, server thứ cấp có thể được kích hoạt để tiếp tục phục vụ và đảm bảo không có sự gián đoạn dịch vụ.
Mirroring
Mirroring là một giải pháp High availability trong MS SQL Server cho phép sao chép và đồng bộ hóa dữ liệu từ server sơ cấp (Principal) sang server hình chiếu (Mirror server) thông qua giao dịch mạng.
Quá trình Mirroring diễn ra như sau:
- Server sơ cấp (Principal) ghi lại các giao dịch trong transaction log và truyền chúng đến server hình chiếu (Mirror server) thông qua giao dịch mạng.
- Server hình chiếu (Mirror server) nhận và áp dụng các giao dịch đó vào cơ sở dữ liệu, đồng bộ hóa dữ liệu với server sơ cấp.
- Mirroring cũng cho phép sử dụng một server chứng kiến (Witness server) để giám sát và hỗ trợ quá trình sao chép và đồng bộ hóa dữ liệu giữa server sơ cấp và server hình chiếu. Server chứng kiến đảm bảo tính nhất quán và đáng tin cậy của quá trình Mirroring.
Mirroring sử dụng công nghệ ở mức độ cơ sở dữ liệu, tức là quá trình sao chép và đồng bộ hóa dữ liệu diễn ra trên cơ sở dữ liệu và transaction log. Kỹ thuật này giúp tăng tính sẵn sàng và đáng tin cậy của hệ thống, vì nếu server sơ cấp gặp sự cố, server hình chiếu có thể được kích hoạt để tiếp tục phục vụ và đảm bảo không có sự gián đoạn dịch vụ.
Clustering
Clustering là một giải pháp High availability trong MS SQL Server cho phép thiết lập High availability bằng cách lưu trữ cơ sở dữ liệu tại địa điểm chung và sử dụng công nghệ ở mức bản cài (hardware level) và thiết lập Windows Clustering tại khu lưu trữ chung.
Quá trình Clustering diễn ra như sau:
- Clustering sử dụng một kỹ thuật gọi là Windows Clustering để tạo một nhóm các server vật lý thành một cụm (cluster). Trong cụm này, có hai server chạy song song: server sơ cấp (Primary server) và server thứ cấp (Secondary server).
- Các server trong cụm chia sẻ chung các tập tin dữ liệu và cơ sở dữ liệu. Điều này đảm bảo rằng các server đồng bộ hóa dữ liệu và có thể chịu đựng sự cố một cách liên tục.
- Nếu server sơ cấp gặp sự cố hoặc không hoạt động, Windows Clustering sẽ tự động chuyển dịch các tác vụ và dịch vụ từ server sơ cấp sang server thứ cấp. Server thứ cấp sẽ tiếp tục phục vụ và đảm bảo tính sẵn sàng của hệ thống.
Clustering sử dụng công nghệ ở mức bản cài, tức là nó tận dụng tính năng clustering của hệ điều hành Windows để tạo cụm và quản lý việc chuyển đổi giữa các server trong cụm. Kỹ thuật này giúp đảm bảo tính sẵn sàng và đáng tin cậy của hệ thống, vì nếu server sơ cấp gặp sự cố, server thứ cấp sẽ tự động tiếp quản để không có sự gián đoạn dịch vụ.

AlwaysON Availability Groups
AlwaysON Availability Groups là một giải pháp High availability trong MS SQL Server cho phép chuyển dữ liệu từ server sơ cấp (Primary server) sang server thứ cấp (Secondary server) thông qua các giao dịch mạng.
Quá trình AlwaysON Availability Groups diễn ra như sau:
- Server sơ cấp (Primary server) ghi lại các giao dịch trong transaction log và truyền chúng đến server thứ cấp (Secondary server) thông qua các giao dịch mạng.
- Server thứ cấp (Secondary server) nhận và áp dụng các giao dịch đó vào cơ sở dữ liệu, đồng bộ hóa dữ liệu với server sơ cấp.
- AlwaysON Availability Groups sử dụng một kỹ thuật gọi là Availability Groups để tạo một nhóm các server thành một cụm (group). Trong cụm này, có hai server chạy song song: server sơ cấp (Primary server) và server thứ cấp (Secondary server).
- Server thứ cấp (Secondary server) có thể được sử dụng để đọc dữ liệu chỉ đọc (read-only) nếu được cấu hình cho phép.
AlwaysON Availability Groups sử dụng công nghệ ở mức độ nhóm cơ sở dữ liệu, tức là quá trình chuyển dữ liệu và đồng bộ hóa diễn ra trên cơ sở dữ liệu và transaction log. Kỹ thuật này giúp tăng tính sẵn sàng và đáng tin cậy của hệ thống, vì nếu server sơ cấp gặp sự cố, server thứ cấp có thể tiếp tục phục vụ và đảm bảo không có sự gián đoạn dịch vụ. Đặc biệt, không cần thiết lập một nơi lưu trữ chung (shared storage) như trong Clustering, làm giảm yêu cầu về cơ sở hạ tầng.
Xây dựng hệ thống High availability
Để xây dựng một hệ thống High availability đáng tin cậy, cần phải tính đến khả năng xảy ra sự cố và thiết kế các dự phòng tại nhiều điểm trong mạng và hệ thống. Dưới đây là một số yếu tố cần xem xét để đảm bảo tính sẵn sàng và đáng tin cậy của hệ thống High availability:
- Dự phòng cho tuyến từ Workstations đến router ở lớp building access: Đảm bảo có nhiều tuyến truyền thông từ các máy trạm (Workstations) tới các router ở lớp building access để tránh mất kết nối khi một tuyến gặp sự cố. Có thể sử dụng các công nghệ dự phòng như HSRP (Hot Standby Router Protocol) hoặc VRRP (Virtual Router Redundancy Protocol) để đảm bảo rằng có một router dự phòng sẵn sàng thay thế khi router chính gặp sự cố.
- Dự phòng tuyến đường bên trong và giữa các thành phần mạng: Đảm bảo mạng nội bộ của hệ thống có nhiều đường kết nối dự phòng và dự trữ để tránh mất kết nối và giữ tính sẵn sàng cao. Sử dụng các kỹ thuật định tuyến dự phòng và chuyển hướng kết nối (link aggregation) để tăng cường khả năng chịu lỗi và hiệu suất mạng.
- Máy chủ dự phòng đối với server farm module: Đối với các server farm (nhóm máy chủ) quan trọng, triển khai máy chủ dự phòng để có thể chuyển tiếp dịch vụ khi máy chủ chính gặp sự cố. Sử dụng các giải pháp như clustering, replication hoặc virtualization để đảm bảo tính sẵn sàng và đáng tin cậy của server farm.
- Liên kết truyền thông dự phòng ở lớp truy cập: Đảm bảo rằng các liên kết truyền thông (cáp, kết nối mạng) ở lớp truy cập (access layer) có dự phòng và đáng tin cậy. Sử dụng các công nghệ như link aggregation, dự phòng cáp mạng để giảm thiểu tình trạng gián đoạn và mất kết nối.
Ngoài ra, cần xây dựng một kế hoạch sao lưu và phục hồi dữ liệu hiệu quả để đảm bảo tính toàn vẹn của dữ liệu và khả năng khôi phục dữ liệu sau khi xảy ra sự cố.
Máy chủ dự phòng (Server Redundancy)

Trong hệ thống High availability, máy chủ dự phòng thường được cấu hình ở chế độ Offline (hay còn gọi là Standby mode) trong trường hợp bình thường. Điều này có nghĩa là máy chủ dự phòng không hoạt động hoặc không phục vụ dữ liệu trong thời gian này, và chỉ đợi trong tình trạng sẵn sàng để tiếp nhận tác vụ nếu máy chủ chính gặp sự cố.
Khi máy chủ chính gặp sự cố, quá trình chuyển đổi (failover) sẽ được kích hoạt để chuyển máy chủ dự phòng từ chế độ Offline sang chế độ Online. Khi đó, máy chủ dự phòng sẽ tiếp nhận tất cả các tác vụ và dữ liệu mà máy chủ chính trước đây đang xử lý. Quá trình chuyển đổi này thường được thực hiện tự động và nhanh chóng, giúp giảm thiểu thời gian gián đoạn dịch vụ và đảm bảo tính sẵn sàng của hệ thống.
Các giải pháp HA như clustering, mirroring, hoặc AlwaysOn Availability Groups trong Microsoft SQL Server đều hỗ trợ việc tự động kích hoạt máy chủ dự phòng trong trường hợp máy chủ chính gặp sự cố. Quá trình này thường dựa vào các cơ chế giám sát (monitoring) và cơ chế quyết định (decision-making) để xác định khi nào máy chủ chính không hoạt động đúng cách và kích hoạt máy chủ dự phòng để tiếp nhận các tác vụ.
Tuyến dự phòng (Router Redundancy)
Tuyến dự phòng (redundant links) được thiết kế với hai mục đích chính là tăng tính sẵn sàng (reliability) và cân bằng tải (load balancing) trong hệ thống mạng. Dưới đây là mô tả chi tiết về hai mục đích này:
- Tăng tính sẵn sàng (Reliability): Tuyến dự phòng được sử dụng để đảm bảo rằng có ít nhất một đường kết nối phụ trợ trong trường hợp tuyến chính gặp sự cố. Nếu tuyến chính bị hỏng hoặc mất kết nối, dự phòng sẽ đảm bảo rằng dữ liệu vẫn có thể chuyển tiếp và các dịch vụ vẫn hoạt động một cách bình thường qua đường kết nối phụ trợ. Điều này giúp giảm thiểu tình trạng gián đoạn dịch vụ và đảm bảo tính sẵn sàng cao cho hệ thống.
- Cân bằng tải (Load balancing): Tuyến dự phòng cũng có thể được sử dụng để cân bằng tải trên nhiều đường kết nối. Trong hệ thống có nhiều đường kết nối song song, dữ liệu và các tác vụ có thể được chia nhỏ và gửi qua các đường kết nối khác nhau, giúp tăng hiệu suất mạng và tránh quá tải trên một tuyến duy nhất. Cân bằng tải giúp tối ưu hóa việc sử dụng tài nguyên mạng và cải thiện hiệu suất hệ thống.
Cân bằng tải (Load balancing)
Load balancing (cân bằng tải) là một giải pháp quan trọng để xử lý hiệu quả các yêu cầu truy cập đến các server trong môi trường có lượng traffic lớn như các website của các doanh nghiệp lớn. Load balancing giúp phân chia công việc (workload) giữa các server và định tuyến yêu cầu đến những host server khác nhau, từ đó tăng tính sẵn sàng, hiệu quả và đáp ứng tốt hơn nhu cầu của người dùng.
Cân bằng tải có thể được thực hiện bằng cách sử dụng các thiết bị định tuyến IP (IP routing devices) như load balancers, các cơ chế định tuyến thông minh (smart routing mechanisms), hay thậm chí bằng cách cấu hình định tuyến dự phòng và liên kết đồng bộ.
Việc tăng số lượng đường dẫn và sử dụng nhiều server để cân bằng tải giúp phân phối công việc một cách hiệu quả, tránh quá tải trên một server duy nhất và giảm thiểu tình trạng chậm trễ và gián đoạn dịch vụ. Điều này đặc biệt quan trọng khi đối mặt với lượng traffic cao và sự tăng trưởng nhanh chóng của website và ứng dụng.
Increasing Availability (Tăng khả năng sẵn sàng mạng)
Yếu tố quan trọng trong mọi hệ thống mạng là đảm bảo tính sẵn sàng và đáng tin cậy, và cụm từ REAP (Redundancy – Entanglement – Awareness – Persistence) nhấn mạnh vào những nguyên tắc cơ bản để đạt được mục tiêu này. Dưới đây là mô tả chi tiết về các nguyên tắc trong REAP:
- Redundancy (dự phòng): Nguyên tắc dự phòng đảm bảo rằng luôn có sẵn một bản dự phòng cho tất cả các thiết bị và thành phần quan trọng trong hệ thống mạng. Điều này giúp đảm bảo rằng nếu một thiết bị hoặc phần mềm gặp sự cố, có một bản dự phòng có thể tiếp tục hoạt động để duy trì tính sẵn sàng và đáng tin cậy của hệ thống.
- Entanglement (kết dính): Nguyên tắc kết dính đề cao tính nhất quán và tính hợp nhất giữa các phần trong hệ thống mạng. Mỗi phần sẽ đảm nhận một công việc cụ thể, và để đạt được hiệu quả và tính nhất quán, chúng cần được kết nối chặt chẽ với nhau để làm việc một cách hòa hợp.
- Awareness (Nhận thức): Nguyên tắc nhận thức giúp khách hàng và người dùng có thể tiếp cận thông tin doanh nghiệp một cách nhanh chóng và dễ dàng, mà không gặp bất kỳ trở ngại nào. Các cách thức để thực hiện nguyên tắc nhận thức bao gồm điều chỉnh bằng tay, quảng bá DNS (Domain Name System), cân bằng tải (load balancing), hay sử dụng phương thức dịch vụ chuyên biệt như Distributed File System (DFS).
- Persistence (Bền bỉ): Nguyên tắc bền bỉ đảm bảo cho sự hoạt động thường xuyên và đáng tin cậy của hệ thống. Khi gặp sự cố, quá trình kiểm tra và kịp thời phát hiện được sự cố sẽ được thực hiện. Hệ thống cũng sẽ chuyển dự phòng sang một server khác để tiếp tục cung cấp dịch vụ. Cuối cùng, hệ thống sẽ kết nối lại với người dùng để đảm bảo truy cập liên tục và không bị gián đoạn.
Kết hợp cùng nhau, các nguyên tắc trong REAP giúp xây dựng hệ thống mạng đáng tin cậy, có tính sẵn sàng cao, và đáp ứng được nhu cầu ngày càng tăng của người dùng và doanh nghiệp.
Dự phòng đa liên kết (Link Media Redundancy )
Trong mạng chuyển mạch, việc liên kết dự phòng giữa các thiết bị như switch và bridge là một giải pháp quan trọng để tăng tính sẵn sàng và đáng tin cậy của hệ thống. Tuy nhiên, như bạn đã đề cập, khi các thiết bị liên kết dự phòng với nhau, có thể xảy ra hiện tượng Broadcast-storm, trong đó các gói tin quảng bá sẽ được gửi nhiều lần và không kiểm soát được, dẫn đến hiệu năng mạng giảm sút và nguy cơ gây ra tình trạng gián đoạn dịch vụ.
Để giải quyết vấn đề này, Spanning Tree Protocol (STP) được phát triển. STP là một thuật toán định tuyến mạng layer 2 (data link layer) và hoạt động trong môi trường LAN để kiểm soát việc liên kết của các thiết bị chuyển mạch và bridge sao cho chỉ có một đường tối ưu hoạt động giữa hai trạm mạng. Những đường kết nối còn lại sẽ trở thành dạng dự phòng (backup).
STP hoạt động bằng cách chọn một đường chính (root path) giữa các switch và bridge trong mạng. Các switch khác sẽ tính toán đường kết nối tới đỉnh gốc (root bridge) thông qua các cổng và liên kết dự phòng. Nó sẽ tìm đường đi ngắn nhất từ mỗi switch tới root bridge và chọn đường đi đó làm đường chính (root path). Các đường kết nối khác sẽ trở thành các đường dự phòng.
Các bước cấu hình High availability cho Log Shipping và Mirroring

Bước 1: Lấy bản sao đầy đủ (full backup) của cơ sở dữ liệu gốc (Primary Database).
Bước 2: Sao chép tập tin sao lưu (backup file) đến server đích (Secondary Server).
Bước 3: Khôi phục cơ sở dữ liệu trên server đích (Secondary Server) bằng tập tin sao lưu, sử dụng lựa chọn NORECOVERY.
Bước 4: Chọn “Refresh” thư mục cơ sở dữ liệu trên server đích để cập nhật cơ sở dữ liệu mới đã được khôi phục.
Bước 5: Cơ sở dữ liệu (TestDB) đã được khôi phục xuất hiện trên server đích (Secondary Server).
Bước 6: Cấu hình Log Shipping bằng cách thực hiện các thao tác sau:
- Nhấn chuột phải vào cơ sở dữ liệu TestDB trên server gốc (Primary Server).
- Chọn “Properties” (Các thuộc tính của cơ sở dữ liệu TestDB).
- Trong cửa sổ xuất hiện, chọn “Transaction Log Shipping”.
- Tiến hành cấu hình các tùy chọn như địa chỉ server đích (Secondary Server), lựa chọn tần suất sao lưu (backup frequency), và các tùy chọn khác liên quan đến việc sao lưu và khôi phục cơ sở dữ liệu.
Chú ý rằng quá trình cấu hình Log Shipping và Mirroring có thể phức tạp hơn và có thể thay đổi tùy thuộc vào phiên bản và cấu hình cụ thể của MS SQL Server. Việc thực hiện cấu hình High availability đòi hỏi sự hiểu biết về hệ thống và cơ sở dữ liệu, nên nếu không có kinh nghiệm hoặc kiến thức về điều này, nên tham khảo tài liệu hướng dẫn chi tiết từ Microsoft hoặc tìm sự hỗ trợ từ các chuyên gia chuyên về MS SQL Server.
Xây dựng hệ thống High availability cần thiết kế dự phòng ở đâu?
Khi xây dựng hệ thống High availability, việc thiết kế dự phòng (redundancy) và các biện pháp bảo vệ đều rất quan trọng để đảm bảo tính sẵn sàng và đáng tin cậy của hệ thống. Dưới đây là các yếu tố cần được xem xét và thiết kế dự phòng:
- Ít nhất 2 server chạy song song: Để đảm bảo High availability, hệ thống cần ít nhất 2 server chạy song song, có thể hoạt động cùng một lúc. Nếu một server gặp sự cố, server còn lại có thể tiếp tục hoạt động và phục vụ người dùng.
- Dự phòng tuyến từ Workstation đến Router (lớp Building Access): Đảm bảo có sự dự phòng (redundancy) trong tuyến truyền từ các Workstation (máy tính cá nhân) đến Router ở lớp Building Access. Nếu một tuyến truyền gặp sự cố, có một tuyến dự phòng để đảm bảo tiếp tục truyền dữ liệu.
- Dự phòng tuyến bên trong và giữa các thành phần mạng: Đảm bảo cũng có sự dự phòng trong các tuyến truyền bên trong mạng nội bộ và giữa các thành phần mạng, bao gồm switch, bridge, router và các thiết bị kết nối.
- Server dự phòng cho các server farm module: Nếu hệ thống sử dụng server farm module, đảm bảo có server dự phòng (redundant server) để đảm bảo tính sẵn sàng và đáng tin cậy của hệ thống.
- Liên kết truyền thông dự phòng tại các lớp truy cập: Đảm bảo có sự dự phòng trong liên kết truyền thông tại các lớp truy cập của mạng, đảm bảo rằng dữ liệu có thể tiếp tục truyền dẫn một cách liên tục và không bị gián đoạn.
Những thiết kế dự phòng này đảm bảo rằng hệ thống High availability có khả năng chịu đựng sự cố và tiếp tục hoạt động một cách liên tục, giúp cung cấp dịch vụ đáng tin cậy cho người dùng và doanh nghiệp. Đồng thời, nên đảm bảo rằng các biện pháp bảo mật và mã hóa cũng được triển khai để bảo vệ dữ liệu và thông tin của hệ thống khỏi các việc truy cập trái phép.