MinIo για τα πιτσιρίκια

Το MinIO είναι μια εξαιρετική λύση όταν χρειάζεται να οργανώσετε εύκολα και απλά την αποθήκευση αντικειμένων. Στοιχειώδες στήσιμο, πολλές πλατφόρμες και καλές επιδόσεις έχουν κάνει τη δουλειά τους στον τομέα της λαϊκής αγάπης. Δεν είχαμε λοιπόν άλλη επιλογή από το να δηλώσουμε συμβατότητα πριν από ένα μήνα Veeam Backup & Replication και MinIO. Συμπεριλαμβανομένου ενός τόσο σημαντικού χαρακτηριστικού όπως το Immutability. Στην πραγματικότητα, το MinIO έχει ένα σύνολο τμήμα στην τεκμηρίωση που είναι αφιερωμένη στην ενσωμάτωσή μας.

Επομένως, σήμερα θα μιλήσουμε για το πώς:

  • Η ρύθμιση του MinIO είναι πολύ γρήγορη.
  • Η ρύθμιση του MinIO είναι λίγο λιγότερο γρήγορη, αλλά πολύ καλύτερη.
  • Χρησιμοποιήστε το ως Archive Tier για το Scalable Repository Veeam SOBR.

MinIo για τα πιτσιρίκια

Τι είσαι?

Μια σύντομη εισαγωγή για όσους δεν έχουν συναντήσει το MinIO. Αυτή είναι μια αποθήκευση αντικειμένων ανοιχτού κώδικα συμβατή με το Amazon S3 API. Κυκλοφόρησε με την άδεια Apache v2 και ακολουθεί τη φιλοσοφία του σπαρτιατικού μινιμαλισμού.

Δηλαδή, δεν έχει ένα εκτεταμένο GUI με πίνακες εργαλείων, γραφήματα και πολυάριθμα μενού. Το MinIO εκκινεί απλώς τον διακομιστή του με μία εντολή, όπου μπορείτε απλά να αποθηκεύσετε δεδομένα χρησιμοποιώντας την πλήρη ισχύ του S3 API. Αλλά πρέπει να σημειωθεί ότι αυτή η απλότητα μπορεί να είναι παραπλανητική όταν πρόκειται για τους πόρους που χρησιμοποιούνται. Η RAM και η CPU απορροφώνται τέλεια, αλλά οι λόγοι θα συζητηθούν παρακάτω. Και, παρεμπιπτόντως, συνδυασμοί όπως το FreeNAS και το TrueNAS χρησιμοποιούν MinIO κάτω από την κουκούλα.

Αυτή η εισαγωγή μπορεί να τελειώσει εδώ.

Η ρύθμιση του MinIO είναι πολύ γρήγορη

Η ρύθμιση του είναι τόσο γρήγορη που θα το δούμε για Windows και Linux. Υπάρχουν επιλογές για το Docker, και για το Kubernetis, ακόμη και για το MacOS, αλλά το νόημα θα είναι το ίδιο παντού.

Έτσι, στην περίπτωση των Windows, μεταβείτε στον επίσημο ιστότοπο https://min.io/download#/windows και κατεβάστε την πιο πρόσφατη έκδοση. Εκεί βλέπουμε επίσης οδηγίες για την εκκίνηση:

 minio.exe server F:Data

Και υπάρχει επίσης ένας σύνδεσμος για ένα λίγο πιο αναλυτικό Οδηγός γρήγορης εκκίνησης. Δεν έχει νόημα να μην πιστεύουμε τις οδηγίες, οπότε το τρέχουμε και παίρνουμε κάτι σαν αυτή την απάντηση.

MinIo για τα πιτσιρίκια
Αυτό είναι όλο! Ο αποθηκευτικός χώρος λειτουργεί και μπορείτε να αρχίσετε να εργάζεστε με αυτόν. Δεν αστειεύτηκα όταν είπα ότι το MinIO είναι μινιμαλιστικό και απλά λειτουργεί. Εάν ακολουθήσετε τον σύνδεσμο που προσφέρεται κατά την εκκίνηση, οι μέγιστες διαθέσιμες λειτουργίες είναι για τη δημιουργία ενός κάδου. Και μπορείτε να αρχίσετε να γράφετε δεδομένα.

Για τους λάτρεις του Linux, όλα παραμένουν όχι λιγότερο απλά. Οι πιο απλές οδηγίες:


wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
./minio server /data

Το αποτέλεσμα θα είναι δυσδιάκριτο από αυτό που είδαμε προηγουμένως. 

Η ρύθμιση του MinIO είναι λίγο πιο ουσιαστική

Όπως καταλαβαίνουμε, η προηγούμενη παράγραφος είναι περιποίηση για δοκιμαστικούς σκοπούς. Και, ας είμαστε ειλικρινείς, χρησιμοποιούμε το MinIO πολύ ευρέως για δοκιμές, κάτι που δεν ντρεπόμαστε καθόλου να παραδεχτούμε. Φυσικά, λειτουργεί, αλλά είναι κρίμα να το αντέχεις πέρα ​​από τους πάγκους δοκιμών. Επομένως, παίρνουμε ένα αρχείο στα χέρια μας και αρχίζουμε να το φέρνουμε στο μυαλό μας.

HTTPS

Το πρώτο υποχρεωτικό βήμα στην πορεία προς την παραγωγή είναι η κρυπτογράφηση. Υπάρχουν ήδη ένα εκατομμύριο και χίλια εγχειρίδια στο δίκτυο για την προσθήκη πιστοποιητικών στο MiniIO, αλλά το γενικό τους σχέδιο είναι το εξής:

  • Δημιουργήστε ένα πιστοποιητικό
  • Στην περίπτωση των Windows, βάλτε το στο C:Users%User%.miniocerts
  • Για Linux σε ${HOME}/.minio/certs 
  • Επανεκκίνηση του διακομιστή

Το μπανάλ Let's Encrypt είναι βαρετό και περιγράφεται παντού, οπότε η διαδρομή μας είναι η διαδρομή του σαμουράι, οπότε στην περίπτωση των Windows κατεβάζουμε Cygwin, και στην περίπτωση του Linux απλά ελέγχουμε ότι έχουμε εγκαταστήσει το openssl. Και κάνουμε μια μικρή μαγεία στην κονσόλα:

  • Δημιουργία κλειδιών: openssl ecparam -genkey -name prime256v1 | openssl ec -out private.key
  • Δημιουργούμε ένα πιστοποιητικό χρησιμοποιώντας το κλειδί: openssl req -new -x509 -days 3650 -key private.key -out public.crt
  • Αντιγράψτε το private.key και το public.crt στον φάκελο που καθορίζεται παραπάνω
  • Επανεκκινήστε το MinIO

Εάν όλα πήγαν όπως έπρεπε, τότε κάτι τέτοιο θα εμφανιστεί στην κατάσταση.

MinIo για τα πιτσιρίκια

Ενεργοποίηση MinIO Erasure Coding

Αρχικά, λίγα λόγια για το θέμα. Με λίγα λόγια: πρόκειται για προστασία λογισμικού δεδομένων από ζημιά και απώλεια. Σαν επιδρομή, μόνο πολύ πιο αξιόπιστη. Εάν το κλασικό RAID6 έχει την πολυτέλεια να χάσει δύο δίσκους, τότε το MinIO μπορεί εύκολα να αντιμετωπίσει την απώλεια του μισού. Η τεχνολογία περιγράφεται με περισσότερες λεπτομέρειες στο επίσημος οδηγός. Αλλά αν πάρουμε την ουσία, τότε αυτή είναι μια υλοποίηση των κωδίκων Reed-Solomon: όλες οι πληροφορίες αποθηκεύονται με τη μορφή μπλοκ δεδομένων, τα οποία έχουν μπλοκ ισοτιμίας. Και φαίνεται ότι όλα αυτά έχουν ήδη γίνει πολλές φορές, αλλά υπάρχει ένα σημαντικό "αλλά": μπορούμε να υποδείξουμε ρητά την αναλογία των μπλοκ ισοτιμίας προς τα μπλοκ δεδομένων για αποθηκευμένα αντικείμενα.
Θέλετε 1:1; Σας παρακαλούμε!
Θέλετε 5:2; Κανένα πρόβλημα!

Ένα πολύ σημαντικό χαρακτηριστικό εάν χρησιμοποιείτε πολλούς κόμβους ταυτόχρονα και θέλετε να βρείτε τη δική σας ισορροπία μεταξύ της μέγιστης ασφάλειας δεδομένων και των δαπανημένων πόρων. Εκτός κουτιού, το MinIO χρησιμοποιεί τον τύπο N/2 (όπου N είναι ο συνολικός αριθμός δίσκων), π.χ. διαχωρίζει τα δεδομένα σας μεταξύ δίσκων δεδομένων N/2 και δίσκων ισοτιμίας N/2. Μετάφραση με ανθρώπινους όρους: μπορείτε να χάσετε τους μισούς δίσκους και να ανακτήσετε τα δεδομένα. Αυτή η σχέση δίνεται μέσω Κατηγορία αποθήκευσης, επιτρέποντάς σας να επιλέξετε μόνοι σας τι είναι πιο σημαντικό: αξιοπιστία ή χωρητικότητα.

Ο οδηγός δίνει το ακόλουθο παράδειγμα: ας υποθέσουμε ότι έχετε μια εγκατάσταση σε 16 δίσκους και πρέπει να αποθηκεύσετε ένα αρχείο μεγέθους 100 MB. Εάν χρησιμοποιηθούν οι προεπιλεγμένες ρυθμίσεις (8 δίσκοι για δεδομένα, 8 για μπλοκ ισοτιμίας), τότε το αρχείο τελικά θα καταλαμβάνει σχεδόν διπλάσιο όγκο, δηλ. 200 MB. Εάν η αναλογία δίσκου είναι 10/6, τότε θα χρειαστούν 160 MB. 14/2 - 114 MB.

Μια άλλη σημαντική διαφορά από τα raids: σε περίπτωση βλάβης του δίσκου, το MinIO θα λειτουργήσει σε επίπεδο αντικειμένου, επαναφέροντας ένα προς ένα, χωρίς να σταματήσει ολόκληρο το σύστημα. Ενώ μια τακτική επιδρομή θα αναγκαστεί να επαναφέρει ολόκληρο τον τόμο, κάτι που θα πάρει απρόβλεπτο χρόνο. Ο συγγραφέας θυμάται ένα ράφι δίσκου που, αφού έπεσαν δύο δίσκοι, χρειάστηκε μιάμιση εβδομάδα για να υπολογιστεί εκ νέου. Ήταν αρκετά δυσάρεστο.

Και, μια σημαντική σημείωση: Το MinIO διαιρεί όλους τους δίσκους για κωδικοποίηση διαγραφής σε σετ από 4 έως 16 δίσκους, χρησιμοποιώντας το μέγιστο δυνατό μέγεθος συνόλου. Και στο μέλλον, ένα στοιχείο πληροφοριών θα αποθηκεύεται μόνο σε ένα σύνολο.

Όλα αυτά ακούγονται πολύ ωραία, αλλά πόσο δύσκολο θα είναι να το ρυθμίσετε; Ας ρίξουμε μια ματιά. Παίρνουμε την εντολή για εκτέλεση και απλά απαριθμούμε τους δίσκους στους οποίους πρέπει να δημιουργηθεί η αποθήκευση. Εάν όλα γίνονται σωστά, τότε στην αναφορά θα δούμε τον αριθμό των εμπλεκόμενων δίσκων. Και η συμβουλή είναι ότι δεν είναι καλό να προσθέτετε τους μισούς δίσκους σε έναν κεντρικό υπολογιστή ταυτόχρονα, γιατί αυτό θα οδηγήσει σε απώλεια δεδομένων.

c:minio>minio.exe server F: G: H: I: J: K:

MinIo για τα πιτσιρίκια
Στη συνέχεια, για τη διαχείριση και τη διαμόρφωση του διακομιστή MinIO, θα χρειαστούμε έναν πράκτορα, τον οποίο μπορείτε να κατεβάσετε εκεί από την επίσημη ιστοσελίδα.

Για να μην φθείρονται τα δάχτυλά σας κάθε φορά που πληκτρολογείτε τη διεύθυνση και τα πλήκτρα πρόσβασης (και δεν είναι ασφαλές), είναι βολικό να δημιουργήσετε αμέσως ένα ψευδώνυμο όταν αρχίσετε να χρησιμοποιείτε τον τύπο mc alias set [ΚΛΕΙΔΙ ΠΡΟΣΒΑΣΗΣ ΣΑΣ] [ΜΥΣΤΙΚΟ ΚΛΕΙΔΙ ΣΑΣ]

mc alias set veeamS3 https://172.17.32.52:9000 YOURS3ACCESSKEY YOURSECERTKE

Ή μπορείτε να προσθέσετε αμέσως τον κεντρικό υπολογιστή σας:

mc config host add minio-veeam https://minio.jorgedelacruz.es YOURS3ACCESSKEY YOURSECERTKEY

Και μετά θα δημιουργήσουμε έναν αμετάβλητο κουβά με μια όμορφη ομάδα

mc mb --debug -l veeamS3/immutable 

mc: <DEBUG> PUT /immutable/ HTTP/1.1
Host: 172.17.32.52:9000
User-Agent: MinIO (windows; amd64) minio-go/v7.0.5 mc/2020-08-08T02:33:58Z
Content-Length: 0
Authorization: AWS4-HMAC-SHA256 Credential=minioadmin/20200819/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-bucket-object-lock-enabled;x-amz-content-sha256;x-amz-date, Signature=**REDACTED**
X-Amz-Bucket-Object-Lock-Enabled: true
X-Amz-Content-Sha256: UNSIGNED-PAYLOAD
X-Amz-Date: 20200819T092241Z
Accept-Encoding: gzip
mc: <DEBUG> HTTP/1.1 200 OK
Content-Length: 0
Accept-Ranges: bytes
Content-Security-Policy: block-all-mixed-content
Date: Wed, 19 Aug 2020 09:22:42 GMT
Location: /immutable
Server: MinIO/RELEASE.2020-08-16T18-39-38Z
Vary: Origin
X-Amz-Request-Id: 162CA0F9A3A3AEA0
X-Xss-Protection: 1; mode=block
mc: <DEBUG> Response Time:  253.0017ms

--εντοπισμός σφαλμάτων σας επιτρέπει να δείτε όχι μόνο το τελικό μήνυμα, αλλά πιο λεπτομερείς πληροφορίες. 

-l σημαίνει —με κλειδαριά, που σημαίνει αμετάβλητο

Εάν τώρα επιστρέψουμε στη διεπαφή ιστού, ο νέος κάδος μας θα εμφανιστεί εκεί.

MinIo για τα πιτσιρίκια
Αυτα για τωρα. Δημιουργήσαμε ασφαλή χώρο αποθήκευσης και είμαστε έτοιμοι να προχωρήσουμε στην ενσωμάτωση με το Veeam.

Μπορείτε επίσης να βεβαιωθείτε ότι όλα λειτουργούν τέλεια:

c:minio>mc admin info veeamS3

●  172.17.32.52:9000
   Uptime: 32 minutes
   Version: 2020-08-16T18:39:38Z
   Network: 1/1 OK
   Drives: 6/6 OK
0 B Used, 1 Bucket, 0 Objects
6 drives online, 0 drives offline

MinIO και Veeam

Προσοχή! Εάν για κάποιο απίστευτο λόγο θέλετε να εργαστείτε μέσω HTTP, τότε στο HKEY_LOCAL_MACHINESOFTWAREVeeamVeeam Backup and Replication δημιουργήστε ένα κλειδί DWORD SOBRArchiveS3DisableTLS. Ορίστε την τιμή του σε 1 και να θυμάστε ότι δεν εγκρίνουμε ανεπιφύλακτα μια τέτοια συμπεριφορά και δεν τη συνιστούμε σε κανέναν.

Προσοχή και πάλι! Εάν, λόγω κάποιας παρεξήγησης, συνεχίσετε να χρησιμοποιείτε τα Windows 2008 R2, τότε όταν προσπαθείτε να συνδέσετε το MinIO στο Veeam, πιθανότατα θα λάβετε ένα σφάλμα σαν αυτό: Αποτυχία δημιουργίας σύνδεσης με το τελικό σημείο Amazon S3. Αυτό μπορεί να αντιμετωπιστεί με ένα επίσημο έμπλαστρο από Microsoft.

Λοιπόν, οι προετοιμασίες ολοκληρώθηκαν, ας ανοίξουμε τη διεπαφή VBR και ας πάμε στην καρτέλα Backup Infrastructure, όπου θα καλέσουμε τον οδηγό για την προσθήκη νέου αποθετηρίου.

MinIo για τα πιτσιρίκια
Φυσικά, μας ενδιαφέρει το Object storage, δηλαδή το S3 Compatible. Στον οδηγό που ανοίγει, ορίστε ένα όνομα και ακολουθήστε τα βήματα που υποδεικνύουν τη διεύθυνση και τον λογαριασμό. Εάν απαιτείται, μην ξεχάσετε να καθορίσετε την πύλη μέσω της οποίας θα υποβάλλονται τα αιτήματα στο χώρο αποθήκευσης.

MinIo για τα πιτσιρίκια
Στη συνέχεια, επιλέξτε τον κάδο, τον φάκελο και επιλέξτε το πλαίσιο Κάντε τα πρόσφατα αντίγραφα ασφαλείας αμετάβλητα. Ή δεν το εγκαθιστούμε. Αλλά επειδή έχουμε δημιουργήσει μια εγκατάσταση αποθήκευσης που υποστηρίζει αυτή τη λειτουργία, θα ήταν αμαρτία να μην τη χρησιμοποιήσουμε.

MinIo για τα πιτσιρίκια
Επόμενο > Τελειώστε και απολαύστε το αποτέλεσμα.

Τώρα πρέπει να το προσθέσουμε στο αποθετήριο SOBR ως Capacity Tier. Για να γίνει αυτό, είτε δημιουργούμε ένα νέο είτε επεξεργαζόμαστε ένα υπάρχον. Μας ενδιαφέρει το βήμα της βαθμίδας χωρητικότητας.

MinIo για τα πιτσιρίκια
Εδώ πρέπει να επιλέξουμε με ποιο σενάριο θα δουλέψουμε. Όλες οι επιλογές περιγράφονται αρκετά καλά σε άλλο άρθρο, οπότε δεν θα επαναλάβω τον εαυτό μου

Και με την ολοκλήρωση του οδηγού, οι εργασίες αντιγραφής ή μεταφοράς αντιγράφων ασφαλείας θα ξεκινήσουν αυτόματα. Αλλά εάν τα σχέδιά σας δεν περιλαμβάνουν την άμεση τοποθέτηση του φορτίου σε όλα τα συστήματα, τότε φροντίστε να ορίσετε αποδεκτά διαστήματα για την εργασία στο κουμπί Παράθυρο.

MinIo για τα πιτσιρίκια
Και, φυσικά, μπορείτε να κάνετε ξεχωριστές εργασίες Αντιγραφής αντιγράφων ασφαλείας. Κάποιοι πιστεύουν ότι αυτό είναι ακόμα πιο βολικό, αφού είναι κάπως πιο διαφανή και προβλέψιμα για τον χρήστη που δεν θέλει να εμβαθύνει στις λεπτομέρειες της λειτουργίας του πεδίου βολής. Και υπάρχουν αρκετές λεπτομέρειες εκεί, οπότε για άλλη μια φορά προτείνω το αντίστοιχο άρθρο στον παραπάνω σύνδεσμο.

Και τέλος, η απάντηση στην ύπουλη ερώτηση: τι θα συμβεί αν προσπαθήσετε ακόμα να διαγράψετε το αντίγραφο ασφαλείας από τον αποθηκευτικό χώρο Immutable;

Εδώ είναι η απάντηση:

MinIo για τα πιτσιρίκια
Αυτά για σήμερα. Κατά την αληθινή παράδοση, δείτε μια λίστα με χρήσιμα θέματα για το θέμα:

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο