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.
Š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.
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.
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ī.