Smart-World Surf
🔬 הרחבה — צלילה לעומק

וירטואליזציה (Virtualization)

בהאוניברסיטה הפתוחה · Israel
🧭 המושג הזה בכל הקורסים →

שדרגו את הדף עם קובץ

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

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

מבוא: וירטואליזציה בבחינות הקורס 20594

בבחינות הקודמות בקורס 'מערכות הפעלה' (20594), כפי שניתן לראות בכותרות כמו '2012a - 86 - Answers' או '2000b_sol', ניכר דגש על הבנה מעמיקה ויישומית של מושגים. וירטואליזציה אינה יוצאת דופן. השאלות נוטות לבחון לא רק את ההגדרה הבסיסית, אלא גם את המנגנונים הפנימיים, ההבדלים בין סוגי וירטואליזציה שונים (למשל, וירטואליזציית חומרה לעומת וירטואליזציית מערכת הפעלה), היתרונות והחסרונות שלהם, ואת ההקשר שבו כל סוג יעיל יותר. צפו לשאלות הדורשות ניתוח תרחישים והסבר מפורט של עקרונות הפעולה, תוך התייחסות לביצועים, אבטחה וניהול.

מהי וירטואליזציה? הגדרה עמוקה

וירטואליזציה היא טכנולוגיה מהפכנית המאפשרת ליצור גרסאות וירטואליות (מדומה) של משאבי מחשוב פיזיים. במקום שכל יישום או מערכת הפעלה יפעלו על חומרה פיזית ייעודית, וירטואליזציה מאפשרת להפריד את המשאבים הפיזיים מהשימוש הלוגי בהם. הפרדה זו מתבצעת באמצעות שכבת תוכנה הנקראת 'מפקח וירטואלי' (Hypervisor), המנהלת את המשאבים הפיזיים ומקצה אותם למכונות וירטואליות (Virtual Machines – VMs) מרובות, הפועלות במקביל על אותה חומרה פיזית.

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

למה וירטואליזציה חשובה? (היתרונות המרכזיים)

  • ניצול משאבים משופר (Server Consolidation): במקום שרתים פיזיים רבים המנוצלים חלקית, ניתן לאחד עומסי עבודה רבים על שרת פיזי חזק אחד או יותר, ובכך להפחית עלויות חומרה, חשמל, קירור ושטח.
  • בידוד (Isolation): כל מכונה וירטואלית פועלת בסביבה מבודדת משלה. כשל במכונה וירטואלית אחת אינו משפיע על אחרות, מה שמגביר את יציבות המערכת ואבטחתה.
  • גמישות וניידות (Flexibility & Portability): מכונות וירטואליות הן קבצים שניתן להעביר בקלות בין שרתים פיזיים שונים (למשל, לצורך איזון עומסים או תחזוקה), לשכפל אותן במהירות וליצור סביבות פיתוח ובדיקה מבודדות.
  • שחזור מאסון וזמינות גבוהה (Disaster Recovery & High Availability): קל יותר לגבות, לשחזר ולהעביר מכונות וירטואליות, מה שתורם ליכולת התאוששות מהירה מאסונות ולשמירה על זמינות גבוהה של שירותים.
  • הפחתת עלויות תפעוליות: פחות חומרה פיזית דורשת פחות תחזוקה, פחות חשמל ופחות קירור.

עקרונות פעולה וסוגי וירטואליזציה

הלב של טכנולוגיית הווירטואליזציה הוא ה-Hypervisor (מפקח וירטואלי), תוכנה או קושחה המאפשרת יצירה וניהול של מכונות וירטואליות. קיימים שני סוגים עיקריים של Hypervisor:

Type 1 Hypervisor (Bare-metal)

מותקן ישירות על החומרה הפיזית, ללא מערכת הפעלה מארחת. דוגמאות: VMware ESXi, Microsoft Hyper-V, Citrix XenServer. מספק ביצועים גבוהים, אבטחה ויציבות, ומתאים לסביבות ייצור.

Type 2 Hypervisor (Hosted)

מותקן כיישום על גבי מערכת הפעלה מארחת קיימת (למשל, Windows, Linux). דוגמאות: VMware Workstation, VirtualBox. נוח לפיתוח, בדיקות ושימוש אישי, אך עם תקורה ביצועית גבוהה יותר.

בנוסף לסוגי ה-Hypervisor, קיימות גישות שונות לווירטואליזציה עצמה:

וירטואליזציה מלאה (Full Virtualization)

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

וירטואליזציית חלקיק (Para-virtualization)

מערכת ההפעלה האורחת מודעת לכך שהיא וירטואלית ומותאמת (ליבתה שונתה) כדי לתקשר ישירות עם ה-Hypervisor באמצעות 'קריאות היפר' (hypercalls). יתרון: ביצועים טובים יותר בשל הפחתת אמולציה. חיסרון: דורש שינויים במערכת ההפעלה האורחת.

וירטואליזציה ברמת מערכת ההפעלה (OS-level Virtualization / Containers)

טכנולוגיה כמו Docker או LXC. במקום לדמות חומרה שלמה, היא יוצרת סביבות מבודדות (קונטיינרים) המשתפות את אותה ליבת מערכת הפעלה של המארח. כל קונטיינר מכיל רק את היישום והתלויות שלו. יתרון: קלים, מהירים ובעלי תקורה מינימלית. חיסרון: רמת בידוד נמוכה יותר מ-VMs, וכל הקונטיינרים חייבים להשתמש באותה ליבת מערכת הפעלה.

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

אתגרים וחסרונות

  • תקורה ביצועית (Performance Overhead): למרות השיפורים, תמיד קיימת תקורה מסוימת בביצועים לעומת חומרה פיזית ייעודית, במיוחד בווירטואליזציה מלאה.
  • נקודת כשל יחידה (Single Point of Failure): כשל בשרת הפיזי המארח עלול להשבית מספר רב של מכונות וירטואליות. ניתן למתן זאת באמצעות פתרונות יתירות וזמינות גבוהה.
  • מורכבות ניהולית: ניהול סביבת וירטואליזציה דורש ידע וכלים ייעודיים, ויכול להיות מורכב יותר מסביבה פיזית פשוטה.
  • אבטחה: פגיעות ב-Hypervisor עצמו עלולה לסכן את כל המכונות הווירטואליות הפועלות עליו.

🔗 מושגים קשורים

מושגים נוספים מאותו קורס

מערכת הפעלה (Operating System) קריאת מערכת (System Call) תהליך (Process) בלוק בקרת תהליך (Process Control Block - PCB) החלפת הקשר (Context Switch) חוט (Thread) תזמון מעבד (CPU Scheduling) מצב מרוץ (Race Condition) קטע קריטי (Critical Section) מנעול (Mutex) סמפור (Semaphore) מבוי סתום (Deadlock) אלגוריתם הבנקאי (Banker's Algorithm) זיכרון וירטואלי (Virtual Memory) דפדוף (Paging) פילוח (Segmentation) כשל עמוד (Page Fault) אלגוריתם החלפת עמודים (Page Replacement Algorithm) סחף (Thrashing) מערכת קבצים (File System) בלוק בקרה של קובץ (File Control Block - FCB) DMA (Direct Memory Access) מנהל התקן (Device Driver) תזמון דיסק (Disk Scheduling)

📝 מבחנים מהקורס

האוניברסיטה הפתוחה · תרגלו מול המבחנים האמיתיים