Minio للصغار

يعد MinIO حلاً ممتازًا عندما تحتاج إلى تنظيم تخزين الكائنات بسهولة وبساطة. الإعداد الأولي والعديد من المنصات والأداء الجيد قاموا بعملهم في مجال الحب الشعبي. لذلك لم يكن لدينا طريقة أخرى سوى إعلان التوافق قبل شهر Veeam النسخ الاحتياطي والنسخ المتماثل وMinIO. بما في ذلك ميزة مهمة مثل الثبات. في الواقع، MiniIO لديه كل قسم في الوثائق المخصصة لتكاملنا.

لذلك سنتحدث اليوم عن كيفية:

  • يعد إعداد MinIO سريعًا جدًا.
  • يعد إعداد MinIO أقل سرعة قليلاً، ولكنه أفضل بكثير.
  • استخدمه كطبقة أرشيف لمستودع Veeam SOBR القابل للتطوير.

Minio للصغار

ما أنت؟

مقدمة قصيرة لأولئك الذين لم يواجهوا MinIO. هذا عبارة عن وحدة تخزين كائنات مفتوحة المصدر ومتوافقة مع Amazon S3 API. تم إصداره بموجب ترخيص Apache v2 ويلتزم بفلسفة البساطة المتقشف.

أي أنه لا يحتوي على واجهة مستخدم رسومية مترامية الأطراف تحتوي على لوحات معلومات ورسوم بيانية وقوائم عديدة. تقوم 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 للصغار
هذا كل شئ! التخزين يعمل ويمكنك البدء في العمل معه. لم أكن أمزح عندما قلت أن MiniIO بسيط ويعمل فقط. إذا اتبعت الرابط المقدم أثناء الإطلاق، فإن الحد الأقصى من الوظائف المتاحة هناك هو إنشاء مجموعة. ويمكنك البدء في كتابة البيانات.

بالنسبة لعشاق Linux، لا يزال كل شيء أقل بساطة. أبسط التعليمات:


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

وستكون النتيجة لا يمكن تمييزها عما رأيناه سابقا. 

يعد إعداد MinIO أكثر أهمية قليلاً

كما نفهم، فإن الفقرة السابقة تدليل لأغراض الاختبار. ولنكن صادقين، نحن نستخدم MiniIO على نطاق واسع جدًا للاختبار، وهو ما لا نخجل على الإطلاق من الاعتراف به. بالطبع، يعمل، لكن من العار أن نتحمل هذا خارج مقاعد الاختبار. لذلك نأخذ الملف بين أيدينا ونبدأ في تذكره.

HTTPS

الخطوة الإلزامية الأولى على طريق الإنتاج هي التشفير. يوجد بالفعل مليون وألف دليل على الشبكة لإضافة شهادات إلى MiniIO، ولكن خطتهم العامة هي كما يلي:

  • إنشاء شهادة
  • في حالة نظام التشغيل Windows، ضعه في C:Users%User%.miniocerts
  • لنظام التشغيل Linux في ${HOME}/.minio/certs 
  • إعادة تشغيل الخادم

يعد برنامج Let's Encrypt المبتذل مملًا ويتم وصفه في كل مكان، لذا فإن مسارنا هو مسار الساموراي، لذلك في حالة Windows نقوم بتنزيله سيغوين، وفي حالة Linux، نتحقق ببساطة من تثبيت opensl. ونقوم ببعض السحر على وحدة التحكم:

  • إنشاء المفاتيح: openssl ecparam -genkey -name prime256v1 | opensl ec -out Private.key
  • نقوم بإنشاء شهادة باستخدام المفتاح: openssl req -new -x509 -days 3650 -key Private.key -out public.crt
  • انسخ Private.key و public.crt إلى المجلد المحدد أعلاه
  • أعد تشغيل MiniIO

إذا سار كل شيء كما ينبغي، فسيظهر شيء من هذا القبيل في الحالة.

Minio للصغار

تمكين ترميز المسح MinIO

أولا، بضع كلمات حول هذا الموضوع. باختصار: هذه حماية برمجية للبيانات من التلف والخسارة. مثل الغارة، فقط أكثر موثوقية. إذا كان RAID6 الكلاسيكي يستطيع تحمل خسارة قرصين، فيمكن لـ MinIO التعامل بسهولة مع فقدان النصف. يتم وصف التكنولوجيا بمزيد من التفصيل في الدليل الرسمي. ولكن إذا أخذنا الجوهر، فهذا هو تطبيق رموز ريد-سولومون: يتم تخزين جميع المعلومات في شكل كتل بيانات لها كتل تكافؤ. ويبدو أن كل هذا قد تم بالفعل عدة مرات، ولكن هناك "لكن" مهم: يمكننا الإشارة بوضوح إلى نسبة كتل التكافؤ إلى كتل البيانات للكائنات المخزنة.
هل تريد 1:1؟ لو سمحت!
هل تريد 5:2؟ لا مشكلة!

ميزة مهمة جدًا إذا كنت تستخدم عدة عقد في وقت واحد وترغب في إيجاد التوازن الخاص بك بين الحد الأقصى من أمان البيانات والموارد المستهلكة. خارج الصندوق، يستخدم MinIO الصيغة N/2 (حيث N هو العدد الإجمالي للأقراص)، أي. يقسم بياناتك بين أقراص البيانات N/2 وأقراص التكافؤ N/2. الترجمة إلى مصطلحات بشرية: يمكن أن تفقد نصف الأقراص وتستعيد البيانات. يتم إعطاء هذه العلاقة من خلال فئة التخزينمما يتيح لك أن تختار بنفسك ما هو أكثر أهمية: الموثوقية أو القدرة.

يقدم الدليل المثال التالي: لنفترض أن لديك تثبيتًا على 16 قرصًا وتحتاج إلى حفظ ملف بحجم 100 ميجابايت. إذا تم استخدام الإعدادات الافتراضية (8 أقراص للبيانات، 8 لكتل ​​التكافؤ)، فسيشغل الملف في النهاية ضعف الحجم تقريبًا، أي. 200 ميجا بايت. إذا كانت نسبة القرص 10/6، فستكون هناك حاجة إلى 160 ميجابايت. 14/2 - 114 ميجابايت.

هناك اختلاف مهم آخر عن الغارات: في حالة فشل القرص، سيعمل MiniIO على مستوى الكائن، ويستعيد واحدًا تلو الآخر، دون إيقاف النظام بأكمله. بينما سيتم إجبار الغارة العادية على استعادة الحجم بالكامل، الأمر الذي سيستغرق وقتًا غير متوقع. يتذكر المؤلف رف القرص الذي استغرق إعادة حسابه أسبوعًا ونصف بعد سقوط قرصين. لقد كان الأمر مزعجًا للغاية.

وملاحظة مهمة: يقوم MinIO بتقسيم جميع الأقراص الخاصة بـ Erasure Coding إلى مجموعات من 4 إلى 16 قرصًا، باستخدام أقصى حجم ممكن للمجموعة. وفي المستقبل، سيتم تخزين عنصر واحد من المعلومات ضمن مجموعة واحدة فقط.

يبدو كل هذا رائعًا جدًا، ولكن ما مدى صعوبة إعداده؟ دعونا نلقي نظرة. نحن نأخذ الأمر للتشغيل ونقوم ببساطة بإدراج الأقراص التي يجب إنشاء وحدة التخزين عليها. إذا تم كل شيء بشكل صحيح، فسنرى في التقرير عدد الأقراص المعنية. والنصيحة أنه ليس من الجيد إضافة نصف الأقراص إلى مضيف واحد مرة واحدة، لأن ذلك سيؤدي إلى فقدان البيانات.

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

Minio للصغار
بعد ذلك، لإدارة خادم MinIO وتكوينه، سنحتاج إلى وكيل يمكنك تنزيله المرجع نفسه من الموقع الرسمي.

لكي لا تستهلك أصابعك في كل مرة تكتب فيها العنوان ومفاتيح الوصول (وهذا ليس آمنًا)، فمن الملائم إنشاء اسم مستعار على الفور عند البدء لأول مرة في استخدام مجموعة الاسم المستعار للصيغة mc [مفتاح الوصول الخاص بك] [مفتاحك السري]

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

--debug يسمح لك برؤية ليس فقط الرسالة النهائية، بل معلومات أكثر تفصيلاً. 

-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

مينيو و فييم

تحذير! إذا كنت تريد العمل عبر HTTP لسبب لا يصدق، فيمكنك في HKEY_LOCAL_MACHINESOFTWAREVeeamVeeam Backup and Replication إنشاء مفتاح DWORD SOBRArchiveS3DisableTLS. اضبط قيمته على 1 وتذكر أننا لا نوافق بشدة على مثل هذا السلوك ولا نوصي به لأي شخص.

انتبه مرة أخرى! إذا واصلت استخدام Windows 2008 R2، بسبب بعض سوء الفهم، فعند محاولة توصيل MinIO بـ Veeam، من المرجح أن تتلقى خطأً مثل هذا: فشل إنشاء اتصال بنقطة نهاية Amazon S3. يمكن علاج ذلك باستخدام التصحيح الرسمي من مایکروسافت.

حسنًا، لقد اكتملت الاستعدادات، فلنفتح واجهة VBR وننتقل إلى علامة التبويب "البنية التحتية للنسخ الاحتياطي"، حيث سنستدعي المعالج لإضافة مستودع جديد.

Minio للصغار
بالطبع، نحن مهتمون بتخزين الكائنات، أي متوافق مع S3. في المعالج الذي يفتح، قم بتعيين اسم واتبع الخطوات التي تشير إلى العنوان والحساب. إذا لزم الأمر، لا تنس تحديد البوابة التي سيتم من خلالها توكيل طلبات التخزين.

Minio للصغار
ثم حدد المجموعة والمجلد وحدد المربع جعل النسخ الاحتياطية الأخيرة غير قابلة للتغيير. أو لا نقوم بتثبيته. ولكن بما أننا أنشأنا منشأة تخزين تدعم هذه الوظيفة، فسيكون عدم استخدامها خطيئة.

Minio للصغار
التالي > أنهي واستمتع بالنتيجة.

نحتاج الآن إلى إضافته إلى مستودع SOBR كطبقة سعة. للقيام بذلك، إما أن نقوم بإنشاء واحدة جديدة أو تعديل واحدة موجودة. نحن مهتمون بخطوة مستوى القدرة.

Minio للصغار
هنا نحتاج إلى اختيار السيناريو الذي سنعمل معه. يتم وصف كافة الخيارات بشكل جيد في مكان آخر مقالة، لذلك لن أكرر نفسي

وعند الانتهاء من المعالج، سيتم إطلاق مهام نسخ النسخ الاحتياطية أو نقلها تلقائيًا. ولكن إذا كانت خططك لا تتضمن التحميل الفوري على جميع الأنظمة، فتأكد من تعيين فترات زمنية مقبولة للعمل على زر النافذة.

Minio للصغار
وبالطبع، يمكنك القيام بمهام النسخ الاحتياطي المنفصلة. يعتقد البعض أن هذا أكثر ملاءمة، لأنها أكثر شفافية إلى حد ما ويمكن التنبؤ بها للمستخدم الذي لا يريد الخوض في تفاصيل تشغيل نطاق الرماية. وهناك تفاصيل كافية هناك، لذا أوصي مرة أخرى بالمقالة المقابلة على الرابط أعلاه.

وأخيرًا، الإجابة على السؤال الغادر: ماذا سيحدث إذا كنت لا تزال تحاول حذف النسخة الاحتياطية من وحدة التخزين غير القابلة للتغيير؟

هنا الجواب:

Minio للصغار
هذا كل شيء لهذا اليوم. في التقليد الحقيقي، تحقق من قائمة المواضيع المفيدة حول هذا الموضوع:

المصدر: www.habr.com

إضافة تعليق