PracticU

יצירת Snapshot
עם PowerCLI

בלי כתוביותעם כתוביות
PracticU › קורס וירטואליזציה - VMware ESXi 8 › יצירת Snapshot עם PowerCLI
מילון מושגים:
PowerShell - סביבת שורת פקודה ושפת סקריפטים של מיקרוסופט לניהול אוטומטי של מערכות Windows ושירותים.
VMware - חברה ומוצרי וירטואליזציה הנפוצים בארגונים, המאפשרים להריץ מכונות וירטואליות רבות על חומרה פיזית אחת.
vCenter - כלי ניהול מרכזי של VMware לניהול מספר שרתי ESXi והמכונות הווירטואליות שעליהם ממקום אחד.
API - ממשק תכנותי שמגדיר כיצד תוכנה אחת פונה לאחרת ומחליפה איתה נתונים ופעולות.
דוח - מסמך או תצוגה שמסכמים נתונים בצורה מאורגנת לצורך הבנה וקבלת החלטות.
CSV - קובץ טקסט פשוט לאחסון נתונים טבלאיים, שבו הערכים בכל שורה מופרדים בפסיקים.
לולאה - מבנה בקרה שחוזר על קטע קוד שוב ושוב כל עוד תנאי מתקיים או עבור כל פריט באוסף.

יצירת Snapshot עם PowerCLI
כשפרויקט מורכב מכמה מכונות וירטואליות, לא נוח ללחוץ ידנית על Snapshot בכל אחת. בהרצאה כותבים ב-PowerShell סקריפטים שמטפלים בכולן יחד: יצירה, חזרה אחורה ומחיקה.
הכנה
1. מדיניות הרצה: הוגדרה RemoteSigned, כלומר רק סקריפט שמגיע מרחוק צריך להיות חתום. אחרת משתמשים ב-Set-ExecutionPolicy.
2. מודול PowerCLI: מתקינים אותו עם Install-Module. עובדים בכלי ISE. מגדירים שלא לשלוח מידע שימוש ל-VMware.
3. חיפוש פקודות: Get-Command עם שם המכיל snapshot מציג פקודות כמו Get-Snapshot, New-Snapshot, Remove-Snapshot, Set-VM. בסך הכול נמצאו 4,925 פקודות.
4. התחברות: Connect-VIServer ל-vCenter (אפשר כמה vCenters ברשימה אחת, ואפשר עם משתמש וסיסמה). הפקודות מדברות עם ה-API של ה-vCenter, ולכן מה שנעשה בסקריפט נראה גם בממשק.
הסקריפטים
1. בחירת מכונות: מגדירים משתנה עם Get-VM, מסננים לפי שם (למשל מכונות שמתחילות ב-testVM באמצעות כוכבית).
2. יצירה: לולאת foreach על כל מכונה, בונים שם בסגנון שם-המכונה עם סיומת backup, ומריצים New-Snapshot עם -Confirm:$false ו--RunAsync.
3. דוח: Get-VM | Get-Snapshot מציג את הרשימה. אפשר לשרשר ל-Select-Object כדי לראות עמודות נוספות (גודל, תאריך יצירה) ול-Export-Csv לקובץ שנפתח באקסל.
4. Revert: Get-Snapshot | ForEach-Object עם Set-VM -VM $_.VM -Snapshot $_ ו--Confirm:$false. בלי סינון הלולאה עוברת על כל ה-Snapshots, וחוזרת לכל אחד בתורו, עד האחרון. כדי לחזור לנקודה מסוימת מסננים עם -Name, למשל רק אלה שנגמרים ב-backup. אפשר לסנן גם לפי תאריך.
5. מחיקה סלקטיבית: מעבירים את ה-Snapshots לטבלה גרפית (grid) שבה בוחרים אילו למחוק, ומה שנבחר עובר ב-pipe ל-Remove-Snapshot.
6. מחיקה של הכול: שולפים את כל המכונות והסנפשוטים ומעבירים ל-Remove-Snapshot.
רעיון לשימוש
שומרים שלושה סקריפטים: יצירה לפני פעולה מסוכנת, חזרה אחורה, ומחיקה. כל אחד מופעל בלחיצה כפולה.
אחרי ההרצאה אפשר לנהל Snapshots של פרויקט שלם של מכונות וירטואליות מסקריפט PowerShell אחד.

פרקי ההרצאה: יצירת Snapshot עם PowerCLI

  1. 00:00

    אוטומציה של Snapshots ב-PowerShell

  2. 00:38

    בדיקת Execution Policy

  3. 01:15

    התקנת מודול PowerCLI

  4. 02:07

    ביטול שליחת מידע ל-VMware

  5. 02:46

    חיפוש פקודות עם Get-Command

  6. 03:58

    התחברות ל-vCenter עם Connect-VIServer

  7. 05:09

    Get-VM ובדיקת Snapshots קיימים

  8. 05:49

    בחירת VM לפי שם עם משתנה

תמלול ההרצאה: יצירת Snapshot עם PowerCLI

הטקסט המלא של הדקות הראשונות בהרצאה «יצירת Snapshot עם PowerCLI» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

    שלום לכולם, בהרצאה זו אנחנו נלמד איך לעשות סנאפשוטים על כמה מכונות וירטואליות בו זמנית מתוך CMD, מתוך PowerShell והמטרה לעשות סקריט שיעשה הכל אוטומט עבורנו שלא נצטרך כל פעם ללחוץ על טייק סנאפשוט או לחזור אחורה בזמן רוורט סנאפשוט או דליט סנאפשוט עכשיו זאת לא בעיה לעשות את

  2. 00:28

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

  3. 00:41

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

  4. 01:01

    אם סקריפט מורץ מקומית הוא לא צריך להיות חתום דיגיטלית. דרך אגב, אם היה לי משהו אחר הייתי מריץ את הפקודה set execution policy בפאוורשייל וקובע שזה יהיה remote signed.

  5. 01:15

    זאת ההגדרה הכללית שאני אוהב לעשות בווינדוס אצלי, שרק סקריפטים מרחוק צריכים להיות חתומים דיגיטלית. טוב, בואו נתחיל עם VMware, ויש לנו מודול של וימור שנקרא Power CLI.

  6. 01:29

    אנחנו יכולים להריץ אותו, להתקין אותו, אינסטול מודול. דרך אגב, אני בכלי שנקרא ISE, הוא מובנה בכל וינדוס. והכלי הזה של פאור של ה-SE למעלה פותח לי קובץ שאני יכול להריץ את כולו במכה אחת או רק את ה-SELECTION.

  7. 01:46

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

  8. 01:57

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

  9. 02:18

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

  10. 02:32

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

  11. 02:44

    אז אני עושה לו get command, תביא לי פקודות מסוג cmd let's, שזה הפקודות הרגילות של פאוורשל, מתוך המודולים של VMware ושימו לב יש הרבה מודולים ל-VMware ובתוך השם של הפקודה אני רוצה רק את המילת סנפשוט אז הוא מביא לי פה גט סנפשוט ו-new סנפשוט ו-remove סנפשוט ו-set סנפשוט ואנחנו נראה עוד מעט את כל הפקודות האלו מה שבאתי להראות לכם שגט קומנד עוזר לי

  12. 03:12

    לחפש פקודה ולדעת לאיזה כיוון להתקדם לדוגמה יש לנו פה פקודות שקשורות בכלל ל-VSAN דרך אגב כמה פקודות יש בכלל אני עושה get command על כל המודול של VMware, שם את זה בסוגריים ואומר כל הפקודות האלו חוזרות כאובייקט אחד, תעשה לי קאונט על האובייקט הזה, תספור לי כמה פקודות יש.

  13. 03:33

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

  14. 03:48

    ואם אני רוצה לסנן, אני יכול לעשות מינוס name snapshot. טוב, אז בואו נתחיל להשתמש בפקודות של הסנפשוט שלנו. מה אנחנו נעשה? פה למעלה אני מנקה את הקונסול ואני מתחבר ל-VCenter, קונקט ל-VCenter.

  15. 04:02

    למעשה, תחנת העבודה שלי תתחבר ל-API של VCenter. אני כותב כאן קונקט ל-VCenter, שימו לב, פסיק VCenter 2. אני בא להראות לכם שאפשר להתחבר לכמה VCentרים בו זמנית ולהריץ פקודות על כמה VCentרים בו זמנית, זה מדהים ואני אומר עם איזה יוזרנם ואיזה פסוורד אם לא הייתי מציין פה יוזרנם ופסוורד הוא היה מתחבר עם ntlm או קרברוס עם היוזר שלי באקטיב דירקטורי אז תדעו שאפשר להתחבר

  16. 04:32

    לכמה v-centרים בו זמנית בואו נריץ את הפקודה הזאת כמובן שאין לי את ה-v-center השני הוא לא קיים זה סתם להראות לכם שזה אפשרי שימו לב הוא התחבר ל-v-center הראשון בפורט 443 עם היוזר הזה אבל נתן לי הודעת שגיאה על v-center 2 כי כמובן שהוא לא קיים.

  17. 04:52

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

  18. 05:02

    כל מה שאני מספר לכם אפשר למצוא באתר של VMware. אנחנו פה על קצה הקרחון נוגעים ביכולות האוטומציה של VMware. בואו נעשה get vm כשאנחנו מחוברים, ואנחנו רואים את כל המכונות הווירטואליות שלנו, כולל המכונות של VMware עצמו לניהול של הקלאסטר,

  19. 05:19

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

  20. 05:50

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

לקורס המלא: קורס וירטואליזציה VMware ESXi 8

ההרצאה הקודמת: יצירת Snapshot - בממשק גרפי

ההרצאה הבאה: הורדה של Veeam

הרצאות קשורות מקורסים אחרים

  • snapshot

קורסים נוספים במסלול

  • קורס וירטואליזציה - Hyper-V
  • קורס OpenStack