Hệ thống máy tính sẵn sàng cao (high availability) cho phép các dịch vụ ứng dụng vẫn tiếp tục hoạt động cho dù xảy ra lỗi phần cứng hoặc phần mềm. Khi có một thành phần nào đó bị lỗi thì thành phần dự phòng sẽ đảm nhiệm [14].
Cluster là một là một nhóm máy chủ được nối mạng (gọi là node) có đủ phần dự phòng về phần cứng và phần mềm để đảm bảo không dừng dịch vụ khi xảy ra lỗi. Các dịch vụ ứng dụng được nhóm lại thành các gói (package). Khi xảy ra lỗi về dịch vụ, node, mạng hoặc các tài nguyên khác thì điều khiển gói sẽ được chuyển qua node khác trong cluster, đảm bảo tính sẵn sàng của các dịch vụ.
Hình 3-11: Mô hình cluster 2 node
Hình trên mô tả mô hình cluster điển hình với hai node, trong đó node 1 chạy gói dịch vụ A và node 2 chạy gói dịch vụ B.
Dịch vụ mạng TCP/IP, sẽ được sử dụng để truyền các thông điệp heartbeat giữa các node trong cluster để điều khiển hoạt động của cluster, cũng như các loại truyền thông khác giữa các node.
Failover
Phần mềm quản lý cluster sẽ giám sát tình trạng của các node trong cluster, các máy chủ đang chạy trong cluster sẽ được gọi là các node hoạt động. Khi tạo các gói dịch vụ, ta phải xác định node chạy chính cũng như các node dự phòng cho gói dịch vụ
đó. Khi một node hoặc đường truyền của node đó bị lỗi, điều khiển gói sẽ được chuyển qua node dự phòng đang hoạt động.
Hình 3-12: Cluster sau khi xảy ra failover
Xây dựng cluster cho hệ thống OLTP
Đối với hệ thống OLTP, có tất cả là bốn máy chủ, vì vậy ta sẽ tạo một cluster bốn node, trong đó:
- Node 1 (máy chủ OLTP1) là node chạy chính, đặt tại Trung tâm xử lý chính. - Node 2 (máy chủ OLTP2) là node dự phòng thứ nhất, đặt tại Trung tâm xử lý
chính, nếu node chạy chính xảy ra lỗi thì các gói dịch vụ sẽ được chuyển qua node 2 này.
- Node 3 (máy chủ OLTP3) là node dự phòng thứ hai, đặt tại Trung tâm dự phòng, nếu node 1 và node 2 xảy ra lỗi, thì các gói dịch vụ sẽ được chuyển qua chạy trên node này.
- Node 4 (máy chủ OLTP4) là node dự phòng thứ 3, đặt tại Trung tâm dự phòng, nếu node 1, node 2 và node 3 xảy ra lỗi, thì các gói dịch vụ sẽ được chuyển qua chạy trên node này.
Trên cluster của hệ thống OLTP, ta sẽ thiết lập các gói dịch vụ sau:
- Thứ nhất, gói dịch vụ DISK sẽ cung cấp tài nguyên tủ đĩa cho hệ thống. Khi đó chỉ node nào trong cluster có gói dịch vụ này sẽ có quyền truy cập vào hệ thống tủ đĩa, các node còn lại sẽ không thể truy cập được.
- Thứ hai, gói dịch vụ IP sẽ cung cấp một địa chỉ IP duy nhất cho chương trình ứng dụng. Khi đó chương trình ứng dụng sẽ sử dụng địa chỉ IP này mà không cần quan tâm đến địa chỉ IP thực sự của node đang chạy chương trình ứng dụng.
Xây dựng cluster cho hệ thống Data Warehouse
Đối với hệ thống Data Warehouse, chỉ có hai máy chủ, máy chủ DW1 được đặt tại Trung tâm xử lý chính và máy chủ DW2 được đặt tại Trung tâm dự phòng. Khi đó ta sẽ xây dựng cluster hai node cho hệ thống Data Warehouse, trong đó:
- Node 1 (máy chủ DW1) sẽ là node chạy chính.
- Node 2 (máy chủ DW2) sẽ là dự phòng. Khi node 1 xảy ra lỗi thì các gói dịch vụ của hệ thống Data Warehouse sẽ được chuyển qua chạy trên node này. Tương tự như hệ thống OLTP, hệ thống Data Warehouse sẽ có hai gói dịch vụ sau: - Thứ nhất, gói dịch vụ DISK cung cấp tài nguyên về tủ đĩa cho máy chủ chạy
chính trong hệ thống DataWarehouse.
- Thứ hai, gói IP sẽ cung cấp một địa chỉ IP duy nhất cho chương trình ứng dụng, chương trình ứng dụng sẽ hoạt động trên địa chỉ IP này mà không cần quan tâm đến các gói dịch vụ đang chạy trên node nào trong cluster.
Xây dựng cluster cho hệ thống Training
Đối với hệ thống Training, ta chỉ có một máy chủ TRN và một tủ đĩa được đặt tại Trung tâm xử lý chính, vì vậy ta không cần phải xây dựng cluster cho hệ thống này. Tuy nhiên, ta vẫn có thể xây dựng cluster với một node, khi đó cluster chỉ có ý nghĩa cho các card mạng trên máy chủ TRN.