0941.11.99.00

High availability là gì? Cách thiết lập hệ thống High availability

High availability là gì? Cách thiết lập hệ thống High availability

Hiện nay, công nghệ thông tin là một bộ phận không thể thiếu giúp cho việc nâng cao năng lực cạnh tranh cùng với hiệu quả kinh doanh của doanh nghiệp. Vì vậy, hệ thống mạng máy tính đòi hỏi phải luôn ở trong tình trạng hoạt động và mang tính sẵn sàng cao. Do vậy, High availability ra đời để đem đến những giải pháp kết nối hoàn hảo giữa khách hàng và doanh nghiệp. Vậy định nghĩa High availability là gì? Hãy cùng RENREN tìm hiểu ở bài chia sẻ dưới đây.

High availability là gì?

High availability có nghĩa là “Mức độ sẵn sàng cao”. Tức là những thiết bị hoặc web server sẽ 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 toàn hệ thống. Hoặc có thể hiểu một cách đơn giản, High availability chính là một quy trình hoặc một giải pháp hay công nghệ nhằm thực hiện các chức năng đảm bảo cho ứng dụng, hay cơ sở dữ liệu có thể tiến hành truy cập được 24/7 trong tất cả điều kiện.

Để có thể thực hiện được những điều này, cơ chế cần tối thiểu có 2 máy chủ cùng chạy song song và có thể hoạt động liên tục. Nếu xảy ra tình huống một máy chủ gặp phải sự cố thì máy còn lại sẽ phải thay thế nhằm giúp cho hệ thống vẫn có thể hoạt động bình thường.

Lợi ích khi ứng dụng High availability là gì?

Khách hàng có thể dễ dàng truy cập vào trang web mọi lúc, mọi nơi mà không cần phải lo sợ tình trạng bị gián đoạn Tất cả những dữ liệu chứa trong server đều được bảo mật và sẽ được lưu trữ ở nhiều vị trí khác nhau. Khi có bất cứ sự cố gì xảy đến trên VPS hosting thì không gây quá nhiều ảnh hưởng hay làm mất mát dữ liệu quá nghiêm trọng

Nhờ những bản sao trên hosting đã được lưu trữ ở nhiều cụm, do vậy, khi xảy ra bất kỳ sự cố ở một VPS nào đó thì VPS khác sẽ tiến hành tiếp quản. Điều đó, giúp cho hệ thống có thể hoạt động liên tục.

CÁc giải pháp High availability phổ biến hiện nay là gì?

Về cơ bản thì sẽ có 5 giải pháp High availability được thiết lập cho database trong MS SQL Server. Cụ thể: Replication, Log Shipping, Mirroring, Clustering, AlwaysON Availability Groups.

Replication

Với giải pháp này thì dữ liệu gốc sẽ được sao chép đến điểm đích thông qua những tác vụ sao chép (agent/job). Đồng thời, sử dụng công nghệ ở mức độ đối tượng.

Một số thuật ngữ trong Replication:

  • Distributor (Bên phân phối): Mục này là tùy chọn. Nó chưa cho phép lưu trữ những dữ liệu đã sao chép đối với bên đăng ký hay còn được gọi là Subscriber.
  • Publisher (Bên phát hành): Có nghĩa là máy chủ nguồn
  • Bên đăng ký: Tức máy chủ đích.

Log Shipping

Thông qua những tác vụ sao lưu Transaction Log, dữ liệu gốc sẽ được tiến hành sao chép đến điểm đích và sử dụng công nghệ ở mức độ cơ sở dữ liệu

Những thuật ngữ bạn cần biết:

  • Secondary Server (Máy chủ thứ cấp): là máy chủ đích.
  • Primary Server (Máy chủ sơ cấp): là máy chủ nguồn.
  • Máy chủ thực hiện giám sát và được giám sát bởi trạng thái Log Shipping. Bạn sẽ có thể tùy chọn loại máy chủ này hoặc không.

Clustering

Cách để thiết lập high availability này được sử dụng dữ liệu đã lưu trữ ở những địa điểm chung, sử dụng cho máy chủ thứ cấp và sơ cấp. Giải pháp này sử dụng công nghệ ở mức bàn cài instance) và cần phải thiết lập Windows Clustering ở những khu vực lưu trữ chung.

Những thuật ngữ bạn cần biết:

  • Passive Node (Node bị động): nơi SQL Services không chạy.
  • Active Node (Node chủ động): nơi SQL Services chạy.

Mirroring

Thiết lập High availability dành cho database trong MS SQL Server bằng cách bạn có thể sao chép dữ liệu sơ cấp sang dạng thứ cấp thông qua những giao dịch mạng, nhờ sự hỗ trợ của những điểm kết nối hình chiếu với số cổng. Đồng thời, sử dụng những công nghệ cấp độ cơ sở dữ liệu.

Những thuật ngữ cần phải nắm:

  • Mirror Server (Máy chủ hình chiếu): máy chủ đích.
  • Principal Server (Máy chủ gốc): máy chủ nguồn.
  • Witness Server (Máy chủ chứng kiến): sử dụng cho những giải pháp chịu lỗi tự động. Máy chủ này tùy chọn dựa vào nhu cầu sử dụng của người tiêu dùng.

AlwaysON Availability Groups

Dữ liệu sơ cấp sẽ được chuyển sang dạng thứ cấp bằng những giao dịch mạng. Và sử dụng công nghệ ở mức độ nhóm cơ sở dữ liệu. Với cách này thì Windows Clustering sẽ không cần phải thiết lập nơi lưu trữ chung.

Những bước cấu hình High availability cho Mirroring và Log Shipping

Bước 1: Lấy bản đầy đủ cùng với bản sao T-log của cơ sở dữ liệu gốc.

Thí dụ:

Cấu hình của Log Shipping/Mirroring sẽ có cơ sở dữ liệu TestDB với những thông tin sau:

  • SQL Server: M3áy chủ sơ cấp
  • Testinstance: Máy chủ nguồn
  • Devinstance: Máy chủ thứ cấp

Để có thể lấy sao lưu đầy đủ và T-log trên máy chủ nguồn. Bạn cần kết nối đến SQL Server Testinstance, sau đó thực hiện mở truy vấn mới và dùng đoạn mã sau đây:

Backup database TestDB to disk = 'D:\testdb_full.bak'

GO

Backup log TestDB to disk = 'D:\testdb_log.trn'

Bước 2: Sao chép tập tin sao lưu và đến máy chủ đích

Ở ví dụ trên, chỉ cần có một máy chủ vật lý cùng với 2 bản SQL Server Instance nên sẽ không cần thực hiện những thao tác sao chép. Tuy nhiên, nếu như bạn có 2 bản SQL Server Instance ở 2 máy chủ vật lý thì sẽ cần phải sao chép 2 tập tin đến với máy chủ thứ cấp, nơi thực hiện cài Devinstance.

Bước 3: Khôi phục lại cơ sở dữ liệu bằng tập tin sao lưu trên máy chủ đích với việc bạn sử dụng chọn lựa norecovery.

Thí dụ:

  • Kết nối đến SQL Server Devinstance.
  • Tiến hành mở truy vấn mới New Query.
  • Viết một đoạn mã sau để có thể khôi phục toàn bộ cơ sở dữ liệu có tên là TestDB. Vì tên trùng với cơ sở dữ liệu gốc nên bạn sẽ sử dụng tên khác cho cấu hình Log Shipping.
  • Để khôi phục bạn chọn norecovery

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

Sau đó, tiếp tục nhấn Refresh ở phần thư mục cơ sở dữ liệu ở trên máy chủ của Devinstance bạn sẽ thấy được cơ sở dữ liệu TestDB đã được tiến hành khôi phục.

Bước 4: Cấu hình High availability (Mirroring/Log Shipping)

Thí dụ:

  • Bạn click chuột phải vào mục cơ sở dữ liệu TestDB của máy chủ gốc và chọn vào Properties.
  • Lúc này, một màn hình sẽ được hiện ra
  • Chọn Transaction Log Shipping hoặc Mirroring tùy thuộc vào yêu cầu và thực hiện theo những bước được hệ thống hướng dẫn để có thể hoàn tất được cấu hình.

Xây dựng hệ thống High availability

Theo những chia sẻ trên, High availability cần sử dụng đến ít nhất là 2 server để chạy song song và có thể đảm bảo việc chuyển tiếp các thông tin mà không bị gián đoạn.Vì vậy, việc xây dựng giải pháp High availability cần phải tính đến khả năng đã xảy ra sự cố và thiết kế dự phòng ở những nơi bạn cần:

  • Dự phòng tất cả những tuyến từ Worksattion cho đến những router ở lớp building access.
  • Dự phòng những tuyến đường ở bên trong và giữa những thành phần mạng
  • Máy chủ dự phòng đối với những server farm module.
  • Liên kết truyền thông dự phòng ở những lớp truy cập.

Máy chủ dự phòng (Server Redundancy)

Máy chủ này được cài đặt ở trong hệ thống mạng cần phải lưu trữ những thông tin quan trọng. Trong trường hợp bình thường, máy chủ dự phòng sẽ ở 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.

Tuyến dự phòng (Router Redundancy)

Tuyến dự phòng sẽ được thiết kế nhằm thực hiện 2 mục đích chính đó là: Tăng tính sẵn sàng và cân bằng tải.

Cân bằng tải (Load balancing)

Đây chính 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 để có thể xử lý yêu cầu nhanh hơn và hiệu quả hơn.

Thực tế, những Website của các doanh nghiệp lớn thường sẽ gặp những vấn đề về lượt traffic nên load balancing chính là một trong những giải pháp cần thiết, nhằm định tuyến những yêu cầu truy cập đến những host server không giống nhau.

Phần lớn những giao thức định tuyến IP đều được cần bằng tải ở trên những liên kết song song. Do vậy, cần dùng tối đa đường dẫn và thay đổi số lượng liên kết để cho Router thực hiện việc cân bằng tải và mặc định điều đó là 4 và tối đa là 6 đường.

Thường, cứ 2 server được dùng để cân bằng tải thì sẽ cần có thêm 1 server để thực hiện nhiệm vụ quyết định server nào đảm nhận các công việc. Vì vậy, load balancing cần nhiều thiết bị để có thể cài đặt và chúng sẽ được tích hợp cùng với những dịch vụ sao lưu và dự phòng dữ liệu. Thậm chí, trong một số tình huống, thiết bị sẽ được đặt ở nhiều nơi khác nhau.

Increasing Availability (Tăng khả năng sẵn sàng mạng)

Đây được xem là yếu tố quan trọng trong mọi hệ thống mạng. Sẽ có 4 nguyên tắc chính đó là Redundancy – Entanglement – Awareness – Persistence (viết tắt của cụm REAP).

  • Redundancy (dự phòng): Luôn có sẵn một bản để dự phòng cho tất cả những thiết bị
  • Entanglement (kết dính): là do bên trong hệ thống, mỗi phần sẽ đảm nhận một công việc nên cần phải tiến hành kết nối chúng với nhau để đảm bảo tính nhất quán của hoạt động.
  • Awareness (Nhận thức): Giúp khách hàng có thể tiếp cận được thông tin doanh nghiệp một cách nhanh chóng mà không gặp bất cứ trở ngại nào. Một số cách để có thể thực hiện như điều chỉnh bằng tay, quảng bá DNS, cân bằng tải, phương thức dịch vụ chuyên biệt DFS.
  • Persistence (Bền bỉ): Đảm bảo cho sự hoạt động thường xuyên của hệ thống. Có 3 bước để tiến hành: Kiểm tra và kịp thời phát hiện được sự cố – Chuyển dự phòng sang một server khác – Kết nối lại với người thực hiện truy cập

Dự phòng đa liên kết (Link Media Redundancy )

Những thiết bị trong mạng chuyển mạch có thể được liên kết những dự phòng với nhau, giúp giảm thiểu khoảng thời gian down mạng. Nhưng điều này có thể khiến chúng gây nên những hiện tượng như Broadcast-storm (tức là sẽ gửi nhiều gói tin quảng bá). Vì vậy, cần đến một vài thuật toán để có thể tối ưu những hoạt động giữa 2 trạm mạng. Điển hình chính là thuật toán Spanning Tree Protocol (STP)

STP sẽ được thực hiện các 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. Những đường còn lại sẽ trở thành dạng dự phòng. Khi đã có sự cố với đường chính thì nó sẽ được kích hoạt hoạt động.

Bài viết, chính là những chia sẻ của chúng tôi về High availability là gì? Và cách để xây dựng một hệ thống High availability. Hy vọng, với những chia sẻ trên sẽ đem đến cho bạn thật nhiều thông tin hữu ích, góp phần giúp tăng trải nghiệm về lướt Web.

Trả lời

×