Cách cài đặt GlusterFS trên AlmaLinux 9

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 kết khối lượng GlusterFS.

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

Trong hướng dẫn này, chúng tôi sẽ hướng dẫn bạn quy trình cài đặt GlusterFS Cluster trên máy chủ AlmaLinux 9. Bạn sẽ thiết lập lưu trữ hệ thống tệp có tính khả dụng cao bằng GlusterFS trên máy chủ AlmaLinux 9.

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

Trước khi tiếp tục, hãy đảm bảo rằng bạn có những điều sau:
  • Hai hoặc nhiều máy chủ AlmaLinux 9 - Bản demo này sử dụng hai máy chủ AlmaLinux srv1 có địa chỉ IP 192.168.10.41srv2 có địa chỉ IP 192.168.10.42.
  • Người dùng không phải root có quyền quản trị viên root.
  • GlusterFS sẽ sử dụng một đĩa mới.

Chuẩn bị đĩa và phân vùng​

Bạn nên sử dụng một đĩa riêng để tạo cụm GlusterFS. Theo cách này, dữ liệu của bạn sẽ luôn an toàn. Bản trình diễn sau đây sử dụng hai máy chủ khác nhau và mỗi máy chủ có thêm đĩa /dev/sdb.

Trong phần này, bạn sẽ tạo một phân vùng mới của đĩa /dev/sdb sẽ được GlusterFS sử dụng.

Thực hiện lệnh sau để kiểm tra danh sách các đĩa khả dụng trên hệ thống của bạn. Trong trường hợp này, chúng ta có hai đĩa /dev/sda/dev/sdb, và đĩa /dev/sdb sẽ được sử dụng cho GlusterFS.
Mã:
sudo fdisk -l

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22597%22%20height=%22432%22%3E%3C/svg%3E


Nhập lệnh sau để tạo phân vùng mới trên /dev/sdb disk.
Mã:
sudo fdisk /dev/sdb
  • Nhập n để tạo phân vùng mới.
  • Chọn loại phân vùng thành p cho phân vùng chính.
  • Đối với số phân vùng, nhập 1 để tạo 1 phân vùng.
  • Đối với sector đầu tiên và cuối cùng của phân vùng, giữ nguyên mặc định và nhấn ENTER.
  • Cuối cùng, nhập w để lưu các thay đổi.
Phân vùng mới /dev/sdb1 sẽ được tạo.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22745%22%20height=%22510%22%3E%3C/svg%3E


Bây giờ hãy chạy lệnh sau để định dạng phân vùng /dev/sdb1 thành hệ thống tệp ext4.
Mã:
sudo mkfs.ext4 /dev/sdb1

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22603%22%20height=%22255%22%3E%3C/svg%3E


Sau đó, chạy lệnh bên dưới để tạo một thư mục mới sẽ được sử dụng làm thư mục gắn kết mục tiêu cho /dev/sdb1.
Mã:
# Run this on srv1
sudo mkdir -p /data/vol1

# Run this on srv2
sudo mkdir -p /data/vol2
Tiếp theo, chạy lệnh sau để gắn kết /dev/sdb1 vào Thư mục /data/vol1, sau đó kiểm tra danh sách hệ thống tệp được gắn kết và thư mục mới /data/vol1/brick0.
Mã:
# Run this on srv1
sudo mount /dev/sdb1 /data/vol1
sudo df -h
sudo mkdir -p /data/vol1/brick0

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22504%22%20height=%22289%22%3E%3C/svg%3E


Lặp lại lệnh trên máy chủ srv2 như cái này:
Mã:
# Run this on srv2
sudo mount /dev/sdb1 /data/vol2
sudo df -h
sudo mkdir -p /data/vol2/brick0

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22490%22%20height=%22327%22%3E%3C/svg%3E

Cấu hình FQDN​

Trong phần này, bạn sẽ thiết lập fqdn (tên miền đủ điều kiện) cho mỗi máy chủ AlmaLinux sẽ được sử dụng để tạo GlusterFS cluster,

Chạy lệnh sau để thiết lập fqdn cho từng máy chủ. Trong trường hợp này, srv1 sẽ có fqdnsrv1.hwdomain.lan và máy chủ srv2 sẽ có fqdn srv2.hwdomain.lan.
Mã:
sudo hostnamectl set-hostname srv1.hwdomain.lan
sudo hostnamectl set-hostname srv2.hwdomain.lan
Mở tệp /etc/hosts bằng trình chỉnh sửa nano sau lệnh.
Mã:
sudo nano /etc/hosts
Chèn cấu hình sau và đảm bảo thay đổi thông tin chi tiết của từng địa chỉ IP.
Mã:
192.168.10.41 srv1.hwdomain.lan srv1
192.168.10.42 srv2.hwdomain.lan srv2
Lưu và thoát khỏi tệp khi bạn hoàn tất.

Tiếp theo, chạy lệnh sau để xác minh fqdn trên mỗi máy chủ và đảm bảo rằng fqdn được trỏ đến đúng địa chỉ IP.
Mã:
sudo hostname -f
ping -c3 srv1.hwdomain.lan
ping -c3 srv2.hwdomain.lan

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22562%22%3E%3C/svg%3E

Cài đặt GlusterFS​

Bây giờ bạn sẽ cài đặt gói GlusterFS vào tất cả các máy chủ AlmaLinux của mình, sau đó bạn cũng sẽ thêm dịch vụ GlusterFS vào firewalld. Đối với bản phân phối dựa trên RHEL, các gói GlusterFS có sẵn trên kho lưu trữ CentOS SIG (SpecialInterestGroup).

Trước tiên, hãy chạy lệnh dnf bên dưới để thêm kho lưu trữ GlusterFS vào máy chủ của bạn. Nhập y khi được nhắc và nhấn ENTER để xác nhận.
Mã:
sudo dnf install centos-release-gluster9

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22252%22%3E%3C/svg%3E


Bây giờ hãy chạy lệnh bên dưới để xác minh danh sách các kho lưu trữ trên hệ thống của bạn. Nếu thành công, bạn sẽ thấy kho lưu trữ GlusterFS được thêm vào.
Mã:
sudo dnf repolist

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22147%22%3E%3C/svg%3E


Tiếp theo, chạy lệnh dnf sau để cài đặt các gói GlusterFS vào từng máy chủ. Khi được nhắc, hãy nhập y để xác nhận và nhấn ENTER.
Mã:
sudo dnf install glusterfs glusterfs-libs glusterfs-server

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22250%22%3E%3C/svg%3E


Ngoài ra, hãy nhập y một lần nữa để thêm khóa GPG của kho lưu trữ GlusterFS.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22122%22%3E%3C/svg%3E


Sau khi GlusterFS được cài đặt, hãy chạy lệnh systemctl bên dưới để khởi động và kích hoạt dịch vụ glusterfsd.
Mã:
sudo systemctl enable glusterfsd.service
sudo systemctl start glusterfsd.service
Sau đó, hãy xác minh dịch vụ glusterfsd để đảm bảo rằng dịch vụ đang chạy.
Mã:
sudo systemctl status glusterfsd.service
Nếu glusterfsd đang chạy, bạn sẽ nhận được đầu ra hoạt động (đang chạy).


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22215%22%3E%3C/svg%3E


Bây giờ hãy chạy lệnh firewall-cmd bên dưới để thêm cổng GlusterFS và tải lại firewalld để áp dụng thay đổi.
Mã:
sudo firewall-cmd --add-service=glusterfs --permanent
sudo firewall-cmd --reload
Xác minh danh sách các dịch vụ khả dụng trên tường lửa bằng lệnh sau. Nếu thành công, bạn sẽ thấy dịch vụ glusterfs trong danh sách dịch vụ firewalld.
Mã:
sudo firewall-cmd --list-all

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22643%22%20height=%22284%22%3E%3C/svg%3E

Đang khởi tạo cụm GlusterFS​

Với dịch vụ GlusterFS đang chạy và firewalld đã được cấu hình, tiếp theo bạn sẽ khởi tạo cụm GlusterFS.

Trên srv1, hãy chạy lệnh gluster bên dưới để khởi tạo cụm GlusterFS. Và hãy nhớ thay đổi srv2.hwdomain.lan bằng fqdn của máy chủ thứ hai của bạn.
Mã:
sudo gluster peer probe srv2.hwdomain.lan
Nếu khởi tạo thành công, bạn sẽ nhận được thông báo "peer probe success".

Bây giờ hãy chạy lệnh sau để kiểm tra trạng thái cụm GlusterFS. Bạn sẽ thấy cụm GlusterFS hiện tại có máy chủ thành viên srv2.hwdomain.lan.
Mã:
sudo gluster peer status

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22541%22%20height=%22251%22%3E%3C/svg%3E


Cuối cùng, di chuyển đến máy chủ srv2.hwdomain.lan và chạy lệnh gluster bên dưới để kiểm tra trạng thái cụm GlusterFS.
Mã:
sudo gluster peer status
Nếu cài đặt thành công, bạn sẽ thấy thành viên của cụm GlusterFS là máy chủ srv1.hwdomain.lan.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22424%22%20height=%22188%22%3E%3C/svg%3E


Tại thời điểm này, bạn đã hoàn tất cài đặt Cụm GlusterFS. Ở bước tiếp theo, bạn sẽ tạo ổ đĩa GlusterFS sẽ được gắn kết bởi máy khách.

Tạo ổ đĩa GlusterFS​

Trong phần sau, bạn sẽ tạo ổ đĩa GLusterFS sẽ tự động sao chép dữ liệu của bạn giữa các máy chủ trong cụm GlusterFS.

Chạy lệnh sau để tạo một ổ đĩa GlusterFS testvol mới. Nhập y và nhấn ENTER để xác nhận.
Mã:
sudo gluster volume create testvol replica 2 srv1.hwdomain.lan:/data/vol1/brick0 srv2.hwdomain.lan:/data/vol2/brick0

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22114%22%3E%3C/svg%3E


Sau khi ổ đĩa testvol được tạo, hãy chạy lệnh bên dưới để bắt đầu testvol khối lượng.
Mã:
sudo gluster volume start testvol
Bây giờ hãy xác minh trạng thái khối lượng GlusterFS bằng lệnh sau. Bạn sẽ thấy ổ đĩa testvol với hai máy chủ GLusterFS srv1.hwdomain.lansrv2.hwdomain.lan.
Mã:
sudo gluster volume status

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22737%22%20height=%22332%22%3E%3C/svg%3E


Cuối cùng, bạn cũng có thể lấy thông tin chi tiết về ổ đĩa GlusterFS bằng lệnh sau.
Mã:
sudo gluster volume info

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22454%22%20height=%22409%22%3E%3C/svg%3E

Gắn ổ đĩa GlusterFS vào máy khách​

Sau khi tạo ổ đĩa GlusterFS, bước tiếp theo sẽ là gắn ổ đĩa vào máy khách. Để đạt được điều đó, bạn phải cài đặt gói máy khách GlusterFS trên máy khách của mình.

Trên máy khách của mình, hãy thêm kho lưu trữ GlusterFS bằng lệnh dnf bên dưới.
Mã:
sudo dnf install centos-release-gluster9
Bây giờ hãy thực hiện lệnh dnf bên dưới để cài đặt gói glusterfs-client.
Mã:
sudo dnf install glusterfs-client
Với glusterfs-client đã được cài đặt, bạn có thể gắn ổ đĩa GlusterFS.

Tạo một thư mục sao lưu mới bằng lệnh sau. Thư mục này sẽ được sử dụng làm thư mục gắn kết mục tiêu của ổ đĩa GlusterFS.
Mã:
sudo mkdir -p /backup
Bây giờ hãy chạy lệnh sau để gắn ổ đĩa GlusterFS testvol từ máy chủ srv1.hwdomain.lan.
Mã:
sudo mount.glusterfs srv1.hwdomain.lan:/testvol /backup
Xác minh danh sách các hệ thống tệp đã gắn kết trên hệ thống của bạn thông qua df lệnh bên dưới.
Mã:
sudo df -h
Bạn sẽ thấy rằng ổ đĩa testvol từ máy chủ GlusterFS srv1.hwdomain.lan được gắn vào thư mục đích /backup.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22651%22%20height=%22352%22%3E%3C/svg%3E


Tiếp theo, di chuyển đến /backup và tạo các tệp thử nghiệm mới để đảm bảo quyền truy cập đọc và ghi. Ngoài ra, các tệp mới mà bạn đã tạo sẽ tự động được sao chép vào cụm GlusterFS.
Mã:
cd /backup
Mã:
touch file{1..5}.md
ls

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22498%22%20height=%22193%22%3E%3C/svg%3E


Trên máy chủ srv1, hãy chạy lệnh sau để kiểm tra danh sách các tệp có sẵn trong thư mục /data/vol1/brick0.
Mã:
ls /data/vol1/brick0
Nếu dữ liệu được sao chép, bạn sẽ thấy các tệp mới mà bạn đã tạo trước đó.

Đối với máy chủ srv2, hãy chạy lệnh ls như thế này. Nếu quá trình sao chép thành công, bạn sẽ thấy các tệp mới cũng có sẵn trên máy chủ srv2.
Mã:
ls /data/vol2/brick0

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22102%22%3E%3C/svg%3E

Kết luận​

Làm tốt lắm! Bạn đã cài đặt thành công GlusterFS trên máy AlmaLinux của mình và tạo cụm GlusterFS bằng hai máy chủ. Bạn cũng đã học cách tạo phân vùng thông qua dòng lệnh, tạo và quản lý ổ đĩa GlusterFS và gắn ổ đĩa GlusterFS trên máy khách.

Bây giờ bạn có thể bắt đầu lưu trữ tệp trên cụm GlusterFS của mình và dữ liệu của bạn sẽ tự động được sao chép sang nhiều máy chủ.
 
Back
Bên trên