شهد العالم أول نموذج أولي لتخزين الكائنات في عام 1996. بعد 10 سنوات ، ستطلق Amazon Web Services Amazon S3 ، وسيبدأ العالم بالجنون بشكل منهجي بمساحة عنوان مسطحة. نظرًا للعمل مع البيانات الوصفية وقدرتها على القياس دون الانهيار تحت الحمل ، سرعان ما أصبح تخزين الكائنات هو المعيار لمعظم خدمات التخزين السحابية ، وأكثر من ذلك. ميزة أخرى مهمة هي قدرتها الجيدة على تخزين الأرشيفات ونادراً ما تستخدم الملفات المشابهة. ابتهج كل من شارك في تخزين البيانات وحمل التكنولوجيا الجديدة في متناول اليد.

لكن شائعات الناس كانت مليئة بالشائعات التي تقول إن مستودعات الأشياء تدور حول السحب الكبيرة فقط ، وإذا لم تكن بحاجة إلى حلول من الرأسماليين الملعونين ، فسيكون من الصعب للغاية إنشاء منطقتك. لقد كتب الكثير عن نشر السحابة الخاصة به ، لكن لا توجد معلومات كثيرة حول إنشاء الحلول المتوافقة مع S3.
لذلك ، سنكتشف اليوم ما هي الخيارات "لجعله أكثر تشابهًا للبالغين ، وليس CEPH وملفًا أكبر" ، سنقوم بنشر أحدهم ، وسوف نتحقق من Veeam Backup & Replication للتحقق من أن كل شيء يعمل. يطالب بدعم العمل مع مستودعات متوافقة مع S3 ، وسوف نتحقق من هذا البيان.
ماذا عن الآخرين؟
أقترح البدء بنظرة قصيرة عن السوق وخيارات تخزين الأشياء. زعيم ومعايير معترف بها هو الأمازون S3. أقرب متتبعين هما Microsoft Azure Blob Storage و IBM Cloud Object Storage.
هل هذا كل شيء؟ هل هناك حقا لا منافسين آخرين؟ بالطبع ، هناك منافسون ، لكن شخصًا ما يسير بطريقته الخاصة ، مثل Google Cloud أو Oracle Cloud Object Storage ، مع دعم غير مكتمل ل S3 API. شخص ما يستخدم الإصدارات القديمة من API مثل Baidu Cloud. والبعض ، مثل Hitachi Cloud ، يحتاج إلى استخدام منطق خاص ، والذي سيؤدي بالتأكيد إلى صعوباتهم. في أي حال ، تتم مقارنة الجميع مع أمازون ، والتي يمكن اعتبارها معيارًا صناعيًا.
لكن الحلول الداخلية لديها الكثير من الخيارات ، لذلك دعونا نحدد المعايير المهمة بالنسبة لنا. من حيث المبدأ ، اثنان فقط يكفيان: دعم واجهة برمجة تطبيقات S3 واستخدام توقيع v4. جنبًا إلى جنب ، فنحن ، كعميل مستقبلي ، مهتمون فقط بواجهات للتفاعل ، والمطبخ الداخلي للتخزين نفسه ليس ممتعًا للغاية بالنسبة لنا.
حسنًا ، الكثير من الحلول مناسبة لهذه الشروط البسيطة. على سبيل المثال ، الشركات ذات الأوزان الثقيلة الكلاسيكية:
- DellEMC ECS
- NetApp S3 StorageGrid
- دلاء Nutanix
- تخزين نقية FlashBlade و StorReduce
- Huawei FusionStorage
هناك مجموعة من الحلول البرمجية الخالصة التي تعمل خارج نطاق الصندوق:
- قبعة حمراء ceph
- SUSE تخزين المؤسسة
- Cloudian
وحتى أولئك الذين يحبون معالجة الملف بعناية بعد التجميع لم يتعرضوا للإهانة:
- ceph النقي
- Minio (إصدار Linux ، لإصدار Windows ، هناك العديد من الأسئلة)
القائمة أبعد ما تكون عن الاكتمال ، ويمكن مناقشتها في التعليقات. فقط تذكر للتحقق من أداء النظام بالإضافة إلى التوافق API قبل التنفيذ. آخر ما تحتاجه هو فقدان تيرابايت من البيانات بسبب تعليق الطلبات. لذلك لا تتردد في اختبارات الإجهاد. بشكل عام ، جميع برامج البالغين التي تعمل مع كميات كبيرة من البيانات لديها على الأقل تقارير التوافق. في حالة Veeam ، يوجد برنامج كامل للاختبار المتبادل ، والذي يسمح لك بإعلان التوافق التام لمنتجاتنا مع معدات محددة بأمان. هذا بالفعل عمل ذو اتجاهين ، ليس سريعًا دائمًا ، لكننا نعمل باستمرار على توسيع قائمة الحلول التي تم اختبارها.
وضع موقفنا معا
أود التحدث قليلاً عن اختيار موضوع اختبار.
أولاً ، أردت أن أجد خيارًا يعمل فورًا خارج الصندوق. حسنًا ، أو على الأقل بالاحتمال الأقصى الذي سيكسبه دون الاضطرار إلى القيام بحركات إضافية. يعد الرقص مع الدف واختيار وحدة التحكم في الليل أمرًا مثيرًا للغاية ، لكن في بعض الأحيان أريده أن يعمل فورًا. والموثوقية العامة لهذه الحلول عادة ما تكون أعلى. ونعم ، اختفت روح المغامرة فينا ، وتوقفنا عن الصعود من خلال نوافذ نساءنا المحبوبات ، إلخ (ج).
ثانياً ، لنكون صادقين ، فإن الحاجة إلى العمل مع تخزين الأشياء تنشأ بالنسبة للشركات الكبيرة جدًا ، لذا فإن هذا هو الحال عند النظر إلى الحلول على مستوى المؤسسات ليس فقط أمرًا محرجًا ، بل إنه مشجع أيضًا. على أي حال ، لا أعرف حتى الآن أي أمثلة على شخص طُرد بسبب شراء مثل هذه الحلول.
بناءً على ما تقدم ، وقع اختياري على Dell EMC ECS Community Edition . هذا مشروع ممتع للغاية ، وأعتقد أنه من الضروري أن أخبركم به.
أول ما يتبادر إلى الذهن عند النظر إلى الوظيفة الإضافية لـ Community Edition هو أنها مجرد ورقة تتبع من ECS كاملة النطاق مع بعض القيود التي تمت إزالتها عن طريق شراء ترخيص. لذلك لا!
تذكر:
!!! Community Edition هو مشروع منفصل مصمم للاختبار ، وبدون دعم فني من Dell !!
ولا يمكن تحويلها إلى ECS كاملة ، حتى لو كنت تريد ذلك حقًا.
دعنا نفهم
يعتقد الكثير من الناس أن Dell EMC ECS هو الحل الأمثل تقريبًا إذا كنت بحاجة إلى تخزين الكائنات. جميع المشاريع تحت العلامة التجارية ECS ، بما في ذلك التجارية والشركات ، تقع على جيثب . نوع من لفتة حسن النية من Dell. بالإضافة إلى البرنامج الذي يعمل على أجهزتها ذات العلامات التجارية ، هناك إصدار مفتوح المصدر يمكن نشره حتى في السحابة ، على الأقل على جهاز ظاهري ، على الأقل في الحاوية ، على الأقل على أي من أجهزتك. التطلع إلى المستقبل - هناك إصدار OVA ، والذي سنستخدمه.
تعد DELL ECS Community Edition نفسها إصدارًا صغيرًا من البرامج الكاملة التي تعمل على الخوادم التي تحمل علامة Dell EMC ECS.
سلطت الضوء على أربعة اختلافات رئيسية:
- لا يوجد دعم التشفير. إنه عار ، لكن ليس حرجًا.
- طبقة النسيج المفقودة. هذا الشيء مسؤول عن بناء الكتلة وإدارة الموارد والتحديثات ومراقبة وتخزين صور Docker. هنا بالفعل أمر مخيب للآمال للغاية ، ولكن يمكن فهم Dell أيضًا.
- النتيجة الأكثر سوءًا للفقرة السابقة: لا يمكن توسيع حجم العقدة بعد اكتمال التثبيت.
- لا يوجد دعم فني. هذا منتج للاختبار ، والذي لا يُمنع استخدامه في المنشآت الصغيرة ، لكنني شخصياً لا أجرؤ على تحميل عدد كبير من البيانات المهمة هناك. لكن من الناحية الفنية لا يمكن لأحد أن يمنعك من القيام بذلك.

وما هو في النسخة الكبيرة؟
نحن نركض عبر أوروبا للحصول على حلول الحديد من أجل الحصول على صورة أكثر اكتمالا للنظام البيئي.
لن أؤكد أو أنفي التصريح بأن DELL ECS هو أفضل تخزين للأشياء ، ولكن إذا كان لديك ما تقوله حول هذا الموضوع ، فسأقرأه في التعليقات بكل سرور. على أي حال ، وفقًا لـ IDC MarketScape 2018 ، تعد Dell EMC بثقة واحدة من الشركات الرائدة الخمسة في سوق OBS. على الرغم من أن الحلول المستندة إلى مجموعة النظراء لا تؤخذ في الاعتبار هناك ، فهذه مشكلة منفصلة.
من وجهة نظر تقنية ، ECS هي تخزين كائن يوفر الوصول إلى البيانات عبر بروتوكولات التخزين السحابية. يدعم AWS S3 و OpenStack Swift. للجرافة الممكّنة للملفات ، تدعم ECS NFSv3 لقدرات تصدير الملفات.
عملية تسجيل المعلومات غير عادية ، خاصة بعد أنظمة تخزين البلوك الكلاسيكية.
- عند وصول بيانات جديدة ، يتم إنشاء كائن جديد له اسم ، والبيانات نفسها وبيانات التعريف.
- الكائنات تفوق على قطع 128 ميجابايت ، ويتم تسجيل كل قطعة على الفور في ثلاث عقد.
- يتم تحديث ملف الفهرس ، حيث يتم تسجيل المعرفات ومواقع التخزين.
- يتم تحديث ملف السجل (سجل السجل) ويتم كتابته أيضًا على ثلاث نقاط.
- يتم إرسال رسالة حول التسجيل الناجح إلى العميل
يتم تسجيل جميع النسخ الثلاث من البيانات بالتوازي. يعتبر التسجيل ناجحًا فقط إذا تم تسجيل جميع النسخ الثلاث بنجاح.

القراءة أبسط:
- يطلب العميل البيانات.
- يبحث الفهرس عن مكان لتخزين البيانات.
- تتم قراءة البيانات من عقدة واحدة وإرسالها إلى العميل.

هناك عدد غير قليل من الخوادم نفسها ، لذلك دعونا ننظر إلى أصغر Dell EMC ECS EX300. يبدأ من 60 تيرابايت ، مع القدرة على النمو إلى 1.5 ب. ويمكن لشقيقه الأكبر Dell EMC ECS EX3000 تخزين ما يصل إلى 8.6Pb لكل رف بالفعل.
نشر
من الناحية الفنية ، يمكن نشر Dell ECS CE بشكل كبير بشكل تعسفي. في أي حال ، لم أجد أي قيود صريحة. ومع ذلك ، تتم جميع عمليات القياس بسهولة عن طريق استنساخ العقدة الأولى التي نحتاج إليها:
- 8 vCPU
- ذاكرة الوصول العشوائي 64 جيجابايت
- 16 جيجابايت لأنظمة التشغيل
- 1TB مباشرة للتخزين
- أحدث CentOS الحد الأدنى من الإصدار
هذا خيار للحالة عندما تريد تثبيت كل شيء بنفسك من البداية. بالنسبة لنا ، هذا الخيار غير مناسب ، لأن سأستخدم صورة OVA للنشر.
ولكن على أي حال ، تكون المتطلبات شريرة للغاية حتى بالنسبة لعقدة واحدة ، وإذا اتبعت بصرامة نص القانون ، فهناك أربع نقاط من هذا القبيل.
ومع ذلك ، يعيش مطورو ECS CE في العالم الحقيقي ، والتثبيت ناجح حتى مع وجود عقدة واحدة ، والحد الأدنى من المتطلبات كالتالي:
- 4 vCPU
- 16 جيجابايت من ذاكرة الوصول العشوائي
- 16 جيجابايت لأنظمة التشغيل
- 104 غيغابايت التخزين الذاتي
هذه هي الموارد اللازمة لنشر صورة OVA. بالفعل أكثر إنسانية وواقعية.
يمكن أن تؤخذ عقدة التثبيت نفسها في جيثب الرسمية. هناك أيضًا وثائق مفصلة حول نشر الكل في واحد ، ولكن لا يزال بإمكانك القراءة على القراءات الرسمية. لذلك ، لن نتحدث عن نشر OVA بالتفصيل ، لا توجد حيل. الشيء الرئيسي - لا تنس قبل بدء تشغيله ، إما توسيع القرص إلى وحدة التخزين المطلوبة ، أو إرفاق وحدات التخزين اللازمة.
نبدأ تشغيل السيارة ونفتح وحدة التحكم ونستخدم أفضل الائتمانات الافتراضية:
- تسجيل الدخول: المشرف
- كلمة المرور: ChangeMe
ثم نبدأ sudo nmtui وتكوين واجهة الشبكة - IP / قناع ، DNS والبوابة. مع الأخذ في الاعتبار أن CentOS الأدنى لا يحتوي على أدوات شبكية ، فإننا نتحقق من الإعدادات عبر بروتوكول الإنترنت addr.

وبما أن البحار تقدم بجرأة فقط ، فإننا نقوم بتحديث yum ، وبعد ذلك إعادة التشغيل. في الواقع ، إنه آمن تمامًا ، لأن تتم جميع عمليات النشر من خلال قواعد اللعب ، ويتم تأمين جميع حزم عامل الميناء المهمة على الإصدار الحالي.
الآن حان الوقت لتعديل البرنامج النصي التثبيت. لا توجد نوافذ جميلة أو واجهة مستخدم زائفة لك - كل ذلك من خلال محرر النصوص المفضل لديك. من الناحية الفنية البحتة ، هناك طريقتان: يمكنك بدء كل أمر بمقابض أو البدء فورًا في تهيئة videploy. سيتم ببساطة فتح التكوين في vim ، وعند الخروج ، قم بتشغيل الاختيار الخاص به. لكن تبسيط حياتك عن قصد ليس أمرًا مثيرًا للاهتمام ، لذلك سنقوم بفريقين آخرين. على الرغم من أنه لا معنى له ، فقد حذرتك =)
لذلك ، نحن ننفذ ECS-CommunityEdition / publish.xml ونجري الحد الأدنى من التغييرات المثلى بحيث تعمل ECS وتعمل. يمكن اختصار قائمة المعلمات ، لكني أعجبت بهذا:
- license_accepted: true لا يمكنك تغييرها ، ثم عند النشر ، سيُطلب منك صراحة قبولها وستظهر عبارة لطيفة. ربما هذا هو بيضة عيد الفصح.

- uncomment أسطر الأسماء التلقائية: والعرف: أدخل اسمًا واحدًا على الأقل مطلوبًا للعقدة - سيتم استبدال اسم المضيف به أثناء عملية التثبيت.
- install_node: 192.168.1.1 حدد عقد IP حقيقية. في حالتنا ، نشير إلى نفسه كما في nmtui
- dns_domain: أدخل نطاقك.
- dns_servers: أدخل DNS الخاص بك.
- ntp_servers: يمكنك تحديد أي. أخذت الأولى من تجمع 0.pool.ntp.org (أصبح 91.216.168.42)
- autonaming: custom إذا لم تقم بالإلغاء ، فسيتم تسمية القمر باللون Luna.
- ecs_block_devices:
/ ديف / sdb
لسبب غير معروف ، قد يكون هناك جهاز تخزين كتلة غير موجود / dev / vda - storage_pools:
أعضاء:
192.168.1.1 هنا نشير مرة أخرى إلى عقد IP الحقيقية - ecs_block_devices:
/ dev / sdb كرر عملية قطع الأجهزة غير الموجودة.
بشكل عام ، يتم وصف الملف بأكمله بتفصيل كبير في الوثائق ، ولكن من سيقرأه في مثل هذا الوقت المحموم. تشير أيضًا إلى أن الحد الأدنى يكفي لتحديد عنوان IP وقناع ، لكن هذا الإعداد في مختبري لم يكن جيدًا ، واضطررت إلى التوسع إلى ما سبق.

بعد الخروج من المحرر ، قم بتشغيل update_deploy /home/admin/ECS-CommunityEdition/deploy.yml ، وإذا تم تنفيذ كل شيء بشكل صحيح ، فسيتم الإبلاغ عن ذلك بشكل صريح.

بعد ذلك ، لا يزال يتعين عليك بدء تشغيل شريط الفيديو ، والانتظار حتى يتم تحديث البيئة ، ويمكنك بدء التثبيت نفسه باستخدام الأمر ova-step1 ، وبعد التنفيذ الناجح ، الأمر ova-step2. هام: لا تتوقف عن البرمجة النصية بيديك! قد تستغرق بعض الخطوات وقتًا كبيرًا ، ولا يتم تنفيذها في المحاولة الأولى ، وتبدو وكأنها مكسورة. في أي حال ، يجب عليك الانتظار حتى يكتمل البرنامج النصي بطريقة طبيعية. في النهاية يجب أن ترى شيئًا كهذا.

الآن ، أخيرًا ، يمكننا فتح لوحة تحكم WebUI على عنوان IP الذي نعرفه. إذا لم تقم بتغيير مرحلة التكوين ، فسيكون الحساب الافتراضي هو root / ChangeMe. يمكنك حتى استخدام التخزين المتوافق مع S3 على الفور. وهي متوفرة على المنافذ 9020 لـ HTTP ، و 9021 لـ HTTPS. مرة أخرى ، إذا لم تقم بتغيير أي شيء ، فعندئذٍ ، access_key: object_admin1 و secret_key: ChangeMeChangeMeChangeMeChangeMeChangeMe.
ولكن دعونا لا نتقدم وأن نبدأ بالترتيب.

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

عند إنشاء مستخدم ، يُطلب منا تحديد مساحة اسم. من الناحية الفنية ، لا يوجد شيء يمنعنا من الحصول على أكبر عدد ممكن من المستخدمين. والعكس صحيح. هذا يتيح لك إدارة الموارد بشكل مستقل لكل مستأجر.
وفقًا لذلك ، نختار الوظائف التي نحتاجها وننشئ مفاتيح المستخدم. سوف S3 / Atmos يكون كافيا بالنسبة لي. ولا تنس حفظ المفتاح ؛)

تم إنشاء المستخدم ، والآن حان الوقت له لتحديد دلو. انتقل إلى إدارة> دلو وقم بملء الحقول المطلوبة. كل شيء بسيط هنا.

نحن الآن على استعداد للاستخدام القتالي الكامل لتخزين S3 الخاص بنا.
تخصيص Veeam
لذلك ، كما نتذكر ، أحد الاستخدامات الرئيسية لتخزين الكائنات هو التخزين طويل الأجل للمعلومات التي نادراً ما يتم الوصول إليها. مثال مثالي هو الحاجة إلى تخزين النسخ الاحتياطية على موقع بعيد. في Veeam Backup & Replication ، تُسمى هذه الميزة السعة Tier.
لنبدأ الإعداد بإضافة Dell ECS CE إلى واجهة Veeam. ضمن علامة التبويب "النسخ الاحتياطي للبنية التحتية" ، قم بتشغيل "معالج إضافة مستودع تخزين جديد" وحدد عنصر "تخزين الكائن".

نختار ما كان كل شيء - S3 متوافق.

في النافذة التي تظهر ، اكتب الاسم المطلوب وانتقل إلى خطوة الحساب. هنا تحتاج إلى تحديد نقطة الخدمة في النموذج https: // your_IP: 9021 ، يمكنك مغادرة المنطقة كما هي وإضافة المستخدم الذي تم إنشاؤه. هناك حاجة إلى خادم بوابة إذا كان موقع التخزين الخاص بك على موقع بعيد ، ولكن هذا هو بالفعل موضوع تحسين البنية التحتية ومقال منفصل ، حتى تتمكن من تخطي بأمان هنا.

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

نذهب من خلال المعالج إلى النهاية والتمتع بالنتيجة.

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

بعد اجتياز المعالج ، إذا كنت لا ترغب في الانتظار ، فيمكنك النقر فوق ctrl + RMB على المستودع ، وإجبار مهمة Tiering على البدء ومشاهدة تتبع الارتباطات.

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