במאמר הזה מתואר איך ליצור מכונה וירטואלית (VM) מבוססת-Linux עם יחידות לעיבוד גרפי (GPU) של NVIDIA.
מכונה וירטואלית עם מעבדי GPU מאפשרת להריץ עומסי עבודה שונים עם האצת GPU, למשל בינה מלאכותית ולמידת מכונה.
מכונות וירטואליות עם GPU הן חלק מסדרת המכונות A שעברה אופטימיזציה להאצה, למשל A2 ו-A3. מידע נוסף זמין במאמר איך צופים בסוג המכונה של מכונה וירטואלית.
המסמך הזה מיועד למפתחים בקבוצות של אדמינים בפלטפורמה או מפעילים של אפליקציות שיוצרים מכונות וירטואליות בסביבה מבודדת (air-gapped) של Google Distributed Cloud (GDC). מידע נוסף זמין במאמר קהלים ב-GDC עם air gap.
לפני שמתחילים
הכנת הסביבה
כדי להשתמש בפקודות של ממשק שורת הפקודה (CLI) של gdcloud, צריך לוודא שהורדתם, התקנתם והגדרתם את ה-CLI של gdcloud. כל הפקודות ל-Distributed Cloud משתמשות ב-CLI של gdcloud או kubectl, ונדרשת סביבת Linux.
שליחת בקשה לתפקידי IAM
פנו לאדמין של IAM בפרויקט ובקשו ממנו להקצות לכם את התפקידים הבאים בפרויקט:
אדמין של פרויקט מכונות וירטואליות (
project-vm-admin): יצירה, שינוי, הצגה ומחיקה של מכונות וירטואליות במרחב השמות של הפרויקט.צפייה בפרויקט(
project-viewer): צפייה בכל המשאבים במרחב השמות של הפרויקט.
כל התפקידים של המכונות הווירטואליות צריכים להיות קשורים למרחב השמות של הפרויקט שבו נמצאת המכונה הווירטואלית. פועלים לפי השלבים כדי לאמת את הגישה.
יצירת VM
יוצרים מכונה וירטואלית לפי השלבים שמפורטים במאמר יצירת מכונה וירטואלית מתמונה ובוחרים סוג מכונה מסדרת A.
התקנת דרייברים של NVIDIA
בקטע הזה מפורטים השלבים להתקנת דרייברים של NVIDIA במכונת ה-VM של GDC.
התקנת החבילה
החל מגרסה v20250809 ואילך, תמונות של Ubuntu ו-Rocky Linux שסופקו על ידי GDC כוללות מנהלי התקנים (דרייברים) של NVIDIA שהותקנו מראש.
לגרסאות של תמונות שקודמות ל-v20250809 ולתמונות בהתאמה אישית שסופקו על ידי המשתמש, צריך להתקין את מנהל ההתקן ממאגר חבילות GDC.
מתחברים למכונה הווירטואלית באמצעות SSH ומריצים את הפקודה שמתאימה למערכת ההפעלה של המכונה הווירטואלית:
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 ולהתחבר מיד ליציאה הטורית. המסך מופיע רק לזמן קצר במהלך תהליך האתחול. צריך לפעול לפי השלבים הבאים:
מפעילים מחדש את המופע של ה-VM:
rebootמתחברים למסוף הטורי של ה-VM. מידע נוסף זמין במאמר איך מתחברים ליציאה טורית.
רושמים את ה-MOK מהמסוף:


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

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

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

מריצים את הפקודה
nvidia-smiכדי לוודא שהדרייבר של NVIDIA פועל.הפלט מציג את סטטוס ה-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 | +-----------------------------------------------------------------------------------------+