حولت مساحة تخزين سحابية رخيصة إلى قرص محلي بسعة 1 بيتابايت (باستخدام JuiceFS)
BBetter Stack
컴퓨터/소프트웨어AI/미래기술
Transcript
00:00:00هذا هو JuiceFS. إنه نظام ملفات موزع مفتوح المصدر وعالي الأداء، صُمم لتوفير قابلية توسع غير محدودة للتخزين السحابي الكائني مع كامل وظائف وسرعة نظام الملفات المحلي.
00:00:14في هذا الفيديو، سنلقي نظرة على JuiceFS، ونرى كيف يعمل، وسأوضح لك كيف يمكنك إعداد حل تخزين محلي عالي الأداء مرتبط بالشبكة باستخدام JuiceFS.
00:00:24سيكون الأمر ممتعًا للغاية، لذا دعونا نبدأ.
00:00:30أنظمة التخزين الكائني القياسية مثل S3، أو Google Cloud Storage، أو Backblaze B2 فعالة للغاية من حيث التكلفة، لكن التعامل معها يتطلب عادةً واجهات برمجة تطبيقات أو أدوات متخصصة تكسر سير عمل التطبيقات التقليدية.
00:00:48يعمل JuiceFS كطبقة تجريد شفافة.
00:00:51إنه يفصل بياناتك عن البيانات الوصفية (Metadata)، حيث يدفع كتل البيانات الخام مباشرة إلى مزود الخدمة السحابية بينما يدير تخطيط نظام الملفات، والأذونات، وهياكل المجلدات داخل قاعدة بيانات سريعة مثل Redis، أو Postgres، أو TiKV.
00:01:07ما يجعل JuiceFS مختلفًا تمامًا عن بوابات السحابة التقليدية أو مشاركات ملفات الشبكة القياسية هو هذا الفصل المعماري الصارم ومحرك التخزين المؤقت متعدد المستويات القوي الخاص به.
00:01:19بدلاً من إجبار تطبيقاتك على انتظار طلبات الشبكة السحابية ذات زمن الوصول العالي في كل مرة يتم فيها الوصول إلى ملف،
00:01:26يقوم JuiceFS بتقسيم الملفات إلى كتل صغيرة ومحسنة ويستخدم قسم NVMe أو SSD محلي كمساحة تخزين مؤقت سريعة.
00:01:35في المرة الأولى التي يقرأ فيها التطبيق البيانات أو يكتبها، يتواصل عبر الشبكة، ولكن في المرة الثانية التي يتم فيها طلب تلك البيانات، يتم تقديمها فورًا من التخزين المحلي بسرعات أجهزة النظام.
00:01:47يسمح هذا للتطبيقات القديمة، وقواعد البيانات، والتعلم الآلي، وخطوط أنابيب التدريب، وبيئات الحاويات بالعمل مباشرة فوق التخزين الكائني دون إعادة كتابة سطر واحد من التعليمات البرمجية.
00:01:59كل هذا يبدو رائعًا، ولكن دعونا نجربه بأنفسنا ونرى كيف يعمل.
00:02:04لغرض هذا العرض التوضيحي، سأقوم بإعداد وحدة تخزين محلية مرتبطة بالشبكة (NAS)، والتي ستستضيف جميع بياناتي في مساحة S3 البعيدة الخاصة بي وسنستخدم Redis كمحرك للبيانات الوصفية.
00:02:16أول شيء تريد القيام به هو تشغيل مثيل Redis باستخدام Docker ويمكنك القيام بذلك بسهولة باستخدام هذا الأمر.
00:02:24ثم نحتاج إلى تهيئة نظام الملفات عن طريق تشغيل أمر تهيئة JuiceFS.
00:02:29تخبر هذه الخطوة JuiceFS بالضبط بكيفية ربط قاعدة البيانات الخاصة بنا بمساحة التخزين الخاصة بنا.
00:02:34نقوم بتمرير سلسلة اتصال Redis الخاصة بنا، واسم مساحة S3 على AWS، وبيانات اعتماد الوصول السحابي الخاصة بنا.
00:02:41ولكن قبل القيام بكل ذلك، تأكد من إنشاء مساحة S3 ومفتاح وصول ومفتاح سري قبل تشغيل هذا الأمر.
00:02:48لقد قمت بإنشاء خاصتي مسبقًا.
00:02:50لذا الآن عندما أقوم بتشغيل هذا، لا يقوم JuiceFS بتغيير أي شيء داخل مساحة S3 الخاصة بنا حتى الآن.
00:02:56إنه ببساطة يقوم بتهيئة مخطط التخزين داخل Redis وتعيين معرف فريد (UUID) لنظام الملفات الافتراضي الجديد الخاص بنا.
00:03:03وبمجرد اكتمال خطوة التهيئة، نقوم بتركيب الجهاز على جهازنا المحلي باستخدام أمر تركيب JuiceFS.
00:03:10نحن نوجه JuiceFS إلى مثيل Redis الخاص بنا ونقدم مسار دليل محلي.
00:03:15في حالتي، مجلد داخل دليل المستخدم الخاص بي.
00:03:18وقبل تشغيل هذا، هناك تحذير مهم.
00:03:21إذا كنت تستخدم جهاز Mac، ولأن نظام Mac OS لا يدعم أنظمة ملفات مخصصة خارج الصندوق، فأنت بحاجة إلى تثبيت أداة تسمى Mac Fuse أولاً.
00:03:30يوفر هذا خطافات البرامج الأساسية التي يحتاجها JuiceFS للتواصل مع نظام تشغيل Mac.
00:03:37ثم أقوم أيضًا بتوفير هذا العلم مع نسبة المساحة الحرة، لأنه يتم ضبطه افتراضيًا على 20٪ من محرك الأقراص الخاص بك، وهو مرتفع جدًا.
00:03:47وهو يخبر JuiceFS أساسًا أنه إذا انخفض محرك الأقراص المحلي الذي يستضيف ذاكرتك المؤقتة عن نسبة مئوية معينة من سعته الإجمالية،
00:03:55فإنه يحتاج إلى التوقف عن كتابة ملفات مؤقتة جديدة والبدء في مسح أقدم الكتل التي تم الوصول إليها بشكل متكرر.
00:04:01هذا يحافظ على نظام التشغيل المحلي الخاص بك من نفاد مساحة القرص تمامًا.
00:04:05حسنًا.
00:04:06لذا دعونا نشغل هذا الأمر الآن.
00:04:07وبمجرد تنفيذه، يقوم نظام التشغيل بتسجيل تركيب نظام ملفات متوافق مع معايير POSIX.
00:04:15وبالنسبة للكمبيوتر، يبدو الأمر وكأننا قمنا للتو بتوصيل محرك أقراص خارجي ضخم بسعة تيرابايت واحدة من المساحة المتاحة.
00:04:23والآن يمكنني بسهولة سحب الملفات إلى هذا الدليل كما لو كان محرك أقراص خارجي.
00:04:28وإذا انتقلنا الآن إلى لوحة معلومات مساحة S3، نرى أن JuiceFS قد قام بتخزين ملفاتنا وتقسيمها إلى كتل بيانات.
00:04:37وكل هذا يحدث خلف الكواليس ولا يتعين علينا القيام بأي عمل شاق.
00:04:42ولأوضح لك كيفية عمل التخزين المؤقت، سنقوم بقياس أداء نظام الملفات باستخدام أمر المحطة الطرفية الكلاسيكي DD.
00:04:49إذا لم تستخدم DD من قبل، فهي أداة مدمجة تستخدم لنسخ البيانات الخام.
00:04:55وفي هذا الأمر المحدد، تشير IF إلى ملف الإدخال، والذي يشير إلى أحد ملفات الفيديو الكبيرة التي أضفتها إلى محرك أقراص JuiceFS الخاص بنا.
00:05:03وتشير OF إلى ملف الإخراج.
00:05:06ونحن نوجه هذه البيانات مباشرة إلى dev/null، وهي ثقب أسود في نظام التشغيل الخاص بنا الذي يتجاهل البيانات فورًا لأننا لا ننسخ البيانات فعليًا.
00:05:17نحن نقوم فقط بإجراء اختبار أداء في هذا المثال.
00:05:19كما قمنا بتعيين حجم الكتلة إلى أربعة ميجابايت لمطابقة كيفية تقسيم JuiceFS لكتل البيانات.
00:05:25وأخيرًا، قمنا بإلحاق السطر بالكامل بأداة الوقت لنرى بالضبط كم يستغرق نقل الملف.
00:05:32وفي المرة الأولى التي نضغط فيها على Enter، يسمى هذا بالقراءة الباردة لأن الملف تم تحميله للتو.
00:05:38جهازنا المحلي لا يملك نسخة منه بعد.
00:05:41لذا يضطر JuiceFS للوصول عبر الإنترنت إلى مساحة S3 الخاصة بنا، وجلب كل كتل البيانات هذه بحجم أربعة ميجابايت واحدة تلو الأخرى وتدفقها للأسفل.
00:05:50وعلى اتصالي، يستغرق التشغيل الأول، كما ترون، وقتًا طويلاً جدًا.
00:05:55ولكن انظروا ماذا يحدث عندما نشغل نفس الأمر بالضبط في المرة الثانية.
00:05:59بوم.
00:06:00ها قد حصلت على ذلك.
00:06:01تعود مطالبة المحطة الطرفية على الفور تقريبًا.
00:06:03استغرق التشغيل الثاني أقل من ثانية واحدة لأنه موجود الآن في ذاكرتنا المؤقتة ونحن نقرأه بشكل عضوي.
00:06:10هكذا يعمل محرك التخزين المؤقت متعدد المستويات في الواقع.
00:06:14بينما كان JuiceFS مشغولاً بتنزيل تلك الكتل أثناء التشغيل الأول، كان ينسخها بصمت إلى قرص NVMe المحلي الخاص بنا.
00:06:22ولكن في التمريرة الثانية، تجاوز النظام الإنترنت تمامًا، وسحب البيانات مباشرة من سرعات أجهزة النظام المحلية.
00:06:29لذا ستحصل على سعة تخزين سحابية رخيصة وغير محدودة مقترنة بسرعة محرك أقراص محلي بدون زمن وصول.
00:06:37في هذا العرض التوضيحي، استخدمت ملفات فيديو لعرض الوظائف، ولكن هذا ينطبق على أي سيناريو بنية تحتية في العالم الحقيقي.
00:06:45إذا كنت مهندس DevOps تدير بيئات حاويات، يمكنك فقط استخدام JuiceFS لتوفير تخزين دائم مشترك عبر مجموعة Kubernetes.
00:06:54وبدلاً من الدفع مقابل تخزين كتلة سحابي باهظ الثمن لكل عقدة، يمكن لجميع حزم البرامج الخاصة بك تركيب نفس وحدة تخزين JuiceFS في وقت واحد.
00:07:03مشاركة ملفات التكوين، أو أصول التطبيقات، أو تحميلات المستخدمين عالميًا مع الحفاظ على تكاليف منخفضة للغاية.
00:07:10وهو أيضًا مكسب ضخم لخطوط أنابيب التعلم الآلي وعلوم البيانات.
00:07:14لأنه إذا كان لديك مجموعة بيانات ضخمة، لنقل مئات الجيجابايت من صور التدريب أو البيانات النصية الموجودة في مساحة S3، فإن تدريب نموذج تعلم آلي يتطلب عادةً تنزيل مجموعة البيانات بأكملها محليًا أولاً، مما يهدر الوقت ومساحة التخزين.
00:07:30ولكن مع JuiceFS، يمكن لبرنامج التدريب الخاص بك البدء في العمل على الفور.
00:07:35يقرأ خط الأنابيب البيانات تسلسليًا من خلال التركيب ويتعامل JuiceFS مع البث عالي الإنتاجية والتخزين المؤقت المحلي في الخلفية، مما يبقي وحدات معالجة الرسومات الخاصة بك مشبعة تمامًا دون اختناقات التخزين المحلي.
00:07:49وهناك شيء آخر رائع أريد أن أريك إياه.
00:07:51يمكنك أيضًا ربط المقاييس بسهولة بنظام الملفات الخاص بك باستخدام Better Stack.
00:07:55في كل مرة تقوم فيها بتركيب وحدة تخزين JuiceFS، فإنه يقوم بصمت بتشغيل خادم مقاييس متوافق مع Prometheus في الخلفية.
00:08:03إذا فتحت متصفحك وذهبت إلى هذا الرابط، يمكنك رؤية جميع المقاييس هنا كنص عادي، والتي تتتبع كل ضربة ذاكرة مؤقتة، ومدة القراءة، وأخطاء طلبات S3 في الوقت الفعلي.
00:08:13ولإرسال بيانات القياس هذه مباشرة إلى لوحة التحكم الخاصة بنا، يمكننا استخدام ميزة كشط Prometheus الأصلية في Better Stack.
00:08:21أولاً، نحتاج إلى الانتقال إلى المصادر وتوصيل JuiceFS كمصدر.
00:08:25ولنختر كشط Prometheus من علامة تبويب المقاييس ونضغط على توصيل المصدر.
00:08:31الآن نحتاج إلى استيعاب سجلاتنا.
00:08:33ولكن قبل القيام بذلك، نحتاج إلى فتح نفق عام آمن لمنفذ المقاييس المحلي الخاص بنا باستخدام أداة مثل ngrok ثم لصق رابط ngrok الخاص بنا.
00:08:43ولكن لجعله يعمل مع ngrok، نحتاج أيضًا إلى الانتقال إلى الخيارات المتقدمة وإضافة رأس HTTP مخصص باسم ngrok-skip-browser-warning وتعيينه على true.
00:08:53وهذا يخبر ngrok بتجاوز صفحة التحذير تمامًا، مما يسمح لـ Better Stack بكشط المقاييس الخام بأمان كل بضع ثوانٍ.
00:09:01والآن يجب أن تبدأ مقاييسنا في الاستيعاب تلقائيًا.
00:09:05ودعني أريك الجزء الأكثر روعة.
00:09:07إذا انتقلنا الآن إلى AI SRE في Better Stack، يمكننا فقط مطالبة الذكاء الاصطناعي بإنشاء لوحة تحكم تراقب أداء الذاكرة المؤقتة أو زمن الوصول وإنتاجية نظامنا.
00:09:19وفي غضون بضع ثوانٍ، سيقوم الذكاء الاصطناعي بإنشاء لوحة تحكم مخصصة وجميلة لنا مع جميع المقاييس القادمة من JuiceFS.
00:09:27ويمكننا أيضًا رؤية أنها يتم تحديثها في الوقت الفعلي.
00:09:32إذن، ما مدى روعة ذلك؟
00:09:34آمل أن يوضح لك هذا العرض التوضيحي الصغير مدى قوة JuiceFS عندما تجمعه مع مراقبة البنية التحتية الحديثة.
00:09:41لقد تمكنا من أخذ مساحة تخزين سحابية قياسية رخيصة، وتحويلها إلى محرك أقراص محلي قابل للتوسع بشكل غير محدود يعمل بسرعات أجهزة النظام وربطه بلوحة معلومات مراقبة مؤتمتة بالكامل في بضع دقائق فقط.
00:09:57إذن ها قد حصلت على ذلك يا رفاق.
00:09:58هذا هو JuiceFS باختصار.
00:10:00ما رأيك في JuiceFS؟
00:10:02هل جربته؟
00:10:03هل ستستخدمه؟
00:10:04أخبرنا في قسم التعليقات أدناه.
00:10:06ويا رفاق، إذا أعجبتكم هذه الأنواع من التحليلات الفنية، يرجى إخباري عن طريق الضغط على زر الإعجاب أسفل الفيديو.
00:10:12وأيضًا لا تنسوا الاشتراك في قناتنا.
00:10:15كان هذا أندروس من BetterStack، وسأراكم في الفيديوهات القادمة.
Community Posts
No posts yet. Be the first to write about this video!
Write about this video