פריסת מערכת קבצים מקבילית של Lustre ב-GCP

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

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

d51beef5f729cbe9.png

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

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

כדי לענות על הביקוש לאחסון, ב-Google Cloud נקטו בשתי גישות. קודם, GCP חברה ל-DDN כדי להביא את התוכנה DDN EXAScaler Lustre ברמה ארגונית עם תמיכה ל-GCP Marketplace. שנית, המהנדסים שלנו ב-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.

מה תלמדו

  • איך משתמשים בשירות Deployment Manager של GCP
  • איך מגדירים ופורסים מערכת קבצים של 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 תיצור מזהה פרויקט אקראי על סמך שם הפרויקט.

בשלב הבא, כדי להשתמש במשאבים של 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. היא משפרת מאוד את ביצועי הרשת ומפשטת את האימות. את רוב העבודה במעבדה הזו, אם לא את כולה, אפשר לבצע באמצעות דפדפן אינטרנט או מכשיר 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 for 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 כדי לפרוס גרסאות אחרות.

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

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

aec8498e04a3c334.png

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

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

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

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

ba0bea7acdbb9527.png

לוחצים על Serial port 1 (console) כדי לפתוח את דף הפלט של מסוף הטורי. נשתמש בפלט הטורי הזה כדי לעקוב אחרי תהליך ההתקנה של מכונה של 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. לחלופין, מריצים את הפקודה הבאה ב-Cloud Shell, ומחליפים את <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. הפקודה 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 Management Server‏ (MGS) כפריט 1, את Lustre Metadata Server‏ (MDS) כפריט 3, את Lustre Metadata Target‏ (MDT) כפריט 5 ואת ארבעת Lustre Object Storage Servers‏ (OSS) כפריטים 8 עד 12. כדי להבין מהם השירותים האחרים, אפשר לעיין במדריך Lustre.

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

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

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

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

8. סיכום

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

פינוי המשאבים של הפריסה

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

exit

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

gcloud deployment-manager deployments delete lustre

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

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

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

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

מה עסקנו בו

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

מקורות תמיכה

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

מידע נוסף

משוב

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