Hướng dẫn cài đặt MinIO Object Storage trên Rocky Linux chi tiết A–Z

Hướng dẫn cài đặt MinIO Object Storage trên Rocky Linux chi tiết A–Z

Nếu bạn đang tìm kiếm một giải pháp lưu trữ đối tượng tương thích với giao thức S3, MinIO là nền tảng lý tưởng dành cho bạn. Đây là phần mềm máy chủ mã nguồn mở, phát triển bằng ngôn ngữ lập trình Go, nổi bật với khả năng mở rộng linh hoạt và hiệu suất cao. MinIO hỗ trợ đa nền tảng thông qua các client chính thức và cung cấp giao diện quản trị web trực quan để bạn dễ dàng quản lý dữ liệu, đối tượng và người dùng.

DataOnline sẽ được hướng dẫn chi tiết cách cài đặt và cấu hình MinIO trên một máy chủ Rocky Linux, phù hợp để triển khai trong môi trường hạ tầng đám mây hiện đại hoặc hệ thống nội bộ doanh nghiệp.

Yêu cầu

  • Triển khai một máy chủ Rocky Linux 8.
  • Gắn Block Storage vào máy chủ của bạn và tạo điểm mount là /mnt/data.
  • Tạo một người dùng không phải root có quyền sudo.
  • Cập nhật hệ thống của máy chủ.
  • Tạo một bản ghi DNS kiểu “A” (ví dụ: minio.example.com) trỏ về địa chỉ IP của máy chủ. Bản ghi này sẽ được dùng để truy cập giao diện web.

1. Cấu hình tường lửa

Bước đầu tiên là mở các cổng 9000 và 9001, cổng cần thiết cho máy chủ MinIO. Bạn cũng cần mở các cổng HTTP và HTTPS để truy cập SSL.

Sử dụng các lệnh sau để mở các cổng cần thiết trong firewall:

$ sudo firewall-cmd --zone=public --add-port=9000/tcp --permanent
$ sudo firewall-cmd --zone=public --add-port=9001/tcp --permanent

Kích hoạt truy cập HTTP và HTTPS:

$ sudo firewall-cmd --zone=public --add-service=http --permanent
$ sudo firewall-cmd --zone=public --add-service=https --permanent

Tải lại tường lửa để áp dụng thay đổi:

$ sudo firewall-cmd --reload

2. Cài đặt MinIO

MinIO được phân phối dưới dạng file nhị phân, được viết bằng ngôn ngữ GO. Tải file này từ trang web chính thức:

$ wget https://dl.min.io/server/minio/release/linux-amd64/minio -O /usr/local/bin/minio

Thay đổi quyền truy cập của file để có thể thực thi:

$ sudo chmod +x /usr/local/bin/minio

Cấu hình quyền SELinux cho file:

$ sudo restorecon -v /usr/local/bin/minio

Xác minh cài đặt bằng cách in thông tin phiên bản:

$ minio --version
minio version RELEASE.2022-04-16T04-26-02Z

3. Cấu hình MinIO

Tạo một người dùng để chạy máy chủ MinIO:

$ sudo useradd -r minio-user -s /sbin/nologin

Thay đổi quyền sở hữu của file MinIO:

$ sudo chown minio-user:minio-user /usr/local/bin/minio

Tạo thư mục lưu trữ file cấu hình của MinIO:

$ sudo mkdir /etc/minio

Thay đổi quyền sở hữu của thư mục cấu hình:

$ sudo chown minio-user:minio-user /etc/minio

Gán quyền sở hữu cho thư mục mount:

$ sudo chown minio-user:minio-user /mnt/data

Tạo file môi trường mặc định và mở nó để chỉnh sửa:

$ sudo nano /etc/default/minio/

Dán vào file các dòng sau:

MINIO_VOLUMES="/mnt/data"
MINIO_OPTS="-C /etc/minio --address :9000 --console-address :9001"
MINIO_ROOT_USER="minio"
MINIO_ROOT_PASSWORD="ChooseAStrongPassword"

Lưu file bằng cách nhấn Ctrl+X, sau đó nhấn Y.

4. Thiết lập dịch vụ MinIO

Tải file unit cho dịch vụ từ kho GitHub của MinIO:

$ wget https://raw.githubusercontent.com/minio/minio-service/master/linux-systemd/minio.service -O /etc/systemd/system/minio.service

Cấu hình SELinux để cho phép dịch vụ chạy:

sudo restorecon -v /etc/systemd/system/minio.service

Tải lại daemon của systemd:

$ sudo systemctl daemon-reload

Kích hoạt dịch vụ MinIO:

$ sudo systemctl enable minio

5. Khởi động máy chủ MinIO

Bắt đầu chạy máy chủ MinIO:

$ sudo systemctl start minio

Kiểm tra trạng thái của máy chủ:

$ sudo systemctl status minio

Mở trình duyệt và truy cập URL http://your_server_ip:9001 để truy cập giao diện điều khiển của MinIO.

6. Cài đặt và cấu hình Certbot

Công cụ Certbot sử dụng API của Let’s Encrypt để yêu cầu cấp chứng chỉ SSL. Nó yêu cầu kho EPEL để cài đặt.

Cài đặt kho EPEL:

$ sudo dnf install epel-release

Cài đặt Certbot:

$ sudo dnf install certbot

Yêu cầu cấp chứng chỉ SSL cho MinIO ở chế độ standalone:

$ sudo certbot certonly --standalone --agree-tos --no-eff-email --preferred-challenges http -m name@example.com -d minio.example.com

Sau khi chứng chỉ được cấp, chúng sẽ có sẵn tại thư mục /etc/letsencrypt/live/minio.example.com.

Sao chép các file chứng chỉ vào thư mục /etc/minio/certs:

$ sudo cp /etc/letsencrypt/live/minio.example.com/privkey.pem /etc/minio/certs/private.key
$ sudo cp /etc/letsencrypt/live/minio.example.com/fullchain.pem /etc/minio/certs/public.crt

Thay đổi quyền sở hữu các file chứng chỉ:

$ sudo chown minio-user:minio-user /etc/minio/certs/private.key
$ sudo chown minio-user:minio-user /etc/minio/certs/public.crt

Mở file cấu hình mặc định của MinIO:

$ sudo nano /etc/default/minio

Thêm dòng sau ở cuối file:

MINIO_SERVER_URL="https://minio.example.com:9000"

Lưu file bằng cách nhấn Ctrl+X, sau đó Y.

Khởi động lại máy chủ MinIO để áp dụng thay đổi:

$ sudo systemctl restart minio

Tạo file /etc/minio/certcopy.sh để sao chép các chứng chỉ sau mỗi lần gia hạn và mở file để chỉnh sửa:

$ sudo nano /etc/minio/certcopy.sh

Dán đoạn mã sau vào file:

#!/bin/sh
cp -f /etc/letsencrypt/live/minio.example.com/privkey.pem /etc/minio/certs/private.key
cp -f /etc/letsencrypt/live/minio.example.com/fullchain.pem /etc/minio/certs/public.crt

Lưu file bằng cách nhấn Ctrl+X, sau đó Y.

Đặt quyền thực thi cho file:

$ sudo chmod +x /etc/minio/certcopy.sh

Mở file /etc/letsencrypt/renewal/minio.example.com.conf để chỉnh sửa:

$ sudo nano /etc/letsencrypt/renewal/minio.example.com.conf

Thêm dòng sau vào cuối file:

post_hook = /etc/minio/certcopy.sh

Lưu file bằng cách nhấn Ctrl+X, sau đó Y.

Tùy chọn post_hook sẽ chạy script certcopy.sh sau mỗi lần gia hạn chứng chỉ, giúp bạn không phải sao chép chứng chỉ thủ công.

7. Truy Cập MinIO

Bạn có thể truy cập MinIO bằng cách mở URL https://minio.example.com:9001 trên trình duyệt.

Nhập tên người dùng root và mật khẩu đã được thiết lập ở bước cấu hình để đăng nhập.

Từ đó, bạn có thể bắt đầu sử dụng MinIO để tạo buckets và lưu trữ dữ liệu. Bạn có thể sử dụng chính MinIO Client hoặc bất kỳ công cụ tương thích S3 nào để truy cập và quản lý dữ liệu đã tải lên.

Kết luận

Bạn đã hoàn tất việc cài đặt và cấu hình MinIO trên máy chủ Rocky Linux 8 một cách thành công. Giờ đây, bạn có thể triển khai một hệ thống lưu trữ đối tượng tương thích S3 với khả năng mở rộng linh hoạt, bảo mật cao và hiệu năng tối ưu. MinIO là giải pháp lý tưởng cho các doanh nghiệp cần lưu trữ dữ liệu lớn, truy cập nhanh và tích hợp dễ dàng với các ứng dụng hiện đại, từ nền tảng cloud-native đến hệ thống hybrid.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *