Izmēģiniet MinIO — ar S3 saderīgu pašmitināto augstas veiktspējas objektu krātuvi

Vai meklējat objektu uzglabāšanas programmatūru, ko mitināt savā serverī?

Laikam, jā?

Ir daudz mākonī balstītu objektu krātuves, piemēram, AWS S3 un citu, ko šeit minēju. Tomēr, ja jums ir nepieciešams mitināt savus datus savā serverī, MinIO var palīdzēt jūsu datu centros.

MiniIO ir atvērtā pirmkoda, populāra izplatīto objektu uzglabāšanas programmatūra un saderīga ar S3. Tas ir gatavs darbam un ir pazīstams ar savu augsto veiktspēju.

Varat izmantot MinIO no vienkāršas tīmekļa lietojumprogrammas līdz lielai datu izplatīšanas darba slodzei analīzei un mašīnmācīšanās lietojumprogrammām. Tas var palīdzēt daudzos lietošanas gadījumos.

  • Standarta plakana failu krātuve
  • Vairāku mākoņu datu izplatīšana
  • Katastrofu seku likvidēšana
  • Datu analītika

Vai tā ir apjomīga programmatūra?

Nē, tas ir tikai aptuveni ~ 50 MB un Kubernetes draudzīgs. Tas ieraksta datus un metadatus kā objektu. Tas novērš atkarību no papildu datu bāzes vai programmatūras metadatu glabāšanai un veiktspējas uzlabošanai.

Zemāk redzamā arhitektūra no viņu oficiālās vietnes.

Izpētīsim dažas funkcijas, kuras ir vērts pieminēt.

  • Augsta veiktspēja – teikts virsrakstā. Tas spēj lasīt/rakstīt ar ātrumu ~170GB/s. Tas ir daudz!
  • Mērogojams — izmantojiet klasterus un mērogojiet pēc vajadzības
  • mākonis
  • Datu aizsardzība, izmantojot Erasure Code metodi
  • Tiek atbalstīta vairāku šifrēšana, tostarp AES-CBC, AES-256-GCM, ChaCha20
  • Savietojams ar parasto KMS
  • Lietojumprogramma un lietotāja identitāte
  • Paziņojums par notikumu
  • Federācija, izmantojot etcd un CoreDNS

MinIO ir laba izvēle programmatūras noteiktai krātuvei. Izpētīsim, kā iestatīt lietas.

MinIO servera instalēšana

Jūs varat uzstādīt operētājsistēmās Linux, Windows, macOS un caur Kubernetes. Vai vēlaties būvēt, izmantojot avotu? Protams, jūs varat darīt, ja esat instalējis Golang.

  Labot šo darbību Nepieciešama interaktīva logu stacija

Šai demonstrācijai es instalēšu CentOS, kas ir mitināts vietnē Kamatera.

  • Piesakieties serverī
  • Izveidojiet mapi vēlamajā failu sistēmā. Varbūt mini serveris
  • Pārejiet uz jaunizveidoto mapi un palaidiet tālāk esošo wget komandu
wget https://dl.min.io/server/minio/release/linux-amd64/minio

Tas lejupielādēs bināro failu, un tam vajadzētu izskatīties šādi.

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

Padariet failu izpildāmu ar komandu chmod

chmod 755 minio

Sāksim MinIO kā serveri.

./minio server /data &

Iepriekš minētie /data ir failu sistēma, kurā MinIO glabās objektus.

Startēšana ir ātra, un jums vajadzētu redzēt startēšanas informāciju, kā norādīts tālāk.

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'

Piekļūsim MinIO pārlūkprogrammā ar noklusējuma akreditācijas datiem – minioadmin:minioadmin

Interfeiss ir ļoti veikls un tīrs, taču pirms jebko mainīsim noklusējuma akreditācijas datus, jo tas pakļauj risku. Nav iespējas mainīt administratora akreditācijas datus, izmantojot pārlūkprogrammu, bet gan vides mainīgos.

Lai mainītu MinIO noklusējuma akreditācijas datus, mēs eksportēsim piekļuves un slepeno atslēgu, kā norādīts tālāk, un startēsim MinIO.

export MINIO_ACCESS_KEY=pcdream.lt
export MINIO_SECRET_KEY=geekpassword
./minio server /data &

Tagad tam nevajadzētu sūdzēties par noklusējuma akreditācijas datu noteikšanas brīdinājumu.

Mēģināsim augšupielādēt dažus failus.

  • Noklikšķiniet uz ikonas + labajā apakšējā stūrī un izveidojiet spaini
  • Es augšupielādēju testa failu un uzreiz redzams pārlūkprogrammā

un 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]#

Ja pārlūkprogrammā noklikšķināsit uz failu koplietošanas pogas, jūs saņemsit koplietojamo saiti un iespēju iestatīt derīguma termiņu.

  Kā notīrīt Gmail sānjoslu

MinIO klients

MinIO klients ir vairāk nekā aws-cli, kas ļauj pārvaldīt krātuvi. Klients ir pieejams operētājsistēmām Windows, macOS un Linux.

Lai instalētu operētājsistēmā Linux, izpildiet tālāk norādīto.

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

Palaidiet komandu mc, lai redzētu komandas palīdzību.

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

Mēģināsim uzskaitīt failu, kuru augšupielādēju, izmantojot komandu mc.

  Wi-Fi kameras dara vairāk nekā tikai ieraksta video

Pirmkārt, mums ir jāiestata aizstājvārds krātuvei, kuru vēlamies administrēt.

[[email protected] ~]# ./mc alias set minio http://xx.71.141.xx:9000/ pcdream.lt geekpassword
Added `minio` successfully.
[[email protected] ~]#
  • minio ir aizstājvārds. Varat to mainīt uz visu, ko vēlaties.
  • Mainiet HTTP galapunktu uz savu īsto
  • Mainiet piekļuvi un slepeno atslēgu ar savu

un, lai uzskaitītu, izmantos komandu ls, kā norādīts tālāk.

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

Lieliski. tas strādā!

Jūs varat darīt visu burtiski caur klientu. Varat ne tikai pārvaldīt MinIO mākoņkrātuvi, bet arī GCS, AWS S3, Azure.

Apskatiet šo klienta ātrās lietošanas pamācība lai iegūtu sīkāku informāciju.

MinIO SDK

Atkarībā no lietojumprogrammu steka varat programmatiski mijiedarboties ar objektu krātuvi, izmantojot SDK. Tā atbalsta Go, Python, Node.js, .NET, Haskell un Java.

MinIO vārteja

Pievienojiet MiniIO vārteju S3, Azure, NAS, HDFS, lai izmantotu MinIO pārlūkprogrammas un diska kešatmiņas priekšrocības.

Secinājums

Ja meklējat privātu, hibrīdu vai vairāku mākoņu objektu krātuvi, MinIO izskatās daudzsološi. Izmēģiniet, un jūs tajā iemīlēsities. Lai pārbaudītu lietas, jūs varat iegūt Kamatera’s MinIO VM vai instalējiet sevi jebkurā Cloud serverī.