MinIO là gì? Hướng dẫn cài đặt Cluster MinIO trên Ubuntu 22.04
Tìm hiểu MinIO là gì và cách cài đặt Cluster MinIO trên Ubuntu 22.04. Hướng dẫn chi tiết từng bước thiết lập hệ thống lưu trữ giúp bạn dễ dàng thực hiện.
Trong thế giới công nghệ hiện đại, nhu cầu về lưu trữ dữ liệu unstructured đang ngày càng tăng cao. MinIO, một hệ thống lưu trữ đối tượng mã nguồn mở, đã trở thành lựa chọn hàng đầu cho việc quản lý và lưu trữ dữ liệu lớn. Bài viết này sẽ giúp bạn hiểu rõ MinIO là gì và cung cấp hướng dẫn chi tiết về cách cài đặt Cluster MinIO trên Ubuntu 22.04, giúp bạn xây dựng hệ thống lưu trữ hiệu quả và linh hoạt cho tổ chức của mình.
1. MinIO là gì?
MinIO là một giải pháp lưu trữ đối tượng mã nguồn mở, hiệu suất cao, tương thích hoàn toàn với API của dịch vụ lưu trữ đám mây Amazon S3. Được thiết kế để đáp ứng các yêu cầu lưu trữ dữ liệu lớn, MinIO cung cấp khả năng mở rộng, độ tin cậy cao và tốc độ truy cập dữ liệu nhanh chóng, setup đơn giản. Với giao diện dễ sử dụng, MinIO là lựa chọn lý tưởng cho các doanh nghiệp cần lưu trữ các loại dữ liệu: video, hình ảnh, bản ghi nhật ký và tệp sao lưu…
2. Hướng dẫn cài đặt Cluster MinIO trên Ubuntu 22
Sau khi đã hiểu rõ MinIO là gì, chúng tôi sẽ hướng dẫn bạn cách cài đặt Cluster MinIO trên Ubuntu 22 một cách đơn giản và nhanh chóng nhất.
2.1 Yêu cầu trước khi cài đặt
Chuẩn bị 3 máy ảo với hệ điều hành Ubuntu 22.04 với cấu hình:
- CPU: ≥ 1
- Ram ≥ 2 GB
- Disk:
-
- sda - OS (≥ 50 GB)
- sdb - /data (≥ 50 GB)
- Network:
Hostname |
OS |
Network Card |
IPv4 |
MinIO1 |
Ubuntu 22.04 |
ens160 |
10.0.11.150 |
MinIO2 |
Ubuntu 22.04 |
ens160 |
10.0.11.151 |
MinIO3 |
Ubuntu 22.04 |
ens160 |
10.0.11.152 |
2.2 Tiến hành cài đặt
Thiết lập ban đầu cho mỗi node
Cập nhật hệ thống
apt -y update && apt -y upgrade |
Thiết lập hostname cho MinIO
hostnamectl set-hostname minio1 |
Khai báo file /etc/hosts
cat > /etc/hosts << EOF 10.0.11.150 minio1 10.0.11.151 minio2 10.0.11.152 minio3 127.0.0.1 localhost EOF |
Kiểm tra block devices
root@minio1:~# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 50G 0 disk ├─sda1 8:1 0 1M 0 part ├─sda2 8:2 0 1G 0 part /boot └─sda3 8:3 0 49G 0 part └─ubuntu--vg-ubuntu--lv 253:0 0 49G 0 lvm / sdb 8:16 0 50G 0 disk |
Gắn sdb vào /data. Thực hiện trên 3 node
mkdir /data mkfs.xfs /dev/sdb echo "/dev/sdb /data xfs defaults,noatime,nofail 0 0" >> /etc/fstab mount -a |
Check đĩa đã được gắn chưa:
df -h |
Cấu hình MinIO trên mỗi node
Tải xuống MinIO Server
wget -O /usr/local/bin/minio https://dl.minio.io/server/minio/release/linux-amd64/minio chmod +x /usr/local/bin/minio |
Tạo file minIO service:
cat > /lib/systemd/system/minio.service << EOF [Unit] Description=minio Documentation=https://docs.min.io Wants=network-online.target After=network-online.target AssertFileIsExecutable=/usr/local/bin/minio [Service] WorkingDirectory=/usr/local/ User=root Group=root EnvironmentFile=/etc/default/minio ExecStart=/usr/local/bin/minio server \\$MINIO_OPTS Restart=always LimitNOFILE=65536 TimeoutStopSec=infinity SendSIGKILL=no [Install] WantedBy=multi-user.target EOF |
Thiết lập cấu hình MinIO:
MINIO_ACCESS_KEY=your-access-key MINIO_SECRET_KEY=your-secret-key MINIO_VOLUMES="<http://10.0.11.150/data> <http://10.0.11.151/data> <http://10.0.11.152/data>" MINIO_OPTS="server <http://10.0.11.150/data> <http://10.0.11.151/data> <http://10.0.11.152/data>" |
Thêm nội dung sau (thay thế your-access-key và your-secret-key bằng các giá trị bạn muốn sử dụng). Có thể tham khảo tạo ACCESS_KEY, SECRET_KEY sau:
openssl rand -base64 15 | tr -d /=+ | cut -c -20 openssl rand -base64 30 | tr -d /=+ | cut -c -40 |
Ví dụ:
cat > /etc/default/minio << EOF MINIO_ACCESS_KEY=lXMr3SVqZNPVt6QXYqch MINIO_SECRET_KEY=sPDfSZPPSyc6oUMwLtFmKHN9RQ1hmPjlljbcfdK MINIO_VOLUMES="<http://10.0.11.150/data> <http://10.0.11.151/data> <http://10.0.11.152/data>" MINIO_OPTS="server <http://10.0.11.150/data> <http://10.0.11.151/data> <http://10.0.11.152/data>" EOF |
Lưu ý: Ta sẽ sử dụng 2 giá trị ACCESS_KEY, SECRET_KEY để login MinIO sau khi cài đặt xong.
Thực hiện reload daemon, bật dịch vụ minio trên các node:
systemctl daemon-reload systemctl start minio systemctl enable minio |
Kiểm tra trạng thái dịch vụ MinIO trên node bất kỳ:
systemctl status minio |
Từ status minIO, nếu bạn mở firewall, cần mở các cổng sau: 9000 (API), 34773 (WebUI)
ufw allow 9000 ufw allow 34773 |
Kiểm tra giao diện web Minio
Sử dụng trình duyêt truy cập: http://10.0.11.150:34773
Đăng nhập bằng MINIO_ACCESS_KEY và MINIO_SECRET_KEY đã cấu hình trong file /etc/default/minio.
Kết luận
Qua bài viết này, SunCloud đã giải thích cho bạn MinIO là gì cũng như hướng dẫn chi tiết cách thiết lập cụm MinIO từ cài đặt, cấu hình, đến khởi động. Hệ thống này không chỉ cung cấp khả năng lưu trữ dữ liệu lớn mà còn đảm bảo khả năng truy cập nhanh chóng. Với cụm MinIO đã được triển khai trong bài viết này, bạn có thể kiểm tra các tính năng mạnh mẽ của MinIO. Chúc bạn thành công trong việc vận hành và tối ưu hóa hệ thống lưu trữ của mình!
SunCloud là đơn vị cung cấp dịch vụ máy chủ ảo Cloud Server, VPS hiệu suất cao, dung lượng lưu trữ lớn, đáp ứng mọi nhu cầu dịch vụ của hệ thống doanh nghiệp. Tham khảo chi tiết tại đây.