14/10/2018, 21:39

Minio – Object storage server như AWS S3

Minio là gì ? Đây là định nghĩa ở trang chủ của minio: Minio is a high performance distributed object storage server, designed for large-scale private cloud infrastructure. Ngắn gọn mà nói thì câu trả lời là: Nó giống như dịch vụ AWS S3, nhưng được host local . Minio là một object ...

Minio là gì ?

Đây là định nghĩa ở trang chủ của minio:

Minio is a high performance distributed object storage server, designed for large-scale private cloud infrastructure.

Ngắn gọn mà nói thì câu trả lời là: Nó giống như dịch vụ AWS S3, nhưng được host local.

Minio là một object storage server được implement những public API giống như AWS S3. Điều đó có nghĩa là những ứng dụng có thể config để giao tiếp với Minio thì cũng có thể giao tiếp với AWS S3. Là một server lưu trữ object nên có thể được sử dụng để lưu trữ những unstructured data như ảnh, video, log files, backups và container/VM images. Dung lượng của 1 object có thể dao động từ một vài KB tới tối đa là 5TB. File cũng được gom lại trong 1 buckets, nó là được chỉ cùng với access key khi dùng app. Đây là giao diện của minio:

Xử lý khối lượng lớn dự liệu

Giả sử bạn phải lưu trữ một khối dữ liệu, bạn không muốn những dữ liệu này (ảnh, mailboxes,...) lưu trữ trên cùng một app. Sẽ là một vấn đề lớn nếu lưu trữ ở cùng một server vì lượng dữ liệu này khá lớn, ví dụ như mailboxes chúng ta cần dung lượng có thể mở rộng và sao lưu được để tránh việc mất dữ liệu.

Minio là công cụ tốt để handle những điều trên. Nó tách những dữ liệu lưu trữ khỏi app của bạn và có thể truy cập thông qua HTTP.

Setup đơn giản

Mặc dù nó được thiết lập đơn thuần chỉ là một thư mục local thông qua S3 API nhưng được config để đề phòng việc disk failures và coruption dữ liệu thông qua hệ thông dữ liệu phân tán giữa nhiều disks và nhiều node được host bởi Minio.

Dưới đây là simple installation:

# docker-compose.yml
services:
...
  minio:
    image: minio/minio
    volumes:
      - ./minio-data:/data
    ports:
      - "9000:9000"
    environment:
      MINIO_ACCESS_KEY: "minio"
      MINIO_SECRET_KEY: "123@123"
    command: server /minio-data/data
  minio-bucket:
    image: minio/mc
    depends_on:
      - minio
    entrypoint: >
      /bin/sh -c "
      /usr/bin/mc config host add myminio http://minio:9000 minio 123@123;
      /usr/bin/mc mb myminio/file-storage;
      /usr/bin/mc policy download myminio/file-storage;
      exit 0;
      "

Để start minio server chúng ta chạy command: docker-compose run --rm --service-ports minio

Rồi truy cập localhost:9000 sẽ xuất hiện giao diện tương tự như phía trên và với bulket là file-storage được tạo sẵn. Done ! So ez             </div>
            
            <div class=

0