Sales3 min read659 words

تثبيت كتلة MinIO على Ubuntu 20.04

Fatih Çevik

Fatih Çevik

PlusClouds Author

Cloud & SaaS

ما هو MinIO؟

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

ما هي تخزين الكائنات؟

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

التحضير والمتطلبات

سنستخدم نظام التشغيل أوبونتو 20.04 في مقالتنا.

  • 4 خوادم محملة بنظام أوبونتو 20.04

  • أذونات الجذر على جميع العقد

  • اتصال إنترنت مستقر في العقد التي سيتم تثبيتها

بعد استيفاء المتطلبات، يمكننا الانتقال إلى التثبيت.

يجب إجراء الخطوات التالية في جميع العقد بشكل كامل.

1. قم بتثبيت قرص جديد بخلاف القرص المثبت عليه نظام التشغيل

الحاجة الأساسية لتثبيت مجموعة MinIO هي أن يتم تثبيت قرص جديد لخدمة MinIO بخلاف القرص المثبت عليه نظام التشغيل.

سنقوم بقائمة الأقراص المتصلة بالآلة باستخدام الأمر التالي.

fdisk -l

 القرص /dev/xvda:   80   GiB,   85899345920   بايت,   167772160   قطاعات
الوحدات: قطاعات من 1 * 512 = 512 بايت
حجم القطاع (المنطقية/الفيزيائية): 512 بايت / 512 بايت
حجم الإدخال/الإخراج (الحد الأدنى/المثالي): 512 بايت / 512 بايت
نوع ملصق القرص: gpt
معرف القرص: 2666C97D-884F-4535-8F56-5DCE785E1D25

الجهاز البداية النهاية القطاعات الحجم النوع
/dev/xvda1 2048 4095 2048 1M BIOS boot
/dev/xvda2 4096 2101247 2097152 1G نظام ملفات لينكس
/dev/xvda3 2101248 167772126 <165670879 79G نظام ملفات لينكس



القرص /dev/xvdb: 20 GiB, 21474836480 بايت, 41943040 قطاعات
الوحدات: قطاعات من 1 * 512 = 512 بايت
حجم القطاع (المنطقية/الفيزيائية): 512 بايت / 512 بايت
حجم الإدخال/الإخراج (الحد الأدنى/المثالي): 512 بايت / 512 بايت

ستواجه مخرجات مشابهة لما هو موضح أعلاه. هنا /dev/xvda هو القرص الذي تم تثبيت نظام التشغيل عليه. القرص الذي قمنا بإضافته جديداً يظهر باسم /dev/xvdb.

قبل إجراء عملية التركيب للقرص الجديد، لا يزال لدينا بعض الأمور للقيام بها.

استخدم الأمر التالي لإنشاء مساحة فعلية أولاً.

pvcreate /dev/xvdb

بعد ذلك، نقوم بإنشاء الدليل الذي سنركب فيه القرص.

mkdir /data

ثم نقوم بإنشاء نظام الملفات للقرص الجديد باستخدام الأمر التالي.

mkfs.ext4 /dev/xvdb

بعد إنشاء نظام الملفات، نقوم بالخطوة الأخيرة لإجراء عملية التركيب. نقوم بتعديل تكوين القرص الذي سنركبه ودليل التركيب في ملف /etc/fstab.

nano /etc/fstab

بعد الوصول إلى الملف، نضيف السطر التالي.

/dev/xvdb /data ext4 defaults,noatime,nofail 0 0

أصبح القرص جاهزاً الآن لعملية التركيب. نقوم بتنفيذ عملية التركيب باستخدام الأمر التالي.

mount -a

يمكنك التحقق من عملية التركيب باستخدام الأمر التالي.

df -h

لا تنسَ أنه يجب علينا القيام بنفس العملية على جميع العقد.

2. قم بتثبيت خدمة MinIO

قبل تثبيت الخدمة، قم بإعداد نظام التشغيل الخاص بك. يمكنك تنفيذ الإجراءات باستخدام الأمر التالي.

apt update && apt upgrade && apt install wget -y

بعد ذلك، نقوم بتنزيل خدمة MinIO ومنح الأذونات اللازمة

wget -O /usr/local/bin/minio https://dl.minio.io/server/minio/release/linux-amd64/minio

chmod +x /usr/local/bin/minio

نقوم بإنشاء وتعديل ملف الخدمة لـ MinIO في دليل الخدمات النظامية.

nano /lib/systemd/system/minio.service

انسخ والصق السطور التالية واحفظها.

 [Unit]

الوصف =minio

الوثائق =https://docs.min.io

يرغب في =target-online.network

بعد =target-online.network

تأكيدExecutableFile =/usr/local/bin/minio

[Service]

دليل العمل =/usr/local/

المستخدم =root

المجموعة =root

ملف البيئة =/etc/default/minio

ExecStart =/usr/local/bin/minio خادم $MINIO_OPTS \
--console-address ":9001"

إعادة التشغيل =دائماً

حد عدد الملفات =65536

مهلة إيقاف ثانٍ =لا نهاية

SendSIGKILL = لا

[تثبيت]

مطلوب من قبل =هدف متعدد المستخدمين

ثم نقوم بإنشاء وتعديل ملف إعداد MinIO.

nano /etc/default/minio

انسخ والصق السطور التالية. لا تنسى تعديل الأماكن المطلوبة بمعلوماتك الخاصة.

 MINIO_OPTS=  "http://hostname1:9000/data     http://hostname2:9000/data         http://hostname3:9000/data         http://hostname4:9000/data     "  

MINIO_ACCESS_KEY= "مفتاح آمن لا يقل عن 16 حرفًا سيتجاوز معلومات المستخدم الخاصة بك"

MINIO_SECRET_KEY= "كلمة مرور دخول وحدة التحكم لا تقل عن 16 حرفًا"

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

systemctl daemon-reload systemctl enable minio systemctl start minio.service

وأخيراً، يمكنك التحقق من أن مجموعتك تعمل بنشاط باستخدام الأمر التالي.

systemctl status minio.service

الآن، مجمع MinIO الخاص بك جاهز للاستخدام. نلتقي في مقال آخر :)

Frequently Asked Questions

ما هو MinIO ولماذا يعتبر خياراً بديلاً لـ S3 من أمازون؟

MinIO هي خدمة تخزين كائنات عالية الأداء مرخصة بموجب رخصة جنو العامة للأفال ثنائية V3.0. يمكنك إنشاء خادم S3 خاص بتكاليف أقل وتؤدي وظائف مشابهة لـ S3.

ما المقصود بتخزين الكائنات وكيف يختلف عن تخزين الملفات والتخزين الكتلي؟

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

ما هي المتطلبات الأساسية لإعداد MinIO على أوبونتو 20.04 كما ورد في الشرح؟

هناك أربعة خوادم تعمل بنظام أوبونتو 20.04 مع أذونات جذر على جميع العقد واتصال إنترنت مستقر في العقد التي سيتم تثبيتها، ويجب تنفيذ الخطوات على جميع العقد.

كيف أضيف قرصاً جديداً وأجهزه للتركيب مع MinIO كما في الشرح؟

ابدأ بعرض الأقراص باستخدام fdisk -l وتحديد القرص الجديد مثل /dev/xvdb. ثم أنشئ مساحة فعالة باستخدام pvcreate /dev/xvdb، وأنشئ الدليل /data، ثم أنشئ نظام ملفات ext4 على /dev/xvdb وتحرير /etc/fstab بإضافة سطر ربط ثم استخدم mount -a للتحقق.

كيف أقوم بتثبيت MinIO كخدمة على النظام وكيف أبدأها على كل عقدة؟

ابدأ بتحديث النظام وتثبيت wget: apt update && apt upgrade && apt install wget -y. ثم انزل MinIO إلى /usr/local/bin/minio وبرّز صلاحيات التنفيذ. بعدها أنشئ أو عدّل ملف minio.service في /lib/systemd/system وحدد ExecStart لاستخدام MinIO مع خياراته، ثم نفّذ systemctl daemon-reload وتفعيل وت start minio.service.

كيف أتهيئ متغيرات MINIO_OPTS ومفاتيح الوصول MINIO_ACCESS_KEY و MINIO_SECRET_KEY؟

في الملف /etc/default/minio يتم تعيين MINIO_OPTS إلى عناوين البيانات كما في الأمثلة وتعيين MINIO_ACCESS_KEY و MINIO_SECRET_KEY بقيم لا تقل عن 16 حرفاً.

كيف أتأكد من أن MinIO يعمل بشكل صحيح بعد التثبيت؟

يمكنك التحقق من حالة الخدمة باستخدام systemctl status minio.service. إذا كانت الخدمة تعمل بنشاط، فمجموعة MinIO جاهزة للاستخدام وفق الإعدادات التي تم تكوينها.

هل يجب تطبيق هذه الإجراءات على جميع العقد في المجموعة؟

نعم، يجب تنفيذ نفس العملية على جميع العقد. بذلك تكون مجموعة MinIO جاهزة وتعمل بشكل متكافئ على كل عقدة.