יצירת תחנת עבודה וירטואלית מבוססת-Linux עם האצת GPU

במדריך הזה נסביר איך ליצור תחנת עבודה וירטואלית של Linux שמריצה Ubuntu 22.04 עם GPU שמחובר אליה ויכול להציג נתונים. ‏Google Cloud מציעה ארבעה מעבדי GPU שיכולים להציג נתונים: NVIDIA L4,‏ NVIDIA T4,‏ NVIDIA P4 ו-NVIDIA P100.

כדי ליצור תחנת עבודה של Windows, אפשר לעיין במדריך בנושא יצירת תחנת עבודה וירטואלית של Windows עם האצת GPU.

אחרי שיוצרים את תחנת העבודה הווירטואלית, לומדים איך לגשת אליה מרחוק באמצעות HP Anyware (לשעבר Teradici CAS), באמצעות טכנולוגיית PC-over-IP (PCoIP®), פרוטוקול שולחן עבודה מרוחק שנמצא בשימוש נרחב בתעשיות המדיה והבידור, פיתוח המשחקים, האדריכלות וההנדסה. ‫PCoIP מציע תכונות חיוניות לסוגים האלה של עומסי עבודה, כמו דיוק צבעים, תמיכה בכמה מסכים, תצוגה ללא אובדן נתונים ורגישות ללחץ בטאבלט.

המדריך הזה מתבסס על ההנחה שאתם מכירים את שורת הפקודה של Linux.

מטרות

  • יוצרים מכונה של Compute Engine עם GPU. המופע הזה משמש כבסיס לתחנת עבודה וירטואלית.
  • מתקינים את מנהלי ההתקנים (דרייברים) של NVIDIA בתחנת העבודה הווירטואלית.
  • מתקינים את תוכנת HP Anyware בתחנת העבודה הווירטואלית.
  • מתחברים לתחנת העבודה הווירטואלית באמצעות תוכנת לקוח PCoIP.

עלויות

במדריך הזה השתמשנו ברכיבים הבאים של Google Cloud, והשימוש בהם כרוך בתשלום:

אפשר להשתמש במחשבון התמחור כדי ליצור הערכת עלות על סמך השימוש החזוי.

במדריך הזה, המשאבים שמרכיבים את תחנת העבודה הווירטואלית והגורמים שמשפיעים על העלות הם:

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

לפני שמתחילים

במדריך הזה נעשה שימוש ב-Google Cloud CLI, שאפשר להריץ אותו ממופע של Cloud Shell שהופעל מ-Google Cloud console. אם רוצים להשתמש ב-ה-CLI של gcloud בתחנת העבודה המקומית, צריך להתקין את Google Cloud CLI. במדריך מוסבר איך להריץ פקודות ב-Cloud Shell. אם אתם משתמשים ב-CLI של gcloud בתחנת העבודה שלכם, תצטרכו להתאים את ההוראות בהתאם.

  1. נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Compute Engine API.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Compute Engine API.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

בנוסף, חשוב לוודא שיש לכם את הפריטים הבאים:

  • פרויקט עם מכסת יחידות GPU של NVIDIA L4 Virtual Workstation באזור שבחרתם. Google Cloud אפשר לקבל רשימה של זמינות ה-GPU באמצעות הפקודה gcloud compute accelerator-types list.
  • דפדפן Google Chrome כדי לגשת למסוף Google Cloud .
  • הגרסה האחרונה של תוכנת PCoIP Client ל-Windows,‏ Mac או Linux כדי לגשת לתחנת העבודה הווירטואלית.
  • חשבון בכתובת help.teradici.com כדי להוריד את תוכנת HP Anyware. ההרשמה לחשבון היא בחינם.
  • רישיון תוכנה של HP Anyware. אתם יכולים לבקש רישיון ניסיון או לפנות לנציג HP ולבקש קוד הרשמה לניסיון כדי להשתמש בתחנת העבודה הווירטואלית הזו.

ארכיטקטורה

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

ארכיטקטורה של תחנת עבודה וירטואלית.

בחירת אזור

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

  1. פותחים את Cloud Shell. (אם אתם משתמשים ב-CLI של gcloud, פותחים חלון טרמינל במחשב).

    כניסה ל-Cloud Shell

  2. כדי לקבל רשימה של האזורים שבהם כרטיסי GPU זמינים:

    gcloud compute accelerator-types list

    חשוב לציין את האזור והאזור שקרובים אליכם פיזית.

  3. מגדירים את האזור שרוצים לעבוד איתו:

    gcloud config set compute/zone ZONE

    מחליפים את ZONE בשם האזור שבו אתם משתמשים, כמו us-west1-b.

בחירת סוג מכונה

יחידות GPU מסוג NVIDIA L4 מצורפות לסוג המכונה G2. למכונות וירטואליות עם יחידת GPU אחת או יותר יש מספר מקסימלי של מעבדים וירטואליים (vCPU) לכל יחידת GPU שמוסיפים למופע. לדוגמה, כל GPU מסוג NVIDIA L4 מאפשר לכם להשתמש בעד 32 vCPU ועד 128GB של זיכרון בסוג המכונה של המופע. כדי לראות את טווחי הזיכרון והמעבד הווירטואלי הזמינים להגדרות שונות של GPU, אפשר לעיין ברשימת ה-GPU.

הדוגמה במדריך הזה מורכבת מתחנת עבודה וירטואלית G2 עם 8 ליבות וירטואליות, שזה הרבה פחות מהמגבלה של 32 ליבות וירטואליות ל-GPU יחיד מסוג NVIDIA L4.

יצירת תחנת עבודה וירטואלית

  1. ב-Cloud Shell, יוצרים את המכונה של תחנת העבודה הווירטואלית ב-Compute Engine:

    gcloud compute instances create VM_NAME \
        --zone=ZONE \
        --machine-type=MACHINE_TYPE \
        --accelerator=type=ACCELERATOR,count=NUM-GPUS \
        --maintenance-policy="TERMINATE" \
        --image-project=ubuntu-os-cloud \
        --image-family=ubuntu-2204-lts \
        --boot-disk-size=SIZE \
        --boot-disk-type=TYPE \
        --network=NETWORK
    

    מחליפים את מה שכתוב בשדות הבאים:

    • VM_NAME הוא השם של תחנת העבודה.
    • ZONE הוא האזור שבו רוצים ליצור את המכונה הווירטואלית.
    • MACHINE_TYPE היא הגדרת המכונה המוגדרת מראש או המותאמת אישית.
    • ACCELERATOR הוא סוג ה-GPU שרוצים לצרף, למשל nvidia-l4-vws.
    • NUM-GPUS הוא מספר יחידות ה-GPU לצירוף למכונה הווירטואלית.
    • SIZE הוא הגודל של דיסק האתחול, בגיגה-בייט.
    • TYPE הוא סוג דיסק האתחול. כדי לקבל רשימה של סוגי הדיסקים הזמינים, מריצים את הפקודה gcloud compute disk-types list.
    • NETWORK היא הרשת שבה רוצים ליצור את המכונה הווירטואלית.

    לדוגמה:

    gcloud compute instances create test-workstation \
        --zone=us-west1-b \
        --machine-type=g2-standard-8 \
        --accelerator=type=nvidia-l4-vws,count=1 \
        --maintenance-policy="TERMINATE" \
        --image-project=ubuntu-os-cloud \
        --image-family=ubuntu-2204-lts \
        --boot-disk-size=100 \
        --boot-disk-type=pd-ssd \
        --network=default
    

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

    NAME: test-workstation
    ZONE: us-west1-b
    MACHINE_TYPE: g2-standard-8
    PREEMPTIBLE:
    INTERNAL_IP: 10.138.XX.XXX
    EXTERNAL_IP: XX.XXX.XXX.XXX
    STATUS: RUNNING
    

    שימו לב לכתובת ה-IP החיצונית של תחנת העבודה הווירטואלית. תשתמשו בו בהמשך המדריך.

    אתם יכולים לאחזר את כתובת ה-IP החיצונית של תחנת העבודה הווירטואלית בכל שלב באמצעות מסוףGoogle Cloud .

כניסה לתחנת העבודה הווירטואלית

אחרי שיוצרים את תחנת העבודה הווירטואלית, נכנסים למכונה כדי להגדיר אותה.

  1. ב-Cloud Shell, מתחברים לתחנת העבודה הווירטואלית החדשה:

    gcloud compute ssh VM_NAME
  2. הגדרת הסיסמה לחשבון. כדי להתחבר לתחנת עבודה וירטואלית באמצעות לקוח התוכנה PCoIP נדרשת סיסמת משתמש.

    sudo passwd `whoami`

    כשמוצגת בקשה, מזינים סיסמה. תצטרכו להשתמש בסיסמה הזו בהמשך המדריך כדי להתחבר לתחנת העבודה הווירטואלית באמצעות HP Anyware PCoIP Client.

התקנת ספריות הבסיס

תמונת ברירת המחדל של Google Cloud Ubuntu 22.04 היא התקנה מינימלית של Ubuntu. בשלב הבא צריך להתקין ספריות שנדרשות כדי להפעיל את תחנת העבודה הווירטואלית כתחנת עבודה גרפית.

  1. מעדכנים את מאגרי התוכנה:

    sudo apt update
  2. מתקינים את רכיבי הבסיס:

    sudo apt install -y build-essential
    sudo apt install -y libvulkan1
    
  3. מעדכנים את גרסה gcc של דרייבר NVIDIA:

    sudo apt install -y gcc-12
    sudo apt install -y linux-headers-$(uname -r)
    sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 12
    sudo update-alternatives --config gcc
    

התקנת הדרייבר של NVIDIA

מעבדי GPU מסוג NVIDIA L4,‏ NVIDIA T4,‏ NVIDIA P4 ו-NVIDIA P100 פועלים ב- Google Cloud רק עם דרייברים מוסמכים של NVIDIA RTX Virtual Workstation לעומסי עבודה של הדמיה. אפשר להוריד את הדרייברים האלה ממאגר אחסון ציבורי Google Cloud .

  1. כדי להתקין את הדרייבר העדכני ביותר של NVIDIA RTX Virtual Workstation, פועלים לפי ההוראות (שלבים 3 ו-4 בלבד).

  2. מפעילים מחדש את תחנת העבודה:

    sudo reboot

התקנת סביבת שולחן העבודה

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

  1. מתקינים את סביבת שולחן העבודה:

    sudo apt update
    sudo apt -y install kubuntu-desktop
    sudo apt -y install dialog
    
  2. מפעילים מחדש את תחנת העבודה:

    sudo reboot

התקנת תוכנת HP Anyware

תוכנת HP Anyware מספקת סוכן גרפי שפועל בתחנת העבודה הווירטואלית שלכם, ומעביר את שולחן העבודה ללקוח החומרה או התוכנה שלכם.

  1. אחרי שמפעילים מחדש את תחנת העבודה הווירטואלית, מתחברים אליה מחדש ב-Cloud Shell:

    gcloud compute ssh VM_NAME
  2. מוסיפים את מאגר התוכנה של Teradici:

    curl -1sLf \
        https://dl.anyware.hp.com/TOKEN/pcoip-agent/cfg/setup/bash.deb.sh \
        | sudo -E distro=ubuntu codename=jammy bash
    

    מחליפים את מה שכתוב בשדות הבאים:

  3. מעדכנים את מאגרי התוכנה:

    sudo apt update
  4. אופציונלי: מתקינים תלות ב-USB, אם צריך לתמוך בהתקני USB שאינם מקלדות, עכברים ומכשירי הצבעה.

    sudo apt -y install usb-vhci-dkms
  5. מתקינים את תוכנת HP Anyware:

    sudo apt -y install pcoip-agent-graphics

רישום של Anyware Graphics Agent

כדי להשתמש ב-Anyware Graphics Agent, צריך רישיון ל-HP Anyware.

  1. ב-Cloud Shell, מפעילים את רישיון התוכנה של HP Anyware:

    pcoip-register-host --registration-code=REGISTRATION-CODE

    מחליפים את REGISTRATION-CODE בקוד ש-HP Teradici סיפקה לכם בפורמט ABCDEFGHIJKL@0123-4567-89AB-CDEF.

  2. מפעילים מחדש את תחנת העבודה הווירטואלית:

    sudo reboot

יצירת כלל לחומת האש

לקוח PCoIP מתקשר עם תחנת העבודה הווירטואלית באמצעות כמה יציאות. צריך להגדיר כללי חומת אש שמאפשרים תעבורת נתונים אל תחנת העבודה הווירטואלית.

  • ב-Cloud Shell (לא בתחנת העבודה הווירטואלית), יוצרים כלל בחומת האש שפותח את היציאות הנדרשות:

    gcloud compute firewall-rules create allow-pcoip \
        --action=ALLOW \
        --rules=tcp:443,tcp:4172,udp:4172 \
        --source-ranges=0.0.0.0/0
    

כניסה לתחנת העבודה הווירטואלית באמצעות לקוח PCoIP

  1. במחשב המקומי, עוברים לקטע PCoIP Clients (לקוחות PCoIP) בדף התמיכה של HP Anyware, ואז מורידים, מתקינים ומפעילים את אפליקציית PCoIP Software Client (לקוח תוכנת PCoIP) למערכת ההפעלה שלכם.

  2. בשדה כתובת המארח או קוד הרישום, מזינים את כתובת ה-IP החיצונית של תחנת העבודה הווירטואלית. אם רוצים, אפשר להזין שם לחיבור.

  3. אחרי שמתחברים, מזינים את שם המשתמש והסיסמה שיצרתם קודם לתחנת העבודה הווירטואלית כדי לאמת את הזהות.

    תוך כמה שניות, שולחן העבודה של Linux יופיע.

בדיקת תחנת העבודה הווירטואלית

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

  • מריצים כלי השוואה (benchmark) של GPU, כמו glxgears,‏ glmark2 או UNIGINE, שהם תוכנות לבדיקת ביצועי הגרפיקה בתחנת עבודה של Linux.
  • מתקינים את Unreal Engine,‏ Unity Editor,‏ Blender או כל אפליקציה ליצירת תוכן.
  • הפעלת כלי השוואה בין ביצועים של רכיבי עיבוד פופולריים כמו V-Ray,‏ Octane או Maxon.
  • להשתמש ב-Google Chrome כדי לגלוש באתרים המועדפים עליכם או להפעיל סרטונים ב-YouTube.

אפשר גם לקרוא מידע נוסף על אופטימיזציה של ביצועים ב-PCoIP בהתאם לעומס העבודה.

הסרת המשאבים

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

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

הפסקת תחנת העבודה הווירטואלית

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

gcloud compute instances stop VM_NAME

מחיקת כל הרכיבים

  1. מוחקים את תחנת העבודה הווירטואלית.
  2. מחיקת כלל חומת האש.

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

  1. במסוף Google Cloud , נכנסים לדף Manage resources.

    כניסה לדף Manage resources

  2. ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
  3. כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.

המאמרים הבאים