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. 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 sau, tôi sẽ hướng dẫn bạn cài đặt GlusterFS trên máy chủ Debian 12. Chúng ta sẽ tạo một hệ thống lưu trữ có tính khả dụng cao và được sao chép bằng GlusterFS bằng cách sử dụng nhiều máy chủ Debian. Bạn cũng sẽ học cách gắn GlusterFS vào máy khách Debian và thiết lập tự động gắn ổ đĩa GlusterFS thông qua tệp /etc/fstab.
Cài đặt parted vào máy chủ Debian của bạn bằng lệnh apt sau.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22287%22%3E%3C/svg%3E
Thực hiện lệnh parted sau để bắt đầu phân vùng đĩa /dev/sdb.
Sau khi thực hiện lệnh parted, bạn sẽ ở trong môi trường parted.
Chạy lệnh sau để tạo bảng phân vùng mới cho đĩa /dev/sdb thành msdos.
Bây giờ hãy chạy lệnh bên dưới để tạo một phân vùng chính mới /dev/sdb1 với định dạng ext4 và kích thước 5 GB.
Sau khi phân vùng được tạo, hãy nhập quit để thoát khỏi Parted.
Tiếp theo, chạy lệnh bên dưới để định dạng phân vùng /dev/sdb1 thành ext4.
Sau khi /dev/sdb1 được định dạng, đầu ra sau sẽ được hiển thị:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22602%22%20height=%22568%22%3E%3C/svg%3E
Bây giờ hãy chạy lệnh sau để tạo thư mục gắn kết mục tiêu mới /gluster. Sau đó, gắn phân vùng /dev/sdb1 vào thư mục /gluster.
Cuối cùng, tạo một thư mục mới /gluster/brick0 sẽ được sử dụng làm thư mục dữ liệu cho mỗi máy chủ GlusterFS.
Thực hiện lệnh sau để thêm khóa GPG của kho lưu trữ GlusterFS.
Sau đó, chạy lệnh bên dưới để thêm kho lưu trữ GlusterFS vào Debian của bạn máy chủ.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22198%22%3E%3C/svg%3E
Sau khi thêm kho lưu trữ GlusterFS và khóa GPG, hãy thực hiện lệnh apt sau để cập nhật và làm mới chỉ mục gói Debian của bạn.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22148%22%3E%3C/svg%3E
Sau đó thực hiện lệnh apt install bên dưới để cài đặt gói glusterfs-server.
Nhập y để tiến hành cài đặt.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22720%22%20height=%22432%22%3E%3C/svg%3E
Sau khi cài đặt glusterfs-server, hãy chạy lệnh systemctl bên dưới để khởi động và kích hoạt dịch vụ glusterd.
Cuối cùng, hãy xác minh dịch vụ glusterd để đảm bảo rằng dịch vụ đang chạy và đã bật.
Đầu ra sau đây cho thấy dịch vụ glusterd đang chạy và được bật.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22251%22%3E%3C/svg%3E
Từ thiết bị đầu cuối server1, thực hiện lệnh gluster bên dưới để khởi tạo Cụm GlusterFS với các thành viên của server2 trên địa chỉ IP 192.168.10.21 và server3 với địa chỉ IP 192.168.10.22.
Nếu khởi tạo thành công, thông báo đầu ra "peer probe: success" sẽ được hiển thị.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22509%22%20height=%22146%22%3E%3C/svg%3E
Bây giờ hãy di chuyển đến server2 hoặc server3 và chạy lệnh gluster bên dưới để xác minh trạng thái của GlusterFS Cluster.
Nếu mọi việc diễn ra tốt đẹp, hai đối tác ngang hàng sẽ có sẵn trên GlusterFS Cluster của bạn.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22432%22%20height=%22256%22%3E%3C/svg%3E
Trên server2 - bạn sẽ thấy server1 và server3.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22423%22%20height=%22253%22%3E%3C/svg%3E
Trên server3, bạn sẽ thấy server1 và server2.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22425%22%20height=%22254%22%3E%3C/svg%3E
Cuối cùng, bạn cũng có thể xác minh danh sách các đối tác khả dụng trên GlusterFS Cluster của mình bằng lệnh gluster bên dưới.
Kết quả đầu ra sau đây cho thấy GlusterFS Cluster có ba máy chủ.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22611%22%20height=%22173%22%3E%3C/svg%3E
Thực hiện lệnh sau để tạo ổ đĩa mới volume1 với 3 bản sao, server1, server2 và server3.
Sau khi ổ đĩa volume1 được tạo, hãy khởi động nó bằng lệnh gluster bên dưới.
Đầu ra "volume start: volume1: success" cho biết volume1 đã được khởi động.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%2298%22%3E%3C/svg%3E
Bây giờ hãy chạy lệnh sau để kiểm tra danh sách các ổ đĩa khả dụng trên GlusterFS của bạn Cụm.
Đầu ra sau đây cho thấy volume1 được tạo với loại Replicate và 3 máy chủ, chẳng hạn như server1, server2 và server3.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22446%22%20height=%22430%22%3E%3C/svg%3E
Tải xuống khóa GPG cho kho lưu trữ GLusterFS vào máy khách Debian của bạn.
Thêm kho lưu trữ GLusterFS bằng cách thực hiện lệnh sau trên khách hàng.
Bây giờ hãy làm mới kho lưu trữ máy khách Debian của bạn và cài đặt gói glusterfs-client thông qua lệnh apt sau lệnh.
Nhập y để tiếp tục cài đặt. Sau khi glusterfs-client được cài đặt, bây giờ bạn có thể gắn ổ đĩa GlusterFS vào máy khách Debian của mình.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22593%22%20height=%22211%22%3E%3C/svg%3E
Tiếp theo, thực hiện lệnh sau để tạo thư mục gắn mục tiêu mới /mnt/data.
Sau đó, chạy lệnh sau để gắn volume1 vào thư mục /mnt/data. Bạn có thể thay đổi địa chỉ IP của máy chủ GlusterFS bằng server1, server2 hoặc server3.
Sau khi volume1 được gắn kết, hãy xác minh nó bằng lệnh sau.
Nếu mọi thứ diễn ra tốt đẹp, bạn sẽ thấy volume1 được gắn kết vào Thư mục /mnt/data.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22658%22%20height=%22380%22%3E%3C/svg%3E
Bây giờ ổ đĩa GlusterFS đã được gắn kết, bạn sẽ xác minh quyền truy cập ghi của thư mục gắn kết mục tiêu và xác minh việc sao chép dữ liệu từ máy khách sang máy chủ trên Cụm GlusterFS.
Tiếp theo, di chuyển đến thư mục /mnt/data và tạo các tệp mới bằng lệnh sau. Điều này sẽ tạo nhiều tệp trong thư mục đó và đảm bảo rằng ổ đĩa có thể ghi được.
Kiểm tra danh sách các tệp có sẵn bằng lệnh ls bên dưới.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22205%22%3E%3C/svg%3E
Bây giờ hãy di chuyển đến các máy chủ GlusterFS, server1, server2 hoặc server3 và chạy lệnh ls bên dưới để kiểm tra danh sách các tệp có sẵn.
Khi quá trình sao chép đang hoạt động, bạn sẽ thấy các tệp trên tất cả các máy chủ GlusterFS được tạo từ máy khách Debian.
Dữ liệu bên dưới được sao chép vào server1.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22131%22%3E%3C/svg%3E
Dữ liệu bên dưới được sao chép vào server2
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22137%22%3E%3C/svg%3E
Dữ liệu bên dưới được sao chép vào server3.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22128%22%3E%3C/svg%3E
Mở tệp /etc/fstab bằng lệnh trình chỉnh sửa nano sau.
Chèn cấu hình sau để gắn ổ đĩa1 vào thư mục đích /mnt/data.
Lưu và thoát khỏi tệp khi hoàn tất.
Bây giờ hãy chạy lệnh sau để tải lại trình quản lý systemd và xác minh cấu hình /etc/fstab. Khi không có thông báo đầu ra, điều đó xác nhận rằng bạn đã cấu hình /etc/fstab đúng.
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 sau, tôi sẽ hướng dẫn bạn cài đặt GlusterFS trên máy chủ Debian 12. Chúng ta sẽ tạo một hệ thống lưu trữ có tính khả dụng cao và được sao chép bằng GlusterFS bằng cách sử dụng nhiều máy chủ Debian. Bạn cũng sẽ học cách gắn GlusterFS vào máy khách Debian và thiết lập tự động gắn ổ đĩa GlusterFS thông qua tệp /etc/fstab.
Điều kiện tiên quyết
Trước khi thực hiện hướng dẫn này, hãy xác nhận rằng bạn có những điều sau:- Nhiều máy chủ Debian 12 - Ví dụ này sử dụng 3 máy chủ Debian để tạo Cụm GlusterFS.
- Người dùng không phải root có quyền quản trị viên.
- Máy khách Debian.
Phân vùng đĩa bằng Parted
Trước khi bắt đầu, bạn sẽ tạo một phân vùng mới sẽ được sử dụng cho GlusterFS trên mỗi máy chủ. Trong ví dụ này, bạn sẽ tạo một phân vùng từ đĩa /dev/sdb bằng trình quản lý phân vùng Parted.Cài đặt parted vào máy chủ Debian của bạn bằng lệnh apt sau.
Mã:
sudo apt install parted -y
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22287%22%3E%3C/svg%3E
Thực hiện lệnh parted sau để bắt đầu phân vùng đĩa /dev/sdb.
Mã:
sudo parted /dev/sdb
Chạy lệnh sau để tạo bảng phân vùng mới cho đĩa /dev/sdb thành msdos.
Mã:
mklabel msdos
Mã:
mkpart primary ext4 1MB 5369MB
Tiếp theo, chạy lệnh bên dưới để định dạng phân vùng /dev/sdb1 thành ext4.
Mã:
sudo mkfs -t ext4 /dev/sdb1
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22602%22%20height=%22568%22%3E%3C/svg%3E
Bây giờ hãy chạy lệnh sau để tạo thư mục gắn kết mục tiêu mới /gluster. Sau đó, gắn phân vùng /dev/sdb1 vào thư mục /gluster.
Mã:
mkdir -p /gluster
sudo mount /dev/sdb1 /gluster
Mã:
sudo mkdir -p /gluster/brick0
Cài đặt GlusterFS Server
Sau khi phân vùng đĩa trên mỗi máy chủ, bạn sẽ thêm kho lưu trữ GlusterFS và cài đặt gói glusterfs-server vào mỗi máy chủ.Thực hiện lệnh sau để thêm khóa GPG của kho lưu trữ GlusterFS.
Mã:
curl https://download.gluster.org/pub/gluster/glusterfs/11/rsa.pub | gpg --dearmor > /usr/share/keyrings/glusterfs-archive-keyring.gpg
Mã:
DEBID=$(grep 'VERSION_ID=' /etc/os-release | cut -d '=' -f 2 | tr -d '"')
DEBVER=$(grep 'VERSION=' /etc/os-release | grep -Eo '[a-z]+')
DEBARCH=$(dpkg --print-architecture)
Mã:
echo "deb [signed-by=/usr/share/keyrings/glusterfs-archive-keyring.gpg] https://download.gluster.org/pub/gluster/glusterfs/LATEST/Debian/${DEBID}/${DEBARCH}/apt ${DEBVER} main" | sudo tee /etc/apt/sources.list.d/gluster.list
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22198%22%3E%3C/svg%3E
Sau khi thêm kho lưu trữ GlusterFS và khóa GPG, hãy thực hiện lệnh apt sau để cập nhật và làm mới chỉ mục gói Debian của bạn.
Mã:
sudo apt update
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22148%22%3E%3C/svg%3E
Sau đó thực hiện lệnh apt install bên dưới để cài đặt gói glusterfs-server.
Mã:
sudo apt install glusterfs-server
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22720%22%20height=%22432%22%3E%3C/svg%3E
Sau khi cài đặt glusterfs-server, hãy chạy lệnh systemctl bên dưới để khởi động và kích hoạt dịch vụ glusterd.
Mã:
sudo systemctl start glusterd
sudo systemctl enable glusterd
Mã:
sudo systemctl status glusterd
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22251%22%3E%3C/svg%3E
Khởi tạo cụm GlusterFS
Với Sau khi cài đặt gói glusterfs-server, bước tiếp theo là khởi tạo GlusterFS Cluster. Trong ví dụ này, bạn sẽ khởi tạo Cụm GLusterFS từ server1, sau đó bạn sẽ thêm cả server2 và server3 vào cụm.Từ thiết bị đầu cuối server1, thực hiện lệnh gluster bên dưới để khởi tạo Cụm GlusterFS với các thành viên của server2 trên địa chỉ IP 192.168.10.21 và server3 với địa chỉ IP 192.168.10.22.
Mã:
sudo gluster peer probe 192.168.10.21
sudo gluster peer probe 192.168.10.22
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22509%22%20height=%22146%22%3E%3C/svg%3E
Bây giờ hãy di chuyển đến server2 hoặc server3 và chạy lệnh gluster bên dưới để xác minh trạng thái của GlusterFS Cluster.
Mã:
sudo gluster peer status
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22432%22%20height=%22256%22%3E%3C/svg%3E
Trên server2 - bạn sẽ thấy server1 và server3.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22423%22%20height=%22253%22%3E%3C/svg%3E
Trên server3, bạn sẽ thấy server1 và server2.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22425%22%20height=%22254%22%3E%3C/svg%3E
Cuối cùng, bạn cũng có thể xác minh danh sách các đối tác khả dụng trên GlusterFS Cluster của mình bằng lệnh gluster bên dưới.
Mã:
sudo gluster pool list
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22611%22%20height=%22173%22%3E%3C/svg%3E
Tạo khối lượng GlusterFS
Lúc này, bạn đã khởi tạo cụm GlusterFS. Để GLusterFS khả dụng cho máy khách, bạn phải tạo ổ đĩa trên cụm GlusterFS của mình.Thực hiện lệnh sau để tạo ổ đĩa mới volume1 với 3 bản sao, server1, server2 và server3.
Mã:
sudo gluster volume create volume1 replica 3 192.168.10.20:/gluster/brick0 192.168.10.21:/gluster/brick0 192.168.10.22:/gluster/brick0
Mã:
sudo gluster volume start volume1
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%2298%22%3E%3C/svg%3E
Bây giờ hãy chạy lệnh sau để kiểm tra danh sách các ổ đĩa khả dụng trên GlusterFS của bạn Cụm.
Mã:
sudo gluster volume info
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22446%22%20height=%22430%22%3E%3C/svg%3E
Gắn khối lượng GlusterFS
Trong phần sau, bạn sẽ gắn khối lượng GlusterFS volume1 mà bạn đã tạo vào máy khách Debian. Để thực hiện được điều đó, bạn phải thêm kho lưu trữ GlusterFS và cài đặt gói glusterfs-client vào máy khách Debian của mình.Tải xuống khóa GPG cho kho lưu trữ GLusterFS vào máy khách Debian của bạn.
Mã:
curl https://download.gluster.org/pub/gluster/glusterfs/11/rsa.pub | gpg --dearmor > /usr/share/keyrings/glusterfs-archive-keyring.gpg
Mã:
DEBID=$(grep 'VERSION_ID=' /etc/os-release | cut -d '=' -f 2 | tr -d '"')
DEBVER=$(grep 'VERSION=' /etc/os-release | grep -Eo '[a-z]+')
DEBARCH=$(dpkg --print-architecture)
Mã:
echo "deb [signed-by=/usr/share/keyrings/glusterfs-archive-keyring.gpg] https://download.gluster.org/pub/gluster/glusterfs/LATEST/Debian/${DEBID}/${DEBARCH}/apt ${DEBVER} main" | sudo tee /etc/apt/sources.list.d/gluster.list
Mã:
sudo apt update
sudo apt install glusterfs-client
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22593%22%20height=%22211%22%3E%3C/svg%3E
Tiếp theo, thực hiện lệnh sau để tạo thư mục gắn mục tiêu mới /mnt/data.
Mã:
mkdir -p /mnt/data
Mã:
sudo mount.glusterfs 192.168.10.20:/volume1 /mnt/data
Mã:
sudo df -h
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22658%22%20height=%22380%22%3E%3C/svg%3E
Bây giờ ổ đĩa GlusterFS đã được gắn kết, bạn sẽ xác minh quyền truy cập ghi của thư mục gắn kết mục tiêu và xác minh việc sao chép dữ liệu từ máy khách sang máy chủ trên Cụm GlusterFS.
Tiếp theo, di chuyển đến thư mục /mnt/data và tạo các tệp mới bằng lệnh sau. Điều này sẽ tạo nhiều tệp trong thư mục đó và đảm bảo rằng ổ đĩa có thể ghi được.
Mã:
cd /mnt/data
touch file{1..15}.md
Mã:
ls -ah
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22205%22%3E%3C/svg%3E
Bây giờ hãy di chuyển đến các máy chủ GlusterFS, server1, server2 hoặc server3 và chạy lệnh ls bên dưới để kiểm tra danh sách các tệp có sẵn.
Mã:
ls /gluster/brick0
Dữ liệu bên dưới được sao chép vào server1.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22131%22%3E%3C/svg%3E
Dữ liệu bên dưới được sao chép vào server2
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22137%22%3E%3C/svg%3E
Dữ liệu bên dưới được sao chép vào server3.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22128%22%3E%3C/svg%3E
Thiết lập Tự động gắn GlusterFS Khối lượng
Trong phần sau, bạn sẽ tìm hiểu cách thiết lập tự động gắn khối lượng GlusterFS thông qua tệp /etc/fstab. Điều này cho phép bạn tự động gắn ổ đĩa GlusterFS khi khởi động.Mở tệp /etc/fstab bằng lệnh trình chỉnh sửa nano sau.
Mã:
sudo nano /etc/fstab
Mã:
192.168.10.20:/volume1 /mnt/data glusterfs defaults,_netdev 0 0
Bây giờ hãy chạy lệnh sau để tải lại trình quản lý systemd và xác minh cấu hình /etc/fstab. Khi không có thông báo đầu ra, điều đó xác nhận rằng bạn đã cấu hình /etc/fstab đúng.
Mã:
sudo systemctl daemon-reload
sudo mount -a