Cobalah MiniO – Penyimpanan Objek Berperforma Tinggi Sesuai S3 yang Dihosting Sendiri

Apakah Anda mencari perangkat lunak penyimpanan objek untuk dihosting di server Anda?

Saya rasa iya?

Ada banyak penyimpanan objek berbasis cloud seperti AWS S3 dan lainnya yang saya sebutkan di sini. Namun, jika Anda perlu menghosting data Anda di server Anda, MiniO dapat membantu dalam pusat data Anda.

MiniIO adalah open-source, perangkat lunak penyimpanan objek terdistribusi yang populer dan kompatibel dengan S3. Ini siap untuk perusahaan dan dikenal dengan kinerjanya yang tinggi.

Anda dapat menggunakan MiniO dari aplikasi web sederhana hingga beban kerja distribusi data yang besar untuk analitik dan aplikasi pembelajaran mesin. Ini dapat membantu dalam banyak kasus penggunaan.

  • Penyimpanan file datar standar
  • Distribusi data multi-cloud
  • Pemulihan bencana
  • Analisis data

Apakah ini perangkat lunak besar?

Tidak, hanya sekitar ~50MB dan ramah Kubernetes. Itu menulis data dan metadata sebagai objek. Ini menghilangkan ketergantungan untuk memiliki database atau perangkat lunak tambahan untuk menyimpan metadata dan meningkatkan kinerja.

Arsitektur di bawah ini dari situs resmi mereka.

Mari jelajahi beberapa fitur yang perlu diperhatikan.

  • Performa tinggi – kata judulnya. Ini mampu membaca/menulis dengan kecepatan ~170GB/s. Itu banyak!
  • Dapat diskalakan – gunakan pengelompokan dan penskalaan sesuai kebutuhan
  • Berasal dari awan
  • Proteksi data menggunakan metode Erasure code
  • Beberapa enkripsi didukung termasuk AES-CBC, AES-256-GCM, ChaCha20
  • Kompatibel dengan KMS umum
  • Aplikasi dan identitas pengguna
  • Pemberitahuan acara
  • Federasi menggunakan etcd dan CoreDNS

MiniO adalah pilihan yang baik untuk penyimpanan yang ditentukan perangkat lunak. Mari jelajahi cara menyiapkan berbagai hal.

Menginstal Server MiniO

Kamu bisa Install di Linux, Windows, macOS dan melalui Kubernetes. Lebih suka membangun melalui sumber? Tentu, Anda dapat melakukannya jika Anda menginstal Golang.

  Solusi Manajemen Akses Istimewa (PAM) Terbaik di tahun 2022

Untuk demonstrasi ini, saya akan menginstal di CentOS yang dihosting Kamatera.

  • Masuk ke server
  • Buat folder di bawah sistem file yang diinginkan. Mungkin minio-server
  • Arahkan ke folder yang baru dibuat dan jalankan perintah wget di bawah ini
wget https://dl.min.io/server/minio/release/linux-amd64/minio

Ini akan mengunduh file biner dan akan terlihat seperti ini.

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

Jadikan file dapat dieksekusi dengan perintah chmod

chmod 755 minio

Mari mulai MiniO sebagai server.

./minio server /data &

/data yang disebutkan di atas adalah sistem file tempat MinIO akan menyimpan objek.

Memulai cepat dan Anda akan melihat info startup seperti di bawah ini.

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'

Mari mengakses MiniO di browser dengan kredensial default – minioadmin:minioadmin

Antarmuka sangat rapi dan bersih tetapi sebelumnya, mari kita ubah kredensial default karena akan mengekspos risikonya. Tidak ada opsi untuk mengubah kredensial admin melalui browser selain variabel lingkungan.

Untuk mengubah kredensial default MinIO, kami akan mengekspor ekspor akses dan kunci rahasia seperti di bawah ini dan memulai MinIO.

export MINIO_ACCESS_KEY=techking.id
export MINIO_SECRET_KEY=geekpassword
./minio server /data &

Sekarang, seharusnya tidak mengeluh tentang peringatan deteksi kredensial default.

Mari kita coba mengunggah beberapa file.

  • Klik ikon + di kanan bawah dan buat keranjang
  • Saya mengupload file percobaan dan langsung terlihat di browser

dan, di server

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

Jika Anda mengklik tombol berbagi file di browser, Anda akan mendapatkan tautan yang dapat dibagikan dan opsi untuk mengatur kedaluwarsa.

  Mengapa Anda Tidak Harus Menggunakan Kartu MicroSD Di Kamera DSLR Atau Mirrorless

Klien MiniO

Klien MinIO lebih dari aws-cli yang memungkinkan Anda mengelola penyimpanan. Klien tersedia untuk Windows, macOS dan Linux.

Untuk menginstal di Linux, jalankan yang berikut ini.

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

Jalankan perintah mc untuk melihat perintah bantuan.

[[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] ~]#

Mari kita coba daftar file yang saya unggah melalui perintah mc.

  Pintasan Chrome yang Harus Anda Ketahui

Pertama, kita perlu menyetel alias ke penyimpanan yang ingin kita kelola.

[[email protected] ~]# ./mc alias set minio http://xx.71.141.xx:9000/ techking.id geekpassword
Added `minio` successfully.
[[email protected] ~]#
  • minio adalah nama aliasnya. Anda dapat mengubah ini menjadi apa pun yang Anda inginkan.
  • Ubah titik akhir HTTP menjadi yang asli
  • Ubah akses dan kunci rahasia dengan milik Anda

dan, untuk daftar, akan menggunakan perintah ls seperti di bawah ini.

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

Besar. berhasil!

Anda benar-benar dapat melakukan segala hal melalui klien. Anda tidak hanya dapat mengelola penyimpanan cloud MiniO tetapi juga GCS, AWS S3, Azure.

Lihat ini panduan memulai cepat klien untuk lebih jelasnya.

Minio SDK

Bergantung pada tumpukan aplikasi Anda, Anda dapat berinteraksi dengan penyimpanan objek secara terprogram menggunakan SDK. Ini mendukung Go, Python, Node.js, .NET, Haskell dan Java.

Gerbang MinIO

Tambahkan gateway MiniIO ke S3, Azure, NAS, HDFS untuk memanfaatkan browser MiniIO dan caching disk.

Kesimpulan

Jika Anda mencari penyimpanan objek pribadi, hybrid, atau multi-cloud, maka MiniO tampak menjanjikan. Cobalah dan Anda akan jatuh cinta padanya. Untuk menguji berbagai hal, Anda bisa mendapatkannya MiniIO VM Kamatera atau instal sendiri di server Cloud mana pun.