במאמר הזה נסביר איך ליצור מכונה וירטואלית (VM) שמבוססת על Linux עם מעבדים גרפיים (GPU) של NVIDIA. כדי לבצע שלבים דומים במכונה וירטואלית של Windows, קראו את המאמר התקנת מנהלי התקנים של NVIDIA GPU במכונה וירטואלית של Windows.
מכונה וירטואלית עם מעבדי GPU מאפשרת להריץ עומסי עבודה שונים שמעבדי GPU מאיצים, למשל בינה מלאכותית ולמידת מכונה.
מכונות וירטואליות עם מעבדי GPU הן חלק ממשפחת המכונות מסדרה A, שעברו אופטימיזציה למאיצים, למשל A2 ו-A3. מידע נוסף זמין במאמר הצגת סוג המכונה של ה-VM.
המסמך הזה מיועד למפתחים בקבוצות של מנהלי פלטפורמות או מפעילי אפליקציות שיוצרים מכונות וירטואליות בסביבת Google Distributed Cloud (GDC) עם air gap. מידע נוסף זמין במאמר קהלים למסמכי תיעוד של GDC עם air gap.
לפני שמתחילים
הכנת הסביבה
כדי להשתמש בפקודות של ממשק שורת הפקודה (CLI) של gdcloud, צריך לוודא שהורדתם, התקנתם והגדרתם את ה-CLI של gdcloud. כל הפקודות של Distributed Cloud משתמשות ב-CLI של gdcloud או kubectl, ודורשות סביבת Linux.
בקשת תפקידים ב-IAM
פנו לאדמין של הפרויקט ב-IAM ובקשו ממנו להקצות לכם את התפקידים הבאים בפרויקט:
אדמין של פרויקט מכונות וירטואליות (
project-vm-admin): יצירה, שינוי, הצגה ומחיקה של מכונות וירטואליות במרחב השמות של הפרויקט.צפייה בפרויקט (
project-viewer): צפייה בכל המשאבים במרחב השמות של הפרויקט.
כל התפקידים של המכונה הווירטואלית חייבים להיות מקושרים למרחב השמות של הפרויקט שבו נמצאת המכונה הווירטואלית. פועלים לפי השלבים כדי לאמת את הגישה.
יצירת VM
יוצרים מכונה וירטואלית לפי השלבים שמפורטים במאמר יצירת מכונה וירטואלית מתמונה ובוחרים סוג מכונה מסדרה A.
התקנת מנהלי ההתקנים (דרייברים) של NVIDIA
בקטע הזה מוסבר איך להתקין מנהלי התקנים של NVIDIA במכונה הווירטואלית של GDC.
התקנת החבילה
החל מגרסה v20250809, תמונות של Ubuntu ו-Rocky Linux שסופקו על ידי GDC כוללות מנהלי התקנים של NVIDIA שמותקנים מראש.
בגרסאות קודמות של אימג'ים מ-v20250809 ובאימג'ים בהתאמה אישית שסופקו על ידי המשתמש, צריך להתקין את מנהל ההתקן מ-Package Repository של GDC.
מתחברים למכונה הווירטואלית באמצעות SSH ומריצים את הפקודה שמתאימה למערכת ההפעלה (OS) של המכונה הווירטואלית:
Ubuntu
sudo apt install nvidia-dkms-570-server-open
Rocky Linux ו-RHEL
sudo dnf install nvidia-driver-cuda
הפעלת DKMS
מפעילים את מנהל ההתקן של NVIDIA במכונה הווירטואלית באמצעות הפקודה dkms. צריך לבצע את המשימה הזו רק פעם אחת לכל מכונה וירטואלית:
sudo dkms autoinstall
התקנת ערכת הכלים של CUDA
ערכת הכלים של NVIDIA CUDA זמינה במאגרי החבילות של GDC. מתחברים למכונה הווירטואלית באמצעות SSH ומריצים את הפקודה שמתאימה למערכת ההפעלה של המכונה הווירטואלית:
Ubuntu
sudo apt install cuda-toolkit-12-8
Rocky Linux ו-RHEL
sudo dnf install cuda-toolkit-12-8
הפעלת אתחול מאובטח ומנהלי התקנים חתומים
אם אתם צריכים להפעיל אתחול מאובטח במכונה הווירטואלית עם יחידות ה-GPU, אתם צריכים לחתום על מנהלי ההתקנים של ה-GPU. עיינו בהוראות של מערכת ההפעלה הרלוונטית.
Ubuntu
- מתחברים למכונה הווירטואלית באמצעות SSH.
עוברים למשתמש-על:
sudo suאם עדיין אין מפתח MOK, יוצרים אחד:
[ -f /var/lib/shim-signed/mok/MOK.der ] || openssl req -new -x509 -newkey rsa:2048 -keyout /var/lib/shim-signed/mok/MOK.priv \ -outform DER -out /var/lib/shim-signed/mok/MOK.der \ -nodes -days 36500 -subj "/CN=DKMS Signing Key/"רושמים את המפתח באמצעות
mokutil:mokutil --import /var/lib/shim-signed/mok/MOK.derכשמופיעה בקשה, יוצרים ומזינים סיסמה חדשה לבחירתכם.
חותמים על מודולי הליבה של NVIDIA באמצעות ה-MOK:
for module in nvidia nvidia_drm nvidia_modeset nvidia_uvm nvidia_peermem; do /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 /var/lib/shim-signed/mok/MOK.priv /var/lib/shim-signed/mok/MOK.der $(modinfo -n $module) done
Rocky Linux ו-RHEL
- מתחברים למכונה הווירטואלית באמצעות SSH.
עוברים למשתמש-על:
sudo suחותמים על מנהל ההתקן באמצעות המפתח, בעזרת
dkms autoinstall:sudo dkms autoinstallרושמים את מפתח ה-DKMS ב-MOK:
mokutil --import /var/lib/dkms/mok.pub
סיום הרישום והאימות של MOK
כדי לגשת למסך הניהול של MOK, צריך להפעיל מחדש את מכונת ה-VM ולהתחבר מיד ליציאה הטורית. המסך הזה מופיע רק לזמן קצר במהלך תהליך ההפעלה. כך עושים את זה:
מפעילים מחדש את המכונה הווירטואלית:
rebootמתחברים למסוף הטורי של ה-VM. מידע נוסף זמין במאמר חיבור ליציאה טורית.
רושמים את ה-MOK מהמסוף:


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

מזינים את הסיסמה שבחרתם קודם:

בוחרים באפשרות Reboot (הפעלה מחדש) בתפריט הניהול של MOK:

כדי לוודא שמנהל ההתקן של NVIDIA פועל, מריצים את הפקודה
nvidia-smi.בפלט מוצגים הסטטוס של ה-GPU ופרטי מנהל ההתקן:
$ nvidia-smi Wed Aug 13 00:09:17 2025 +-----------------------------------------------------------------------------------------+ | NVIDIA-SMI 570.158.01 Driver Version: 570.158.01 CUDA Version: 12.8 | |-----------------------------------------+------------------------+----------------------+ | GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |=========================================+========================+======================| | 0 NVIDIA H200 Off | 00000000:08:00.0 Off | 0 | | N/A 42C P0 128W / 700W | 0MiB / 143771MiB | 0% Default | | | | Disabled | +-----------------------------------------+------------------------+----------------------+ | 1 NVIDIA H200 Off | 00000000:09:00.0 Off | 0 | | N/A 36C P0 127W / 700W | 0MiB / 143771MiB | 0% Default | | | | Disabled | +-----------------------------------------+------------------------+----------------------+ | 2 NVIDIA H200 Off | 00000000:0A:00.0 Off | 0 | | N/A 34C P0 122W / 700W | 0MiB / 143771MiB | 0% Default | | | | Disabled | +-----------------------------------------+------------------------+----------------------+ | 3 NVIDIA H200 Off | 00000000:0B:00.0 Off | 0 | | N/A 40C P0 128W / 700W | 0MiB / 143771MiB | 0% Default | | | | Disabled | +-----------------------------------------+------------------------+----------------------+ | 4 NVIDIA H200 Off | 00000000:0C:00.0 Off | 0 | | N/A 39C P0 125W / 700W | 0MiB / 143771MiB | 0% Default | | | | Disabled | +-----------------------------------------+------------------------+----------------------+ | 5 NVIDIA H200 Off | 00000000:0D:00.0 Off | 0 | | N/A 35C P0 122W / 700W | 0MiB / 143771MiB | 0% Default | | | | Disabled | +-----------------------------------------+------------------------+----------------------+ | 6 NVIDIA H200 Off | 00000000:0E:00.0 Off | 0 | | N/A 39C P0 128W / 700W | 0MiB / 143771MiB | 0% Default | | | | Disabled | +-----------------------------------------+------------------------+----------------------+ | 7 NVIDIA H200 Off | 00000000:0F:00.0 Off | 0 | | N/A 35C P0 121W / 700W | 0MiB / 143771MiB | 0% Default | | | | Disabled | +-----------------------------------------+------------------------+----------------------+ +-----------------------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=========================================================================================| | No running processes found | +-----------------------------------------------------------------------------------------+