نشر نظام ملفات Lustre Parallel File System على Google Cloud Platform

1. نظرة عامة

مرحبًا بك في Google Codelab لتشغيل مجموعة Lustre Parallel file system على Google Cloud Platform.

d51beef5f729cbe9.png

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

لطالما كانت مراكز HPC تستوفي هذه الحاجة على الموقع باستخدام تقنيات مثل نظام الملفات الموازٍ Lustre. Lustre هي إحدى حلول التخزين العالية الأداء ومفتوحة المصدر الأكثر رواجًا اليوم، ومنذ حزيران (يونيو) 2005، تم استخدامها باستمرار من قِبل نصف أسرع عشرة أجهزة كمبيوتر عملاقة على الأقل، وأكثر من 60 من أسرع 100 جهاز كمبيوتر عملاق في العالم. يمكن لنظام Lustre توسيع سعة التخزين إلى مئات وحدات بيتابايت، وتقديم أفضل أداء ممكن لوظائف HPC، مع أنظمة توفّر معدل نقل بيانات يبلغ تيرابايت في الثانية في مساحة اسم واحدة.

لتلبية الطلب على مساحة التخزين، اتّبعت Google Cloud طريقتَين. أولاً، عقدت Google Cloud شراكة مع DDN لتوفير برنامج DDN EXAScaler Lustre المتوافق من فئة المؤسسات في "سوق Google Cloud". ثانيًا، طوّر مهندسونا في Google Cloud مجموعة من النصوص البرمجية ونشروها لضبط مجموعة تخزين Lustre ونشرها بسهولة على Google Compute Engine باستخدام أداة "إدارة عمليات النشر" في Google Cloud.

يمكن لنظام Lustre على Google Cloud Platform تحقيق أقصى أداء للبنية الأساسية التي يعمل عليها. يُعدّ أداؤه على Google Cloud Platform جيدًا جدًا، ما أدّى إلى حصوله على المركز الثامن في مقياس أداء نظام التخزين IO-500 في عام 2019 مع شريكنا DDN، ما يمثّل أعلى ترتيب لنظام الملفات المستنِد إلى السحابة الإلكترونية في مقياس IO-500. سنرشدك اليوم إلى كيفية نشر النصوص البرمجية لإدارة عمليات النشر في "الرمز البرمجي المفتوح" لنظام Lustre. إذا كنت مهتمًا بتجربة Lustre مُعدَّة للمؤسسات، مع دعم من خبراء Lustre لسلسلة Lustre، بالإضافة إلى ميزات مثل واجهة مستخدم لإدارة ومراقبة أو إعدادات Lustre، ننصحك بالاطّلاع على عروض DDN EXAScaler Marketplace.

المُعطيات

  • كيفية استخدام خدمة Deployment Manager في Google Cloud Platform
  • كيفية ضبط إعدادات نظام ملفات Lustre ونشره على Google Cloud Platform
  • كيفية ضبط تقسيم البيانات واختبار عمليات الإدخال/الإخراج البسيطة في نظام ملفات Lustre

المتطلبات الأساسية

  • حساب على Google Cloud Platform ومشروع يتضمّن ميزة الفوترة
  • خبرة أساسية في استخدام نظام التشغيل Linux

2. ضبط إعدادات الجهاز

إعداد البيئة حسب السرعة التي تناسبك

إنشاء مشروع

إذا لم يكن لديك حساب على Google (Gmail أو G Suite)، عليك إنشاء حساب. سجِّل الدخول إلى وحدة تحكّم Google Cloud Platform ( console.cloud.google.com) وافتح صفحة "إدارة الموارد":

359c06e07e6d699f.png

انقر على إنشاء مشروع.

25c23d651abb837b.png

أدخِل اسم مشروع. تذكَّر رقم تعريف المشروع (المميّز باللون الأحمر في لقطة الشاشة أعلاه). يجب أن يكون معرّف المشروع اسمًا فريدًا في جميع مشاريع Google Cloud. إذا لم يكن اسم مشروعك فريدًا، ستنشئ Google Cloud رقم تعريف مشروع عشوائيًا استنادًا إلى اسم المشروع.

بعد ذلك، عليك تفعيل الفوترة في Developers Console لاستخدام موارد Google Cloud.

من المفترض ألا تتجاوز تكلفة تنفيذ هذا الدليل التعليمي بضعة دولارات، ولكن قد تزيد هذه التكلفة إذا قرّرت استخدام المزيد من الموارد أو إذا تركت الدليل التعليمي قيد التشغيل (راجِع قسم "الخاتمة" في نهاية هذا المستند). تتوفّر حاسبة أسعار Google Cloud Platform هنا.

المستخدمون الجدد في Google Cloud Platform مؤهّلون للاستفادة من فترة تجريبية مجانية بقيمة 300 دولار أمريكي.

Google Cloud Shell

على الرغم من أنّه يمكن تشغيل Google Cloud عن بُعد من الكمبيوتر المحمول، سنستخدم في هذا الدليل التعليمي Google Cloud Shell، وهي بيئة سطر أوامر تعمل في السحابة الإلكترونية.

تشغيل Google Cloud Shell

من وحدة تحكّم Google Cloud Platform، انقر على رمز Cloud Shell في شريط الأدوات العلوي الأيسر:

dbad104cef962719.png

بعد ذلك، انقر على بدء Cloud Shell:

4e50db320508ac88.png

ينبغي ألا تستغرق إدارة الحسابات والاتصال بالبيئة أكثر من بضع لحظات.

20b0aa80492144d.png

يتم تحميل هذه الآلة الافتراضية مزوّدة بكل أدوات التطوير التي ستحتاج إليها. ويقدّم هذا الدليل دليلاً منزليًا دائمًا بسعة 5 غيغابايت، ويتم تشغيله على Google Cloud، ما يعزّز أداء الشبكة بشكل كبير ويبسّط عملية المصادقة. يمكن تنفيذ الكثير من عملك في هذا المختبر، إن لم يكن كلّه، باستخدام متصفّح ويب أو جهاز Chromebook من Google.

بعد الاتصال بقشرة السحابة الإلكترونية، من المفترض أن تظهر لك رسالة تفيد بأنّه سبق أن تم مصادقة بيانات اعتمادك وأنّه سبق أن تم ضبط المشروع على PROJECT_ID:

$ gcloud auth list

ناتج الأمر:

Credentialed accounts:
 - <myaccount>@<mydomain>.com (active)
$ gcloud config list project

ناتج الأمر:

[core]
project = <PROJECT_ID>

إذا لم يتم ضبط رقم تعريف المشروع بشكل صحيح، يمكنك ضبطه باستخدام الأمر التالي:

$ gcloud config set project <PROJECT_ID>

ناتج الأمر:

Updated property [core/project].

3- إعداد ومراجعة إعدادات نشر Lustre

تنزيل نصوص Lustre Deployment Manager البرمجية

في جلسة Cloud Shell، نفِّذ الأمر التالي لنسخ (تنزيل) مستودع Git الذي يحتوي على ملفات Lustre for Google Cloud Platform deployment-manager:

git clone https://github.com/GoogleCloudPlatform/deploymentmanager-samples.git

انتقِل إلى دليل إعدادات نشر Lustre من خلال تنفيذ الأمر التالي:

cd deploymentmanager-samples/community/lustre/

ضبط ملف YAML لنشر Lustre

يستخدم Deployment Manager ملف YAML لتوفير إعدادات النشر. يوضّح ملف YAML هذا تفاصيل عملية النشر، مثل إصدار Lustre المطلوب نشره وأنواع مثيلات الأجهزة المطلوب نشرها. تم ضبط الملف تلقائيًا للنشر في مشروع جديد بدون أي زيادات في الحصة، ولكن يمكنك تغيير نوع الجهاز أو السعة على النحو المطلوب في هذا الدليل التعليمي. تمّ كتابة ورشة رموز البرامج هذه لاستخدام هذه الإعدادات التلقائية، لذا إذا أجريت أي تغييرات، عليك تطبيقها على مستوى ورشة رموز البرامج هذه لتجنّب حدوث أخطاء. في مرحلة الإنتاج، ننصحك باستخدام مثيل يضمّ 32 وحدة معالجة مركزية افتراضية على الأقلّ لعقدة MDS، ومثيل يضمّ 8 أو 16 وحدة معالجة مركزية افتراضية على الأقلّ لعقد OSS، وذلك استنادًا إلى سعة التخزين ونوعه.

لمراجعة ملف YAML أو تعديله في جلسة Cloud Shell، افتح ملف YAML لإعدادات النشر Lustre-cluster.yaml. يمكنك استخدام محرِّر سطر الأوامر المفضّل لديك (vi أو nano أو emacs أو غير ذلك) أو استخدام "محرِّر الرموز البرمجية" في Cloud Console لعرض محتوى الملف:

11efd5af658f1842.png

ستظهر محتويات الملف على النحو التالي:

# [START cluster_yaml]
imports:
- path: lustre.jinja

resources:
- name: lustre
  type: lustre.jinja
  properties:
    ## Cluster Configuration
    cluster_name            : lustre
    zone                    : us-central1-f
    cidr                    : 10.20.0.0/16
    external_ips            : True
    ### Use these fields to deploy Lustre in an existing VPC, Subnet, and/or Shared VPC
    #vpc_net                 : < VPC Network Name >
    #vpc_subnet              : < VPC Subnet Name >
    #shared_vpc_host_proj    : < Shared VPC Host Project name >

    ## Filesystem Configuration
    fs_name                 : lustre
    ### Review https://downloads.whamcloud.com/public/ to determine version naming
    lustre_version          : latest-release
    e2fs_version            : latest

    ## Lustre MDS/MGS Node Configuration
    #mds_node_count          : 1
    mds_ip_address          : 10.20.0.2
    mds_machine_type        : n1-standard-8
    ### MDS/MGS Boot disk
    mds_boot_disk_type      : pd-standard
    mds_boot_disk_size_gb   : 10
    ### Lustre MetaData Target disk
    mdt_disk_type           : pd-ssd
    mdt_disk_size_gb        : 1000

    ## Lustre OSS Configuration
    oss_node_count          : 4
    oss_ip_range_start      : 10.20.0.5
    oss_machine_type        : n1-standard-4
    ### OSS Boot disk
    oss_boot_disk_type      : pd-standard
    oss_boot_disk_size_gb   : 10
    ### Lustre Object Storage Target disk
    ost_disk_type           : pd-standard
    ost_disk_size_gb        : 5000
#  [END cluster_yaml]

يتضمّن ملف YAML هذا عدة حقول. الحقول أدناه التي تحمل علامة نجمية (*) مطلوبة. وتشمل هذه الحقول ما يلي:

إعدادات المجموعة

  • cluster_name* - اسم مجموعة Lustre، يتم إضافته في بداية جميع الموارد المنشورة
  • zone* - المنطقة التي سيتم نشر المجموعة فيها
  • ‫cidr* - نطاق عنوان IP بتنسيق CIDR
  • ‫external_ips* - صحيح/خطأ، تحتوي عقد Lustre على عناوين IP خارجية. إذا كانت القيمة خطأ، يتم إعداد Cloud NAT كمدخل NAT.
  • vpc_net: حدِّد هذا الحقل وحقل vpc_subnet لنشر مجموعة Lustre في سحابة VPC حالية.
  • vpc_subnet: شبكة VPC الفرعية الحالية لنشر مجموعة Lustre عليها
  • shared_vpc_host_proj: حدِّد هذا الحقل، بالإضافة إلى حقلَي vpc_net وvpc_subnet، لنشر المجموعة في شبكة VPC مشتركة.

إعدادات نظام الملفات

  • fs_name: اسم نظام ملفات Lustre
  • lustre_version: إصدار Lustre المطلوب نشره. استخدِم "latest-release" لنشر أحدث إصدار من https://downloads.whamcloud.com/public/lustre/ أو lustre-X.X.X لنشر أي إصدارات أخرى.
  • ‫e2fs_version: إصدار E2fsprogs المطلوب نشره. استخدِم "latest" لنشر أحدث إصدار من https://downloads.whamcloud.com/public/e2fsprogs/ أو X.XX.X.wcX لنشر أي إصدارات أخرى.

إعداد MDS/MGS

  • mds_ip_address: عنوان IP الداخلي الذي يجب تحديده لعقدة MDS/MGS
  • mds_machine_type: نوع الجهاز المراد استخدامه لعقدة MDS/MGS (اطّلِع على https://cloud.google.com/compute/docs/machine-types)
  • mds_boot_disk_type: نوع القرص المراد استخدامه لقرص التمهيد في MDS/MGS (pd-standard أو pd-ssd)
  • mds_boot_disk_size_gb - حجم قرص تشغيل MDS بالغيغابايت
  • mdt_disk_type* - نوع القرص الذي سيتم استخدامه لقرص "استهداف البيانات الوصفية" (MDT) (pd-standard أو pd-ssd أو local-ssd)
  • mdt_disk_size_gb* - حجم قرص MDT بالكيلوبايت

إعدادات OSS

  • oss_node_count* - عدد عقد "خادم تخزين العناصر" (OSS) المطلوب إنشاؤها
  • oss_ip_range_start: بداية نطاق IP لعقد OSS في حال عدم تحديده، يتم استخدام عملية منح عنوان IP تلقائيًا.
  • oss_machine_type: نوع الجهاز المراد استخدامه لعقد OSS
  • oss_boot_disk_type: نوع القرص الذي سيتم استخدامه لقرص التمهيد في OSS (pd-standard أو pd-ssd)
  • oss_boot_disk_size_gb - حجم قرص التمهيد في MDS بالكيلوبايت
  • ost_disk_type* - نوع القرص المراد استخدامه لقرص "هدف مساحة تخزين العناصر" (OST) (pd-standard أو pd-ssd أو local-ssd)
  • ost_disk_size_gb* - حجم قرص OST بالكيلوبايت

4. نشر الإعدادات والتأكّد منها

نشر الإعدادات

في جلسة Cloud Shell، نفِّذ الأمر التالي من مجلد Lustre-gcp:

gcloud deployment-manager deployments create lustre --config lustre.yaml

يؤدي هذا الأمر إلى إنشاء عملية نشر باسم Lustre. قد يستغرق اكتمال العملية مدة تتراوح بين 10 و20 دقيقة، لذا يُرجى الانتظار.

بعد اكتمال عملية النشر، ستظهر لك نتيجة مشابهة لما يلي:

Create operation operation-1572410719018-5961966591cad-e25384f6-d4c905f8 completed successfully.
NAME                                TYPE                   STATE      ERRORS  INTENT
lustre-all-internal-firewall-rule  compute.v1.firewall    COMPLETED  []
lustre-lustre-network              compute.v1.network     COMPLETED  []
lustre-lustre-subnet               compute.v1.subnetwork  COMPLETED  []
lustre-mds1                        compute.v1.instance    COMPLETED  []
lustre-oss1                        compute.v1.instance    COMPLETED  []
lustre-oss2                        compute.v1.instance    COMPLETED  []
lustre-oss3                        compute.v1.instance    COMPLETED  []
lustre-oss4                        compute.v1.instance    COMPLETED  []
lustre-ssh-firewall-rule           compute.v1.firewall    COMPLETED  []

التحقّق من عملية النشر

5f2a0557d3f2476f.png

اتّبِع الخطوات التالية لعرض عملية النشر في "وحدة تحكّم Google Cloud Platform":

  • في Cloud Platform Console، افتح قائمة المنتجات والخدمات في أعلى يمين وحدة التحكّم (ثلاثة خطوط أفقية).
  • انقر على مدير عمليات النشر.
  • انقر على Lustre للاطّلاع على تفاصيل عملية النشر.
  • انقر على نظرة عامة - Lustre. تعرِض لوحة خصائص النشر إعدادات النشر العامة.
  • انقر على عرض في موقع الإعداد. تعرِض لوحة الإعداد محتويات ملف YAML لإعدادات النشر الذي تم تعديله سابقًا. يُرجى التأكّد من صحة المحتوى قبل المتابعة. إذا كنت بحاجة إلى تغيير إعدادات النشر، ما عليك سوى حذف عملية النشر وفقًا للخطوات الواردة في "تنظيف عملية النشر"، ثم إعادة تشغيل عملية النشر وفقًا للخطوات الواردة في "ضبط ملف Lustre Deployment YAML".
  • (اختياري) ضمن قسم Lustre-cluster، انقر على كلّ من الموارد التي أنشأها نموذج Lustre.jinja وراجِع التفاصيل.

بعد التحقّق من إعدادات عملية النشر، لنتأكّد من بدء تشغيل نُسخ المجموعة. في Cloud Platform Console، في قائمة المنتجات والخدمات، انقر على Compute Engine > حالات VM.

aec8498e04a3c334.png

في صفحة مثيلات الأجهزة الافتراضية، راجِع مثيلات الأجهزة الافتراضية الخمسة التي أنشأها مدير عمليات النشر. ويشمل ذلك lustre-mds1 وlustre-oss1 وlustre-oss2 وlustre-oss3 وlustre-oss4.

5- الوصول إلى مجموعة Lustre

مراقبة عملية التثبيت

في صفحة "مثيلات الأجهزة الافتراضية"، انقر على lustre-mds1 لفتح صفحة "تفاصيل المثيل".

ba0bea7acdbb9527.png

انقر على منفذ تسلسلي 1 (وحدة التحكّم) لفتح صفحة إخراج وحدة التحكّم التسلسلي. سنستخدم هذا الإخراج التسلسلي لتتبُّع عملية تثبيت مثيل MDS والانتظار إلى أن يكتمل نص التشغيل. انقر على الزر "تحديث" في أعلى الصفحة لتعديل الإخراج التسلسلي. ستتم إعادة تشغيل العقدة مرة واحدة لبدء تشغيل نواة Lustre، وسيتم عرض رسائل مشابهة لما يلي:

Startup finished in 838ms (kernel) + 6.964s (initrd) + 49.302s (userspace) = 57.105s.
Lustre: lustre-MDT0000: Connection restored to 374e2d80-0b31-0cd7-b2bf-de35b8119534 (at 0@lo)

يعني هذا أنّه تم تثبيت Lustre على مجموعة Lustre، وأصبح نظام الملفات جاهزًا للاستخدام.

الوصول إلى مجموعة Lustre

في جلسة Cloud Shell، انقر على الزر SSH بجانب مثيل lustre-mds1 في Google Cloud Console. بدلاً من ذلك، يمكنك تنفيذ الأمر التالي في Cloud Shell، مع استبدال <ZONE> بمنطقة عقدة lustre-mds1:

gcloud compute ssh lustre-mds1 --zone=<ZONE>

يسجِّل هذا الأمر الدخول إلى الجهاز الافتراضي lustre-mds1. هذا هو مثيل Lustre Metadata Server (MDS)، الذي يعمل أيضًا مثيل Lustre Management Server (MGS). تعالج هذه النسخة جميع طلبات المصادقة والبيانات الوصفية لنظام الملفات.

لنثبِّت نظام الملفات على مثيل lustre-mds1 لنتمكّن من اختباره لاحقًا. نفِّذ الأوامر التالية:

sudo mkdir /mnt/lustre
sudo mount -t lustre lustre-mds1:/lustre /mnt/lustre
cd /mnt/lustre

تؤدي هذه الأوامر الثلاثة ثلاثة إجراءات. ينشئ الأمر الأول دليلاً محليًا سنستخدمه كنقطة ربط في "‎/mnt/lustre". يُشغِّل الأمر الثاني الأمر "mount" لتركيب نظام الملفات من النوع "lustre"، والذي يقع على خادم lustre-mds1، ويكون اسم نظام الملفات فيه "lustre"، ويُعرَف باسم "‎/lustre". يعمل الأمر mount على تثبيت نظام ملفات Lustre في الدليل المحلي "‎/mnt/lustre". أخيرًا، يغيّر الأمر الثالث الدليل إلى الدليل ‎ /mnt/lustre، حيث يتم تثبيت Lustre.

لقد ثبَّت الآن نظام ملفات Lustre في ‎ /mnt/lustre. لنلقِ نظرة على الإجراءات التي يمكننا اتّخاذها بشأن نظام الملفات هذا.

6- جولة في أدوات Lustre CLI

إذا لم تكن على دراية ببرنامج Lustre وأدواته، سنشرح لك هنا بعض الأوامر المهمة.

أداة إدارة المجموعات من المستوى الأدنى في Lustre هي "lctl". يمكننا استخدام lctl لضبط مجموعة Lustre وإدارتها، وعرض خدمات مجموعة Lustre. للاطّلاع على الخدمات والحالات في مجموعة Lustre الجديدة، نفِّذ:

sudo lctl dl

ستظهر لك نتيجة مشابهة لما يلي، استنادًا إلى التغييرات التي أجريتها على ملف إعدادات Lustre بتنسيق YAML:

  0 UP osd-ldiskfs lustre-MDT0000-osd lustre-MDT0000-osd_UUID 11
  1 UP mgs MGS MGS 12
  2 UP mgc MGC10.128.15.2@tcp 374e2d80-0b31-0cd7-b2bf-de35b8119534 4
  3 UP mds MDS MDS_uuid 2
  4 UP lod lustre-MDT0000-mdtlov lustre-MDT0000-mdtlov_UUID 3
  5 UP mdt lustre-MDT0000 lustre-MDT0000_UUID 12
  6 UP mdd lustre-MDD0000 lustre-MDD0000_UUID 3
  7 UP qmt lustre-QMT0000 lustre-QMT0000_UUID 3
  8 UP lwp lustre-MDT0000-lwp-MDT0000 lustre-MDT0000-lwp-MDT0000_UUID 4
  9 UP osp lustre-OST0000-osc-MDT0000 lustre-MDT0000-mdtlov_UUID 4
 10 UP osp lustre-OST0002-osc-MDT0000 lustre-MDT0000-mdtlov_UUID 4
 11 UP osp lustre-OST0001-osc-MDT0000 lustre-MDT0000-mdtlov_UUID 4
 12 UP osp lustre-OST0003-osc-MDT0000 lustre-MDT0000-mdtlov_UUID 4

يظهر لنا خادم إدارة Lustre (MGS) كالعنصر 1، وخادم البيانات الوصفية Lustre (MDS) كالعنصر 3، وهدف البيانات الوصفية Lustre (MDT) كالعنصر 5، وخوادم تخزين العناصر Lustre الأربعة (OSS) كالعناصر من 8 إلى 12. للتعرّف على الخدمات الأخرى، يُرجى مراجعة دليل Lustre.

أداة ضبط نظام الملفات في Lustre هي "lfs". يمكننا استخدام lfs لإدارة تقسيم الملفات على خوادم Lustre Object Storage (OSS) وأهداف Object Storage (OST) ذات الصلة، بالإضافة إلى تنفيذ عمليات نظام الملفات الشائعة مثل find وdf وإدارة الحصة.

يسمح لنا تقسيم البيانات بضبط كيفية توزيع ملف على مجموعة Lustre لتحقيق أفضل أداء ممكن. على الرغم من أنّ تقسيم ملف كبير على أكبر عدد ممكن من خدمات OSS غالبًا ما يحقّق أفضل أداء من خلال مزامنة عمليات I/O، قد يؤدي تقسيم ملف صغير إلى أداء أسوأ مما لو تمّت كتابة هذا الملف في مثيل واحد فقط.

لاختبار ذلك، لنعدّ دليلَين، أحدهما يتضمّن عددًا من الأقسام المتسلسلة يساوي وحدة تخزين سحابي عام واحدة، والآخر يتضمّن عددًا من الأقسام المتسلسلة يساوي "-1"، ما يشير إلى أنّه يجب تقسيم الملفات المكتوبة في هذا الدليل على أكبر عدد ممكن من وحدات التخزين السحابي العام. يمكن أن تحتوي الأدلة على إعدادات تقسيم ترثها الملفات التي يتم إنشاؤها فيها، ولكن يمكن بعد ذلك ضبط الأدلة الفرعية والملفات الفردية ضمن هذا الدليل لتقسيمها بشكل مختلف إذا أردت ذلك. لإنشاء هذين الدليلَين، نفِّذ الأوامر التالية أثناء الانتقال إلى الدليل "‎/mnt/lustre":

sudo mkdir stripe_one
sudo mkdir stripe_all
sudo lfs setstripe -c 1 stripe_one/
sudo lfs setstripe -c -1 stripe_all/

يمكنك عرض إعدادات الخطوط في ملف أو دليل باستخدام lfs getstripe:

sudo lfs getstripe stripe_all/

سيظهر لك الناتج الذي يعرض عدد الأشرطة الذي تم ضبطه على -1:

stripe_all/
stripe_count:  -1 stripe_size:   1048576 pattern:    raid0 stripe_offset: -1

نحن الآن جاهزون لاختبار تحسينات الأداء التي يمكن تحقيقها من خلال كتابة ملف كبير مُقسَّم على أنظمة تشغيل سحابي مفتوحة المصدر متعددة.

7- اختبار I/O في Lustre

سنُجري اختبارَين بسيطَين لوحدة الإدخال/الإخراج Lustre لإظهار مزايا الأداء المحتملة وإمكانات التوسيع لنظام ملفات Lustre. أولاً، سنُجري اختبارًا بسيطًا باستخدام الأداة "dd" لكتابة ملف بسعة 5 غيغابايت في الدليل "stripe_one". نفِّذ الأمر التالي:

sudo dd if=/dev/zero of=stripe_one/test bs=1M count=5000

تستغرق عملية كتابة 5 غيغابايت من البيانات في نظام الملفات حوالي 27 ثانية في المتوسط، ويتم الكتابة على قرص دائم (PD) واحد على خادم تخزين عناصر واحد (OSS).

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

sudo dd if=/dev/zero of=stripe_all/test bs=1M count=5000

يُرجى العِلم أنّنا غيّرنا "of=stripe_one/test" إلى "of=stripe_all/test". سيسمح ذلك لميزة "الكتابة في بث واحد" بتوزيع عمليات الكتابة على جميع "خوادم تخزين العناصر" وإكمال عملية الكتابة في 5.5 ثانية في المتوسط، أي أسرع بمقدار 4 مرات تقريبًا باستخدام أربعة "خوادم تخزين عناصر".

ويستمر هذا الأداء في الزيادة عند إضافة خوادم تخزين العناصر، ويمكنك إضافة خوادم تخزين العناصر مع نظام الملفات على الإنترنت والبدء في تقسيم البيانات إليها لزيادة السعة والأداء على الإنترنت. تتوفّر إمكانيات لا حصر لها باستخدام Lustre على Google Cloud Platform، ونحن متحمّسون لمعرفة ما يمكنك إنشاؤه والمشاكل التي يمكنك حلّها.

8. الخاتمة

تهانينا، لقد أنشأت مجموعة Lustre على Google Cloud Platform. يمكنك استخدام النصوص البرمجية هذه كنقطة بداية لإنشاء مجموعة Lustre الخاصة بك، ودمجها مع مجموعة الحوسبة المستندة إلى السحابة الإلكترونية.

إخلاء مساحة النشر

تسجيل الخروج من عقدة Lustre:

exit

يمكنك بسهولة إزالة عملية النشر بعد الانتهاء من تنفيذ الأمر التالي من Google Cloud Shell، بعد تسجيل الخروج من مجموعة Lustre:

gcloud deployment-manager deployments delete lustre

اكتب Y للمتابعة عندما يُطلب منك ذلك. يمكن أن تستغرق هذه العملية بعض الوقت، لذا يُرجى الانتظار.

حذف المشروع

لتنظيف المساحة، ما عليك سوى حذف مشروعك.

  • في قائمة التنقّل، اختَر "إدارة الهوية وإمكانية الوصول والمشرف".
  • بعد ذلك، انقر على "الإعدادات" في القائمة الفرعية.
  • انقر على رمز المهملات الذي يظهر عليه النص "حذف المشروع".
  • اتّبِع التعليمات الواردة في الرسائل.

المواضيع التي تناولناها

  • كيفية استخدام خدمة Deployment Manager في Google Cloud Platform
  • كيفية ضبط إعدادات نظام ملفات Lustre ونشره على Google Cloud Platform
  • كيفية ضبط تقسيم البيانات واختبار عمليات الإدخال/الإخراج البسيطة في نظام ملفات Lustre

الحصول على الدعم

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

مزيد من المعلومات

ملاحظات

يُرجى إرسال ملاحظاتك حول هذا الدرس التطبيقي حول الترميز باستخدام هذا الرابط. يستغرق إكمال الملاحظات أقل من 5 دقائق. شكرًا