Dùng thử MinIO – Bộ lưu trữ đối tượng hiệu suất cao tuân thủ S3 tự lưu trữ

Spread the love

Bạn đang tìm kiếm phần mềm lưu trữ đối tượng để lưu trữ trên máy chủ của mình?

Tôi đoán, vâng?

Có rất nhiều bộ lưu trữ đối tượng dựa trên đám mây như AWS S3 và các đối tượng khác mà tôi đã đề cập ở đây. Tuy nhiên, nếu bạn cần lưu trữ dữ liệu trên máy chủ của mình, MinIO có thể trợ giúp trong trung tâm dữ liệu của bạn.

MiniIO là mã nguồn mở, phần mềm lưu trữ đối tượng phân tán phổ biến và tương thích với S3. Nó sẵn sàng cho doanh nghiệp và được biết đến với hiệu suất cao.

Bạn có thể sử dụng MinIO từ ứng dụng web đơn giản đến khối lượng công việc phân phối dữ liệu lớn cho ứng dụng phân tích và máy học. Nó có thể giúp ích trong nhiều trường hợp sử dụng.

  • Lưu trữ tệp phẳng tiêu chuẩn
  • Phân phối dữ liệu đa đám mây
  • khắc phục thảm họa
  • Phân tích dữ liệu

Nó có phải là phần mềm cồng kềnh không?

Không, nó chỉ khoảng ~50 MB và thân thiện với Kubernetes. Nó ghi dữ liệu và siêu dữ liệu dưới dạng một đối tượng. Điều này loại bỏ sự phụ thuộc vào việc có thêm cơ sở dữ liệu hoặc phần mềm để lưu trữ siêu dữ liệu và cải thiện hiệu suất.

Kiến trúc dưới đây từ trang web chính thức của họ.

Hãy cùng khám phá một số tính năng đáng chú ý.

  • Hiệu suất cao – tiêu đề nói. Nó có khả năng đọc/ghi với tốc độ ~170GB/s. Đó là rất nhiều!
  • Có thể mở rộng – đi để phân cụm và chia tỷ lệ khi bạn cần
  • gốc trên đám mây
  • Bảo vệ dữ liệu bằng phương pháp mã xóa
  • Nhiều mã hóa được hỗ trợ bao gồm AES-CBC, AES-256-GCM, ChaCha20
  • Tương thích với KMS phổ biến
  • Ứng dụng và danh tính người dùng
  • Thông báo sự kiện
  • Liên kết sử dụng etcd và CoreDNS

MinIO là một lựa chọn tốt cho việc lưu trữ được xác định bằng phần mềm. Hãy khám phá cách thiết lập mọi thứ.

Cài đặt máy chủ MinIO

Bạn có thể Tải về trên Linux, Windows, macOS và thông qua Kubernetes. Thích xây dựng thông qua nguồn? Chắc chắn rồi, bạn có thể làm được nếu đã cài đặt Golang.

Đối với phần trình diễn này, tôi sẽ cài đặt trên CentOS được lưu trữ trên kamatera.

  • Đăng nhập vào máy chủ
  • Tạo một thư mục trong hệ thống tệp mong muốn. Có lẽ máy chủ mini
  • Điều hướng đến thư mục vừa tạo và chạy lệnh wget bên dưới
wget https://dl.min.io/server/minio/release/linux-amd64/minio

Nó sẽ tải xuống một tệp nhị phân và sẽ trông như thế này.

-rw-r--r--  1 root root 48271360 Oct 18 21:57 minio

Làm cho tệp có thể thực thi được bằng lệnh chmod

chmod 755 minio

Hãy bắt đầu MinIO với tư cách là một máy chủ.

./minio server /data &

/data được đề cập ở trên là hệ thống tệp nơi MinIO sẽ lưu trữ các đối tượng.

Quá trình khởi động diễn ra nhanh chóng và bạn sẽ thấy thông tin khởi động như bên dưới.

Endpoint:  http://xx.71.141.xx:9000 http://127.0.0.1:9000      
AccessKey: minioadmin 
SecretKey: minioadmin 

Browser Access:
   http://xx.71.141.xx:9000 http://127.0.0.1:9000      

Command-line Access: https://docs.min.io/docs/minio-client-quickstart-guide
   $ mc alias set myminio http://xx.71.141.xx:9000 minioadmin minioadmin

Object API (Amazon S3 compatible):
   Go:         https://docs.min.io/docs/golang-client-quickstart-guide
   Java:       https://docs.min.io/docs/java-client-quickstart-guide
   Python:     https://docs.min.io/docs/python-client-quickstart-guide
   JavaScript: https://docs.min.io/docs/javascript-client-quickstart-guide
   .NET:       https://docs.min.io/docs/dotnet-client-quickstart-guide
Detected default credentials 'minioadmin:minioadmin', please change the credentials immediately using 'MINIO_ACCESS_KEY' and 'MINIO_SECRET_KEY'

Hãy truy cập MinIO trên trình duyệt với thông tin đăng nhập mặc định – minioadmin:minioadmin

Giao diện rất gọn gàng và sạch sẽ nhưng trước hết, hãy thay đổi thông tin xác thực mặc định vì nó có thể gây rủi ro. Không có tùy chọn để thay đổi thông tin đăng nhập của quản trị viên thông qua trình duyệt nhưng các biến môi trường.

Để thay đổi thông tin xác thực mặc định của MinIO, chúng tôi sẽ xuất khóa truy cập và khóa bí mật như bên dưới và khởi động MinIO.

export MINIO_ACCESS_KEY=techpoe.com
export MINIO_SECRET_KEY=geekpassword
./minio server /data &

Bây giờ, nó không nên phàn nàn về cảnh báo phát hiện thông tin xác thực mặc định.

  10 tài nguyên miễn phí tốt nhất để học Git - Hệ thống kiểm soát phiên bản

Hãy thử tải lên một số tệp.

  • Nhấp vào biểu tượng + ở dưới cùng bên phải và tạo nhóm
  • Tôi đã tải lên một tệp thử nghiệm và hiển thị ngay lập tức trên trình duyệt

và, trên máy chủ

[[email protected] geekflare]# ls -ltr
total 4
-rw-r--r-- 1 root root 11 Oct 19 11:09 MinIO-Test.txt
[[email protected] geekflare]#

Nếu bạn nhấp vào nút chia sẻ tệp trên trình duyệt, bạn sẽ nhận được liên kết có thể chia sẻ và tùy chọn đặt thời hạn.

Khách hàng MinIO

Ứng dụng khách MinIO không chỉ là aws-cli cho phép bạn quản lý bộ nhớ. Ứng dụng khách có sẵn cho Windows, macOS và Linux.

Để cài đặt trên Linux, hãy chạy như sau.

wget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod 755 mc

Chạy lệnh mc để xem trợ giúp lệnh.

[[email protected] ~]# ./mc
NAME:
  mc - MinIO Client for cloud storage and filesystems.

USAGE:
  mc [FLAGS] COMMAND [COMMAND FLAGS | -h] [ARGUMENTS...]

COMMANDS:
  alias      set, remove and list aliases in configuration file
  ls         list buckets and objects
  mb         make a bucket
  rb         remove a bucket
  cp         copy objects
  mirror     synchronize object(s) to a remote site
  cat        display object contents
  head       display first 'n' lines of an object
  pipe       stream STDIN to an object
  share      generate URL for temporary access to an object
  find       search for objects
  sql        run sql queries on objects
  stat       show object metadata
  mv         move objects
  tree       list buckets and objects in a tree format
  du         summarize disk usage recursively
  retention  set retention for object(s)
  legalhold  manage legal hold for object(s)
  diff       list differences in object name, size, and date between two buckets
  rm         remove objects
  version    manage bucket versioning
  ilm        manage bucket lifecycle
  encrypt    manage bucket encryption config
  event      manage object notifications
  watch      listen for object notification events
  undo       undo PUT/DELETE operations
  policy     manage anonymous access to buckets and objects
  tag        manage tags for bucket and object(s)
  replicate  configure server side bucket replication
  admin      manage MinIO servers
  update     update mc to latest release
  
GLOBAL FLAGS:
  --autocompletion              install auto-completion for your shell
  --config-dir value, -C value  path to configuration folder (default: "/root/.mc")
  --quiet, -q                   disable progress bar display
  --no-color                    disable color theme
  --json                        enable JSON lines formatted output
  --debug                       enable debug output
  --insecure                    disable SSL certificate verification
  --help, -h                    show help
  --version, -v                 print the version
  
TIP:
  Use 'mc --autocompletion' to enable shell autocompletion

VERSION:
  RELEASE.2020-10-03T02-54-56Z
[[email protected] ~]#

Hãy thử liệt kê tệp mà tôi đã tải lên thông qua lệnh mc.

  Cách bắt đầu một blog bằng Google Blogger

Trước tiên, chúng ta cần đặt bí danh cho bộ lưu trữ mà chúng ta muốn quản lý.

[[email protected] ~]# ./mc alias set minio http://xx.71.141.xx:9000/ techpoe.com geekpassword
Added `minio` successfully.
[[email protected] ~]#
  • minio là tên bí danh. Bạn có thể thay đổi điều này thành bất cứ điều gì bạn muốn.
  • Thay đổi điểm cuối HTTP thành điểm cuối thực của bạn
  • Thay đổi quyền truy cập và khóa bí mật bằng của bạn

và, để liệt kê, sẽ sử dụng lệnh ls như bên dưới.

[[email protected] ~]# ./mc ls --recursive minio 
[2020-10-19 11:09:06 UTC]    11B techpoe.com/MinIO-Test.txt
[[email protected] ~]#

Tuyệt quá. nó hoạt động!

Bạn có thể làm mọi thứ theo nghĩa đen thông qua ứng dụng khách. Bạn không chỉ có thể quản lý bộ lưu trữ đám mây MinIO mà còn cả GCS, AWS S3, Azure.

kiểm tra cái này hướng dẫn bắt đầu nhanh cho khách hàng để biết thêm chi tiết.

SDK tối thiểu

Tùy thuộc vào ngăn xếp ứng dụng của bạn, bạn có thể tương tác với bộ nhớ đối tượng theo chương trình bằng cách sử dụng SDK. Nó hỗ trợ Go, Python, Node.js, .NET, Haskell và Java.

Cổng MiniIO

Thêm cổng MiniIO vào S3, Azure, NAS, HDFS để tận dụng trình duyệt MinIO và bộ nhớ đệm đĩa.

Sự kết luận

Nếu bạn đang tìm kiếm bộ lưu trữ đối tượng riêng tư, kết hợp hoặc nhiều đám mây thì MinIO có vẻ đầy hứa hẹn. Hãy thử và bạn sẽ yêu nó. Để kiểm tra mọi thứ, bạn có thể nhận được Máy ảo MinIO của Kamatera hoặc tự cài đặt trên bất kỳ máy chủ Cloud nào.

x