GlusterFS hay Gluster File System, là một hệ thống tệp phân tán mã nguồn mở và miễn phí 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 này, bạn sẽ cài đặt GlusterFS - hệ thống tệp mạng phân tán và có thể mở rộng - trên các máy chủ Debian 11. Bạn sẽ thiết lập ổ đĩa GlusterFS tự động sao chép dữ liệu vào nhiều máy chủ và thiết lập hệ thống tệp có tính khả dụng cao. Ngoài ra, bạn cũng sẽ học cách sử dụng 'parted', một công cụ phân vùng Linux để thiết lập các đĩa bổ sung trên các máy chủ Debian. Cuối cùng, bạn sẽ xác minh việc sao chép dữ liệu trên GlusterFS giữa nhiều máy chủ Debian và cũng xác minh tính khả dụng cao.
Vậy là xong. Nếu các yêu cầu này đã sẵn sàng, hãy bắt đầu cài đặt GlusterFS.
Để thiết lập tên máy chủ, hãy nhập lệnh sau vào mỗi server.
Tiếp theo, mở tệp '/etc/hosts' trên mỗi máy chủ bằng trình soạn thảo bạn thích. Đối với toàn bộ hướng dẫn này, bạn sẽ sử dụng trình soạn thảo nano.
Thêm các dòng sau vào tệp. Khi bạn có một địa chỉ IP tham chiếu đến nhiều tên máy chủ, hãy thay thế nó bằng các dòng sau.
Nhấn Ctrl+x để thoát, nhập y để xác nhận, sau đó nhấn ENTER để tiếp tục.
Cuối cùng, hãy xác minh fqdn trên mỗi máy chủ bằng cách đưa ra lệnh sau lệnh.
Bạn sẽ nhận được kết quả tương tự như sau - Trên node1, fqdn phải là node1.home.lan, trên node2 là node2.home.lan và trên node3 phải là node3.home.lan.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22599%22%20height=%22448%22%3E%3C/svg%3E
Để bắt đầu, hãy đưa ra lệnh 'fdisk' sau để xác minh danh sách các đĩa khả dụng trên máy chủ Debian của bạn.
Bạn sẽ nhận được đầu ra tương tự như thế này - Có hai đĩa khả dụng trên 'node1', '/dev/vda' nơi hệ điều hành được cài đặt và '/dev/vdb' chưa được cấu hình.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22686%22%20height=%22380%22%3E%3C/svg%3E
Để bắt đầu phân vùng đĩa '/dev/vdb', hãy nhập lệnh fdisk sau. Bạn sẽ nhận được lời nhắc mới của công cụ fdisk và kết nối với đĩa '/dev/vdb'.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22494%22%3E%3C/svg%3E
Với lệnh này, phân vùng mới của bạn đã được tạo, nhưng vẫn không sử dụng được. Bởi vì bạn cần định dạng phân vùng mới của mình theo các định dạng hệ thống tệp cụ thể. Bạn có thể nhập lệnh fdisk sau để đảm bảo rằng phân vùng mới trên đĩa '/dev/vdb' đã được tạo.
Bạn sẽ nhận được đầu ra tương tự như thế này - Trên phần '/dev/vdb', bạn sẽ thấy phân vùng mới '/dev/vdb1' được tạo với kích thước '4.7GB'.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22558%22%20height=%22215%22%3E%3C/svg%3E
Tiếp theo, hãy đưa ra lệnh sau để định dạng phân vùng mới của bạn '/dev/vdb1'. Trong ví dụ này, bạn sẽ định dạng phân vùng theo định dạng hệ thống tệp ext4.
Sau đó, bạn sẽ nhận được đầu ra tương tự như sau - Phân vùng mới '/dev/vda1' được định dạng theo hệ thống tệp ext4.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22632%22%20height=%22273%22%3E%3C/svg%3E
Đầu tiên, hãy tạo một thư mục đích mới sẽ được sử dụng để gắn phân vùng mới '/dev/vdb1'.
Mở tệp cấu hình '/etc/fstab' bằng trình chỉnh sửa nano bên dưới lệnh.
Thêm dòng sau vào tệp. Với dòng này, phân vùng mới '/dev/vdb1' sẽ được tự động gắn kết khi khởi động hệ thống.
Tiếp theo, chạy lệnh bên dưới để gắn kết phân vùng mới mà bạn đã định cấu hình thông qua tệp '/etc/fstab'. Nếu không có lỗi, bạn đã sẵn sàng.
Cuối cùng, chạy lệnh bên dưới để tạo thư mục mới 'brick0' trên phân vùng mới gắn kết cho mỗi máy chủ.
Chạy lệnh apt bên dưới để cài đặt các phụ thuộc cơ bản trên hệ thống của bạn. Nhập y khi được nhắc và nhấn ENTER để tiếp tục.
Đầu ra:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22386%22%3E%3C/svg%3E
Tải xuống khóa GPG cho kho lưu trữ GlusterFS thông qua lệnh curl. Sau đó, chuyển đổi khóa mới thành tệp '/usr/share/keyrings/glusterfs-archive-keyring.gpg'.
Tiếp theo, chạy lệnh bên dưới để tạo biến môi trường mới và thêm kho lưu trữ GlusterFS vào hệ thống của bạn.
Đầu ra:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22156%22%3E%3C/svg%3E
Sau khi khóa GPG và kho lưu trữ được thêm vào, hãy chạy lệnh apt bên dưới để cập nhật và làm mới gói của bạn index.
Đầu ra:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22165%22%3E%3C/svg%3E
Bây giờ hãy cài đặt gói máy chủ GLusterFS bằng cách nhập lệnh sau. Khi được nhắc xác nhận, hãy nhập y và nhấn ENTER.
Đầu ra:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22336%22%3E%3C/svg%3E
Sau khi GlusterFS được cài đặt, hãy chạy tiện ích lệnh systemctl bên dưới để khởi động và kích hoạt dịch vụ GLusterFS. Với lệnh này, GlusterFS sẽ chạy trên tất cả các máy chủ của bạn và hiện đã được bật, nghĩa là dịch vụ GlusterFS sẽ tự động khởi động khi hệ thống khởi động.
Cuối cùng, hãy chạy lệnh systemctl bên dưới để xác minh dịch vụ GlusterFS và đảm bảo rằng dịch vụ đang chạy và được bật.
Nếu thành công, bạn sẽ nhận được kết quả như sau - Kết quả 'active (đang chạy)' xác nhận rằng GlusterFS đang chạy và đầu ra '...; enabled;' xác nhận rằng GlusterFS đã được bật và sẽ tự động khởi động khi hệ thống khởi động.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22254%22%3E%3C/svg%3E
Lúc này, bạn đã chuẩn bị một đĩa/phân vùng mới và cài đặt máy chủ GLusterFS. Tiếp theo, bạn sẽ bắt đầu tạo và khởi tạo cụm GLusterFS.
Trước khi bắt đầu, hãy đảm bảo rằng mỗi máy chủ có thể truy cập được thông qua tên máy chủ hoặc fqdn. Bạn có thể xác minh điều này bằng cách gửi lệnh ping đến từng máy chủ.
Trên thiết bị đầu cuối 'node1', hãy chạy lệnh gluster bên dưới để khởi tạo cụm GlusterFS với thành viên cụm node2 và node3.
Đầu ra 'peer probe: success' xác nhận rằng quá trình khởi tạo cụm GlusterFS đã thành công.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22558%22%20height=%22168%22%3E%3C/svg%3E
Tiếp theo, di chuyển đến thiết bị đầu cuối 'node2' và đưa ra lệnh sau để xác minh trạng thái cụm GlusterFS.
Bạn sẽ nhận được đầu ra tương tự với điều này - Trên 'node2', bạn có thể thấy cụm GlusterFS với hai đối tác, node1 và node3 với trạng thái được kết nối.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22416%22%20height=%22260%22%3E%3C/svg%3E
Bây giờ hãy chuyển đến thiết bị đầu cuối 'node3' và chạy lệnh bên dưới để xác minh cụm GLusterFS trạng thái.
Đầu ra - Trên 'node3', bạn có thể thấy cụm GlusterFS với hai đối tác, node1 và node2 với trạng thái được kết nối.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22459%22%20height=%22264%22%3E%3C/svg%3E
Ngoài ra, bạn cũng có thể xác minh danh sách các nhóm trên cụm GlusterFS thông qua lệnh bên dưới. Bạn có thể chạy lệnh này trên máy chủ node1, node2 hoặc node3.
Với điều này, giờ bạn đã khởi tạo thành công cụm GlusterFS với ba máy chủ Debian. Trong bước tiếp theo, bạn sẽ tìm hiểu cách tạo ổ đĩa trên GlusterFS và cách gắn ổ đĩa GlusterFS từ máy khách.
Trong bước này, bạn sẽ tạo một ổ đĩa GlusterFS mới với loại Được sao chép với ba máy chủ GlusterFS khác nhau. Với lệnh này, dữ liệu của bạn sẽ tự động được sao chép từ máy chủ này sang máy chủ khác bên trong nhóm lưu trữ và cụm GlusterFS.
Chạy lệnh gluster bên dưới để tạo một ổ đĩa sao chép mới trên GlusterFS. Trong ví dụ này, bạn sẽ tạo một ổ đĩa mới 'testVolume' với loại Replicated giữa ba máy chủ node1, node2 và node3.
Đầu ra 'volume create: testVolume: success: ...' xác nhận rằng ổ đĩa mới 'testVolume' đã được tạo.
Tiếp theo, bạn phải khởi động 'testVolume' trước khi có thể sử dụng bằng cách phát hành lệnh sau lệnh.
Đầu ra 'volume start: testVolume: success' xác nhận rằng 'testVolume' đã được khởi động và sẵn sàng.
Đầu ra:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%2283%22%3E%3C/svg%3E
Cuối cùng, bạn giờ đây có thể xác minh thông tin chi tiết về 'testVolume' thông qua lệnh gluster bên dưới.
Bạn sẽ nhận được đầu ra tương tự như thế này - 'testVolume' với loại 'Replicated', truyền mặc định là 'tcp' và ba máy chủ khác nhau node1, node2 và node3.
Đầu ra:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22518%22%20height=%22436%22%3E%3C/svg%3E
Với điều này, bây giờ bạn đã khởi tạo cụm GlusterFS với ba máy chủ khác nhau và tạo một khối lượng được sao chép 'testVolume' trên đầu cụm đó. Ở bước tiếp theo, bạn sẽ tìm hiểu cách thiết lập máy khách và munt khối lượng GLusterFS.
Trước tiên, hãy mở tệp '/etc/hosts' bằng lệnh trình chỉnh sửa nano sau.
Nhập các dòng sau vào tệp và đảm bảo thay đổi thông tin chi tiết về địa chỉ IP và tên máy chủ bằng GLusterFS máy chủ.
Lưu tệp và thoát khỏi trình soạn thảo khi hoàn tất.
Tiếp theo, chạy lệnh apt bên dưới để cài đặt gói 'glusterfs-client'. Để gắn ổ đĩa GlusterFS, bạn phải cài đặt gói 'glusterfs-client' trên máy khách của mình.
Nhập y khi được nhắc và nhấn ENTER để tiếp tục.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22678%22%20height=%22336%22%3E%3C/svg%3E
Sau glusterfs-client được cài đặt, hãy tạo một thư mục mới '/data' sẽ được sử dụng làm thư mục gắn kết mục tiêu cho ổ đĩa GlusterFS.
Gắn kết ổ đĩa GlusterFS 'testVolume' vào thư mục '/data' thông qua lệnh gắn kết bên dưới.
Xác minh danh sách các ổ đĩa đã gắn kết đĩa trên hệ thống của bạn thông qua lệnh df bên dưới.
Nếu thành công, bạn sẽ thấy ổ đĩa GlusterFS 'testVolume' được gắn vào thư mục '/data'.
Đầu ra:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22709%22%20height=%22295%22%3E%3C/svg%3E
Tiếp theo, bạn sẽ thiết lập tự động gắn ổ đĩa GlusterFS thông qua tệp '/ect/fstab'.
Mở tệp '/etc/fstab' bằng lệnh nano editor sau.
Thêm các dòng sau vào tệp. Với thao tác này, ổ đĩa GlusterFS 'testVolume' sẽ tự động được gắn kết khi khởi động.
Lưu và thoát tệp khi hoàn tất.
Bây giờ bạn đã hoàn tất cấu hình máy khách để gắn kết ổ đĩa GlusterFS và cấu hình tự động gắn kết ổ đĩa GlusterFS thông qua tệp '/etc/fstab'. Ở bước tiếp theo, bạn sẽ xác minh bản sao và tính khả dụng cao của cụm GLusterFS.
Phát hành lệnh ls để lấy danh sách các tệp trong thư mục hiện tại.
Đầu ra:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22121%22%3E%3C/svg%3E
Tiếp theo, di chuyển đến thiết bị đầu cuối 'node1' và đi đến thư mục '/data/node1/brick0'. Sau đó, hãy chạy lệnh ls để kiểm tra danh sách các tệp và thư mục.
Bạn sẽ thấy các tệp '1-15.md' có sẵn trên node1.
Đầu ra:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%2277%22%3E%3C/svg%3E
Di chuyển đến thiết bị đầu cuối 'node2' và đi đến thư mục '/data/node2/brick0'. Sau đó, hãy chạy lệnh ls để kiểm tra danh sách các tệp và thư mục.
Bạn sẽ thấy các tệp '1-15.md' có sẵn trên node2.
Đầu ra:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%2275%22%3E%3C/svg%3E
Di chuyển đến thiết bị đầu cuối 'node3' và đi đến thư mục '/data/node3/brick0'. Sau đó, hãy chạy lệnh ls để kiểm tra danh sách các tệp và thư mục.
Bạn sẽ thấy các tệp '1-15.md' có sẵn trên node3.
Đầu ra:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%2278%22%3E%3C/svg%3E
Với lệnh này, dữ liệu bạn tạo từ máy khách sẽ được sao chép sang nhiều máy chủ trên máy chủ GlusterFS.
Tiếp theo, đối với tính năng High-Availability của GLusterFS, bạn có thể tắt hoặc tắt 'node1' và xác minh rằng máy khách vẫn được kết nối với cụm GlusterFS.
Di chuyển đến thiết bị đầu cuối 'node1' và chạy lệnh bên dưới để tắt máy chủ.
Tiếp theo, hãy đến thiết bị đầu cuối 'node2' và chạy lệnh bên dưới để kiểm tra trạng thái cụm GLusterFS.
Bạn sẽ nhận được đầu ra như thế này - Trạng thái của node1 là 'Đã ngắt kết nối'.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22437%22%20height=%22263%22%3E%3C/svg%3E
Di chuyển đến thiết bị đầu cuối của máy khách và chạy lệnh bên dưới để đảm bảo rằng bạn vẫn đang kết nối với cụm GlusterFS.
Đầu ra:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%2273%22%3E%3C/svg%3E
Với điều này, tính năng High-Availability của cụm GlusterFS đang hoạt động.
Với điều này, giờ đây bạn có thể tận dụng cụm GlusterFS của mình bằng cách thêm nhiều đĩa và máy chủ hơn để có hệ thống tệp mạng có tính khả dụng cao có thể truy cập từ Mạng của bạn. Bạn có thể tìm hiểu thêm về quản trị GlusterFS từ Tài liệu chính thức củ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 này, bạn sẽ cài đặt GlusterFS - hệ thống tệp mạng phân tán và có thể mở rộng - trên các máy chủ Debian 11. Bạn sẽ thiết lập ổ đĩa GlusterFS tự động sao chép dữ liệu vào nhiều máy chủ và thiết lập hệ thống tệp có tính khả dụng cao. Ngoài ra, bạn cũng sẽ học cách sử dụng 'parted', một công cụ phân vùng Linux để thiết lập các đĩa bổ sung trên các máy chủ Debian. Cuối cùng, bạn sẽ xác minh việc sao chép dữ liệu trên GlusterFS giữa nhiều máy chủ Debian và cũng xác minh tính khả dụng cao.
Điều kiện tiên quyết
Để hoàn thành hướng dẫn này, bạn phải có các yêu cầu sau:- Hai hoặc ba máy chủ Debian 11.
- Người dùng không phải root có quyền root sudo/administrator.
Mã:
Hostname IP Address
--------------------------
node1 192.168.5.50
node2 192.168.5.56
node3 192.168.5.57
Thiết lập Tên máy chủ và FQDN
Bước đầu tiên bạn phải làm là thiết lập tên máy chủ và fqdn cho tất cả các máy chủ Debian mà GlusterFS sẽ sử dụng. Bạn có thể thiết lập tên máy chủ thông qua lệnh 'hostnamectl' và thiết lập FQDN (Tên miền đủ điều kiện) thông qua tệp '/etc/hosts'.Để thiết lập tên máy chủ, hãy nhập lệnh sau vào mỗi server.
Mã:
# run on node1
sudo hostnamectl set-hostname node1.home.lan
# run on node2
sudo hostnamectl set-hostname node2.home.lan
# run on node3
sudo hostnamectl set-hostname node3.home.lan
Mã:
sudo nano /etc/hosts
Mã:
192.168.5.50 node1.home.lan node1
192.168.5.56 node2.home.lan node2
192.168.5.57 node3.home.lan node3
Cuối cùng, hãy xác minh fqdn trên mỗi máy chủ bằng cách đưa ra lệnh sau lệnh.
Mã:
hostname -f
cat /etc/hosts
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22599%22%20height=%22448%22%3E%3C/svg%3E
Thiết lập Phân vùng đĩa
Bạn nên sử dụng một ổ đĩa/đĩa cụ thể để triển khai GlusterFS. Trong ví dụ này, mỗi máy chủ Debian có một đĩa bổ sung '/dev/vdb' sẽ được sử dụng để cài đặt GlusterFS. Và trong bước này, bạn sẽ học cách thiết lập một đĩa mới trên hệ thống Linux thông qua thiết bị đầu cuối và lệnh 'fdisk'.Để bắt đầu, hãy đưa ra lệnh 'fdisk' sau để xác minh danh sách các đĩa khả dụng trên máy chủ Debian của bạn.
Mã:
sudo fdisk -l
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22686%22%20height=%22380%22%3E%3C/svg%3E
Để bắt đầu phân vùng đĩa '/dev/vdb', hãy nhập lệnh fdisk sau. Bạn sẽ nhận được lời nhắc mới của công cụ fdisk và kết nối với đĩa '/dev/vdb'.
Mã:
sudo fdisk /dev/vdb
- Để tạo một phân vùng mới, hãy nhập lệnh 'n'.
- Chọn loại phân vùng bạn muốn tạo. 'p' cho phân vùng chính và 'e' cho phân vùng mở rộng. Trong ví dụ này, bạn sẽ tạo một phân vùng chính, vì vậy hãy nhập 'p'.
- Trong đĩa '/dev/vdb', bạn muốn tạo bao nhiêu phân vùng? Trong ví dụ này, bạn sẽ chỉ tạo một phân vùng, vì vậy hãy nhập '1'.
- Chọn sector đầu tiên cho phân vùng mới. Bạn có thể để nguyên mặc định, vì vậy hãy nhấn ENTER để tiếp tục.
- Sector cuối cùng là nơi bạn xác định kích thước của phân vùng bạn muốn tạo. Ví dụ này sẽ có dung lượng khoảng 5GB, vì vậy hãy nhập '+5GB'.
- Cuối cùng, hãy nhập 'w' để xác nhận và áp dụng những thay đổi bạn đã thực hiện trên đĩa '/dev/vdb'.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22494%22%3E%3C/svg%3E
Với lệnh này, phân vùng mới của bạn đã được tạo, nhưng vẫn không sử dụng được. Bởi vì bạn cần định dạng phân vùng mới của mình theo các định dạng hệ thống tệp cụ thể. Bạn có thể nhập lệnh fdisk sau để đảm bảo rằng phân vùng mới trên đĩa '/dev/vdb' đã được tạo.
Mã:
sudo fdiks -l
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22558%22%20height=%22215%22%3E%3C/svg%3E
Tiếp theo, hãy đưa ra lệnh sau để định dạng phân vùng mới của bạn '/dev/vdb1'. Trong ví dụ này, bạn sẽ định dạng phân vùng theo định dạng hệ thống tệp ext4.
Mã:
sudo mkfs -t ext4 /dev/vdb1
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22632%22%20height=%22273%22%3E%3C/svg%3E
Thiết lập phân vùng tự động gắn
Trong bước này, bạn sẽ thiết lập tự động gắn phân vùng mới '/dev/vdb1' thông qua tệp '/etc/fstab'. Bạn cũng sẽ tạo một thư mục mới sẽ được sử dụng để lưu trữ dữ liệu trong GlusterFS.Đầu tiên, hãy tạo một thư mục đích mới sẽ được sử dụng để gắn phân vùng mới '/dev/vdb1'.
Mã:
# run on node1
mkdir -p /data/node1
# run on node2
mkdir -p /data/node2
# run on node3
mkdir -p /data/node3
Mã:
sudo nano /etc/fstab
Mã:
# for node1
/dev/vdb1 /data/node1 ext4 defaults 0 1
# for node2
/dev/vdb1 /data/node2 ext4 defaults 0 1
# for node3
/dev/vdb1 /data/node3 ext4 defaults 0 1
Mã:
sudo mount -a
Mã:
# run on node1
mkdir -p /data/node1/brick0
# run on node2
mkdir -p /data/node2/brick0
# run on node3
mkdir -p /data/node3/brick0
Cài đặt GlusterFS Server
Trong bước này, bạn sẽ cài đặt gói GlusterFS trên máy chủ Debian sẽ được sử dụng cho cụm GlusterFS. Vì vậy, hãy đảm bảo chạy các lệnh sau trên máy chủ node1, node2 và node3.Chạy lệnh apt bên dưới để cài đặt các phụ thuộc cơ bản trên hệ thống của bạn. Nhập y khi được nhắc và nhấn ENTER để tiếp tục.
Mã:
sudo apt install gnupg2 apt-transport-https software-properties-common
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22386%22%3E%3C/svg%3E
Tải xuống khóa GPG cho kho lưu trữ GlusterFS thông qua lệnh curl. Sau đó, chuyển đổi khóa mới thành tệp '/usr/share/keyrings/glusterfs-archive-keyring.gpg'.
Mã:
curl https://download.gluster.org/pub/gluster/glusterfs/10/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)
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=%22156%22%3E%3C/svg%3E
Sau khi khóa GPG và kho lưu trữ được thêm vào, hãy chạy lệnh apt bên dưới để cập nhật và làm mới gói của bạn index.
Mã:
sudo apt update
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22165%22%3E%3C/svg%3E
Bây giờ hãy cài đặt gói máy chủ GLusterFS bằng cách nhập lệnh sau. Khi được nhắc xác nhận, hãy nhập y và nhấn ENTER.
Mã:
sudo apt install glusterfs-server
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22336%22%3E%3C/svg%3E
Sau khi GlusterFS được cài đặt, hãy chạy tiện ích lệnh systemctl bên dưới để khởi động và kích hoạt dịch vụ GLusterFS. Với lệnh này, GlusterFS sẽ chạy trên tất cả các máy chủ của bạn và hiện đã được bật, nghĩa là dịch vụ GlusterFS sẽ tự động khởi động khi hệ thống khởi động.
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=%22254%22%3E%3C/svg%3E
Lúc này, bạn đã chuẩn bị một đĩa/phân vùng mới và cài đặt máy chủ GLusterFS. Tiếp theo, bạn sẽ bắt đầu tạo và khởi tạo cụm GLusterFS.
Khởi tạo nhóm lưu trữ
Trong bước này, bạn sẽ thiết lập cụm GlusterFS với ba máy chủ Debian, node1, node2 và node3. Bạn sẽ khởi tạo cụm GlusterFS từ 'node1' và thêm các nút khác 'node2' và 'node3' vào cụm.Trước khi bắt đầu, hãy đảm bảo rằng mỗi máy chủ có thể truy cập được thông qua tên máy chủ hoặc fqdn. Bạn có thể xác minh điều này bằng cách gửi lệnh ping đến từng máy chủ.
Mã:
ping node2.home.lan
ping node3.home.lan
Mã:
sudo gluster peer probe node2.home.lan
sudo gluster peer probe node3.home.lan
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22558%22%20height=%22168%22%3E%3C/svg%3E
Tiếp theo, di chuyển đến thiết bị đầu cuối 'node2' và đưa ra lệnh sau để xác minh trạng thái cụm GlusterFS.
Mã:
sudo gluster peer status
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22416%22%20height=%22260%22%3E%3C/svg%3E
Bây giờ hãy chuyển đến thiết bị đầu cuối 'node3' và chạy lệnh bên dưới để xác minh cụm GLusterFS trạng thái.
Mã:
sudo gluster peer status
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22459%22%20height=%22264%22%3E%3C/svg%3E
Ngoài ra, bạn cũng có thể xác minh danh sách các nhóm trên cụm GlusterFS thông qua lệnh bên dưới. Bạn có thể chạy lệnh này trên máy chủ node1, node2 hoặc node3.
Mã:
sudo gluster pool list
Tạo ổ đĩa được sao chép
Trên GlusterFS, có nhiều loại ổ đĩa mà bạn có thể tạo, bao gồm ổ đĩa Phân tán, ổ đĩa được sao chép, ổ đĩa Phân tán, và ổ đĩa Phân tán Phân tán. Kiểm tra Tài liệu chính thức của GlusterFS để biết thông tin chi tiết về từng loại ổ đĩa.Trong bước này, bạn sẽ tạo một ổ đĩa GlusterFS mới với loại Được sao chép với ba máy chủ GlusterFS khác nhau. Với lệnh này, dữ liệu của bạn sẽ tự động được sao chép từ máy chủ này sang máy chủ khác bên trong nhóm lưu trữ và cụm GlusterFS.
Chạy lệnh gluster bên dưới để tạo một ổ đĩa sao chép mới trên GlusterFS. Trong ví dụ này, bạn sẽ tạo một ổ đĩa mới 'testVolume' với loại Replicated giữa ba máy chủ node1, node2 và node3.
Mã:
sudo gluster volume create testVolume replica 3 node1.home.lan:/data/node1/brick0 node2.home.lan:/data/node2/brick0 node3.home.lan:/data/node3/brick0
Tiếp theo, bạn phải khởi động 'testVolume' trước khi có thể sử dụng bằng cách phát hành lệnh sau lệnh.
Mã:
sudo gluster volume start testVolume
Đầu ra:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%2283%22%3E%3C/svg%3E
Cuối cùng, bạn giờ đây có thể xác minh thông tin chi tiết về 'testVolume' thông qua lệnh gluster bên dưới.
Mã:
sudo gluster volume info
Đầu ra:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22518%22%20height=%22436%22%3E%3C/svg%3E
Với điều này, bây giờ bạn đã khởi tạo cụm GlusterFS với ba máy chủ khác nhau và tạo một khối lượng được sao chép 'testVolume' trên đầu cụm đó. Ở bước tiếp theo, bạn sẽ tìm hiểu cách thiết lập máy khách và munt khối lượng GLusterFS.
Gắn khối lượng GlusterFS trên máy khách
Ở bước này, bạn sẽ tìm hiểu cách gắn khối lượng GlusterFS trên máy khách, ví dụ này sử dụng máy chạy Ubuntu/Debian có tên máy chủ là 'client'. Bây giờ, bạn sẽ gắn ổ đĩa GlusterFS 'testVolume' vào máy khách và thiết lập tự động gắn thông qua tệp '/etc/fstab'.Trước tiên, hãy mở tệp '/etc/hosts' bằng lệnh trình chỉnh sửa nano sau.
Mã:
sudo nano /etc/hosts
Mã:
192.168.5.50 node1.home.lan node1
192.168.5.56 node2.home.lan node2
192.168.5.57 node3.home.lan node3
Tiếp theo, chạy lệnh apt bên dưới để cài đặt gói 'glusterfs-client'. Để gắn ổ đĩa GlusterFS, bạn phải cài đặt gói 'glusterfs-client' trên máy khách của mình.
Mã:
sudo apt install glusterfs-client
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22678%22%20height=%22336%22%3E%3C/svg%3E
Sau glusterfs-client được cài đặt, hãy tạo một thư mục mới '/data' sẽ được sử dụng làm thư mục gắn kết mục tiêu cho ổ đĩa GlusterFS.
Mã:
mkdir /data
Mã:
sudo mount.glusterfs node1.home.lan:/testVolume /data
Mã:
sudo df -h
Đầu ra:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22709%22%20height=%22295%22%3E%3C/svg%3E
Tiếp theo, bạn sẽ thiết lập tự động gắn ổ đĩa GlusterFS thông qua tệp '/ect/fstab'.
Mở tệp '/etc/fstab' bằng lệnh nano editor sau.
Mã:
sudo nano /etc/fstab
Mã:
node1.home.lan:/testVolume /data glusterfs defaults,_netdev 0 0
Bây giờ bạn đã hoàn tất cấu hình máy khách để gắn kết ổ đĩa GlusterFS và cấu hình tự động gắn kết ổ đĩa GlusterFS thông qua tệp '/etc/fstab'. Ở bước tiếp theo, bạn sẽ xác minh bản sao và tính khả dụng cao của cụm GLusterFS.
Kiểm tra bản sao và tính khả dụng cao
Trên máy khách, hãy di chuyển thư mục làm việc đến '/data' và tạo các tệp mới bằng lệnh bên dưới. Lệnh này sẽ tạo ra các tệp mới '1-15.md'.
Mã:
cd /data
touch file{1..15}.md
Mã:
ls
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22121%22%3E%3C/svg%3E
Tiếp theo, di chuyển đến thiết bị đầu cuối 'node1' và đi đến thư mục '/data/node1/brick0'. Sau đó, hãy chạy lệnh ls để kiểm tra danh sách các tệp và thư mục.
Mã:
cd /data/node1/brick0
ls
Đầu ra:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%2277%22%3E%3C/svg%3E
Di chuyển đến thiết bị đầu cuối 'node2' và đi đến thư mục '/data/node2/brick0'. Sau đó, hãy chạy lệnh ls để kiểm tra danh sách các tệp và thư mục.
Mã:
cd /data/node2/brick0
ls
Đầu ra:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%2275%22%3E%3C/svg%3E
Di chuyển đến thiết bị đầu cuối 'node3' và đi đến thư mục '/data/node3/brick0'. Sau đó, hãy chạy lệnh ls để kiểm tra danh sách các tệp và thư mục.
Mã:
cd /data/node3/brick0
ls
Đầu ra:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%2278%22%3E%3C/svg%3E
Với lệnh này, dữ liệu bạn tạo từ máy khách sẽ được sao chép sang nhiều máy chủ trên máy chủ GlusterFS.
Tiếp theo, đối với tính năng High-Availability của GLusterFS, bạn có thể tắt hoặc tắt 'node1' và xác minh rằng máy khách vẫn được kết nối với cụm GlusterFS.
Di chuyển đến thiết bị đầu cuối 'node1' và chạy lệnh bên dưới để tắt máy chủ.
Mã:
sudo poweroff
Mã:
sudo gluster peer status
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22437%22%20height=%22263%22%3E%3C/svg%3E
Di chuyển đến thiết bị đầu cuối của máy khách và chạy lệnh bên dưới để đảm bảo rằng bạn vẫn đang kết nối với cụm GlusterFS.
Mã:
cd /data
ls
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%2273%22%3E%3C/svg%3E
Với điều này, tính năng High-Availability của cụm GlusterFS đang hoạt động.
Kết luận
Bạn đã cài đặt Cụm GlusterFS với ba máy chủ Debian 11 trong hướng dẫn này. Bạn cũng đã cấu hình một đĩa/phân vùng mới trên Linux thông qua fdisk và cấu hình tự động gắn đĩa/phân vùng Linux thông qua tệp /etc/fstab. Ngoài ra, bạn đã học cách tạo Replicated volume trên GlusterFS và thiết lập máy khách dựa trên Debian/Ubuntu để gắn kết GlusterFS volume.Với điều này, giờ đây bạn có thể tận dụng cụm GlusterFS của mình bằng cách thêm nhiều đĩa và máy chủ hơn để có hệ thống tệp mạng có tính khả dụng cao có thể truy cập từ Mạng của bạn. Bạn có thể tìm hiểu thêm về quản trị GlusterFS từ Tài liệu chính thức của GlusterFS.