Prøv MinIO – Self-Hosted S3-kompatibel High Performance Object Storage

Leter du etter programvare for lagring av objekter til serveren din?

Ja jeg tror det?

Det er rikelig med skybasert objektlagring som AWS S3 og annet jeg nevnte her. Men hvis du trenger å være vert for dataene dine på serveren din, kan MinIO hjelpe deg i datasentrene dine.

MiniIO er åpen kildekode, populær programvare for distribuert objektlagring og kompatibel med S3. Den er bedriftsklar og kjent for sin høye ytelse.

Du kan bruke MinIO fra en enkel nettapplikasjon til store datadistribusjonsarbeidsmengder for analyse- og maskinlæringsapplikasjoner. Det kan hjelpe i mange brukstilfeller.

  • Standard flat fillagring
  • Datadistribusjon i flere skyer
  • Katastrofegjenoppretting
  • Dataanalyse

Er det klumpete programvare?

Nei, den er omtrent 50 MB og Kubernetes-vennlig. Den skriver data og metadata som et objekt. Dette fjerner avhengigheten av å ha en ekstra database eller programvare for å lagre metadata og forbedre ytelsen.

Arkitekturen nedenfor fra deres offisielle side.

La oss utforske noen av funksjonene som er verdt å merke seg.

  • Høy ytelse – sier tittelen. Den er i stand til å lese/skrive med en hastighet på ~170 GB/s. Det er mye!
  • Skalerbar – gå for gruppering og skaler etter behov
  • Cloud-native
  • Databeskyttelse ved hjelp av slettekodemetoden
  • Flere kryptering støttes inkludert AES-CBC, AES-256-GCM, ChaCha20
  • Kompatibel med vanlige KMS
  • Applikasjons- og brukeridentitet
  • Hendelsesvarsel
  • Føderasjon ved hjelp av etcd og CoreDNS

MinIO er et godt valg for programvaredefinert lagring. La oss utforske hvordan du setter opp ting.

Installerer MinIO Server

Du kan installere på Linux, Windows, macOS og gjennom Kubernetes. Foretrekker du å bygge gjennom kilden? Jada, du kan gjøre det hvis du har Golang installert.

  Slik deler du Google-kalenderen din

For denne demonstrasjonen vil jeg installere på CentOS som er vert på Kamatera.

  • Logg inn på serveren
  • Opprett en mappe under ønsket filsystem. Kanskje mini-server
  • Naviger til den nyopprettede mappen og kjør wget-kommandoen nedenfor
wget https://dl.min.io/server/minio/release/linux-amd64/minio

Den vil laste ned en binær fil og skal se slik ut.

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

Gjør filen kjørbar med chmod-kommandoen

chmod 755 minio

La oss starte MinIO som en server.

./minio server /data &

/data nevnt ovenfor er filsystemet der MinIO vil lagre objektene.

Starten er rask, og du bør se oppstartsinformasjonen som nedenfor.

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'

La oss få tilgang til MinIO på nettleseren med standard påloggingsinformasjon – minioadmin:minioadmin

Grensesnittet er veldig ryddig og rent, men før noe, la oss endre standardlegitimasjonen ettersom den utsetter risikoen. Det er ingen mulighet for å endre administratorlegitimasjonen gjennom nettleseren, men miljøvariabler.

For å endre MinIO standard legitimasjon, eksporterer vi tilgangen og den hemmelige nøkkelen som nedenfor og starter MinIO.

export MINIO_ACCESS_KEY=tipsbilk.net
export MINIO_SECRET_KEY=geekpassword
./minio server /data &

Nå bør den ikke klage på standard advarsel om legitimasjonsdeteksjon.

La oss prøve å laste opp noen filer.

  • Klikk på +-ikonet nederst til høyre og lag en bøtte
  • Jeg lastet opp en testfil og umiddelbart synlig i nettleseren
  Lønnsbehandling er enklere enn du tror med Rippling tipsbilk.net

og på serveren

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

Hvis du klikker på fildelingsknappen i nettleseren, får du den delbare lenken og et alternativ for å angi utløpet.

MinIO klient

MinIO-klienten er mer enn aws-cli som lar deg administrere lagringen. Klienten er tilgjengelig for Windows, macOS og Linux.

For å installere på Linux, kjør følgende.

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

Kjør mc-kommandoen for å se kommandohjelpen.

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

La oss prøve å liste filen som jeg lastet opp gjennom mc-kommandoen.

  Togstasjon 2-koder: Løs inn nå

Først må vi sette aliaset til lagringen vi ønsker å administrere.

[[email protected] ~]# ./mc alias set minio http://xx.71.141.xx:9000/ tipsbilk.net geekpassword
Added `minio` successfully.
[[email protected] ~]#
  • minio er aliasnavnet. Du kan endre dette til hva du vil.
  • Endre HTTP-endepunktet til ditt virkelige
  • Endre tilgang og hemmelig nøkkel med din

og, for å liste, vil bruke ls-kommandoen som nedenfor.

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

Flott. det fungerer!

Du kan gjøre bokstavelig talt alt gjennom klienten. Ikke bare kan du administrere MinIO skylagring, men også GCS, AWS S3, Azure.

Sjekk ut dette hurtigstartguide for klient for flere detaljer.

MinIO SDK

Avhengig av applikasjonsstabelen din, kan du samhandle med objektlagring programmatisk ved hjelp av SDK. Den støtter Go, Python, Node.js, .NET, Haskell og Java.

MinIO Gateway

Legg til MiniIO-gateway til S3, Azure, NAS, HDFS for å dra nytte av MinIO-nettleseren og diskbufring.

Konklusjon

Hvis du ser etter privat, hybrid eller multi-sky objektlagring, så ser MinIO lovende ut. Prøv og du vil bli forelsket i det. For å teste ting, kan du få Kamateras MinIO VM eller installer deg selv på en hvilken som helst Cloud-server.