Làm chủ Object Storage với MinIO (Phần 1): Giới thiệu & Cài đặt

2 min read

Mệt mỏi với chi phí S3 và muốn tự chủ hạ tầng storage? MinIO là object storage mã nguồn mở, API compatible 100% với S3, cho phép bạn chạy trên mọi hạ tầng.

1. Minio là gì

MinIO là một hệ thống lưu trữ đối tượng (Object Storage) hiệu năng cao, tương thích hoàn toàn với API của Amazon S3. Nó được viết bằng Go, do đó kế thừa được tốc độ và khả năng xử lý song song tuyệt vời.

Các điểm nổi bật của MinIO

  • S3 Compatibility: Hầu hết các ứng dụng viết cho AWS S3 đều chạy được với MinIO mà chỉ cần đổi config endpoint
  • Hiệu năng cao: MinIO không chỉ là bản sao của S3, nó còn cực kỳ nhanh. Được viết bằng Go, MinIO tối ưu cho các tác vụ đọc/ghi dữ liệu lớn và có thể đạt throughput rất cao, đặc biệt khi chạy trên phần cứng tốt
  • Triển khai siêu linh hoạt và đơn giản: Bạn có thể chạy MinIO ở bất cứ đâu
  • Bảo mật và Quản lý truy cập mạnh mẽ: MinIO cung cấp đầy đủ các tính năng bảo mật cần thiết
    • Mã hóa dữ liệu: Hỗ trợ mã hóa cả lúc truyền (TLS) và lúc lưu trữ (SSE-S3, SSE-C).
    • Quản lý truy cập: Tích hợp hệ thống quản lý định danh và phân quyền (IAM) tương tự AWS, cho phép bạn tạo user, group, và policy để kiểm soát ai được làm gì trên bucket nào.
    • Object Locking (WORM): Ngăn chặn việc sửa/xóa object trong một khoảng thời gian nhất định.
  • Giao diện Web UI trực quan: Ngoài việc tương tác qua API và CLI, MinIO còn cung cấp một giao diện web (Console) dễ dùng. Bạn có thể dùng nó để quản lý buckets, tải lên/xuống file, quản lý user, xem policy… rất tiện lợi cho việc quản trị nhanh.

2. Hướng dẫn cài đặt và thao tác cơ bản với MinIO

2.1 Cài đặt với Docker

  • Bước 1: Tạo file docker-compose.yml
version: '3.8'
services:
  minio:
    image: minio/minio:latest
    container_name: minio
    ports:
      - "9000:9000"
      - "9001:9001"
    environment:
      MINIO_ROOT_USER: minioadmin
      MINIO_ROOT_PASSWORD: minioadmin
    command: server /data --console-address ":9001"
    volumes:
      - ./data:/data
  • Bước 2: Chạy lệnh docker-compose up -d

2.2 Thao tác cơ bản với MinIO

2.2.1 UI

Sau khi cài đặt thành công, bạn có thể truy cập http://localhost:9001 và đăng nhập với thông tin được khai báo trong file docker-compose.yml

  • Username: minioadmin
  • Password: minioadmin

Sau khi đăng nhập, dễ dàng thao tác tạo bucket, upload file, download…

2.2.2 CLI – MinIO Client (mc)

mc là công cụ dòng lệnh chính thức của MinIO

  • Cài đặt: Truy cập trang download của MinIO (https://min.io/download#/clients) và làm theo hướng dẫn cho hệ điều hành của bạn (Linux, macOS, Windows).
  • Cấu hình mc để kết nối đến MinIO server: Mở một terminal khác và chạy lệnh sau (thay Access Key và Secret Key bạn đã đặt ở trên)
# Cấu trúc: mc alias set <alias-name> <url-api> <user> <password>
mc alias set demo-minio http://localhost:9000 minioadmin minioadmin

Một số thao tác cơ bản

  • Tạo bucket
mc mb demo-minio/my-first-bucket
# Output: Bucket created successfully `demo-minio/my-first-bucket`.
  • Upload file
echo "Hello MinIO!" > test.txt
mc cp test.txt demo-minio/my-first-bucket/
# Output: ... uploaded successfully.
  • Liệt các object trong bucket
mc ls demo-minio/my-first-bucket/
# Output: [YYYY-MM-DD HH:MM:SS UTC]   13B STANDARD test.txt
  • Download file
mc cp demo-minio/my-first-bucket/test.txt ./downloaded_test.txt
# Output: ... downloaded successfully.

Avatar photo

Thế giới Công nghệ: Giải thích dễ hiểu cho…

Thế giới Công nghệ: Giải thích dễ hiểu cho người mới bắt đầu Nếu bạn từng nghe ai đó nói “mình làm bên IT”,...
Avatar photo dvgiang2603
4 min read

Leave a Reply

Your email address will not be published. Required fields are marked *