🌐 Triển Khai MinIO Federation
📋 Tổng Quan
MinIO Federation cho phép tổng hợp dung lượng từ nhiều cụm MinIO độc lập thành một hệ thống lưu trữ thống nhất. Ví dụ:
- Cụm HN: 500GB
- Cụm HCM: 500GB
- Cụm DN: 500GB => Tổng dung lượng khả dụng: 1.5TB
🏗️ Kiến Trúc Hệ Thống
💻 Yêu Cầu Hệ Thống
Phần Cứng (Cho Mỗi Node)
Thành phần | Tối thiểu | Khuyến nghị |
---|---|---|
CPU | 2 cores | 4+ cores |
RAM | 4GB | 8GB+ |
Disk | 100GB SSD | 500GB+ SSD |
Network | 1Gbps | 10Gbps |
Phần Mềm
# Kiểm tra phiên bản OS
lsb_release -a
# Output cần >= Ubuntu 20.04
# Kiểm tra Docker version
docker --version
# Output cần >= 20.10.x
# Kiểm tra Docker Compose version
docker-compose --version
# Output cần >= 2.x
🚀 Triển Khai
1. Chuẩn Bị Môi Trường
Thực hiện trên tất cả các node:
# Cài đặt dependencies
sudo apt update
sudo apt install -y docker.io docker-compose
# Tạo thư mục lưu trữ
sudo mkdir -p /mnt/data/minio /mnt/data/config
sudo chown -R 1000:1000 /mnt/data/
2. Triển Khai MinIO Server
Tạo file docker-compose.yml
trên mỗi node:
version: "3.7"
services:
minio:
image: quay.io/minio/minio:latest
container_name: minio
ports:
- "9000:9000" # API port
- "9001:9001" # Console port
environment:
MINIO_ROOT_USER: "admin"
MINIO_ROOT_PASSWORD: "StrongPassword123" # Thay đổi mật khẩu này
MINIO_SITE_NAME: "${SITE_NAME:-minio-site-1}" # Unique cho mỗi site
MINIO_SITE_REGION: "${SITE_REGION:-hanoi}" # Region của site
volumes:
- /mnt/data/minio:/data
- /mnt/data/config:/root/.minio
command: server /data --console-address ":9001"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
interval: 30s
timeout: 20s
retries: 3
restart: unless-stopped
3. Khởi Động Dịch Vụ
# Khởi động MinIO
docker-compose up -d
# Kiểm tra logs
docker-compose logs -f
# Kiểm tra container status
docker ps
4. Cấu Hình Federation
a. Trên Federation Console (192.168.1.100)
- Truy cập console:
http://192.168.1.100:9001
- Đăng nhập với thông tin:
- Username: admin
- Password: StrongPassword123
b. Thêm Các Cụm Vào Federation
Trong Console, điều hướng đến:
- Settings > Federation
- Click "Add Site"
- Nhập thông tin cho từng cụm:
# Cluster Hà Nội
Name: minio-hanoi
Endpoint: http://192.168.1.11:9000
Access Key: admin
Secret Key: StrongPassword123
# Cluster HCM
Name: minio-hcm
Endpoint: http://192.168.2.11:9000
Access Key: admin
Secret Key: StrongPassword123
# Cluster Đà Nẵng
Name: minio-danang
Endpoint: http://192.168.3.11:9000
Access Key: admin
Secret Key: StrongPassword123