CHƯƠNG II CLUSTERING MỨC HỆ ĐIỀU HÀNH
2.2.3 Chia sẻ dữ liệu giữa các Node
Một trong các khía cạnh quan trọng của giải pháp Cluster là tính sẵn sang đối với các Node và tính nhất quán về dữ liệu giữa các Node. Có rất nhiều lựa chọn giải pháp nhưng hầu hết phụ thuộc vào tần suất thay đổi dữ liệu và lượng dữ liệu thay đổi này. Có các giải pháp như:
Rsync
Network File System
Global File System
Intermezzo
Back-end databases
a. Rsync
Nếu dữ liệu chủ yếu là các trang Web tĩnh hoặc là một FTP server nhỏ thì tất cả dữ liệu có thể được lưu trên chính các Node (máy chủ vật lý) sau đó thực hiện đồng bộ dữ liệu của các Node này. Có thể sử dụng công cụ
Với giải pháp này thì luôn đạt được tính sẵn sàng cao vì tất cả dữ liệu được lưu trên chính các Node (việc truy xuất rất nhanh).
Hình 2.8: Rsync
Nhưng giải pháp này không thích hợp nếu lượng dữ liệu lớn thay đổi với tần suất lớn, khiến cho các Node không kịp đồng bộ.
b. Network File System (NFS)
Có thể sử dụng NFS (hiện nay được sử dụng rất phổ biến) để thực hiện thay rsync trong giải pháp khi dữ liệu trao đổi lớn. Nó cần thiết có 1 máy chủ NFS trung tâm để làm nhiệm vụ export dữ liệu chia sẻ dùng chung, dữ liệu này được các Node mount qua mạng
Hình 2.9: Network File System (NFS)
Mặc dụ NFS rất dễ thực hiện và sử dụng trên Linux nhưng nó vẫn có 2 nhược điểm chính sau:
Slow Performance Single point of failure
Mặc dù performance có thể chấp nhận được với giải pháp Cluster nhỏ, nhưng rất quan trọng đó là tình trạng của máy chủ NFS, vì nếu mày chủ NFS không hoạt động thì các Node sẽ không lấy được dữ liệu và do đó sẽ không thể thực hiện các dịch vụ ứng dụng được. Chính vì vậy nên có thể phải xử lý dự phòng chính máy chủ NFS này nhưng sẽ không đem lại hiệu quả về đầu tư.
c. Global File System (GFS)
GFS thiết lập thiết bị lưu trữ chia sẻ qua mạng, bao gồm Shared SCSI, Fibre Channel (FC), và Network Block Device (NBD). GFS có nhiệm vụ quản lý tất cả các thiết bị lưu trữ này và coi đó như là 1 Local Device đối với GFS.
Hình 2.10: Global File System (GFS)
GFS là hệ thống file chia sẻ 64-bit nhằm mục địch:
Availability: nếu 1 trong các Client offline, dữ liệu vẫn có thể truy nhập tới thông qua các GFS Client còn lại.
Scalability: tức là nó có khả năng mở rộng và không phải phụ thuộc và máy chủ trung tâm như trong giải pháp NFS.
Hơn nữa, GFS có khả năng tập hợp các thiết bị lưu trữ riêng lẻ thành 1 thiết bị lưu trữ logic lớn và có khả năng load-balancing giữa các thiết bị lưu trữ này bởi các GFS Client. Để thiết lập GFS thì đầu tiên cần phải xác định được giao tiếp của thiết bị lưu trữ này.
Shared SCSI (bị giới hạn với Cluster 2 Node)
Fibre Channel
IP (bị giới hạn về BandWidth)
d. Intermezzo
Không như GFS (sử dụng shared file system), Intermezzo là cách thiết lập distributed file system (hệ thống file phân tán), không có thiết bị lưu trữ tập trung và mỗi Node có 1 loại thiết bị lưu trữ riêng, các dữ liệu này được đồng bộ qua mạng IP Ethernet. Intermezzo là mô hình Client/Server, server lưu trữ dữ liệu đã được đồng bộ, còn Client chỉ lưu trữ các bản nháp của dữ liệu (chưa được đồng bộ, và nằm trên Cache). Chính vì vậy, intermezzon cho phép sau khi các Node này bị ngắt kết nối vẫn có thể đồng bộ lại, hoặc tiếp tục đồng bộ khi được kết nối trở lại
Hình 2.11: Intermezzo
e. Back-end database
Một sự lựa chọn khác để lưu trữ và truy nhập dữ liệu sử dụng theo mô hình back-end database như DB2. Cơ sở dữ liệu có thể sẵn sàng cao nhưng
không nằm trong giải pháp của Linux Clustering. Máy chủ vật lý đơn giản phải có khả năng kết nối tới cơ sở dữ liệu và ghi dữ liệu trên đó.