Cách cài đặt và cấu hình GlusterFS trên Ubuntu 22.04

theanh

Administrator
Nhân viên
GlusterFS là một hệ thống lưu trữ phân tán miễn phí, mã nguồn mở và được định nghĩa bằng phần mềm do Gluster Inc phát triển, sau đó là Redhat. Hệ thống này cung cấp giao diện cho lưu trữ đối tượng, khối và tệp và được sử dụng cho các khối lượng công việc dữ liệu chuyên sâu như lưu trữ đám mây, CDN và phát trực tuyến phương tiện. Hệ thống này có thể mở rộng theo kiểu khối xây dựng để lưu trữ nhiều petabyte dữ liệu. Hệ thống này hỗ trợ nhiều giao thức như NFS, SMB, CIFS, HTTP và FTP. Nó hoàn toàn phù hợp với nhiều trường hợp sử dụng khác nhau đòi hỏi phải xử lý lượng dữ liệu lớn.

Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách thiết lập Replicated GlusterFS Volume trên Ubuntu 22.04.

Yêu cầu​

  • Hai máy chủ chạy Ubuntu 22.04 với Ổ cứng ngoài 2 GB trên mỗi máy.
  • Địa chỉ IP tĩnh 192.168.10.10 được cấu hình trên node1 và 192.168.10.11 được cấu hình trên node2.
  • Mật khẩu gốc được cấu hình trên cả hai máy chủ.

Bắt đầu​

Trước khi bắt đầu, bạn nên cập nhật tất cả các gói hệ thống trên cả hai máy chủ. Bạn có thể cập nhật chúng bằng cách chạy lệnh sau trên cả hai máy chủ.
Mã:
apt-get update -y
apt-get upgrade -y
Sau khi tất cả các gói hệ thống được cập nhật, hãy khởi động lại chúng để áp dụng các thay đổi.

Tiếp theo, bạn cũng sẽ cần chỉnh sửa tệp /etc/hosts trên cả hai máy chủ và thiết lập phân giải tên máy chủ để mỗi máy chủ có thể giao tiếp với máy chủ kia theo tên máy chủ. Bạn có thể thực hiện bằng lệnh sau:
Mã:
nano /etc/hosts
Thêm các dòng sau:
Mã:
192.168.10.10 node1
192.168.10.11 node2
Lưu và đóng tệp khi bạn hoàn tất.

Cài đặt GlusterFS Server​

Theo mặc định, GlusterFS có sẵn trong kho lưu trữ mặc định của Ubuntu 22.04. Bạn có thể cài đặt nó trên cả hai máy chủ bằng lệnh sau.
Mã:
apt-get install glusterfs-server -y
Sau khi gói GlusterFS được cài đặt, hãy khởi động dịch vụ GlusterFS và cho phép nó khởi động khi khởi động bằng lệnh sau:
Mã:
systemctl start glusterd
systemctl enable glusterd
Bạn cũng có thể kiểm tra trạng thái của dịch vụ GlusterFS bằng lệnh sau lệnh:
Mã:
systemctl status glusterd
Bạn sẽ thấy kết quả sau:
Mã:
? glusterd.service - GlusterFS, a clustered file-system server Loaded: loaded (/lib/systemd/system/glusterd.service; disabled; vendor preset: enabled) Active: active (running) since Sat 2022-11-05 04:10:13 UTC; 7s ago Docs: man:glusterd(8) Process: 92014 ExecStart=/usr/sbin/glusterd -p /var/run/glusterd.pid --log-level $LOG_LEVEL $GLUSTERD_OPTIONS (code=exited, status=0/SUCC> Main PID: 92015 (glusterd) Tasks: 9 (limit: 4579) Memory: 7.1M CPU: 2.260s CGroup: /system.slice/glusterd.service ??92015 /usr/sbin/glusterd -p /var/run/glusterd.pid --log-level INFO
Nov 05 04:10:11 ubuntu2204 systemd[1]: Starting GlusterFS, a clustered file-system server...
Nov 05 04:10:13 ubuntu2204 systemd[1]: Started GlusterFS, a clustered file-system server.
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Tạo bộ lưu trữ GlusterFS​

Để tạo bộ lưu trữ GlusterFS, bạn sẽ cần một ổ cứng ngoài trên cả hai máy chủ. Bạn cũng sẽ cần tạo một phân vùng trên ổ cứng ngoài (/dev/sdb) trên cả hai máy chủ.

Để tạo một phân vùng mới trên /dev/sdb, hãy chạy lệnh sau:
Mã:
fdisk /dev/sdb
Bạn sẽ thấy đầu ra sau:
Mã:
Welcome to fdisk (util-linux 2.31.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x06091fe8.
Command (m for help): n
Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1):
First sector (2048-4194303, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-4194303, default 4194303):
Created a new partition 1 of type 'Linux' and of size 2 GiB.
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
Tiếp theo, định dạng phân vùng bằng lệnh sau:
Mã:
mkfs.xfs /dev/sdb1
Bạn sẽ thấy kết quả sau:
Mã:
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=131008 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=1, sparse=0, rmapbt=0, reflink=0
data = bsize=4096 blocks=524032, imaxpct=25 = sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
Tiếp theo, tạo một thư mục để lưu trữ GlusterFS trên cả hai máy chủ bằng lệnh sau:
Mã:
mkdir /glustervolume
Tiếp theo, gắn đĩa /dev/sdb1 vào một thư mục /glustervolume.
Mã:
mount.xfs /dev/sdb1 /glustervolume
Tiếp theo, chỉnh sửa tệp /etc/fstab và giữ cho lệnh gắn kết liên tục trong suốt quá trình khởi động lại:
Mã:
nano /etc/fstab
Thêm nội dung sau dòng:
Mã:
/dev/sdb1 /glustervolume xfs defaults 0 0
Lưu và đóng tệp sau đó chạy lệnh sau để áp dụng các thay đổi:
Mã:
mount -a
Bây giờ bạn có thể kiểm tra thư mục đã gắn kết bằng lệnh sau lệnh:
Mã:
df -h
Bạn sẽ thấy đầu ra sau:
Mã:
Filesystem Size Used Avail Use% Mounted on
tmpfs 393M 1.1M 392M 1% /run
/dev/sda2 79G 8.6G 67G 12% /
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 393M 4.0K 393M 1% /run/user/0
/dev/sdb1 2.0G 35M 2.0G 2% /glustervolume

Cấu hình GlusterFS Volume​

Trước tiên, bạn sẽ cần tạo một nhóm lưu trữ đáng tin cậy bằng cách thêm node2 vào node1. Để thực hiện, hãy chạy lệnh sau trên node1:
Mã:
gluster peer probe node2
Bạn có thể xác minh nhóm lưu trữ đã thêm bằng lệnh sau:
Mã:
gluster pool list
Bạn sẽ nhận được thông báo sau đầu ra:
Mã:
UUID	Hostname	State
52245177-ce2e-4217-8da5-2ee7a33dcf46	node2	Connected
b6da6e83-b1ea-46de-8904-1c5345b1c229	localhost	Connected
Tiếp theo, tạo một thư mục brick trên cả hai nút bằng lệnh sau:
Mã:
mkdir /glustervolume/vol1
Tiếp theo, tạo một ổ đĩa có tên là vol1 với hai bản sao:
Mã:
gluster volume create vol1 replica 2 node1:/glustervolume/vol1 node2:/glustervolume/vol1
Tiếp theo, khởi động ổ đĩa bằng lệnh sau:
Mã:
gluster volume start vol1
Bạn có thể kiểm tra trạng thái của ổ đĩa đã tạo bằng lệnh sau lệnh:
Mã:
gluster volume status
Bạn sẽ nhận được kết quả sau:
Mã:
Status of volume: vol1
Gluster process TCP Port RDMA Port Online Pid
------------------------------------------------------------------------------
Brick node1:/glustervolume/vol1 49152 0 Y 7198
Brick node2:/glustervolume/vol1 49152 0 Y 13214
Self-heal Daemon on localhost N/A N/A Y 6121
Self-heal Daemon on node2 N/A N/A Y 12768
Task Status of Volume vol1
------------------------------------------------------------------------------
There are no active volume tasks
Bây giờ bạn có thể kiểm tra thông tin về ổ đĩa đã tạo bằng cách sử dụng lệnh sau lệnh:
Mã:
gluster volume info vol1
Bạn sẽ nhận được kết quả sau:
Mã:
Volume Name: vol1
Type: Replicate
Volume ID: a1023sd6d-81rt-12a2-bc4e-a4gd156c5331
Status: Started
Snapshot Count: 0
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: node1:/glustervolume/vol1
Brick2: node2:/glustervolume/vol1
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
performance.client-io-threads: off
Tiếp theo, gắn ổ đĩa đã tạo vào thư mục /opt trên cả hai nút bằng cách chỉnh sửa tệp /etc/fstab để ổ đĩa của bạn khả dụng sau máy chủ boots.
Mã:
nano /etc/fstab
Thêm dòng sau:
Mã:
localhost:/vol1 /opt glusterfs defaults,_netdev 0 0
Lưu và đóng tệp khi bạn hoàn tất. Sau đó, chạy lệnh sau để áp dụng các thay đổi:
Mã:
mount -a

Kiểm tra bản sao​

Máy chủ GlusterFS của bạn hiện đã được cài đặt và định cấu hình. Bây giờ, đã đến lúc kiểm tra quá trình sao chép giữa cả hai nút.

Đầu tiên, tạo hai tệp trên node1:
Mã:
touch /opt/test1 /opt/test2
Bây giờ, hãy đến node2 và chạy lệnh sau:
Mã:
ls -l /opt/
Bạn sẽ thấy các tệp giống như những tệp bạn đã tạo trên node1:
Mã:
total 0
-rw-r--r-- 1 root root 0 Nov 7 13:42 file1
-rw-r--r-- 1 root root 0 Nov 7 13:42 file2
Bây giờ, hãy dừng dịch vụ GlusterFS trên node2 bằng lệnh sau:
Mã:
service glusterd stop
Tiếp theo, hãy đến node1 và kiểm tra đối tác trạng thái:
Mã:
gluster peer status
Bạn sẽ thấy rằng node2 đã bị ngắt kết nối:
Mã:
Number of Peers: 1
Hostname: node2
Uuid: a134f146-1220-3avd-d3f6-1c2554a87sa1
State: Peer in Cluster (Disconnected)
Bạn cũng có thể kiểm tra trạng thái ổ đĩa bằng lệnh sau:
Mã:
gluster volume status
Bạn sẽ thấy kết quả đầu ra sau:
Mã:
Status of volume: vol1
Gluster process TCP Port RDMA Port Online Pid
------------------------------------------------------------------------------
Brick node1:/glustervolume/vol1 49152 0 Y 7987
Self-heal Daemon on localhost N/A N/A Y 8010
Task Status of Volume vol1
------------------------------------------------------------------------------
There are no active volume tasks
Tiếp theo, tạo hai tệp khác trên node1:
Mã:
touch /opt/test3 /opt/test4
Bây giờ, hãy đến node2 và khởi động dịch vụ GlusterFS bằng lệnh sau:
Mã:
service glusterd start
Bây giờ, hãy kiểm tra thư mục /opt trên node2:
Mã:
ls -l /opt/
Bạn sẽ thấy tất cả các tệp từ node1 đã được sao chép và hiện đã có sẵn.
Mã:
total 0
-rw-r--r-- 1 root root 0 Nov 7 13:42 test1
-rw-r--r-- 1 root root 0 Nov 7 13:42 test2
-rw-r--r-- 1 root root 0 Nov 7 13:44 test3
-rw-r--r-- 1 root root 0 Nov 7 13:44 test4

Kết luận​

Xin chúc mừng! Bạn đã cài đặt và cấu hình thành công máy chủ Glusterfs Replicated hai nút trên máy chủ Ubuntu 22.04. Để biết thêm thông tin, hãy đọc trang tài liệu GlusterFStài liệu. Hãy thoải mái hỏi tôi nếu bạn có bất kỳ câu hỏi nào.
 
Back
Bên trên