جرب MinIO – تخزين كائن عالي الأداء ومتوافق ذاتيًا مع S3

هل تبحث عن برنامج تخزين كائنات لاستضافته على الخادم الخاص بك؟

اعتقد نعم؟

هناك الكثير من تخزين الكائنات المستند إلى السحابة مثل AWS S3 وغيرها من الأشياء التي ذكرتها هنا. ومع ذلك ، إذا كنت بحاجة إلى استضافة بياناتك على الخادم الخاص بك ، فيمكن لـ MinIO المساعدة داخل مراكز البيانات الخاصة بك.

MiniIO هو برنامج تخزين كائنات موزع مفتوح المصدر وشائع ومتوافق مع S3. إنها جاهزة للمؤسسات ومعروفة بأدائها العالي.

يمكنك استخدام MinIO من تطبيق ويب بسيط إلى أحمال عمل توزيع البيانات الكبيرة للتحليلات وتطبيقات التعلم الآلي. يمكن أن يساعد في العديد من حالات الاستخدام.

  • تخزين ملفات قياسي مسطح
  • توزيع البيانات على السحابة المتعددة
  • التعافي من الكوارث
  • تحليلات البيانات

هل هو برنامج ضخم؟

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

العمارة أدناه من موقعهم الرسمي.

دعنا نستكشف بعض الميزات الجديرة بالملاحظة.

  • عالية الأداء – يقول العنوان. إنه قادر على القراءة / الكتابة بسرعة ~ 170 جيجابايت / ثانية. هذا كثير!
  • قابلة للتطوير – اختر التجميع والقياس حسب حاجتك
  • السحابة الأصلية
  • حماية البيانات باستخدام طريقة رمز المحو
  • دعم التشفير المتعدد بما في ذلك AES-CBC و AES-256-GCM و ChaCha20
  • متوافق مع KMS المشترك
  • التطبيق وهوية المستخدم
  • إعلام الحدث
  • الاتحاد باستخدام etcd و CoreDNS

يعد MinIO اختيارًا جيدًا للتخزين المحدد بواسطة البرامج. دعنا نستكشف كيفية إعداد الأشياء.

تثبيت خادم MinIO

تستطيع تثبيت على Linux و Windows و macOS ومن خلال Kubernetes. تفضل البناء من خلال المصدر؟ بالتأكيد ، يمكنك القيام بذلك إذا كان لديك Golang مثبتًا.

بالنسبة لهذا العرض التوضيحي ، سأقوم بالتثبيت على CentOS الذي يتم استضافته على كاماتيرا.

  • تسجيل الدخول إلى الخادم
  • قم بإنشاء مجلد ضمن نظام الملفات المطلوب. ربما خادم minio
  • انتقل إلى المجلد الذي تم إنشاؤه حديثًا وقم بتشغيل الأمر wget أدناه
wget https://dl.min.io/server/minio/release/linux-amd64/minio

سيتم تنزيل ملف ثنائي ويجب أن يبدو مثل هذا.

-rw-r--r--  1 root root 48271360 Oct 18 21:57 minio

اجعل الملف قابلاً للتنفيذ باستخدام الأمر chmod

chmod 755 minio

لنبدأ MinIO كخادم.

./minio server /data &

/ البيانات المذكورة أعلاه هي نظام الملفات حيث سيقوم MinIO بتخزين الكائنات.

  كيفية تثبيت التطبيقات والألعاب على Google TV

البدء سريع ويجب أن ترى معلومات بدء التشغيل على النحو التالي.

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'

دعنا نصل إلى MinIO على المتصفح باستخدام بيانات الاعتماد الافتراضية – minioadmin: minioadmin

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

لتغيير بيانات اعتماد MinIO الافتراضية ، سنصدر مفتاح الوصول والمفتاح السري على النحو التالي ونبدأ MinIO.

export MINIO_ACCESS_KEY=admingate.org
export MINIO_SECRET_KEY=geekpassword
./minio server /data &

الآن ، لا ينبغي أن يشتكي من تحذير اكتشاف بيانات الاعتماد الافتراضي.

دعنا نحاول تحميل بعض الملفات.

  • انقر فوق رمز + في الجزء السفلي الأيمن وقم بإنشاء دلو
  • لقد قمت بتحميل ملف اختبار وأصبح مرئيًا على الفور على المتصفح

وعلى الخادم

[[email protected] geekflare]# ls -ltr
total 4
-rw-r--r-- 1 root root 11 Oct 19 11:09 MinIO-Test.txt
[[email protected] geekflare]#

إذا نقرت على زر مشاركة الملف في المتصفح ، فستحصل على رابط قابل للمشاركة وخيار لتعيين انتهاء الصلاحية.

عميل MinIO

عميل MinIO هو أكثر من مجرد aws-cli والذي يتيح لك إدارة التخزين. العميل متاح لأنظمة Windows و macOS و Linux.

  كم من الوقت يستغرق فحص الخلفية؟

للتثبيت على Linux ، قم بتشغيل ما يلي.

wget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod 755 mc

قم بتشغيل الأمر mc لرؤية تعليمات الأمر.

[[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] ~]#

دعنا نحاول سرد الملف الذي قمت بتحميله من خلال أمر mc.

  كيفية تغيير حالة النص في PowerPoint

أولاً ، نحتاج إلى تعيين الاسم المستعار على وحدة التخزين التي نريد إدارتها.

[[email protected] ~]# ./mc alias set minio http://xx.71.141.xx:9000/ admingate.org geekpassword
Added `minio` successfully.
[[email protected] ~]#
  • minio هو الاسم المستعار. يمكنك تغيير هذا إلى ما تريد.
  • قم بتغيير نقطة نهاية HTTP إلى نقطة نهاية حقيقية
  • تغيير الوصول والمفتاح السري الخاص بك

وللإدراج ، سوف يستخدم الأمر ls على النحو التالي.

[[email protected] ~]# ./mc ls --recursive minio 
[2020-10-19 11:09:06 UTC]    11B admingate.org/MinIO-Test.txt
[[email protected] ~]#

رائعة. إنها تعمل!

يمكنك فعل كل شيء حرفيًا من خلال العميل. لا يمكنك فقط إدارة التخزين السحابي MinIO ولكن أيضًا GCS و AWS S3 و Azure.

ألق نظرة على هذا دليل البدء السريع للعميل لمزيد من التفاصيل.

MinIO SDK

اعتمادًا على حزمة التطبيقات الخاصة بك ، يمكنك التفاعل مع تخزين الكائنات برمجيًا باستخدام SDK. وهو يدعم Go و Python و Node.js و .NET و Haskell و Java.

بوابة MinIO

أضف بوابة MiniIO إلى S3 و Azure و NAS و HDFS للاستفادة من مستعرض MinIO والتخزين المؤقت على القرص.

استنتاج

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