Minio untuk si kecil

MiniIO ialah penyelesaian yang sangat baik apabila anda perlu mengatur storan objek dengan mudah dan ringkas. Persediaan asas, banyak platform dan prestasi yang baik telah melaksanakan tugas mereka dalam bidang cinta popular. Jadi kami tiada pilihan lain selain mengisytiharkan keserasian sebulan yang lalu Sandaran & Replikasi Veeam dan MiniIO. Termasuk ciri penting seperti Kebolehubahan. Malah, MiniIO mempunyai keseluruhan seksyen dalam dokumentasi khusus untuk penyepaduan kami.

Oleh itu, hari ini kita akan bercakap tentang bagaimana:

  • Menyediakan MiniIO adalah sangat pantas.
  • Menyediakan MiniIO adalah kurang pantas, tetapi jauh lebih baik.
  • Gunakannya sebagai Peringkat Arkib untuk Repositori Berskala Veeam SOBR.

Minio untuk si kecil

awak ni apa?

Pengenalan ringkas untuk mereka yang belum menemui MiniIO. Ini ialah storan objek sumber terbuka yang serasi dengan API Amazon S3. Dikeluarkan di bawah lesen Apache v2 dan mematuhi falsafah minimalisme Spartan.

Iaitu, ia tidak mempunyai GUI yang luas dengan papan pemuka, graf dan banyak menu. MiniIO hanya melancarkan pelayannya dengan satu arahan, di mana anda boleh menyimpan data menggunakan kuasa penuh API S3. Tetapi perlu diingatkan bahawa kesederhanaan ini boleh menipu apabila ia berkaitan dengan sumber yang digunakan. RAM dan CPU diserap dengan sempurna, tetapi sebabnya akan dibincangkan di bawah. Dan, dengan cara itu, gabungan seperti FreeNAS dan TrueNAS menggunakan MiniIO di bawah hud.

Pengenalan ini boleh berakhir di sini.

Menyediakan MiniIO sangat pantas

Menyediakannya begitu pantas sehingga kami akan melihatnya untuk Windows dan Linux. Terdapat pilihan untuk Docker, dan untuk Kubernetis, dan juga untuk MacOS, tetapi maknanya akan sama di mana-mana.

Jadi, dalam kes Windows, pergi ke laman web rasmi https://min.io/download#/windows dan muat turun versi terkini. Di sana kita juga melihat arahan untuk memulakan:

 minio.exe server F:Data

Dan terdapat juga pautan ke yang lebih terperinci Panduan permulaan pantas. Tidak ada gunanya tidak mempercayai arahan, jadi kami menjalankannya dan mendapat jawapan seperti ini.

Minio untuk si kecil
Itu sahaja! Storan berfungsi dan anda boleh mula bekerja dengannya. Saya tidak bergurau apabila saya berkata MiniIO adalah minimalis dan hanya berfungsi. Jika anda mengikuti pautan yang ditawarkan semasa pelancaran, fungsi maksimum yang tersedia adalah untuk mencipta baldi. Dan anda boleh mula menulis data.

Bagi pencinta Linux, semuanya tetap tidak kurang mudah. Arahan yang paling mudah:


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

Hasilnya tidak akan dapat dibezakan daripada apa yang dilihat sebelum ini. 

Menyediakan MiniIO sedikit lebih bermakna

Seperti yang kita faham, perenggan sebelumnya adalah memanjakan untuk tujuan ujian. Dan, sejujurnya, kami menggunakan MiniIO secara meluas untuk ujian, yang kami tidak malu untuk mengakuinya. Sudah tentu, ia berfungsi, tetapi memalukan untuk menanggung ini di luar bangku ujian. Oleh itu, kami mengambil fail di tangan kami dan mula mengingatinya.

HTTPS

Langkah wajib pertama dalam laluan ke pengeluaran ialah penyulitan. Sudah ada sejuta dan seribu manual pada rangkaian untuk menambah sijil pada MiniIO, tetapi rancangan umum mereka adalah ini:

  • Buat sijil
  • Dalam kes Windows, letakkannya dalam C:Users%User%.miniocerts
  • Untuk Linux dalam ${HOME}/.minio/certs 
  • Memulakan semula pelayan

Let's Encrypt yang cetek membosankan dan diterangkan di mana-mana, jadi laluan kami adalah laluan samurai, jadi dalam kes Windows kami memuat turun Cygwin, dan dalam kes Linux, kami hanya menyemak sama ada kami telah memasang openssl. Dan kami melakukan sedikit sihir konsol:

  • Cipta kunci: openssl ecparam -genkey -name prime256v1 | openssl ec -out private.key
  • Kami mencipta sijil menggunakan kekunci: openssl req -new -x509 -days 3650 -key private.key -out public.crt
  • Salin private.key dan public.crt ke folder yang dinyatakan di atas
  • Mulakan semula MiniIO

Jika semuanya berjalan sebagaimana mestinya, maka sesuatu seperti ini akan muncul dalam status.

Minio untuk si kecil

Dayakan Pengekodan Pemadaman MiniIO

Pertama, beberapa perkataan tentang subjek. Secara ringkas: ini adalah perlindungan perisian data daripada kerosakan dan kehilangan. Seperti serbuan, hanya lebih dipercayai. Jika RAID6 klasik mampu kehilangan dua cakera, maka MiniIO boleh dengan mudah mengatasi kehilangan separuh. Teknologi ini diterangkan dengan lebih terperinci dalam panduan rasmi. Tetapi jika kita mengambil intipati, maka ini adalah pelaksanaan kod Reed-Solomon: semua maklumat disimpan dalam bentuk blok data, yang mempunyai blok pariti. Dan nampaknya semua ini telah dilakukan berkali-kali, tetapi terdapat "tetapi" yang penting: kita boleh secara jelas menunjukkan nisbah blok pariti kepada blok data untuk objek yang disimpan.
Adakah anda mahu 1:1? Tolonglah!
Adakah anda mahu 5:2? Tiada masalah!

Ciri yang sangat penting jika anda menggunakan beberapa nod sekaligus dan ingin mencari keseimbangan anda sendiri antara keselamatan data maksimum dan sumber yang dibelanjakan. Di luar kotak, MiniIO menggunakan formula N/2 (di mana N ialah jumlah bilangan cakera), i.e. membahagikan data anda antara N/2 cakera data dan N/2 cakera pariti. Menterjemah ke dalam istilah manusia: anda boleh kehilangan separuh daripada cakera dan memulihkan data. Hubungan ini diberikan melalui Kelas Penyimpanan, membolehkan anda memilih sendiri perkara yang lebih penting: kebolehpercayaan atau kapasiti.

Panduan memberikan contoh berikut: andaikan anda mempunyai pemasangan pada 16 cakera dan anda perlu menyimpan fail bersaiz 100 MB. Jika tetapan lalai digunakan (8 cakera untuk data, 8 untuk blok pariti), maka fail akhirnya akan mengambil hampir dua kali ganda volum, i.e. 200 MB. Jika nisbah cakera ialah 10/6, maka 160 MB akan diperlukan. 14/2 - 114 MB.

Satu lagi perbezaan penting daripada serbuan: sekiranya berlaku kegagalan cakera, MiniIO akan berfungsi pada tahap objek, memulihkan satu demi satu, tanpa menghentikan keseluruhan sistem. Sementara serbuan biasa akan dipaksa untuk memulihkan keseluruhan volum, yang akan mengambil masa yang tidak dapat diramalkan. Penulis masih ingat rak cakera yang, selepas dua cakera jatuh, mengambil masa seminggu setengah untuk mengira semula. Ia agak tidak menyenangkan.

Dan, nota penting: MiniIO membahagikan semua cakera untuk Pengekodan Pemadaman kepada set daripada 4 hingga 16 cakera, menggunakan saiz set maksimum yang mungkin. Dan pada masa hadapan, satu elemen maklumat akan disimpan hanya dalam satu set.

Ini semua kedengaran sangat keren, tetapi betapa sukarnya untuk menyediakannya? Jom tengok. Kami mengambil arahan untuk menjalankan dan hanya menyenaraikan cakera di mana storan perlu dibuat. Sekiranya semuanya dilakukan dengan betul, maka dalam laporan itu kita akan melihat bilangan cakera yang terlibat. Dan nasihatnya ialah tidak baik untuk menambah separuh daripada cakera pada satu hos sekaligus, kerana ini akan menyebabkan kehilangan data.

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

Minio untuk si kecil
Seterusnya, untuk mengurus dan mengkonfigurasi pelayan MiniIO, kami memerlukan ejen, yang boleh anda muat turun di sana daripada laman rasmi.

Untuk tidak meletihkan jari anda setiap kali menaip alamat dan kekunci akses (dan ia tidak selamat), anda boleh membuat alias dengan segera apabila anda mula menggunakan formula mc alias set [KUNCI-AKSES ANDA] [KUNCI-RAHSIA-ANDA]

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

Atau anda boleh menambah hos anda dengan segera:

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

Dan kemudian kami akan mencipta baldi yang tidak berubah dengan pasukan yang cantik

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

--debug membolehkan anda melihat bukan sahaja mesej terakhir, tetapi maklumat yang lebih terperinci. 

-l bermaksud β€”dengan kunci, yang bermaksud tidak berubah

Jika kami kini kembali ke antara muka web, baldi baharu kami akan muncul di sana.

Minio untuk si kecil
Itu sahaja buat masa ini. Kami telah mencipta storan selamat dan bersedia untuk beralih kepada penyepaduan dengan Veeam.

Anda juga boleh memastikan bahawa semuanya berfungsi dengan sempurna:

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

MiniIO dan Veeam

Amaran! Jika atas sebab yang luar biasa anda ingin bekerja melalui HTTP, maka di HKEY_LOCAL_MACHINESOFTWAREVeeamVeeam Backup and Replication buat kunci DWORD SOBRArchiveS3DisableTLS. Tetapkan nilainya kepada 1 dan ingat bahawa kami sangat tidak menyetujui kelakuan sedemikian dan tidak mengesyorkannya kepada sesiapa sahaja.

Perhatian sekali lagi! Jika, disebabkan beberapa salah faham, anda terus menggunakan Windows 2008 R2, maka apabila anda cuba menyambungkan MiniIO ke Veeam, kemungkinan besar anda akan menerima ralat seperti ini: Gagal mewujudkan sambungan ke titik akhir Amazon S3. Ini boleh dirawat dengan tampalan rasmi daripada microsoft.

Baiklah, persediaan sudah lengkap, mari buka antara muka VBR dan pergi ke tab Infrastruktur Sandaran, di mana kita akan memanggil wizard untuk menambah repositori baharu.

Minio untuk si kecil
Sudah tentu, kami berminat dengan penyimpanan Objek, iaitu S3 Compatible. Dalam wizard yang terbuka, tetapkan nama dan ikuti langkah-langkah yang menunjukkan alamat dan akaun. Jika perlu, jangan lupa untuk menentukan pintu yang melaluinya permintaan kepada storan akan diproksikan.

Minio untuk si kecil
Kemudian pilih baldi, folder dan tandai kotak Jadikan sandaran terkini tidak boleh diubah. Atau kami tidak memasangnya. Tetapi kerana kami telah membuat kemudahan penyimpanan yang menyokong fungsi ini, adalah berdosa jika tidak menggunakannya.

Minio untuk si kecil
Seterusnya > Selesai dan nikmati hasilnya.

Sekarang kita perlu menambahkannya ke repositori SOBR sebagai Tahap Kapasiti. Untuk melakukan ini, kami sama ada membuat yang baharu atau mengedit yang sedia ada. Kami berminat dengan langkah Tahap Kapasiti.

Minio untuk si kecil
Di sini kita perlu memilih senario yang akan kita gunakan. Semua pilihan diterangkan dengan baik dalam yang lain artikel, jadi saya tidak akan mengulangi diri saya sendiri

Dan setelah selesai wizard, tugas untuk menyalin atau memindahkan sandaran akan dilancarkan secara automatik. Tetapi jika rancangan anda tidak termasuk dengan segera meletakkan beban pada semua sistem, maka pastikan anda menetapkan selang yang boleh diterima untuk bekerja pada butang Tetingkap.

Minio untuk si kecil
Dan, sudah tentu, anda boleh melakukan tugas Salin Sandaran yang berasingan. Sesetengah percaya bahawa ini lebih mudah, kerana ia agak lebih telus dan boleh diramalkan untuk pengguna yang tidak mahu menyelidiki butiran operasi jarak tembak. Dan terdapat butiran yang mencukupi di sana, jadi sekali lagi saya mengesyorkan artikel yang sepadan pada pautan di atas.

Dan akhirnya, jawapan kepada soalan khianat: apa yang akan berlaku jika anda masih cuba memadamkan sandaran daripada storan Tidak boleh ubah?

Inilah jawapannya:

Minio untuk si kecil
Itu sahaja untuk hari ini. Dalam tradisi sebenar, dapatkan senarai topik berguna mengenai topik tersebut:

Sumber: www.habr.com

Tambah komen