פריסה של Lustre Parallel File System ב-GCP

1. סקירה כללית

ברוכים הבאים ל-Google Codelab להפעלת אשכול של מערכת קבצים מקבילה של Lustre ב-Google Cloud Platform.

d51beef5f729cbe9.png

נתונים הם חלק מרכזי מהפעילות של מחשוב עתיר ביצועים (HPC), וגישה לכמות גדולה של נתונים במהירויות גבוהות מאוד ובזמני אחזור נמוכים תמיד הייתה האתגר המרכזי בהרצת עומסי עבודה של HPC. הדרישה הזו לאחסון עם ביצועים גבוהים לא השתנתה בענן, ובעצם היכולת לנצל כמויות גדולות של אחסון במהירות ובקלות הפכה לחשובה ביותר.

מרכזים לבקרת HPC כבר מזמן. Lustre הוא אחד מפתרונות האחסון בעלי הביצועים הטובים ביותר בקוד פתוח כיום, ומאז יוני 2005 משתמשים בו באופן עקבי לפחות על ידי חצי מעשרת מחשבי-העל המובילים, ויותר מ-60 מתוך 100 מחשבי-העל המהירים בעולם. Lustre יכול להתאים לקיבולת של עד מאות PB ולספק ביצועים מקסימליים למשימות של HPC, באמצעות מערכות שמספקות תפוקה של TB/s במרחב שמות יחיד.

כדי לענות על הביקוש לאחסון, ב-Google Cloud נקטו בשתי גישות. קודם כל, GCP פועל בשיתוף עם DDN כדי להביא ל-GCP Marketplace את תוכנת DDN EXAScaler Lustre הנתמכת ברמה הארגונית. בנוסף, המהנדסים שלנו ב-Google Cloud פיתחו ובקוד פתוח קבוצת סקריפטים כדי להגדיר ולפרוס בקלות אשכול אחסון של Lustre ב-Google Compute Engine באמצעות Google Cloud Deployment Manager.

Lustre ב-Google Cloud Platform מסוגל לספק את הביצועים המקסימליים של התשתית שבה הוא פועל. הביצועים שלו ב-GCP טובים כל כך עד שהוא מדורג במקום השמיני בבנצ'מרק של מערכת האחסון IO-500 לשנת 2019 עם השותף שלנו DDN, שמייצג את מערכת הקבצים מבוססת-הענן בדירוג IO-500 עם הדירוג הגבוה ביותר. היום נסביר איך לפרוס את הסקריפטים של Open Source Deployment Manager ל-Lustre. אם אתם רוצים ליהנות מחוויית Lustre מוקשחת ברמת הארגון, עם תמיכה של מומחי Lustre לאשכולות Lustre, וגם תכונות כמו ממשק משתמש גרפי לניהול ולמעקב או התאמות של Lustre, מומלץ לבדוק את החבילה של DDN EXAScaler Marketplace.

מה תלמדו

  • איך משתמשים ב-GCP Deployment Manager
  • איך להגדיר ולפרוס מערכת קבצים של Lustre ב-GCP.
  • איך מגדירים פיסול ובודקים קלט/פלט פשוט למערכת הקבצים Lustre.

דרישות מוקדמות

  • חשבון Google Cloud Platform ופרויקט עם חיוב
  • ניסיון בסיסי ב-Linux

2. הגדרה

הגדרת סביבה בקצב אישי

יוצרים פרויקט

אם אין לכם עדיין חשבון Google (Gmail או G Suite), עליכם ליצור חשבון. נכנסים למסוף Google Cloud Platform‏ (console.cloud.google.com) ופותחים את הדף Manage resources:

359c06e07e6d699f.png

לוחצים על Create Project.

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, סביבת שורת פקודה שפועלת ב-Cloud.

הפעלת Google Cloud Shell

ממסוף GCP, לוחצים על הסמל של Cloud Shell בסרגל הכלים שבפינה השמאלית העליונה:

dbad104cef962719.png

לאחר מכן לוחצים על Start Cloud Shell:

4e50db320508ac88.png

התהליך של הקצאה והתחברות לסביבה נמשך רק כמה רגעים:

20b0aa80492144d.png

המכונה הווירטואלית הזו כוללת את כל הכלים הדרושים למפתחים. יש בה ספריית בית בנפח מתמיד של 5GB והיא פועלת ב-Google Cloud, וכך משפרת משמעותית את ביצועי הרשת ומפשטת את האימות. אם לא את כולן, ניתן לבצע חלק גדול מהעבודה בשיעור ה-Lab הזה באמצעות דפדפן אינטרנט או מכשיר Google Chromebook.

אחרי החיבור ל-Cloud Shell, אתם אמורים לראות שכבר בוצע אימות ושהפרויקט כבר מוגדר לפי הפרויקט 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 ל-Google Cloud Platform:

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

כדי לעבור לספריית ההגדרות של הפריסה של Lustre, מריצים את הפקודה הבאה:

cd deploymentmanager-samples/community/lustre/

הגדרת קובץ YAML לפריסה של Lustre

Deployment Manager משתמש בקובץ YAML כדי לספק תצורת פריסה. קובץ ה-YAML הזה מכיל פרטים על תצורת הפריסה, כמו גרסת Lustre לפריסה וסוגים של מכונות לפריסה. הקובץ מוגדר כברירת מחדל לפריסה בפרויקט חדש ללא הגדלות של מכסות, אבל אפשר לשנות את סוג המכונה או את הקיבולת לפי הצורך ב-codelab הזה. הקוד שנכתב ב-Codelab הזה משתמש בברירת המחדל הזו, כך שאם תבצעו שינויים, תצטרכו להמשיך עם אותם שינויים לאורך כל הקוד של ה-Codelab כדי למנוע שגיאות. בסביבת הייצור, מומלץ להשתמש במכונה עם לפחות 32 ליבות vCPU לצומת MDS, ובמכונה עם לפחות 8 או 16 ליבות vCPU לצמתי ה-OSS, בהתאם לסוג ולנפח האחסון.

כדי לבדוק או לערוך את קובץ ה-YAML בסשן של Cloud Shell, פותחים את קובץ ה-YAML של הגדרות הפריסה Lustre-cluster.yaml. אפשר להשתמש בעורך שורת הפקודה המועדף עליכם (vi,‏ nano,‏ emacs וכו') או בעורך הקוד של מסוף Cloud כדי להציג את תוכן הקובץ:

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* - True/False, לצמתים של Lustre יש כתובות IP חיצוניות. אם הערך הוא false, 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 כדי לפרוס גרסאות אחרות.

הגדרה של מנהל תקציב או של שירות 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 ב-GB
  • mdt_disk_type* - סוג הדיסק לשימוש בשביל דיסק יעד מטא-נתונים (MDT) (pd-standard, pd-ssd, Local-ssd)
  • mdt_disk_size_gb* – גודל דיסק MDT ב-GB

הגדרת 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 ב-GB
  • ost_disk_type* - סוג הדיסק לשימוש לדיסק יעד אחסון של אובייקט (OST) (pd-standard, pd-ssd, Local-ssd)
  • ost_disk_size_gb* – גודל דיסק OST ב-GB

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, פותחים את התפריט Products & Services (מוצרים ושירותים) בפינה הימנית העליונה של המסוף (שלושה קווים אופקיים).
  • לוחצים על Deployment Manager.
  • לוחצים על Lustre כדי להציג את פרטי הפריסה.
  • לוחצים על Overview – Lustre. בחלונית Deployment properties תוכלו לראות את תצורת הפריסה הכוללת.
  • לוחצים על 'תצוגה' במאפיין תצורה. בחלונית Config מוצג התוכן של קובץ ה-YAML של הגדרות הפריסה ששונה קודם. לפני שממשיכים, צריך לוודא שהתוכן נכון. אם צריך לשנות את הגדרות הפריסה, פשוט מוחקים את הפריסה לפי השלבים בקטע 'ניקוי הפריסה' ומפעילים מחדש את הפריסה לפי השלבים בקטע 'הגדרת קובץ YAML לפריסה של Lustre'.
  • (אופציונלי) בקטע Lustre-cluster, לוחצים על כל אחד מהמשאבים שנוצרו על ידי התבנית Lustre.jinja ובודקים את הפרטים.

אחרי שהגדרת הפריסה אומתה, כדאי לוודא שהמכונות של האשכול יתחילו לפעול. במסוף Cloud Platform, בתפריט Products & Services (מוצרים ושירותים), לוחצים על Compute Engine > VM Instances (מכונות VM).

aec8498e04a3c334.png

בדף VM Instances, בודקים את חמש המכונות הווירטואליות שנוצרו על ידי מנהל הפריסה. המכשירים האלה כוללים את lustre-mds1, lustre-oss1, lustre-oss2, lustre-oss3 ו-lustre-oss4.

5. גישה לאשכול Lustre

מעקב אחרי ההתקנה

בדף של המכונות הווירטואליות, לוחצים על lustre-mds1 כדי לפתוח את דף הפרטים של המכונה.

ba0bea7acdbb9527.png

לוחצים על יציאה טורית 1 (מסוף) כדי לפתוח את דף הפלט של המסוף הטורי. נשתמש בפלט הסידורי הזה כדי לנטר את תהליך ההתקנה של המכונה של MDS ונמתין עד שסקריפט ההפעלה יסיים לפעול. כדי לעדכן את הפלט הסידורי, לוחצים על הלחצן 'רענון' בחלק העליון של הדף. הצומת יופעל מחדש פעם אחת כדי לאתחל אותו בליבה (kernel) של 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. לחלופין, מריצים את הפקודה הבאה ב-Cloud Shell, מחליפים את <ZONE> בתחום (zone) הצומת lustre-mds1:

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

הפקודה הזו מתחברת למכונה הווירטואלית lustre-mds1. זוהי המכונה של שרת המטא-נתונים של Lustre‏ (MDS), שגם פועלת כמכונה של שרת הניהול של Lustre‏ (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. פקודת הטעינה טוענת את מערכת הקבצים של 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 Object Storage‏ (OSS) מופיעים כפריטים 8 עד 12. כדי להבין מהם השירותים האחרים, אפשר לעיין במדריך Lustre.

כלי התצורה של מערכת הקבצים של Lustre הוא 'lfs'. אנחנו יכולים להשתמש ב-lfs כדי לנהל הסרת קבצים בכל השרתים של Lustre Object Storage (OSS) ויעדים של אחסון אובייקטים (OST) שתואמים להם, וגם כדי להריץ פעולות נפוצות במערכת הקבצים כמו חיפוש, df וניהול מכסות.

שימוש ב-Striping מאפשר לנו להגדיר את אופן ההפצה של קובץ בצביר Lustre כדי לספק ביצועים טובים ככל האפשר. אמנם חלוקה של קובץ גדול לכמה שיותר שירותי OSS מניבת בדרך כלל את הביצועים הטובים ביותר על ידי ביצוע פעולות הקלט/פלט במקביל, אבל חלוקה של קובץ קטן עלולה להוביל לביצועים נמוכים יותר מאשר אם הקובץ הזה היה נכתב רק למכונה אחת.

כדי לבדוק זאת, בואו נגדיר שתי ספריות, אחת עם מספר שורות של מערכת הפעלה אחת והשנייה עם מספר פסים של "1-", המסמן שהקבצים שנכתבו בספרייה הזו צריכים להיות מסומנים בכמה שיותר מערכות הפעלה. ספריות יכולות להכיל הגדרות של רצועות (striping) שעוברות בירושה לקבצים שנוצרים בתוכן שלהן, אבל אם רוצים, אפשר להגדיר ספריות משנה וקבצים נפרדים בתוך הספרייה הזו כך שיחול עליהם רצועות (striping) באופן שונה. כדי ליצור את שתי הספריות האלה, מריצים את הפקודות הבאות בספרייה ‎/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

עכשיו אנחנו מוכנים לבדוק את השיפורים בביצועים שאפשר להשיג על ידי כתיבת קובץ גדול שמחולק למספר OSS.

7. בדיקת I/O ב-Lustre

נריץ שני בדיקות פשוטות של Lustre IO כדי להדגים את יתרונות הביצועים האפשריים ואת יכולות ההתאמה לעומס של מערכת הקבצים Lustre. קודם נריץ בדיקה פשוטה באמצעות הכלי 'dd', כדי לכתוב קובץ בגודל 5GB בספרייה שלנו stripe_one. מריצים את הפקודה הבאה:

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

ממוצע התהליך של כתיבת נתונים בנפח של 5GB במערכת הקבצים הוא כ-27 שניות, וכתיבה אל דיסק אחסון מתמיד (PD) יחיד בשרת אחסון אובייקטים יחיד (OSS).

כדי לבדוק את הפיצול בכמה OSS, וכתוצאה מכך בכמה PD, פשוט צריך לשנות את ספריית הפלט שאנחנו כותבים אליה. מריצים את הפקודה הבאה:

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

שימו לב ששינינו את הערך "of=stripe_one/test" לערך "of=stripe_all/test". כך נוכל לכתוב בסטרימינג יחיד את הכתיבה שלו בכל שרתי Object Storage, ולהשלים את הכתיבה בתוך 5.5 שניות בממוצע, פי 4 בערך באותה מהירות עם ארבעה מערכות הפעלה.

הביצועים האלה ממשיכים להשתפר כשמוסיפים שרתי אחסון אובייקטים, ואפשר להוסיף מערכות OSS עם מערכת הקבצים אונליין ולהתחיל להסיר אליהן נתונים כדי להגדיל את הקיבולת ואת הביצועים אונליין. האפשרויות לשימוש ב-Llustre ב-Google Cloud Platform הן אינסופיות, ואנחנו מצפים בקוצר רוח לראות מה תוכלו לפתח ואילו בעיות תוכלו לפתור.

8. סיכום

סיימתם ליצור אשכול Lustre ב-Google Cloud Platform. אפשר להשתמש בסקריפטים האלה כנקודת התחלה לבניית אשכול Lustre משלכם ולשילוב שלו עם אשכול המחשוב מבוסס-הענן.

ניקוי הפריסה

יוצאים מהצומת של Lustre:

exit

כדי לסיים את הפריסה בקלות, מריצים את הפקודה הבאה מ-Google Cloud Shell אחרי שמתנתקים מאשכול Lustre:

gcloud deployment-manager deployments delete lustre

כשמוצגת בקשה לעשות את זה, מקלידים Y כדי להמשיך. הפעולה הזו עשויה להימשך זמן מה, חשוב להתאזר בסבלנות.

מחיקת הפרויקט

כדי לנקות את הקוד, פשוט מוחקים את הפרויקט.

  • בתפריט הניווט, בוחרים באפשרות 'IAM ואדמין'
  • לאחר מכן לוחצים על 'הגדרות' בתפריט המשנה
  • לוחצים על סמל פח האשפה עם הטקסט "מחיקת פרויקט"
  • פועלים לפי ההנחיות.

מה עסקנו בו

  • איך משתמשים בשירות Deployment Manager של GCP.
  • איך מגדירים ופורסים מערכת קבצים של Lustre ב-GCP.
  • איך מגדירים פיסול ובודקים קלט/פלט פשוט למערכת הקבצים Lustre.

חיפוש תמיכה

אתם מפתחים משהו מגניב באמצעות הסקריפטים של מנהל הפריסה של Lustre? יש לך שאלות? צ'אט איתנו בקבוצת הדיון של Google Cloud Lustre. כדי לבקש תכונות, לשלוח משוב או לדווח על באגים, אפשר להשתמש בטופס הזה. אפשר גם לשנות את הקוד ולשלוח בקשת משיכה. רוצים לדבר עם מומחה Google Cloud? אפשר לפנות עוד היום לצוות Google Cloud דרך אתר מחשוב הביצועים הגבוה של Google Cloud.

מידע נוסף

משוב

אפשר לשלוח משוב על Codelab זה באמצעות הקישור הזה. מילוי השאלון לא ייקח יותר מ-5 דקות. תודה!