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

Leder du efter objektlagringssoftware til at hoste på din server?

Jeg gætter på, ja?

Der er masser af cloud-baseret objektlagring som AWS S3 og andet, jeg nævnte her. Men hvis du har brug for at hoste dine data på din server, kan MinIO hjælpe i dine datacentre.

MiniIO er open source, populær distribueret objektlagringssoftware og kompatibel med S3. Den er klar til virksomheder og kendt for sin høje ydeevne.

Du kan bruge MinIO fra en simpel webapplikation til store datadistributionsarbejdsbelastninger til analyse- og maskinlæringsapplikationer. Det kan hjælpe i mange tilfælde.

  • Standard flad fillagring
  • Multi-cloud data distribution
  • Disaster recovery
  • Dataanalyse

Er det omfangsrig software?

Nej, det er lige omkring ~50 MB og Kubernetes-venligt. Den skriver data og metadata som et objekt. Dette fjerner afhængigheden af ​​at have en ekstra database eller software til at gemme metadata og forbedre ydeevnen.

Nedenstående arkitektur fra deres officielle side.

Lad os udforske nogle af de funktioner, der er værd at bemærke.

  • Højtydende – siger titlen. Den er i stand til at læse/skrive med en hastighed på ~170 GB/s. Det er en del!
  • Skalerbar – gå efter klyngedannelse og skaler efter behov
  • Cloud-native
  • Databeskyttelse ved hjælp af slettekodemetoden
  • Flere kryptering understøttet inklusive AES-CBC, AES-256-GCM, ChaCha20
  • Kompatibel med almindelige KMS
  • Ansøgning og brugeridentitet
  • Begivenhedsmeddelelse
  • Føderation ved hjælp af etcd og CoreDNS

MinIO er et godt valg til softwaredefineret lagring. Lad os undersøge, hvordan man sætter tingene op.

Installation af MinIO Server

Du kan installere på Linux, Windows, macOS og gennem Kubernetes. Foretrækker du at bygge gennem kilden? Selvfølgelig kan du gøre det, hvis du har Golang installeret.

  Alt du behøver at vide om co-authoring i Excel

Til denne demonstration vil jeg installere på CentOS, som er hostet på Kamatera.

  • Log ind på serveren
  • Opret en mappe under det ønskede filsystem. Måske mini-server
  • Naviger til den nyoprettede mappe og kør nedenstående wget-kommando
wget https://dl.min.io/server/minio/release/linux-amd64/minio

Det vil downloade en binær fil og skulle se sådan ud.

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

Gør filen eksekverbar med kommandoen chmod

chmod 755 minio

Lad os starte MinIO som en server.

./minio server /data &

/data nævnt ovenfor er filsystemet, hvor MinIO gemmer objekterne.

Starten er hurtig, og du bør se opstartsoplysningerne 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'

Lad os få adgang til MinIO på browseren med standardoplysninger – minioadmin:minioadmin

Interfacet er meget pænt og rent, men før noget, lad os ændre standardoplysningerne, da det udsætter risikoen. Der er ingen mulighed for at ændre administratoroplysningerne gennem browseren, men miljøvariabler.

For at ændre MinIO standard legitimationsoplysninger, eksporterer vi adgangen og den hemmelige nøgle som nedenfor og starter MinIO.

export MINIO_ACCESS_KEY=toadmin.dk
export MINIO_SECRET_KEY=geekpassword
./minio server /data &

Nu bør det ikke klage over standard advarsel om registrering af legitimationsoplysninger.

Lad os prøve at uploade nogle filer.

  • Klik på + ikonet nederst til højre og opret en bøtte
  • Jeg har uploadet en testfil og umiddelbart synlig i browseren
  Hvordan scannes og rettes Log4j-sårbarheden?

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 browseren, får du det delbare link og en mulighed for at indstille udløbet.

MinIO klient

MinIO-klienten er mere end aws-cli, som lader dig administrere lagringen. Klienten er tilgængelig til Windows, macOS og Linux.

For at installere på Linux skal du køre følgende.

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

Kør mc-kommandoen for at se kommandohjælpen.

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

Lad os prøve at liste filen, som jeg uploadede via mc-kommandoen.

  Hvad er Microsoft - WPD

Først skal vi indstille aliaset til det lager, vi vil administrere.

[[email protected] ~]# ./mc alias set minio http://xx.71.141.xx:9000/ toadmin.dk geekpassword
Added `minio` successfully.
[[email protected] ~]#
  • minio er aliasnavnet. Du kan ændre dette til hvad du vil.
  • Skift HTTP-endepunkt til dit rigtige
  • Skift adgang og hemmelig nøgle med din

og, for at liste, vil bruge ls kommando som nedenfor.

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

Store. det virker!

Du kan gøre bogstaveligt talt alt gennem klienten. Ikke kun du kan administrere MinIO cloud storage, men også GCS, AWS S3, Azure.

Tjek dette ud klient lynstartvejledning for flere detaljer.

MinIO SDK

Afhængigt af din applikationsstak kan du interagere med objektlagring programmatisk ved hjælp af SDK. Det understøtter Go, Python, Node.js, .NET, Haskell og Java.

MinIO Gateway

Tilføj MiniIO-gateway til S3, Azure, NAS, HDFS for at drage fordel af MinIO-browser og diskcache.

Konklusion

Hvis du leder efter privat, hybrid eller multi-cloud objektlagring, så ser MinIO lovende ud. Prøv, og du vil blive forelsket i det. For at teste ting, kan du få Kamateras MinIO VM eller installer dig selv på en hvilken som helst Cloud-server.