Hướng Dẫn Cài Đặt MinIO Trên Các Hệ Điều Hành Phổ Biến


MinIO là một giải pháp lưu trữ đối tượng (Object Storage) hiệu suất cao, tương thích với API của Amazon S3. Với khả năng mở rộng linh hoạt và dễ dàng tích hợp, MinIO được sử dụng rộng rãi trong các ứng dụng đám mây, phân tích dữ liệu lớn, và nhiều lĩnh vực khác. Hướng dẫn này sẽ cung cấp chi tiết cách cài đặt MinIO trên các hệ điều hành phổ biến như Linux, Windows, và macOS.A


Mục lục ẩn

1. Yêu Cầu Hệ Thống

Trước khi bắt đầu cài đặt MinIO, hãy đảm bảo rằng hệ thống của bạn đáp ứng các yêu cầu sau:

  • Hệ điều hành:
  • Linux (Ubuntu, CentOS, Debian, v.v.)
  • Windows (Windows 10, Server 2016 trở lên)
  • macOS (Catalina, Big Sur, Monterey, v.v.)
  • Phần cứng:
  • CPU: 1 GHz trở lên
  • RAM: 1 GB trở lên
  • Dung lượng lưu trữ: Tùy thuộc vào nhu cầu sử dụng
  • Quyền quản trị: Bạn cần quyền sudo trên Linux và quyền quản trị trên Windows và macOS để thực hiện các bước cài đặt và cấu hình.

2. Cài Đặt MinIO Trên Linux

2.1. Cài Đặt Bằng Binary

Phương pháp này phù hợp với mọi bản phân phối Linux và cho phép bạn nhanh chóng cài đặt MinIO mà không cần sử dụng trình quản lý gói.

Bước 1: Tải Về Binary MinIO

Mở terminal và chạy lệnh sau để tải về binary MinIO:

wget https://dl.min.io/server/minio/release/linux-amd64/minio

Bước 2: Cấp Quyền Thực Thi

Cấp quyền thực thi cho tệp minio:

chmod +x minio

Bước 3: Di Chuyển Binary Vào Thư Mục PATH

Di chuyển tệp minio vào thư mục /usr/local/bin để có thể chạy từ bất kỳ đâu:

sudo mv minio /usr/local/bin/

Bước 4: Kiểm Tra Cài Đặt

Chạy lệnh sau để kiểm tra phiên bản MinIO đã cài đặt:

minio --version

Kết Quả Mẫu:

minio version RELEASE.2023-09-29T00-00-00Z

Nếu bạn thấy thông tin phiên bản như trên, quá trình cài đặt đã thành công.

2.2. Cài Đặt Bằng Docker

Nếu bạn đã cài đặt Docker trên hệ thống, bạn có thể chạy MinIO dưới dạng container.

Bước 1: Kéo Docker Image của MinIO

docker pull minio/minio

Bước 2: Chạy Container MinIO

Chạy lệnh sau để khởi động MinIO:

docker run -p 9000:9000 --name minio \
  -e "MINIO_ROOT_USER=minioadmin" \
  -e "MINIO_ROOT_PASSWORD=minioadminpassword" \
  -v /mnt/data:/data \
  minio/minio server /data --console-address ":9001"

Giải Thích:

  • -p 9000:9000: Mở cổng 9000 cho MinIO.
  • --name minio: Đặt tên cho container.
  • -e "MINIO_ROOT_USER"-e "MINIO_ROOT_PASSWORD": Thiết lập người dùng và mật khẩu.
  • -v /mnt/data:/data: Gắn thư mục dữ liệu trên host vào thư mục /data trong container.
  • --console-address ":9001": Thiết lập cổng cho giao diện quản lý.

2.3. Chạy MinIO Dưới Dạng Service với systemd

Để đảm bảo MinIO tự động khởi động cùng hệ thống và duy trì hoạt động ổn định, bạn có thể chạy MinIO dưới dạng một service sử dụng systemd.

Bước 1: Tạo Người Dùng và Nhóm Cho MinIO

Tạo một người dùng hệ thống không có quyền đăng nhập để chạy MinIO:

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

Bước 2: Tạo Thư Mục Dữ Liệu và Cấu Hình

Chọn nơi lưu trữ dữ liệu và tệp cấu hình:

sudo mkdir -p /var/minio/data
sudo mkdir -p /etc/minio

Bước 3: Cấp Quyền Cho Thư Mục

Gán quyền sở hữu cho người dùng minio-user:

sudo chown -R minio-user:minio-user /var/minio
sudo chmod -R 755 /var/minio

Bước 4: Tạo Tệp Cấu Hình .env

Tạo tệp /etc/minio/.env để lưu trữ các biến môi trường:

sudo nano /etc/minio/.env

Nội Dung Tệp .env:

MINIO_ROOT_USER=minioadmin
MINIO_ROOT_PASSWORD=minioadminpassword
MINIO_VOLUMES="/var/minio/data"
MINIO_OPTS="--console-address :9001"

Giải Thích:

  • MINIO_ROOT_USER: Tên người dùng chính cho MinIO.
  • MINIO_ROOT_PASSWORD: Mật khẩu cho người dùng chính.
  • MINIO_VOLUMES: Đường dẫn đến thư mục dữ liệu.
  • MINIO_OPTS: Các tùy chọn khởi động thêm (ở đây là thiết lập địa chỉ console).

Lưu và Đóng Tệp: Nhấn CTRL + O để lưu và CTRL + X để thoát.

Bước 5: Tạo Tệp Service minio.service

Tạo tệp /etc/systemd/system/minio.service với nội dung sau:

sudo nano /etc/systemd/system/minio.service

Nội Dung Tệp minio.service:

[Unit]
Description=MinIO
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target

[Service]
User=minio-user
Group=minio-user
EnvironmentFile=/etc/minio/.env
ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES
Restart=always
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target

Giải Thích:

  • [Unit]:
  • Description: Mô tả về service.
  • Documentation: Liên kết đến tài liệu MinIO.
  • WantsAfter: Đảm bảo service chỉ khởi động sau khi mạng đã sẵn sàng.
  • [Service]:
  • UserGroup: Chạy service dưới người dùng và nhóm đã tạo.
  • EnvironmentFile: Nơi chứa các biến môi trường.
  • ExecStart: Lệnh khởi động MinIO.
  • Restart: Tự động khởi động lại nếu service gặp sự cố.
  • LimitNOFILE: Giới hạn số lượng tệp mở (cần thiết cho hiệu suất cao).
  • [Install]:
  • WantedBy: Đảm bảo service khởi động cùng các dịch vụ khác khi hệ thống boot.

Bước 6: Tải Lại systemd và Kích Hoạt Service

sudo systemctl daemon-reload
sudo systemctl enable minio
sudo systemctl start minio

Bước 7: Kiểm Tra Trạng Thái Service

sudo systemctl status minio

Kết Quả Mẫu:

 minio.service - MinIO
   Loaded: loaded (/etc/systemd/system/minio.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2024-04-27 10:00:00 UTC; 5s ago
     Docs: https://docs.min.io
 Main PID: 12345 (minio)
    Tasks: 10
   Memory: 50.0M
   CGroup: /system.slice/minio.service
           └─12345 /usr/local/bin/minio server --console-address :9001 /var/minio/data

Nếu Active: active (running) xuất hiện, MinIO đã được khởi động thành công dưới dạng service.


3. Cài Đặt MinIO Trên Windows

3.1. Cài Đặt Bằng Binary

Phương pháp này phù hợp cho mọi phiên bản Windows và cho phép bạn nhanh chóng cài đặt MinIO mà không cần sử dụng trình quản lý gói.

Bước 1: Tải Về Binary MinIO

Truy cập Trang Tải Về MinIO và tải xuống tệp minio.exe. Lưu vào thư mục mong muốn, ví dụ C:\MinIO\.

Bước 2: Thêm MinIO Vào PATH (Tuỳ Chọn)

Để chạy minio.exe từ bất kỳ đâu trong Command Prompt, bạn có thể thêm thư mục chứa minio.exe vào biến môi trường PATH.

  1. Mở Control Panel > System and Security > System.
  2. Chọn Advanced system settings.
  3. Trong tab Advanced, nhấp vào Environment Variables.
  4. Trong phần System variables, tìm và chọn Path, sau đó nhấp Edit.
  5. Thêm đường dẫn tới thư mục chứa minio.exe, ví dụ C:\MinIO\.
  6. Nhấp OK để lưu thay đổi.

Bước 3: Kiểm Tra Cài Đặt

Mở Command Prompt và chạy lệnh sau:

minio.exe --version

Kết Quả Mẫu:

minio version RELEASE.2023-09-29T00-00-00Z

Nếu bạn thấy thông tin phiên bản như trên, quá trình cài đặt đã thành công.

3.2. Chạy MinIO Dưới Dạng Service với NSSM

Để đảm bảo MinIO tự động khởi động cùng hệ thống và duy trì hoạt động ổn định trên Windows, bạn có thể sử dụng NSSM (Non-Sucking Service Manager) để chạy MinIO dưới dạng một service.

Bước 1: Tải Về và Cài Đặt NSSM

  1. Tải về NSSM từ Trang Chính Thức của NSSM.
  2. Giải nén tệp tải về và di chuyển nssm.exe vào thư mục C:\Windows\System32 để dễ dàng truy cập từ Command Prompt.

Bước 2: Tạo Service Cho MinIO

Mở Command Prompt với quyền Administrator và chạy lệnh sau:

nssm install MinIO

Bước 3: Cấu Hình Service Trong Giao Diện NSSM

  1. Path: Chọn đường dẫn đến tệp minio.exe, ví dụ: C:\MinIO\minio.exe.
  2. Startup directory: Chọn thư mục chứa MinIO, ví dụ: C:\MinIO\.
  3. Arguments: Cấu hình các tham số khởi động, ví dụ: server C:\MinIO\data --console-address ":9001"
  4. Environment:
    • Thiết lập các biến môi trường như MINIO_ROOT_USER, MINIO_ROOT_PASSWORD:
      • MinIO root user: MINIO_ROOT_USER=minioadmin
      • MinIO root password: MINIO_ROOT_PASSWORD=minioadminpassword
  5. Log on:
    • Chọn người dùng để chạy service (khuyên dùng người dùng hạn chế quyền).
  6. I/O:
    • Thiết lập đường dẫn log nếu cần.
  7. Shutdown:
    • Chọn phương thức đóng service (ví dụ: gửi tín hiệu Ctrl+C).

Lưu và Tạo Service: Nhấp Install Service để tạo service MinIO.

Bước 4: Khởi Động Service

Chạy lệnh sau trong Command Prompt để khởi động service:

net start MinIO

Bước 5: Kiểm Tra Service

Mở Services (gõ services.msc trong Run) và tìm service MinIO để kiểm tra trạng thái. Nếu trạng thái là Running, MinIO đã được khởi động thành công dưới dạng service.


4. Cài Đặt MinIO Trên macOS

4.1. Cài Đặt Bằng Homebrew

Homebrew là trình quản lý gói phổ biến trên macOS, giúp cài đặt MinIO một cách dễ dàng.

Bước 1: Cài Đặt Homebrew (Nếu Chưa Có)

Mở terminal và chạy lệnh sau:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Bước 2: Cài Đặt MinIO

Sử dụng Homebrew để cài đặt MinIO:

brew install minio/stable/minio

Bước 3: Kiểm Tra Cài Đặt

Chạy lệnh sau để kiểm tra phiên bản MinIO:

minio --version

Kết Quả Mẫu:

minio version RELEASE.2023-09-29T00-00-00Z

4.2. Cài Đặt Bằng Binary

Nếu bạn không muốn sử dụng Homebrew, bạn có thể cài đặt MinIO bằng cách tải về binary.

Bước 1: Tải Về Binary MinIO

Mở terminal và chạy lệnh sau:

wget https://dl.min.io/server/minio/release/darwin-amd64/minio

Bước 2: Cấp Quyền Thực Thi

Cấp quyền thực thi cho tệp minio:

chmod +x minio

Bước 3: Di Chuyển Binary Vào Thư Mục PATH

Di chuyển tệp minio vào thư mục /usr/local/bin:

sudo mv minio /usr/local/bin/

Bước 4: Kiểm Tra Cài Đặt

Chạy lệnh sau để kiểm tra phiên bản MinIO:

minio --version

4.3. Chạy MinIO Dưới Dạng Service với launchd

Để chạy MinIO dưới dạng service trên macOS, bạn có thể sử dụng launchd.

Bước 1: Tạo Tệp Service com.minio.server.plist

Tạo tệp /Library/LaunchDaemons/com.minio.server.plist với nội dung sau:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" 
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>Label</key>
    <string>com.minio.server</string>
    <key>ProgramArguments</key>
    <array>
      <string>/usr/local/bin/minio</string>
      <string>server</string>
      <string>/Users/username/minio/data</string>
      <string>--console-address</string>
      <string>:9001</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    <key>KeepAlive</key>
    <true/>
    <key>EnvironmentVariables</key>
    <dict>
      <key>MINIO_ROOT_USER</key>
      <string>minioadmin</string>
      <key>MINIO_ROOT_PASSWORD</key>
      <string>minioadminpassword</string>
    </dict>
    <key>StandardOutPath</key>
    <string>/var/log/minio.log</string>
    <key>StandardErrorPath</key>
    <string>/var/log/minio.err</string>
  </dict>
</plist>

Lưu Ý:

  • Thay username bằng tên người dùng hiện tại trên hệ thống.
  • Đảm bảo đường dẫn /Users/username/minio/data tồn tại và có quyền truy cập.

Bước 2: Tải Lại launchd và Khởi Động Service

Chạy lệnh sau để tải lại cấu hình và khởi động service:

sudo launchctl load /Library/LaunchDaemons/com.minio.server.plist
sudo launchctl start com.minio.server

Bước 3: Kiểm Tra Service

Bạn có thể kiểm tra log để đảm bảo MinIO đã khởi động thành công:

tail -f /var/log/minio.log

Nếu thấy các thông báo về việc khởi động MinIO, thì service đã chạy thành công.


5. Cấu Hình Ban Đầu Cho MinIO

Sau khi cài đặt MinIO, bạn cần thực hiện các bước cấu hình ban đầu để đảm bảo hệ thống hoạt động đúng cách.

5.1. Tạo Thư Mục Dữ Liệu

Chọn nơi bạn muốn lưu trữ dữ liệu và tạo thư mục tương ứng:

sudo mkdir -p /var/minio/data
sudo chown -R minio-user:minio-user /var/minio/data

5.2. Thiết Lập Access Key và Secret Key

MinIO sử dụng Access KeySecret Key để xác thực người dùng. Bạn có thể thiết lập chúng thông qua biến môi trường hoặc trong tệp cấu hình.

Ví Dụ:

  • Access Key: minioadmin
  • Secret Key: minioadminpassword

5.3. Thiết Lập Console Address

MinIO có giao diện quản lý thông qua console, thường được thiết lập ở cổng 9001. Bạn có thể thay đổi địa chỉ console bằng cách thêm tham số --console-address khi khởi động MinIO.

Ví Dụ:

minio server /var/minio/data --console-address ":9001"

6. Cấu Hình SSL/TLS (Tuỳ Chọn)

Để bảo mật kết nối giữa client và server MinIO, bạn nên cấu hình SSL/TLS.

6.1. Tạo Thư Mục Chứa Chứng Chỉ SSL

sudo mkdir -p /etc/minio/certs

6.2. Đặt Chứng Chỉ và Khóa

  • Chứng Chỉ: public.crt
  • Khóa: private.key

Đặt các tệp này vào thư mục /etc/minio/certs.

sudo cp /path/to/your/public.crt /etc/minio/certs/
sudo cp /path/to/your/private.key /etc/minio/certs/

6.3. Cập Nhật Tệp Cấu Hình .env

Mở tệp /etc/minio/.env và thêm hoặc chỉnh sửa các dòng sau:

MINIO_OPTS="--console-address :9001 --certs-dir /etc/minio/certs"

6.4. Khởi Động Lại Service MinIO

sudo systemctl restart minio

6.5. Kiểm Tra Kết Nối SSL

Mở trình duyệt và truy cập vào:

https://<your-minio-server>:9000

Đảm bảo rằng trình duyệt không hiển thị cảnh báo bảo mật về chứng chỉ.


7. Kiểm Tra và Sử Dụng MinIO

7.1. Truy Cập Giao Diện Web MinIO

Sau khi MinIO đã được khởi động, bạn có thể truy cập giao diện quản lý qua trình duyệt bằng cách nhập URL sau:

http://<your-minio-server>:9000

Hoặc nếu đã cấu hình SSL:

https://<your-minio-server>:9000

7.2. Đăng Nhập Vào Giao Diện Web

Sử dụng Access KeySecret Key đã thiết lập để đăng nhập vào giao diện quản lý MinIO.

7.3. Tạo và Quản Lý Buckets

  • Tạo Bucket Mới: Nhấp vào nút “Create Bucket”, nhập tên bucket và xác nhận.
  • Quản Lý Nội Dung: Tạo thư mục, tải lên/tải xuống tệp tin, và quản lý quyền truy cập.

7.4. Sử Dụng MinIO CLI

Bạn có thể sử dụng MinIO CLI (mc) để quản lý MinIO từ dòng lệnh. Đảm bảo đã cài đặt và cấu hình mc trước khi sử dụng. Xem Hướng Dẫn Sử Dụng MinIO CLI.


8. Một Số Lưu Ý và Khắc Phục Sự Cố

8.1. Kiểm Tra Logs

Logs giúp bạn xác định và khắc phục sự cố khi chạy MinIO.

Linux:

sudo journalctl -u minio

Windows: Kiểm tra log đã cấu hình trong nssm hoặc kiểm tra Event Viewer.

macOS:

tail -f /var/log/minio.log

8.2. Kiểm Tra Kết Nối Mạng

Đảm bảo rằng các cổng mà MinIO sử dụng (mặc định là 90009001) không bị chặn bởi tường lửa.

Linux:

sudo ufw allow 9000
sudo ufw allow 9001

Windows: Thêm quy tắc cho tường lửa để mở các cổng tương ứng.

macOS: Kiểm tra cấu hình tường lửa trong System Preferences > Security & Privacy > Firewall.

8.3. Cập Nhật MinIO

Khi cập nhật MinIO, hãy thực hiện các bước sau để đảm bảo service hoạt động đúng:

Linux:

sudo systemctl stop minio
wget https://dl.min.io/server/minio/release/linux-amd64/minio 
chmod +x minio
sudo mv minio /usr/local/bin/ 
sudo systemctl start minio

Windows: Thay thế minio.exe trong thư mục cài đặt và khởi động lại service thông qua nssm.

macOS: Nếu cài đặt bằng Homebrew:

brew update
brew upgrade minio
sudo launchctl unload /Library/LaunchDaemons/com.minio.server.plist
sudo launchctl load /Library/LaunchDaemons/com.minio.server.plist

8.4. Sao Lưu Dữ Liệu và Cấu Hình

Đảm bảo rằng bạn thường xuyên sao lưu dữ liệu và tệp cấu hình của MinIO để tránh mất mát dữ liệu khi có sự cố.

Sao Lưu Dữ Liệu:

mc mirror myminio/data /backup/data

Sao Lưu Cấu Hình:

sudo cp /etc/minio/.env /backup/minio.env sudo cp /etc/systemd/system/minio.service /backup/minio.service

8.5. Quản Lý Quyền Truy Cập

  • Chỉ cấp quyền cần thiết cho người dùng và service.
  • Sử dụng các chính sách (policies) của MinIO để giới hạn quyền truy cập vào các bucket và đối tượng.

Kết Luận

Cài đặt MinIO trên các hệ điều hành Linux, Windows, và macOS là một quá trình đơn giản nếu bạn làm theo các bước hướng dẫn chi tiết. Bằng cách chạy MinIO dưới dạng service, bạn đảm bảo rằng hệ thống lưu trữ của mình luôn hoạt động ổn định và tự động khởi động cùng hệ thống. Hãy đảm bảo rằng bạn đã cấu hình bảo mật đúng cách và thường xuyên sao lưu dữ liệu để bảo vệ thông tin quan trọng của mình.


Lưu ý: Các bước trong hướng dẫn này có thể thay đổi tùy thuộc vào phiên bản MinIO và cấu hình hệ thống của bạn. Hãy kiểm tra tài liệu chính thức của MinIO để cập nhật thông tin mới nhất.