Hướng dẫn cài đặt GlusterFS trên Ubuntu 20.04
Giới thiệu
GlusterFS là 1 hệ thống tập tin mạng có khả năng mở rộng lên đến vài petabye và xử lý cho hàng ngàn máy khách. Đây là hệ thống quản lý dữ liệu phân tán mã nguồn mở. GlusterFS đặt các dữ liệu cần lưu trữ từ nhiều máy chủ khác nhau thành 1 vùng nhớ hay còn gọi là namespace. Nó phù hợp với các tác vụ cần nhiều dữ liệu như lưu trữ đám mây và truyền phát dữ liệu.
Bài viết này sẽ hướng dẫn cài đặt GlusterFS trên Ubuntu 20.04. Chúng ta sẽ sử dụng 3 máy chủ và 1 máy khách. Trong đó 3 máy chủ sẽ đóng vai trò là bộ lưu trữ để hình thành vùng nhớ. Trên mỗi máy chủ lưu trữ sẽ làm bản sao của máy chủ kia và các tập tin lưu trữ này sẽ được sao chép trên cả 3 máy chủ.
Trong bài viết này chúng ta sử dụng 3 máy chủ và 1 máy khách để cài đặt GlusterFS có thông tin như sau:
3 máy chủ có IP và hostname lần lượt là:
10.124.11.22: node1
10.124.11.19: node2
10.124.11.44: node3
1 máy khách có IP và hostname là:
10.124.11.53: client
Cập nhật hệ thống
Để đảm bảo rằng tất cả các phụ thuộc của GlusterFS đều được cập nhật, hãy thực thi lệnh bên dưới:
Trong quá trình cập nhật hệ thống chúng ta chờ từ 5 phút đến 15 phút.
Cài đặt GlusterFS Server
Cấu hình file host
Điều kiện quan trọng đầu tiên chúng ta cần làm trước khi cài đặt GlusterFS trên tất cả server là cấu hình file host trên mỗi máy. Bằng cách sử dụng trình soạn thảo quen thuộc để tiến hành thêm các dòng sau. Cần tiến hành thay đổi IP và hostname cho phù hợp:
Tiến hành thêm các dòng bên dưới vào file.
Cài đặt glusterfs-server trên ba server
Chúng ta tiến hành cài đặt glusterfs-server trên cả ba server bằng cáh thực thi lệnh bên dưới trên cả 3 server:
Sau khi cài đặt thành công GlusterFS chúng ta sẽ tiến hành lệnh sau để GlusterFS khởi động cùng với hệ thống:
Để kiểm tra trạng thái của GlusterFS
Kiểm tra phiên bản GlusterFS:
Cấu hình phân tán
Tại bước cấu hình phân tán này chúng ta sẽ sử dụng 2 server, trong ví dụ này chúng ta sẽ sử dụng là node1
và node2
.
Mô hình trong cấu hình phân tán ở bước này như sau:
Tiến hành tạo thư mục GlusterFS Volume
trên tất cảc 2 server node1
và node2
Từ server node1
chúng ta cần thêm probe node2
và nhóm lưu trữ glusterfs
Chạy lệnh dưới đây:
Kết quả trả về như sau:
Kiểm tra trạng thái nhóm lưu trữ và danh sách bằng lệnh dưới đây:
Sau khi thêm node2
vào kết quả như sau:
Trong server node1
tiến hành tạo volume glusterfs phân tán với tên 123hostnode
với 2 bản sao node1
và node2
.
Như vậy chúng ta đã tạo ra volume phân tán 123hostnode
và khởi động 123hostnode
và kiểm tra thông tin của nó tại node1
Sau đây chúng ta sẽ thực thi lệnh sau để kiểm tra thông tin tại node2
Cài đặt client GlusterFS
Để cài đặt GlusterFS
client chúng ta thực thi lệnh sau:
Thực hiện tạo 1 thư mục /mnt/glusterfs123hostclient
khi sau khi cài đặt glusterfs-client
thành công.
Tiến hành mount volume glusterfs phân tán 123hostnode
vào thư mục /mnt/glusterfs123hostclient
.
Sau khi tiến hành mount volume vào thư mục /mnt/glusterfs123hostclient
thực hiện kiểm tra kết quả:
Nếu như chúng ta chỉ thực thi lệnh mount
trên thì sẽ bị mất khi máy tính, VPS hoặc Server được khởi động lại.
Do đó cần thực hiện mount
tự động khi máy tính, VPS hoặc Server được khởi động lại, thì cấn tiến hành thêm trực tiếp trên file /etc/fstab
như sau:
Hoặc chúng ta có thể sử dụng trình soạn thảo văn bản yêu thích để mở file /etc/fstab
sau đó thực hiện thêm dòng sau:
Khi đã thêm vào file /etc/fstab
thì mount
sẽ không bị mất khi khởi động lại máy tính, VPS hoặc Server.
GlusterFS + NFS-Ganesha
GlusterFS + NFS-Ganesha Server
Cài đặt NFS-Ganesha
và tích hợp với GlusterFS
để gắn Gluster Volume với giao thức NFS.
Các giao thức NFS được hỗ trợ bởi NFS-Ganesha là v3, v4.0, v4.1, pNFS.
Đầu tiên chúng ta cần tắt tính năng NFS trong Gluster trước
Nếu như nfs.disable: off
, chuyển sang tắt bằng lệnh sau:
Nếu như NFS Server đang chạy, sử dụng lệnh sau để tắt:
Cài đặt và cấu hình NFS-Ganesha
trên một node trong cụm GlusterFS thực thi lệnh sau:
Thực hiện cấu hình NFS-Ganesha
Tiến hành tạo file /etc/ganesha/ganesha.conf
và thực hiện thêm các dòng sau:
Tiến hành thay hostname
, volume
và Path
sang thông tin tương ứng với cấu hình của bạn.
Sau khi tiến hành thêm các dòng trên vào file /etc/ganesha/ganesha.conf
thì thực hiện khởi động lại dịch vụ NFS-Ganesha
Thực thi lệnh sau để kiểm tra list:
GlusterFS + NFS-Ganesha Client
Thực hiện cài đặt NFS-Ganesha Client
Sau khi tiến hành mount volume vào thư mục /mnt/glusterfs123hostclient
với chuẩn nfs4
thực hiện kiểm tra kết quả:
Nếu như chúng ta chỉ thực thi lệnh mount
trên thì sẽ bị mất khi máy tính, VPS hoặc Server được khởi động lại.
Do đó cần thực hiện mount
tự động khi máy tính, VPS hoặc Server được khởi động lại, thì cấn tiến hành thêm trực tiếp trên file /etc/fstab
. Chúng ta có thể sử dụng trình soạn thảo văn bản yêu thích để mở file /etc/fstab
sau đó thực hiện chỉnh sửa dòng sau:
Sang dòng sau:
Khi đã thêm vào file /etc/fstab
thì mount
sẽ không bị mất khi khởi động lại máy tính, VPS hoặc Server.
Thêm node (Bricks) vào GlusterFS
Ở bước này chúng ta sẽ tiến hành thêm node3
vào GlusterFS. Mô hình như sau:
Nếu như server chưa cài đặt thì chúng ta cần tiến hành cài đặt glusterfs-server như hướng dẫn tại đây
Thực hiện thêm một probe mới vào Cluster thực hiện lệnh sau:
Kiểm tra trạng thái nhóm lưu trữ và danh sách bằng lệnh dưới đây:
Tiến hành tạo thư mục GlusterFS Volume
trên node mới:
Thực hiện thêm node3
vào Volume:
Xác nhận thông tin Volume bằng lệnh sau:
Sau khi đã thêm node3
thành công chúng ta tiến hành vào client
kiểm ta dung lượng của GlusterFS
Gỡ node (Bricks) trên GlusterFS
Ở bước này chúng ta sẽ tiến hành gỡ node3
trên GlusterFS. Mô hình như sau:
Xác nhận thông tin Volume bằng lệnh sau:
Bắt đầu gỡ node3
khỏi Volume
Tiến hành kiểm tra trạng thái:
Sau khi đã kiểm tra trạng thái cần chuyển sang hoàn thành và cam kết xóa
Xác nhận thông tin Volume bằng lệnh sau:
Sau khi đã gỡ node3
thành công chúng ta tiến hành vào client
kiểm ta dung lượng của GlusterFS
Kiểm tra sao chép / phản chiếu
Chúng ta sẽ kiểm tra dữ liệu phản chiếu trên mỗi node. Tiến hành monut Volume
glusterfs vfs123hostnode
và mỗi server Glusterfs
Trên server node1
:
Trên server node2
:
Nếu như chúng ta chỉ thực thi lệnh mount
trên thì sẽ bị mất khi máy tính, VPS hoặc Server được khởi động lại.
Do đó cần thực hiện mount
tự động khi máy tính, VPS hoặc Server được khởi động lại, thì cấn tiến hành thêm trực tiếp trên file /etc/fstab
. Chúng ta có thể sử dụng trình soạn thảo văn bản yêu thích để mở file /etc/fstab
sau đó thực hiện chỉnh sửa dòng sau:
Với server node1
:
Với server node2
:
Chúng ta tiến hành quay lại client và vào thư mục /mnt/glusterfs123hostclient/
và thực hiện tạo 3 file file01_123host.txt
, file02_123host.txt
và file03_123host.txt
Tiến hành kiểm tra file đã tạo:
Kiểm tra lần lượt server node1
và node2
, chúng ta sẽ nhận được tất cả các tệp mà đã tạo từ client
Tất cả các file mà chúng ta tạo ra từ client sẽ được phân phối tất cả volume Glusterfs cho các node server.
Bài viết trên đã hoàn tất việc cấu hình và cài đặt GlusterFS trên Ubuntu 20.04
Chúc các bạn thành công!
Tính năng đang được phát triển