Lưu trữ có tính khả dụng cao với GlusterFS trên Ubuntu 18.04 LTS

theanh

Administrator
Nhân viên
Glusterfs là một hệ thống tệp mạng có khả năng mở rộng với khả năng mở rộng lên đến vài petabyte và xử lý hàng nghìn máy khách. Đây là một hệ thống tệp phân tán và mã nguồn mở, thiết lập các tài nguyên lưu trữ đĩa từ nhiều máy chủ vào một không gian tên duy nhất. Nó phù hợp với các tác vụ dữ liệu chuyên sâu như lưu trữ đám mây và phát trực tuyến phương tiện dữ liệu.

Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách thiết lập máy chủ lưu trữ có tính khả dụng cao với GlusterFS trên Ubuntu 18.04 LTS (Bionic Beaver). Chúng ta sẽ sử dụng 3 máy chủ Ubuntu, 1 máy chủ làm máy khách và 2 máy chủ khác làm bộ lưu trữ. Mỗi máy chủ lưu trữ sẽ là bản sao của máy chủ kia và các tệp sẽ được sao chép trên cả hai máy chủ lưu trữ.

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

  • 3 Máy chủ Ubuntu 18.0410.0.15.10 - gfs01
  • 10.0.15.11 - gfs02
  • 10.0.15.12 - client01
[*] Quyền root

Chúng ta sẽ làm gì?​

  1. Cài đặt trước GlusterFS
  2. Cài đặt GlusterFS Server
  3. Cấu hình GlusterFS Server
  4. Thiết lập GlusterFS Client
  5. Kiểm tra Replicate/Mirroring

Bước 1 - Cài đặt trước GlusterFS​

Bước đầu tiên chúng ta cần thực hiện trước khi cài đặt glusterfs trên tất cả các máy chủ là cấu hình tệp hosts và thêm kho lưu trữ GlusterFS vào từng máy chủ.

Cấu hình tệp Hosts​

Đăng nhập vào từng máy chủ và lấy quyền truy cập root bằng lệnh 'sudo su', sau đó chỉnh sửa tệp '/etc/hosts'.
Mã:
vim /etc/hosts
Dán cấu hình hosts bên dưới.
Mã:
10.0.15.10 gfs0110.0.15.11 gfs0210.0.15.12 client01
Lưu và thoát.

Bây giờ hãy ping từng máy chủ bằng tên máy chủ như bên dưới.
Mã:
ping -c 3 gfs01
ping -c 3 gfs02
ping -c 3 client01
Mỗi tên máy chủ sẽ phân giải thành từng địa chỉ IP của máy chủ.


Thêm kho lưu trữ GlusterFS​

Cài đặt gói software-properties-common vào hệ thống.
Mã:
sudo apt install software-properties-common -y
Thêm khóa glusterfs và kho lưu trữ bằng cách chạy các lệnh bên dưới.
Mã:
wget -O- https://download.gluster.org/pub/gluster/glusterfs/3.12/rsa.pub | apt-key add -
sudo add-apt-repository ppa:gluster/glusterfs-3.12
Lệnh này sẽ cập nhật tất cả các kho lưu trữ. Và chúng tôi đã thêm kho lưu trữ glusterfs vào tất cả các hệ thống.


Bước 2 - Cài đặt GlusterFS Server​

Trong bước này, chúng tôi sẽ cài đặt máy chủ glusterfs trên các máy chủ 'gfs01' và 'gfs02'.

Cài đặt glusterfs-server bằng lệnh apt.
Mã:
sudo apt install glusterfs-server -y
Bây giờ hãy khởi động dịch vụ glusterd và cho phép nó khởi chạy mọi lúc khi khởi động hệ thống.
Mã:
sudo systemctl start glusterd
sudo systemctl enable glusterd
Máy chủ Glusterfs hiện đã hoạt động trên các máy chủ 'gfs01' và 'gfs02'.

Kiểm tra các dịch vụ và phần mềm đã cài đặt version.
Mã:
systemctl status glusterd
glusterfsd --version

Bước 3 - Cấu hình Máy chủ GlusterFS​

Các dịch vụ Glusterd hiện đã hoạt động và bước tiếp theo chúng ta sẽ thực hiện là cấu hình các máy chủ đó bằng cách tạo một nhóm lưu trữ đáng tin cậy và tạo ổ đĩa glusterfs phân tán.

Tạo Nhóm lưu trữ đáng tin cậy​

Từ máy chủ 'gfs01', chúng ta cần thêm máy chủ 'gfs02' vào nhóm lưu trữ glusterfs.

Chạy lệnh bên dưới.
Mã:
gluster peer probe gfs02
Bây giờ chúng ta sẽ thấy kết quả 'peer probe: success' và chúng ta đã thêm máy chủ 'gfs02' vào nhóm lưu trữ đáng tin cậy.

Kiểm tra trạng thái nhóm lưu trữ và liệt kê bằng các lệnh bên dưới.
Mã:
trạng thái ngang hàng gluster
danh sách nhóm gluster
Và bạn sẽ thấy máy chủ 'gfs02' được kết nối với cụm ngang hàng và nằm trong danh sách nhóm.


Thiết lập khối lượng GlusterFS phân tán​

Sau khi tạo nhóm lưu trữ đáng tin cậy, chúng ta sẽ tạo một khối lượng glusterfs phân tán mới. Chúng tôi sẽ tạo ổ đĩa glusterfs mới dựa trên thư mục hệ thống.

Lưu ý:
  • Đối với sản xuất máy chủ, bạn nên tạo ổ đĩa glusterfs bằng phân vùng khác, không sử dụng thư mục hệ thống.
Tạo thư mục mới '/glusterfs/distributed' trên mỗi máy chủ bot 'gfs01' và 'gfs02'.
Mã:
mkdir -p /glusterfs/distributed
Và từ máy chủ 'gfs01', tạo ổ đĩa glusterfs phân tán có tên 'vol01' với 2 bản sao 'gfs01' và 'gfs02'.
Mã:
gluster volume create vol01 replica 2 transport tcp \
gfs01:/glusterfs/distributed \
gfs02:/glusterfs/distributed \
force
Bây giờ chúng ta đã tạo ổ đĩa phân tán 'vol01' - khởi động 'vol01' và kiểm tra thông tin ổ đĩa.
Mã:
gluster volume start vol01
gluster volume info vol01
Và sau đây là kết quả.



Ở giai đoạn này, chúng ta đã tạo ổ đĩa 'vol01' với kiểu 'Replicate' và 2 khối trên 'gfs01' và Máy chủ 'gfs02'. Tất cả dữ liệu sẽ được phân phối tự động đến từng máy chủ bản sao và chúng ta đã sẵn sàng để gắn ổ đĩa.

Bên dưới là thông tin ổ đĩa 'vol01' từ máy chủ 'gfs02'.


Bước 4 - Thiết lập Máy khách GlusterFS​

Trong bước này, chúng ta sẽ gắn ổ đĩa glusterfs 'vol01' vào máy khách Ubuntu và chúng ta cần cài đặt glusterfs-client vào máy chủ máy khách.

Cài đặt glusterfs-client vào hệ thống Ubuntu bằng lệnh apt.
Mã:
sudo apt install glusterfs-client -y
Bây giờ hãy tạo một thư mục mới '/mnt/glusterfs' khi quá trình cài đặt glusterfs-client hoàn tất.
Mã:
mkdir -p /mnt/glusterfs
Và gắn ổ đĩa glusterfs phân tán 'vol01' vào thư mục '/mnt/glusterfs'.
Mã:
sudo mount -t glusterfs gfs01:/vol01 /mnt/glusterfs
Bây giờ hãy kiểm tra ổ đĩa khả dụng trên hệ thống.
Mã:
df -h /mnt/glusterfs
Và chúng ta sẽ gắn ổ đĩa glusterfs vào thư mục '/mnt/glusterfs'.



Bổ sung:

Để gắn ổ đĩa glusterfs vĩnh viễn vào hệ thống máy khách Ubuntu, chúng ta có thể thêm ổ đĩa vào '/etc/fstab'.

Chỉnh sửa tệp cấu hình '/etc/fstab'.
Mã:
vim /etc/fstab
Và dán cấu hình bên dưới.
Mã:
gfs01:/vol01 /mnt/glusterfs glusterfs defaults,_netdev 0 0
Lưu và thoát.

Bây giờ hãy khởi động lại máy chủ và khi nó trực tuyến, chúng ta sẽ tự động gắn kết ổ đĩa glusterfs 'vol01' thông qua fstab.

Bước 5 - Kiểm tra Replicate/Mirroring​

Trong bước này, chúng ta sẽ kiểm tra việc sao chép dữ liệu trên từng nút máy chủ.

Gắn kết ổ đĩa glusterfs 'vol01' vào từng máy chủ glusterfs.

Trên máy chủ 'gfs01'.
Mã:
mount -t glusterfs gfs01:/vol01 /mnt
Trên máy chủ 'gfs02'.
Mã:
mount -t glusterfs gfs02:/vol01 /mnt
Bây giờ quay lại máy khách Ubuntu và đi đến thư mục '/mnt/glusterfs'.
Mã:
cd /mnt/glusterfs
Tạo một số tệp bằng lệnh touch.
Mã:
touch file01 file02 file03


Bây giờ hãy kiểm tra từng máy chủ - 'gfs01' và 'gfs02' - và chúng ta sẽ nhận được tất cả các tệp mà chúng ta đã tạo từ máy khách.
Mã:
cd /mnt/
ls -lah
Đây là kết quả từ máy chủ 'gfs01'.



Và đây là kết quả từ máy chủ 'gfs02'.



Tất cả các tệp mà chúng tôi tạo từ máy khách sẽ được phân phối đến tất cả các máy chủ nút ổ đĩa glusterfs.
 
Back
Bên trên