Cách cài đặt GlusterFS trên Rocky Linux

theanh

Administrator
Nhân viên
GlusterFS hay Gluster File System là một hệ thống tệp phân tán miễn phí và mã nguồn mở do RedHat phát triển. GlusterFS là một hệ thống tệp có thể mở rộng được hình thành từ nhiều máy chủ thành một hệ thống tệp thực thể cho phép người dùng kết nối và gắn ổ đĩa GlusterFS.

GlusterFS là một hệ thống tệp hiện đại có thể xử lý hàng petabyte dữ liệu, đồng thời dễ cài đặt và bảo trì, cũng như dễ mở rộng hệ thống tệp.

Trong hướng dẫn này, bạn sẽ học cách cài đặt GlusterFS trên hai hệ thống Rocky Linux và thiết lập cụm giữa hai máy chủ. Chúng tôi cũng sẽ hướng dẫn cách gắn ổ đĩa GlusterFS trên máy khách.

Điều kiện tiên quyết​

  • Hai máy chủ Rocky Linux với một đĩa bổ sung trên mỗi máy chủ.
  • Mật khẩu gốc được cấu hình trên cả hai máy chủ

Thiết lập FQDN và /etc/hosts​

Trước khi bắt đầu, bạn sẽ cần thiết lập tệp FQDN và /etc/hosts trên mỗi máy chủ.

Dưới đây là máy chủ chi tiết mà chúng tôi sẽ sử dụng để tạo cụm GlusterFS:
  • server1.localdomain.lan có địa chỉ IP 192.168.10.15
  • server2.localdomain.lan có địa chỉ IP 192.168.10.20
Để thiết lập FQDN trên mỗi máy chủ, hãy chạy lệnh hostnamectl bên dưới.

Trên server1, hãy chạy lệnh hostnamectl bên dưới.
Mã:
sudo hostnamectl set-hostname server1.localdomain.lan
Và trên server2, hãy chạy lệnh sau.
Mã:
sudo hostnamectl set-hostname server2.localdomain.lan
Tiếp theo, hãy chỉnh sửa cấu hình /etc/hosts bằng nano editor.
Mã:
sudo nano /etc/hosts
Dán cấu hình sau.
Mã:
192.168.10.15 server1.localdomain.lan
192.168.10.20 server2.localdomain.lan
Lưu tệp bằng cách nhấn Ctrl+X và nhập Y để xác nhận.

Bây giờ hãy kiểm tra kết nối giữa server1server2 bằng lệnh ping bên dưới.
Mã:
ping -c3 server1.localdomain.lan
ping -c3 server2.localdomain.lan
Mỗi tên miền cục bộ sẽ được phân giải thành địa chỉ IP chính xác của máy chủ.


Thiết lập phân vùng​

Để triển khai GlusterFS, bạn nên sử dụng các ổ đĩa khác nhau lưu trữ, đặc biệt là cho môi trường sản xuất.

Đối với hướng dẫn này, cả server1 và server2 đều có đĩa phụ /dev/vdb1 có kích thước 5GB.

Bây giờ hãy chỉnh sửa cấu hình /etc/fstab bằng trình soạn thảo nano để thêm đĩa của bạn.
Mã:
sudo nano /etc/fstab
Đối với server1, đĩa /dev/vda1 sẽ được gắn vào thư mục /data/vol1.
Mã:
/dev/vda1 /data/vol1 ext4 default 0 0
Và đối với server2, đĩa /dev/vda1 sẽ được gắn vào thư mục /data/vol2.
Mã:
/dev/vda1 /data/vol2 ext4 default 0 0
Tiếp theo, mount đĩa /dev/vda1 bằng lệnh bên dưới.
Mã:
sudo mount -a
Nếu không có thông báo lỗi, hãy xác minh danh sách đĩa được gắn trên mỗi hệ thống bằng cách chạy lệnh df như bên dưới.
Mã:
sudo df -h
Bạn sẽ thấy đĩa /dev/vda1 được gắn vào thư mục /data.

Bây giờ trước khi bắt đầu cài đặt và cấu hình cụm GlusterFS, hãy chạy lệnh bên dưới để tạo thư mục brick0 bên trong thư mục /data.

Trên server1, hãy chạy lệnh bên dưới.
Mã:
sudo mkdir -p /data/vol1/brick0
Đối với server2, hãy chạy lệnh bên dưới.
Mã:
sudo mkdir -p /data/vol2/brick0

Thêm kho lưu trữ GlusterFS cho Rocky Linux​

Sau khi thiết lập đĩa thành công, bây giờ bạn sẽ cài đặt các gói GlusterFS vào máy chủ Rocky Linux của mình.

Rocky Linux hiện tại vẫn chưa cung cấp các gói máy chủ GlusterFS, nhưng bạn có thể sử dụng các gói GlusterFS của bản phát hành CentOS.

Thêm kho lưu trữ GlusterFS vào hệ thống Rocky Linux của bạn bằng lệnh sau.
Mã:
sudo dnf install centos-release-gluster9
y để xác nhận cài đặt và nhấn ENTER để tiếp tục.



Tiếp theo, hãy đến thư mục /etc/yum.repos.d/ và chỉnh sửa cấu hình kho lưu trữ CentOS-Gluster-9.repo sử dụng trình chỉnh sửa nano.
Mã:
cd /etc/yum.repos.d/
sudo nano CentOS-Gluster-9.repo
Thay đổi dòng baseurl bằng kho lưu trữ Rocky Linux và bình luận dòng mirrorlist như bên dưới
Mã:
# CentOS-Gluster-9.repo
#
# Vui lòng xem http://wiki.centos.org/SpecialInterestGroup/Storage để biết thêm
# thông tin

[centos-gluster9]
name=CentOS-$releasever - Gluster 9
#mirrorlist=http://mirrorlist.centos.org?arch=$basearch&release=$releasever&repo=storage-gluster-9
baseurl=https://dl.rockylinux.org/vault/centos/8.5.2111/storage/x86_64/gluster-9/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Storage

[centos-gluster9-test]
name=CentOS-$releasever - Gluster 9 Kiểm tra
baseurl=http://buildlogs.centos.org/centos/$releasever/storage/$basearch/gluster-9/
gpgcheck=0
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Storage
Lưu tệp bằng cách sử dụng Ctrl+XY để xác nhận.

Bây giờ hãy kiểm tra kho lưu trữ có sẵn trên hệ thống Rocky Linux của bạn bằng lệnh sau.
Mã:
sudo dnf repolist
Bạn sẽ thấy kho lưu trữ phát hành CentOS cho GlusterFS 9.


Cài đặt GlusterFS Server​

Bây giờ hãy cài đặt các gói GlusterFS trên hệ thống Rocky Linux bằng lệnh dnf bên dưới.
Mã:
sudo dnf install glusterfs glusterfs-libs glusterfs-server
Nhập Y để xác nhận cài đặt và nhấn ENTER để tiếp tục.



Sau khi cài đặt hoàn tất, hãy khởi động dịch vụ glusterfsd và thêm nó vào hệ thống khởi động bằng lệnh sau.
Mã:
sudo systemctl enable glusterfsd.service
sudo systemctl start glusterfsd.service
Bây giờ hãy xác minh trạng thái dịch vụ glusterfsd bằng lệnh bên dưới.
Mã:
sudo systemctl status glusterfsd.service
Bạn sẽ thấy dịch vụ glusterfsd đang hoạt động với trạng thái exited, nghĩa là dịch vụ đang chạy, nhưng trình quản lý systemd không tìm thấy bất kỳ daemon nào để giám sát.


Mở cổng bằng Firewalld​

Trước khi bắt đầu cấu hình cụm GlusterFS, bạn sẽ cần mở cổng cho dịch vụ GlusterFS.

Trên các hệ điều hành dựa trên RHEL Linux, ứng dụng tường lửa mặc định là firewalld, cung cấp công cụ dòng lệnh firewall-cmd để quản lý tường lửa.

Thêm dịch vụ glusterfs vào cấu hình firewalld của bạn và tải lại firewalld bằng lệnh bên dưới.
Mã:
sudo firewall-cmd --add-service=glusterfs --permanent
sudo firewall-cmd --reload
Sau đó, xác minh danh sách các dịch vụ trên firewalld bằng lệnh sau.
Mã:
sudo firewall-cmd --list-services
Bạn sẽ thấy dịch vụ glusterfs được thêm vào firewalld.


Khởi tạo GlusterFS Cluster​

Bước tiếp theo sẽ là khởi tạo và thiết lập cụm GlusterFS trên các hệ thống Rocky Linux.

Đầu tiên, hãy khởi tạo cụm GlusterFS bằng lệnh sau. Lệnh này phải được chạy trên máy chủ server1 và chỉ có thể chạy một lần.

Bằng cách sử dụng lệnh này, bạn sẽ thêm server2.localdomain.lan vào đối tác GlusterFS trên server1. Ngoài ra, server2 sẽ tự động được khởi tạo sau khi lệnh sau được hoàn tất.
Mã:
sudo gluster peer probe server2.localdomain.lan
Bây giờ bạn sẽ thấy thông báo đầu ra 'peer probe: success'.

Tiếp theo, hãy xác minh trạng thái ngang hàng trên server1 bằng lệnh sau.
Mã:
sudo gluster peer status
Bạn sẽ thấy chỉ có một ngang hàng trên server1.



Ngoài ra, hãy chạy lệnh bên dưới trên server2 để kiểm tra các ngang hàng khả dụng trên server2.
Mã:
sudo gluster peer status
Bạn sẽ thấy chỉ có một ngang hàng trên server2.


Tạo ổ đĩa GlusterFS​

Sau khi bạn đã khởi tạo thành công GlusterFS cluster, bạn sẽ tạo một ổ đĩa GlusterFS mới sẽ được máy khách sử dụng.

Trong hướng dẫn này, bạn sẽ tạo một ổ đĩa mới có tên myvolume với loại replica từ 2 đĩa từ server1 và server2.
Mã:
sudo gluster volume create myvolume replica 2 server1.localdomain.lan:/data/vol1/brick0 server2.localdomain.com:/data/vol2/brick0
Bây giờ hãy nhập y để xác nhận và nhấn ENTER để tạo ổ đĩa GlusterFS.

Khi quá trình thành công, bạn sẽ thấy đầu ra giống như ảnh chụp màn hình sau.



Tiếp theo, hãy khởi động ổ đĩa Glusterfs myvolume bằng lệnh sau.
Mã:
sudo gluster volume start myvolume
Bạn sẽ thấy thông báo đầu ra 'volume start: myvolume: success', có nghĩa là myvolume đã được khởi động.

Bây giờ hãy chạy lệnh bên dưới để xác minh trạng thái của ổ đĩa GLusterFS.
Mã:
sudo gluster volume status
Bên dưới, bạn sẽ thấy trạng thái của myvolumetrực tuyến và sẵn sàng để sử dụng cho máy khách.



Tùy chọn, bạn cũng có thể xác minh trạng thái của ổ đĩa GlusterFS bằng lệnh sau.
Mã:
sudo gluster volume info
Bạn sẽ thấy ổ đĩa myvolume có kiểu là replicate và trạng thái đã được khởi động. myvolume dựa trên đĩa trên server1 và server2.


Gắn kết GlusterFS Volume trên Máy khách​

Bây giờ bạn đã tạo được GlusterFS volume myvolume. Tiếp theo, bạn sẽ học cách thiết lập máy cline và gắn ổ đĩa GlusterFS.

Trong hướng dẫn này, chúng ta sẽ sử dụng máy khách có tên là client.

Chỉnh sửa cấu hình /etc/hosts trên máy khách của bạn bằng trình soạn thảo nano.
Mã:
sudo nano /etc/hosts
Dán cấu hình sau.
Mã:
192.168.10.15 server1.localdomain.lan
192.168.10.20 server2.localdomain.lan
Lưu tệp bằng Ctrl+X và nhập Y để xác nhận.

Để xác minh kết nối giữa máy khách với máy chủ GlusterFS, hãy chạy lệnh ping bên dưới.
Mã:
ping -c3 server1.localdomain.lan
bạn sẽ thấy lệnh máy khách có thể kết nối với GlusterFS server.



Tiếp theo, cài đặt gói máy khách GlusterFS từ kho lưu trữ AppStream Rocky Linux bằng lệnh sau.
Mã:
sudo dnf install glusterfs-client
Nhập y để xác nhận cài đặt và nhấn ENTER để tiếp tục.



Sau khi cài đặt hoàn tất, hãy tạo thư mục gắn kết mới /data bằng lệnh bên dưới.
Mã:
sudo mkdir /data
Gắn kết ổ đĩa GlusterFS myvolume vào thư mục /data bằng lệnh gắn kết bên dưới.
Mã:
sudo mount.glusterfs server1.localdomain.lan:/myvolume /data
Nếu không có lỗi, ổ đĩa GlusterFS đã được gắn kết thành công vào máy khách của bạn.

Chạy lệnh sau để xác minh ổ đĩa GlusterFS.
Mã:
df -h
Bạn sẽ thấy GlusterFS myvolume được gắn thành công vào thư mục /data trên máy khách.


Kiểm tra quyền truy cập ghi và tính khả dụng cao​

Trên máy khách, hãy chuyển đến thư mục /data và tạo một tệp mới bằng lệnh bên dưới.

Với lệnh này, bạn sẽ tạo 5 tệp trên thư mục /data.
Mã:
cd /data
touch file{1..5}.md


Bây giờ hãy di chuyển đến server1 và kiểm tra thư mục /data/vol1/brick0 bằng lệnh sau.
Mã:
ls /data/vol1/brick0
Bạn sẽ thấy tệp có sẵn trên server1.



Tiếp theo, tắt hoặc tắt server1 bằng lệnh sau.
Mã:
sudo shutdown -r now
Di chuyển lại đến server2 và xác minh trạng thái của GlusterFS trên server2 bằng lệnh sau.
Mã:
sudo gluster peer status
Bạn sẽ thấy trạng thái của peer server1 là bị ngắt kết nối.



Xác minh các tệp có sẵn trên thư mục /data/vol2/brick0 từ server2.
Mã:
ls /data/vol2/brick0
Bạn sẽ thấy tất cả các tệp từ máy khách cũng có sẵn trên server2, điều đó có nghĩa là dữ liệu được sao chép từ máy chủ ngang hàng.



Bây giờ nếu bạn quay lại máy khách máy, bạn sẽ thấy trạng thái kết nối đến máy chủ GlusterFS vẫn đang hoạt động và chạy, ngay cả khi server1 ngừng hoạt động. Điều này có nghĩa là tính khả dụng cao của GlusterFS đã thành công.

Kết luận​

Xin chúc mừng! Bây giờ bạn đã cài đặt và cấu hình thành công bộ lưu trữ cụm GlusterFS trên các hệ thống Rocky Linux. Ngoài ra, bạn đã học cách thiết lập ổ đĩa GlusterFS và gắn ổ đĩa GlusterFS trên máy khách.
 
Back
Bên trên