
Letar du efter objektlagringsprogramvara att lagra på din server?
Jag antar det ja?
Det finns gott om molnbaserad objektlagring som AWS S3 och annat jag nämnde här. Men om du behöver vara värd för din data på din server kan MinIO hjälpa till i dina datacenter.
MiniIO är öppen källkod, populär programvara för distribuerad objektlagring och kompatibel med S3. Den är redo för företag och känd för sin höga prestanda.
Du kan använda MinIO från en enkel webbapplikation till stora datadistributionsarbetsbelastningar för analys- och maskininlärningsapplikationer. Det kan hjälpa i många användningsfall.
- Standard platt fillagring
- Multi-moln datadistribution
- Katastrofåterställning
- Dataanalys
Är det skrymmande programvara?
Nej, det är bara cirka 50 MB och Kubernetes-vänligt. Den skriver data och metadata som ett objekt. Detta tar bort beroendet av att ha en extra databas eller programvara för att lagra metadata och förbättra prestanda.
Nedanstående arkitektur från deras officiella webbplats.
Låt oss utforska några av funktionerna som är värda att notera.
- Högpresterande – säger titeln. Den kan läsa/skriva med en hastighet av ~170GB/s. Det är mycket!
- Skalbar – välj klustring och skala efter behov
- Molnbaserad
- Dataskydd med raderingskodmetoden
- Flera krypteringar stöds inklusive AES-CBC, AES-256-GCM, ChaCha20
- Kompatibel med vanliga KMS
- Applikation och användaridentitet
- Händelseavisering
- Federation med etcd och CoreDNS
MinIO är ett bra val för mjukvarudefinierad lagring. Låt oss utforska hur man ställer in saker och ting.
Installerar MinIO Server
Du kan Installera på Linux, Windows, macOS och genom Kubernetes. Föredrar du att bygga via källan? Visst, du kan göra det om du har Golang installerat.
För den här demonstrationen kommer jag att installera på CentOS som finns på Kamatera.
- Logga in på servern
- Skapa en mapp under önskat filsystem. Kanske mini-server
- Navigera till den nyskapade mappen och kör kommandot nedan wget
wget https://dl.min.io/server/minio/release/linux-amd64/minio
Det kommer att ladda ner en binär fil och bör se ut så här.
-rw-r--r-- 1 root root 48271360 Oct 18 21:57 minio
Gör filen körbar med kommandot chmod
chmod 755 minio
Låt oss starta MinIO som en server.
./minio server /data &
/data som nämns ovan är filsystemet där MinIO kommer att lagra objekten.
Starten går snabbt och du bör se startinformationen nedan.
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'
Låt oss komma åt MinIO i webbläsaren med standardinloggningsuppgifter – minioadmin:minioadmin
Gränssnittet är väldigt snyggt och rent, men låt oss före något annat ändra standardinloggningsuppgifterna eftersom det exponerar risken. Det finns inget alternativ att ändra administratörsuppgifterna via webbläsaren utan miljövariabler.
För att ändra MinIOs standardinloggningsuppgifter exporterar vi åtkomsten och den hemliga nyckeln enligt nedan och startar MinIO.
export MINIO_ACCESS_KEY=adminvista.com export MINIO_SECRET_KEY=geekpassword ./minio server /data &
Nu borde det inte klaga på standardvarning för identifiering av autentiseringsuppgifter.
Låt oss försöka ladda upp några filer.
- Klicka på +-ikonen längst ner till höger och skapa en hink
- Jag laddade upp en testfil och omedelbart synlig i webbläsaren
och på servern
[[email protected] geekflare]# ls -ltr total 4 -rw-r--r-- 1 root root 11 Oct 19 11:09 MinIO-Test.txt [[email protected] geekflare]#
Om du klickar på fildelningsknappen i webbläsaren får du den delbara länken och ett alternativ för att ställa in utgången.
MinIO klient
MinIO-klienten är mer än aws-cli som låter dig hantera lagringen. Klienten är tillgänglig för Windows, macOS och Linux.
För att installera på Linux, kör följande.
wget https://dl.min.io/client/mc/release/linux-amd64/mc chmod 755 mc
Kör kommandot mc för att 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] ~]#
Låt oss försöka lista filen som jag laddade upp via mc-kommandot.
Först måste vi ställa in aliaset till den lagring vi vill administrera.
[[email protected] ~]# ./mc alias set minio http://xx.71.141.xx:9000/ adminvista.com geekpassword Added `minio` successfully. [[email protected] ~]#
- minio är aliasnamnet. Du kan ändra detta till vad du vill.
- Ändra HTTP-slutpunkt till din riktiga
- Ändra åtkomst och hemlig nyckel med din
och, för att lista, kommer att använda ls-kommandot enligt nedan.
[[email protected] ~]# ./mc ls --recursive minio [2020-10-19 11:09:06 UTC] 11B adminvista.com/MinIO-Test.txt [[email protected] ~]#
Bra. det fungerar!
Du kan göra bokstavligen allt genom klienten. Du kan inte bara hantera MinIO molnlagring utan även GCS, AWS S3, Azure.
Kolla in det här klient snabbstartsguide för mer detaljer.
MinIO SDK
Beroende på din programstack kan du interagera med objektlagring programmatiskt med SDK. Den stöder Go, Python, Node.js, .NET, Haskell och Java.
MinIO Gateway
Lägg till MiniIO-gateway till S3, Azure, NAS, HDFS för att dra fördel av MinIO-webbläsaren och diskcachelagring.
Slutsats
Om du letar efter privat, hybrid eller multi-moln objektlagring så ser MinIO lovande ut. Ge ett försök och du kommer att bli kär i det. För att testa saker kan du få Kamateras MinIO VM eller installera dig själv på valfri molnserver.