הבנת כיצד לפתוח קבצי VMDK ולחלץ תוכן מהם שימושי כאשר נתקלת בבעיה עם מכונה וירטואלית. ייתכן שתמצא כי אי אפשר להתחיל את המכונות הווירטואליות לאחר בעיות עם התקנת יישומים, עדכוני מערכת הפעלה, התקפות תוכנות זדוניות, מחיקת נתונים בשגיאה, וכו'. כאשר זה קורה, אתה מאבד גישה לדיסק הווירטואלי של המכונה הווירטואלית.
ממש כך, תוכל לפתוח קבצי VMDK עם WinZip, Linux Reader או VMware Workstation Player. המשך הקריאה כדי ללמוד על השיטות לשחזור את תוכן קבצי הדיסק הווירטואלי VMDK. שים לב כי השיטות אלו חלות רק אם הדיסק הווירטואלי אינו מוצפן או פגום.
מהו קובץ VMDK?
VMDK הוא פורמט קובץ דיסק למכונה וירטואלית, שהוא הפורמט הפתוח שפותח על ידי VMware. פורמט זה לדיסק הווירטואלי משתמש בסיומת .vmdk לקבצים ומשמש במכונות וירטואליות של VMware ו-VirtualBox. עם זאת, מכונות וירטואליות השוכנות בשרתי ESXi משתמשות בפורמט קצת שונה של דיסקים ווירטואליים vmdk. על האחסון הווירטואלי של ESXi, תיאור הדיסק הווירטואלי והנתיב הווירטואלי שמכיל נתונים גולמיים של הדיסק הווירטואלי הם שני קבצים נפרדים.
התבנית של שם תיאור הדיסק הווירטואלי היא diskname.vmdk והתבנית של שם תיאור ההרחבה של הדיסק הווירטואלי שמכיל את כל הנתונים הגולמיים היא diskname-flat.vmdk. במה של דיסקים וירטואליים בתבנית של VMware Workstation, הם מיוצגים כקובץ diskname.vmdk אחד (monolithic sparse), שהוא קובץ נתוני רחבה המכיל תיאור דיסק וירטואלי מוטבע. תיאור דיסק וירטואלי מגדיר את מבנה הדיסק הווירטואלי, הגיאומטריה של הדיסק הווירטואלי, גרסת החומרה הווירטואלית וזיהויים.
קובץ תיאור הדיסק הווירטואלי
A virtual disk descriptor is represented as plain text. On the left side of the screenshot below, you can see a virtual disk descriptor of the ESXi format (a vmdk file that can be opened with any text editor). On the right side of the screenshot, you can see the data of the virtual disk descriptor that is embedded into a single vmdk file of the VMware Workstation format. The vmdk file can be opened in a HEX editor.
כפי שניתן לראות, נתוני תיאור הדיסק המוטבעים מוכתבים לקובץ ה-vmdk הרחב של תבנית ה-Workstation מהכתובת 0x200, שהיא מספר הבייט הראשון. אם תמירו את הערך 200 HEX לבינארי ולעשרוני, תקבלו:
200 HEX = 1000000000 בינארי = 512 עשרוני
כך שאם ברצונכם לחלץ את תיאור הדיסק המוטבע מתוך הקובץ ה-vmdk, עליכם לחלץ חלק מהנתונים החל מהבייט ה-512. ניתן למצוא מידע נוסף על קבצי תיאור דיסק וירטואליים של VMware וללמוד כיצד לחלץ, לערוך ולייבא תיאור דיסק וירטואלי מוטבע בפוסט בבלוג הנוגע להמרת מכונות וירטואליות של VMware למכונות וירטואליות של Hyper-V.
קובץ נתוני הדיסק הווירטואלי
בציונית הבאה, מופיעים שני קבצי הדיסק מדומים בעורך ההקסדרה HEX. אותו מערכת העיסוק מותקנת על שני דיסקים מדומים (החלק הראשון שמשמש להתקנת המערכת העיסוק נוצר וניתן בכלי הדיסק ביונית של Windows). בצד שמאל של הציונית, מופיע קבץ –flat.vmdk בפורמט של ESXi. המידע הרגיל מוקרב מ0x00000000 בדיסק המדומה הזה –flat.vmdk קבץ. בצד ימין של הציונית, מופיע דיסק מדומה בפורמט של Workstation, ואותו מידע מוקרב מ0x00150000 (מספר הבתים 5376), שהוא לא בהתחלה של הקבץ vmdk.
עכשיו, אחרי שהתחלתם להתמודד עם התיאוריה, הגיע הזמן לחלק המעשי. לפני שיתקדמותכם, מומלץ להסיר את הנתונים בשביל למנוע כל סוג של נזק לדיסקים המדומים. לבצע פעולות עם הדיסקים שלכם באחריות וסיכון שלך.
שתי שיטות לפתוח קבצי VMDK על ידי דיגרציית מכונת המחשב
על מנת לפתוח קבצי VMDK על ידי דיגרציית מכונות מופע קיימות, צריך מערכת מארח כמו VMware ESXi, VMware Workstation, VMware Player או Oracle VirtualBox שמותקן על המחשב הפיזי שלך. אתה יכול לבחור בשיטה המסורתית על ידי השתמשות בDVD חי או על ידי תתקעת קבץ הVMDK בתור דיסק מדומה.
שיטה 1: באמצעות DVD חי אפילו אם המערכת על המכונת המופע מת.
הרעיון מאחורי השיטה הזו הוא שיש לך מכונה וירטואלית וניתן להפעיל אותה מדיסק DVD. תמונת הדיסק ISO ניתן להשתמש בה כדיסק DVD המוכנס לכונן DVD הווירטואלי של המכונה הווירטואלית. לאחר הפעלת המערכת הפעלה מתוך מדיה DVD, ניתן להרכיב את המחיצות של הדיסק הווירטואלי ולהעתיק קבצים מהדיסק הווירטואלי אל דיסק קשיח USB מחובר למכונה הווירטואלית או למחשב המארח שלך, או לכל מחשב אחר דרך הרשת. חלק מההפצות של Live DVD מרכיבות את הדיסקים (מחיצות) באופן אוטומטי.
זו שיטת ישן מכיוון שהעקרון דומה להעתקת קבצים מדיסקים פיזיים של מחשבים פיזיים כאשר מערכת ההפעלה המותקנת אינה יכולה להפעיל את המערכת. ניתן להשתמש בשיטה זו כדי לחלץ נתונים מדיסקי VMDK של מכונות וירטואליות הפועלות על VMware ESXi ו- VMware Player/Workstation.
שימו לב שהמערכת הפועלת שהופעלה מ- Live DVD חייבת לזהות את מערכות הקבצים של המחיצות של הדיסק הווירטואלי שלך שברצונך לגשת אליהם. לדוגמה, Windows לא יכולה לעבוד עם מערכות קבצים של Linux כמו EXT3, EXT4, ReiserFS, וכו', במצב ברירת המחדל. שימוש בכלים נוספים ב- Windows עשוי לעזור לפתור את הבעיה הזו. בתור כך, לינוקס מודרני מזהה מערכות קבצים של Windows כמו NTFS ו- FAT32, ולכן ניתן להשתמש בדיסקים DVD שמבוססים על לינוקס כדי להעתיק קבצים השמורים על דיסקים וירטואליים המשמשים על ידי מכונה וירטואלית של Windows שאינה יכולה להפעיל את המערכת.
דוגמה: פתיחת קבצי VMDK על ESXi
יש לשקול דוגמה להחלפת שיטה זו: יש לך מכונה וירטואלית עם Windows Server 2016 על מארח ESXi, והמערכת הפועלת במכונה הווירטואלית לא יכולה להתחיל, אך עליך לקבל את הקבצים המורכבים בדיסק הווירטואלי VMDK. ישנם שני מפרטי NTFS על הדיסק הווירטואלי: מפרט המערכת להפעלה ודיסק C. בדוגמה זו משתמשים בתמונת ISO של התקנת Ubuntu 18 הרשמית. אפשר להשתמש במדיה המכוונת של Ubuntu ככונן DVD חי.
הערה: תהליך העבודה לגרסאות חדשות יותר של המוצרים שנחשבים בפוסט בבלוג זה זהה. ניתן להשתמש ב-VMware Workstation 17, ESXi 8.0, Windows Server 2019, Ubuntu Linux 22.04, וכו', ולהשתמש בעקרון הפעולה שנסבר במאמר זה.
- יש להעלות את תמונת ה-ISO לאחסון הנתונים הנגיש למארח ESXi בו ממוקמת המכונה הווירטואלית.
- יש לפתוח את לקוח VMware vSphere, לעבור אל מארחים ואשכולות, לבחור במכונה הווירטואלית שלך וללחוץ על ערוך הגדרות.
- בחלון הגדרות ה-VM, עבור לאפשרויות של כונן CD/DVD. בחר באפשרות קובץ ISO של ה־Datastore אם יש לך את קובץ ה־ISO הנדרש ב־Datastore הנגיש על ידי המארח של ESXi. לאחר מכן, עבור לאפשרות תקשורת CD/DVD, לחץ על עיון ובחר בקובץ ה־ISO המתאים ב־Datastore. שם הקובץ הוא ubuntu-18.04.1-desktop-amd64.iso במקרה זה.
- הפעל את ה-VM, הדלף מהתמונה של ה־ISO ובחר ב־"נסה את Ubuntu ללא התקנה". לאחר שה- Ubuntu הופעל מהתקליטור הלח "Live DVD", פתח את הקונסולה (Terminal).
- קבל את ההרשאות שורש:
sudo -i
- רשום את המכשירים של הדיסק הקשיח הזמינים:
ls -al /dev/sd*
ישנן שני מחיצות – /dev/sda1 ו־/dev/sda2
- צור תיקיות לשימוש כנקודות תחבורה עבור כל מחיצה:
mkdir /mnt/win-disk1
mkdir /mnt/win-disk2
-
הרכב /dev/sda1 /mnt/win-disk1/
הרכב /dev/sda2 /mnt/win-disk2/
- לאחר מכן, רשומה את הקבצים והספריות של המחיצות שנרכבו:
ls -al /mnt/win-disk2/
ls -al /mnt/win-disk1/
כפי שאתה רואה בתמונת המסך לעיל, המחיצה שנרכבה ל־/mnt/win-disk2 היא המחיצה שמשמשת כדיסק C: בחלונות.
-
עכשיו ניתן לחבר דיסק קשיח חיצוני USB (HDD) ליציב USB של מארח ESXi שלך ולחבר את הדיסק הזה למכונה וירטואלית עם תכונת העברת USB. בכך תוכל להעתיק את הקבצים הנחוצים המאוחסנים בקובץ VMDK שמשמש כדיסק וירטואלי על ידי המכונה הוירטואלית. דרך נוספת היא להשתמש בשיתוף SMB (CIFS) ולהעתיק את תוכן הדיסק הוירטואלי (כלומר, קובץ ה-VMDK) למקום אחר דרך הרשת.
בדוגמה זו, אנו מסבירים כיצד להעתיק נתונים לשיתוף SMB. השיתוף SMB נוצר על ידי המארח שכתובת ה-IP שלו היא 192.168.17.125, שם השיתוף הוא \\192.168.17.125\share, ויש ל-user10 הרשאות כתיבה לשיתוף זה. אל תשכחו כי Linux, להבדיל מ-Windows, משתמשת בקו השוליים הימני בעת התחברות לשיתוף.
- לאחר מכן נעצור את השיתוף SMB (CIFS) לספרייה זו:
mount -t cifs -o user=user10 //192.168.17.125/share /mnt/smb-share
- הזן את סיסמת המשתמש.
- כעת, המערכת שלך ב-Linux מחוברת לשיתוף ה-SMB, ותוכל להעתיק את התוכן שנשמר בתוך קובץ ה-VMDK לשיתוף ה-SMB דרך הרשת.
בואו נעבור לתיקייה אליה מחובר השיתוף ה-SMB ונעתיק את קובץ ה-bootmgr מהמחיצה המחוברת של הדיסק הווירטואלי (הקובץ VMDK באחסון הנתונים של ESXi) לתיקייה הנוכחית (שיתוף ה-SMB).
cd /mnt/smb-share
cp /mnt/win-disk-2/bootmgr
- אז וודא שהקבצים הנדרשים הועתקו, ובדוק את תוכן חלוקת ה-SMB שלך.
ls -al /mnt/smb-share
כפי שאתה רואה בצילום המסך למעלה, הקובץ bootmgr המשמש בדוגמה זו הועתק בהצלחה. כעת אתה יודע את השיטה הראשונה להעתקת תוכן קובץ VMDK למיקום אחר כאשר מערכת ההפעלה המותקנת על מכונה וירטואלית לא יכולה להתחיל. הלוגיקה של שימוש בשיטה זו ב-VMware Player או ב-VMware Workstation זהה.
שיטה 2: עגון קובץ VMDK ככונן וירטואלי ל-VM בריאה (ESXi/Workstation/Player)
שיטה זו דומה לקודמת, אך במקרה זה, כונן הווירטואלי VMDK צריך להיות מחובר למכונה וירטואלית קיימת שיש לה מערכת הפעלה פועלת. ניתן לחבר קובץ VMDK ככונן וירטואלי נוסף ל-VM קיימת הפועלת על מארח ESXi, VMware Workstation ו-VMware Player.
אם ברצונך לפתוח קובץ VMDK של מכונה וירטואלית ב-VMware Workstation או Player, עליך להעתיק את הדיסק הווירטואלי ואת התיאור שלו (קבצי vmdk ו-flat.vmdk) לדיסק פיזי הנגיש למחשב שבו מותקן VMware Workstation או Player. אם קיימים snapshots למכונה הווירטואלית, והיו שינויים בדיסקים של ה-VM לאחר מכן, אל תשכח להעתיק את קבצי ה-VMDK של דיסקים וירטואליים של דלתה (differencing) בנוסף לקבצי ה-VMDK האב.
נסקור שני דוגמאות:
דוגמה 1: איך לפתוח דיסק וירטואלי VMDK של מכונה וירטואלית אחת באמצעות מכונה וירטואלית אחרת על מארח ESXi (שניהם רשומים על מארח ESXi)
דוגמה 2: איך לחלץ תוכן מדיסק וירטואלי VMDK של מכונה וירטואלית של ESXi על ידי הצטרפות הדיסק הווירטואלי למכונה בפורמט של VMware Workstation
שים לב שהמערכת הפועלת במכונה הראשונה (בריאה) חייבת להיות תואמת למערכות הקבצים השמושות בדיסק הווירטואלי של המכונה השנייה שיש לה מערכת הפעלה שאינה ניתנת להפעלה (מכונה שלה קובץ VMDK שברצונך להצרף כדיסק וירטואלי נוסף כדי לחלץ קבצים).
דוגמה 1: הצבת דיסק וירטואלי למכונה שרצה על ESXi
- כבה את ה-VM שמשתמשת בדיסק וירטואלי ממנו ברצונך לחלץ קבצים.
- מצא את הדיסק הווירטואלי הזה באחסון ה-ESXi.
- העתק את הדיסק הוירטואלי לתיקייה אחרת באותו מאחסן או במאחסן אחר כדי למנוע שגיאה שנגרמת על ידי נעילת הדיסק הוירטואלי. בדוגמה שלנו, נראה כיצד לפתוח קובץ VMDK ששמו הוא Win-test2.vmdk (זהו דיסק וירטואלי של המכונה הווינדוס Win-test2 שלנו). המארח ESXi מנוהל על ידי vCenter. אם אתה משתמש במארח ESXi עצמאי ללא vCenter, תוכל להשתמש בהיגיון המוסבר בדוגמה זו – ההבדלים הם רק בממשק המשתמש.
- פתח את VMware vSphere Client, עבור אל אחסון, ובחר במאחסן המדיה בו ממוקם קובץ ה-VMDK הנדרש. בחר בקובץ VMDK ולחץ על העתק אל .
הערה: אם יש לך מארח ESXi עצמאי ואין לך vCenter, פתח את VMware Host Client על ידי הזנת כתובת ה-IP של המארח ESXi שלך בדפדפן האינטרנט, ואז עבור אל אחסון > [שם האחסון שלך] > דפדפן האחסון , בחר את קובץ ה-VMDK שלך ולחץ על העתק . בחר את היעד ולחץ על לחצן העתק כדי לאשר. זכור שדיסקים וירטואליים מוצגים כקבצי VMDK בממשק האינטרנט של VMware vSphere Client ושל VMware Host Client, אך דיסק וירטואלי מורכב מקבצי – flat.vmdk ו vmdk (דיסק וירטואלי ודיסקריפטור שלו). באפשרותך גם לפתוח ישירות את מסוף ESXi על השרת או על ידי התחברות דרך SSH כדי להעתיק את הקבצים.
- בחלון שנפתח, בחר את היעד. ניתן להעתיק את קובץ ה- VMDK למיקום באותה האחסון או לאחסון אחר. נשכפל את קובץ ה- VMDK לתיקיית השורש של אותו האחסון לצורך הדגמה זו. במקרה זה נעתיק גם את קבצי vmdk ו-flat.vmdk.
- עכשיו עליך לצרף את הדיסק הווירטואלי VMDK ל-MV בריא אחר שמערכת ההפעלה שלו פועלת כראוי. בדוגמה זו, MV הרץ ב-Windows Server 2016 באותו מארח ESXi משמש (שם ה-MV הוא WinServer2016). ניתן לצרף דיסק ווירטואלי ל-MV הבריאה הזו גם כאשר ה-MV פועלת. ב-Client של vSphere, עבור אל מארחים וקבוצות, בחר ב-MV הבריאה, לחץ על המקש הימני של ה-MV ולחץ ערוך הגדרות.
- בחלון המופיע, לחץ על הוסף מכשיר חדש ובחר דיסק קשיח קיים.
- בחר את העותק של קובץ ה-VMDK שיצרת מראש. בדוגמה הנוכחית, נבחר את העותק של Win-test2.vmdk הנמצא בתיקיית השורש של האחסון.
- הפעל את ה-MV הבריאה שלה צרפת את הדיסק הווירטואלי שאתה מעוניין בו, אם ה-MV עדיין לא הופעלה. דיסק ווירטואלי מתווסף באופן דינמי עבור MV של Windows Server 2016 הפועלת.
- במערכת האורח Windows OS, עבור אל ניהול המחשב > ניהול דיסקים (או הפעל diskmgmt.msc בשורת הפקודה) ומצא את הדיסק הווירטואלי שמחובר. כברירת מחדל, הדיסק המחובר החדש מנותק. לחץ על הדיסק עם העכבר הימני ולחץ על מקוון. אות דיסק תיקבע באופן אוטומטי עבור מחיצות בדיסק הנוסף. אם לא הוקצה אות דיסק עבור מחיצה, לחץ על המחיצה עם העכבר הימני ולחץ על שנה אות אות נתיבים לכונן.
- כעת יש לך גישה מלאה (קריאה/כתיבה) לקבצים ולתיקיות של דיסק הווירטואלי VMDK. פשוט פתח את הדיסק שמחובר במחשב הווינדוס והעתק את התוכן הנדרש של קובץ ה-VMDK שמחובר ל-VM הבריא. בנוסף, ניתן גם למחוק נתונים לא נחוצים מהדיסק הווירטואלי VMDK המחובר (לדוגמה, אם יש קבצים שנוצרו על ידי וירוסים), אך היה זה זהיר ואל תפגע בדיסק ווירטואלי אם יש צילומי מסך קשורים לדיסק ה-VMDK שמחובר.
דוגמה 2: הרכבת דיסק ווירטואלי ל-VM הרצה ב-VMware Player או Workstation
הדוגמה הזו דומה לדוגמה הקודמת, אך בתוכנית רץ על VMware Workstation משמשים לפתיחת קבצי VMDK של ה-ESXi VM. שיטה זו יכולה להשתמש כאשר אין מקום פנוי בדיסק האחסון של ESXi להעתקת דיסק וירטואלי, לדוגמה. דיסק וירטואלי של VM Win-test2 שנאמר בדוגמה הקודמת יותרם ל-VM של VMware Workstation כדי לחלוץ את התוכן שלו.
- ב-VMware vSphere Client, עבור אל אחסון > [שם האחסון שלך] > קבצים, בחר את קובץ ה-VMDK ולחץ על הורדה.
כפי שאתה זוכר, דיסק וירטואלי בפורמט ESXi מורכב מקבצי vmdk ומ-flat.vmdk. עליך להוריד את שני הקבצים למחשב שבו מותקן VMware Workstation או VMware Player. כאשר אתה מוריד דיסק וירטואלי מאחסון הנתונים של ESXi בעזרת VMware HTML5 vSphere Client, שני הקבצים הללו מזוגים לתוך ארכיון ZIP אחד.
כאלטרנטיבה, תוכל לאפשר גישת SSH אל מארח ESXi שלך, לעבור לתיקיית האחסון של הנתונים ולהעתיק את שני קבצי הדיסק הוירטואלי למחשב שלך באופן ידני באמצעות לקוח SCP, למשל, WinSCP.
הערה: כאשר אתה מוריד דיסק וירטואלי מסוג thin provisioned מאחסון הנתונים של ESXi שיש בו מערכת הקבצים VMFS למחשב שלך, תקבל קובץ vmdk קל וקובץ –flat.vmdk שגודלו יהיה שווה לגודל המרבי שהוקצה לדיסק הוירטואלי (כפי שהיית עושה כאשר אתה מוריד דיסק וירטואלי מסוג thick provisioned). זה כי ההקצאה הדקה ניתנת לתפעול כמאפיין של מערכת הקבצים VMFS.
עכשיו תוכל לראות שני קבצים של דיסק וירטואלי בפורמט ESXi שהורדו בארכיון ZIP. גודל הדיסק הוירטואלי שנקרא thin provisioned באחסון הנתונים של VMFS הוא כ-2 ג'יגה-בייט כעת (ראה את התמונה למעלה), וגודלו של אותו דיסק שהורד למחשב עומד על כ-8 ג'יגה-בייט (ראה את התמונה למטה).
- פתח את שני הקבצים מהארכיון. כברירת מחדל, הקבצים מוחלצים לתיקייה Win-test2.vmdk, ששמה תואם את שם הארכיון אך בלי סיומת של קובץ.
- עבור שלב זה, עליך להיות ברשותך מכונה וירטואלית בריאה עם מערכת הפעלה פועלת במחשבך עם VMware Workstation או Player מותקנים. בעוד בדוגמה הקודמת נעשה שימוש במכונת וירטואלית עם Windows Server 2016, בדוגמה זו נעשה שימוש במכונת וירטואלית עם Windows Server 2008.
פתח את VMware Workstation או VMware Player, בחר במכונת הווירטואלית הבריאה שלך וערוך את הגדרות המכונה הווירטואלית.
- בלשונית חומרה, לחץ על כפתור הוסף.
- באשף הוספת החומרה שנפתח, בחר כונן קשיח כסוג החומרה. לאחר מכן, בחר סוג של דיסק (ניתן להשאיר את הערך המומלץ). במסך בחר דיסק, בחר באפשרות השתמש בדיסק וירטואלי קיים.
- בחר את קובץ vmdk (לא – flat.vmdk) שהוצאת מארכיון ה-ZIP. ניתן לעיין בקובץ או להזין את הנתיב המלא לקובץ באופן ידני.
בדוגמה זו, משתמשים ב-ESXi 6.5 וב-VMware Workstation 15. ה-VM של VMware Workstation שמריצה את Windows Server 2008 בדוגמה שלנו משתמשת בגרסת חומרה 12 (גרסת VM 12). ה-VM של ESXi שלו אנו רוצים לצרוך את הדיסק הווירטואלי שלו משתמש בגרסת VM 7.
-
קיבלנו הודעת שגיאה ב-VMware Workstation שאומרת כי הדיסק הווירטואלי שהועתק מהמארח של ESXi אינו תואם למכונה הווירטואלית הזו:
שים לב: זכור כי עבור דיסקים ווירטואליים של מכונות ווירטואליות של VMware Workstation, ישנו קובץ מתאר דיסק ווירטואלי מובנה בקובץ VMDK של הדיסק הווירטואלי (אין קובץ מתאר נפרד כמו בדיסקים ווירטואליים של מכונות ווירטואליות של ESXi).
לאחר עריכת הקובץ, הדיסק הווירטואלי מתווסף בהצלחה למכונה הקיימת.
- הפעל את מכונת הווירטואלית אם היא עדיין לא הופעלה.
- פתח את ניהול הדיסקים ב- Windows, שנה את מצב הדיסק הווירטואלי שלך למקוון, הקצה אות אות למחיצה ועיין בקבצים.
כיצד לייצוא נתונים מקובץ VMDK בלי להפעיל מכונה ווירטואלית
השיטות שאינן דורשות ממך להגדיר ולהפעיל מכונה ווירטואלית יש להן יתרונות משלהן. חלק מהשיטות הללו אינן דורשות התקנת היפרוויזור. באפשרותך להרכיב קבצי VMDK ישירות למערכת ההפעלה המארחת שלך בתקופה קצרה.
שיטה 1: הרכבת קבצי VMDK במערכת הפעלה מארחת עם VMware Workstation
השיטה הזו דורשת התקנה של VMware Workstation על מערכת ההפעלה Windows או Linux הרצה על המחשב הפיזי שלך. VMware Workstation מספק תכונה נחמדה שמאפשרת לך להרכיב קבצי VMDK למערכת ההפעלה המארחת שלך. דיסקים וירטואליים בתבנית ESXi ודיסקים דלטה הקשורים לצילומי מסך של VM נתמכים. באופן דומה לכל השיטות הקודמות שנחשבו בפוסט הבלוג הזה, מערכת ההפעלה שלך חייבת לתמוך במערכות הקבצים של מפרגני הדיסק הוירטואליים.
אם יש לך צילומי מסך של המכונה הוירטואלית שלך, הדיסקים הוירטואליים דלטה נוצרים לאחר יצירת כל צילום מסך. עליך לקבל דיסק וירטואלי הורה ודיסקים דלטה זמינים אם ברצונך לפתוח מצב דיסק וירטואלי ברגע לאחר צילום מסך אחד או אחר. במקרה זה, עליך להרכיב את הדיסק הוירטואלי דלטה המתאים למערכת ההפעלה המארחת שלך. תלותים הקשורות לדיסק הוירטואלי הורה יתוודעו באופן אוטומטי.
אם יש לך צילומי מסך אך ברצונך לפתוח דיסק וירטואלי הורה, פתח את דיסק הוירטואלי הורה במצב קריאה בלבד. זה מכיוון ששינויים בדיסק הוירטואלי הורה עשויים לפגוע בצילומי מסך או בעתקיות מקושרות שנוצרו ממכונה וירטואלית הורה עם דיסק וירטואלי הורה. מצב הקריאה בלבד מונע ממך לכתוב נתונים על דיסק וירטואלי לאחר הרכבת הדיסק למערכת ההפעלה המארחת. ניתן להרכיב קבצי דיסק וירטואליים VMDK אם מכונת הוירטואלית שמשתמשת בדיסק וירטואלי זה כבויה, או אם מכונת הוירטואלית המסוימת לא משתמשת בדיסק וירטואלי זה.
בואו נסתכל על איך להרכיב דיסק וירטואלי VMDK של מכונת ה-Vmware Workstation שיש לה צילומי מסך. יש Windows מותקן על מנקודת NTFS אחת בדיסק הווירטואלי של ה-VM. לאחר שליפת הצילום הראשון, נוצר קובץ Snapshot1.txt בתיקיית השורש של הדיסק C:, ובאופן דומה, לאחר שליפת הצילום השני, נוצר שם קובץ Snapshot2.txt. הדוגמה הראשונה היא עבור Linux, והדוגמה השנייה היא עבור Windows. קבצי דיסק וירטואליים של מכונת ה- Windows XP הישנה משמשים בדוגמה זו.
דוגמה 1: הרכבת VMDK על המחשב המארח של Linux
- פתחו את VMware Workstation עבור Linux ועברו אל קובץ>הרכבת דיסקים וירטואליים.
- לחצו על הרכבת דיסק, וחלון קופץ ייפתח. לחצו על עיון ובחרו את קובץ ה-VMDK הווירטואלי.
- בחרו את קובץ ה-VMDK של הדיסק הווירטואלי השני המפעילי אחרי צילום הווירטואלי השני. שם הקובץ הופיע כ VM_name-000002.vmdk במקרים כאלה (WinXP-test-000002.vmdk משמש בדוגמה זו).
- צורו את התיקייה במערכת הקבצים שלכם שבה תרכיבו את הדיסק הווירטואלי בפורמט VMDK לאותה תיקייה. במקובל, ניצור את התיקייה /mnt/vmdk/ בקונסולת Linux.
mkdir /mnt/vmdk/
- קבעו הרשאות למשתמש שלכם (שם המשתמש הוא user1 והוא חבר ב group1 בדוגמה זו):
chown -R user1:group1 /mnt/vmdk/
chmod -R 0775 /mnt/vmdk/
- עכשיו, בחרו את התיקייה שיצרתם כתיקיית היעד, סמנו את התיבה "הרכב במצב קריאה בלבד" ולחצו על הרכב.
- עכשיו אתה יכול לפתוח את הספרייה /mnt/vmdk/ במפתח הקבצים שלך ב-Linux ולעיין בקבצים ובספריות הנמצאים על הדיסק הווירטואלי VMDK. ניתן לראות את הקבצים Snapshot1.txt ו-Snapshot2.txt, שנוצרו לאחר יצירת הצילומים הראשונים והשניים בדוגמה זו. כל אחד מהקבצים האלה נמצא בדיסק ווירטואלי VMDK דלתה.
- אל תשכח להסיר את הדיסק הווירטואלי VMDK מהספרייה (נקודת העציבה) במערכת ה-Linux שלך כאשר אתה מסיים את הפעולות עם תוכן הדיסק הווירטואלי.
אם אתה מעדיף להשתמש בממשק הקונסולה, תוכל לקחת דיסקי תמונת VMDK על מארח ה-Linux בקונסולה עם הפקודה הזו:
vmware-mount /media/user1/vms/vm_name/vm_disk_name-000002.vmdk /mnt/vmdk
איפה:
vm_name הוא שם המכונה הווירטואלית שזהה לשם התיקייה של VM במקרה זה. WinXP-test הוא שם ה-VM בדוגמתנו.
vm_disk_name הוא שם הדיסק הווירטואלי ( WinXP-test.vmdk משמש בדוגמה זו).
שם_דיסק_vm-000001.vmdk הוא שם הדיסק המפלט (השונות) הראשון שנוצר לאחר שנצוטפה התמונה הראשונה של מכונת הווירטואל (WinXP-test-000001.vmdk במקרה זה).
שם_דיסק_vm-000002.vmdk הוא שם הדיסק המפלט השני שנוצר לאחר שנצוטפה התמונה השנייה של מכונת הווירטואל בהתאם (WinXP-test-000002.vmdk במקרה זה).
- צרו נקודת עצירה וירטואלית. באופן ברירת מחדל, הנקודת עצירה הווירטואלית מותקנת במצב קריאה/כתיבה. תוכלו להשתמש במפתח -r בשורת הפקודה כדי להרכיב דיסק במצב קריאה בלבד.
vmware-mount /media/user1/vms/vm_name/שם_דיסק_vm-000002.vmdk /mnt/vmdk
- רשימת כל נקודות העצירה שהורכבו:
vmware-mount -L
- לפני סיום העבודה עם נקודות העצירה המורכבות, תנתקו את כל נקודות העצירה הווירטואליות:
vmware-mount -x
דוגמה 2: איך להרכיב את VMDK על המארח של Windows
הרעיון של איך להרכיב את קבצי ה-VMDK ב-Windows דומה. בנוסף לאפשרות קובץ > למפות דיסקים וירטואליים בממשק המשתמש הגרפי (GUI) של VMware Workstation, תוכלו לעקוב אחר השלבים הבאים. נרכוב את קובץ ה-VMDK של הדיסק הווירטואלי השונה הראשון שנוצר לאחר שנצוטפה התמונה הראשונה של מכונת הווירטואל. שם קובץ זה של קובץ ה-VMDK יש את הפורמט הבא: שם_מכונת_הווירטואל-000001.vmdk (WinXP-test-000001.vmdk נפתח במדריך זה).
- לחץ על הקובץ VMDK בחלון המפתחות של Windows ולחץ Map Virtual Disk.
- בחר את הפרמטרים להרכבת קובץ VMDK. מומלץ לפתוח את קובץ ה-VMDK במצב קריאה בלבד כדי למנוע כל נזק אפשרי לדיסקים וירטואליים ששייכים לשרשרת הצילומים אחרי כתיבת נתונים. האות ברירת המחדל היא Z: במקרה זה, והדיסק נפתח בחלון המפתחות של Windows אוטומטית לאחר המיפוי אם התיבה המתאימה נבחרה. לחץ OK כדי להמשיך.
- כעת הדיסק הווירטואלי מרוכז כדיסק Z: ב-Windows, ואתה יכול לקרוא את תוכן קובץ ה-VMDK. בתמונת המסך למטה, ניתן לראות את קובץ Snapshot1.txt שנוצר לאחר קליטת הצילום הראשון. הקובץ Snapshot2.txt חסר מפני שנוצר לאחר קליטת הצילום השני של המכונה הווירטואלית, ואנו פתחנו דיסק וירטואלי דלתה אשר קשור לצילום הראשון של המכונה הווירטואלית.
- כאשר תסיים לעבוד עם הדיסק הווירטואלי VMDK שמופעל, אל תשכח לנתק את הדיסק. לחץ על קובץ ה-VMDK המתאים עם העכבר הימני ולאחר מכן לחץ על נתק דיסק וירטואלי. לאחר התנתקות הדיסק הווירטואלי, תוכל להדליק את ה-VM שמשתמשת בדיסק הווירטואלי הזה.
שיטה 2: שימוש ב-7-Zip כדי לחלץ תוכן מקבצי VMDK
אם אתה מחפש איך לפתוח קבצי VMDK בלי להפעיל מכונות וירטואליות, תוכל להתקין את 7-Zip ולחלץ תוכן מתמונות דיסק וירטואליות. 7-Zip הוא כלי חינמי המיועד לארכוב קבצים ולפרוץ קבצים מארכיונים ומתמונות אחרות. תוכל להשתמש ב-7zip כחלץ vmdk. כלי זה ניתן לשימוש על מכונות Linux ו-Windows.
7-Zip יכול לפתוח vmdk ו-flat.vmdk קבצים (כלי זה יכול לפתוח קובץ יחיד –flat.vmdk אם הקובץ מחדשות vmdk חסר) – 7-Zip בעצם מיועד לדיסקים וירטואליים של פורמט ESXi. 7-Zip לא יכול לפתוח קבצי VMDK דלטה שנוצרו לאחר שנתקלת בלכידת צילומי מסך של VM.
איך לפתוח קובץ VMDK עם 7-Zip ב-Linux
- התקן אריזה מלאה של 7-Zip על המכונה שלך של Linux. בדוגמה זו נעשה שימוש באובונטו.
apt-get install p7zip-full
- רשום את התוכן של קובץ ה-VMDK עם 7-Zip:
7z l vm_name.vmdk
- בואו נמצא את הקבצים שמכילים את "boot" בשמם, לדוגמה:
7z l /media/user1/vms/WinXP-test/WinXP-test.vmdk | grep boot[.]
היכן user1 הוא שם המשתמש שלנו בלינוקס, l – רשימה.
- בואו נחלץ (e) את קובץ boot.ini מהתמונת VMDK:
7z e /media/user1/vms/WinXP-test/WinXP-test.vmdk boot.ini
אפשר לחלץ קבצים ותיקיות אחרות מהקובץ VMDK באותה הדרך.
כיצד לפתוח קובץ VMDKעם 7-zip בווינדוס
- הורידו את הגרסה התואמת של 7-zip מה-אתר הרשמי והתקינו את היישום על מחשב הווינדוס שלכם. השתמשו במתקין ה-EXE לנוחות נוספת.
-
- לאחר התקנת 7-zip על Windows, אפשרויות חדשות של 7-zip מתווספות לתפריט ההקשר כאשר אתה יוצג כל קובץ או תיקייה ב־Windows Explorer (ראה את התמונה למטה). השתמש באפשרויות אלו כדי לפתוח את קובץ ה־VMDK כארכיון או לחלץ קבצים כרגע.
איך להרכיב קבצי VMDK בלינוקס (שיטות נוספות)
אחת היכולות העוצמתיות ביותר של לינוקס היא היכולת לבצע מספר גבוה של פעולות בקונסול, גם עם כלי מובנים. כלי אלה יעזרו לך להרכיב קבצי VMDK ולגשת לתוכן המאוחסן בדיסקים וירטואליים. בדוגמאות המסופקות משתמשים ב־Ubuntu Linux.
שיטה 1: איך ל הרכיב קובץ VMDKעל ידי שימוש ב־/dev/loop
התקני לולאה הם מכשירים פדו-מכשירים ב-Linux, שמאפשרים לקבצים להיות נגישים כמכשירים בלוק וניתן להשתמש בהם כדי לעצבן תמונות דיסק שמכילות מערכות קבצים. מכשירי לולאה נקראים /dev/loopX שבו X הוא מספר המכשיר לולאה. שיטה זו טובה לעצבון קבצים flat.vmdk, גם בלי תיאור מזהה דיסק וירטואלי.
בואו נבדוק כיצד לעצבן קובץ VMDK ב-Linux כדי לגשת לקבצי הדיסק הווירטואלי כדוגמת. יש שם דיסק ווירטואלי בתבנית ESXi שמכיל מחיצה אחת – הקובץ מזהה חסר. לפני זמן רב, הותקן Windows XP על הדיסק הווירטואלי הזה.
- השתמש באחת משני הפקודות הבאות כדי לבדוק את מספר המכשירים לולאה הקיימים במערכת ה-Linux שלך.
fdisk -l | grep /dev/loop
df -h | grep /dev/loop
- במקרה שלנו, המכשירים במספרים 1 עד 21 כבר קיימים (/dev/loop1 – /dev/loop21). לכן, בוא ניצור את מכשיר הלולאה מספר 30 – מספר זה פנוי. נעצבן את המכשיר הזה עם הקובץ flat.vmdk.
losetup /dev/loop30 /vms/Win-test2-flat.vmdk
-
losetup -o 32256 /dev/loop31 /dev/loop30
היכן 32256 הוא ההיסט המקדים שהוא 63*512 עבור דיסק שנפורמט ב-Windows XP/Server 2003 וגרסאות ישנות יותר של Windows (63 הוא מספר הסקטור הראשון של המחיצה, ו-512 בתים הוא גודל הסקטור). עבור Windows 7/Server 2008 וגרסאות חדשות יותר של Windows, נסה את ההיסט 105906176.
ניתן לקבל מידע על גודל הסקטור והסקטור הראשון שמשמש להפעלה עם הפקודה:
fdisk -l /dev/loop30 /vms/Win-test2-flat.vmdk
כאלטרנטיבה, לדיסקים וירטואליים שמכילים מספר מחיצות, ניתן להשתמש ב-parted כדי לקבוע את ההתחלה והסיום של כל מחיצה:
parted /dev/loop30
בקונסולת parted, הזן את הפקודות הבאות:
unit
B
print
- צור ספרייה המשמשת כנקודת הצמדה עבור תמונת ה־VMDK:
mkdir /mnt/vmdk-image
- צמד את התקן לולאה המקושר לתמונת ה־VMDK לתיקייה שנוצרה:
mount /dev/loop31 /mnt/vmdk-image
- רשום את תוכן התמונה שהוצמדה:
ls -al /mnt/vmdk-image
-
umount /mnt/vmdk-image
losetup -d /dev/loop31
שיטה 2: איך להרכיב קבצי VMDK עם kpartx
Kpartx הוא כלי שיכול להרכיב מחיצות בתוך קבצי תמונה לספריות של מערכת הקבצים האמיתית שלך ב-Linux. כלי זה יכול לשמש להגדרת מיפויי התקנים עבור מחיצות של מכשירי בלוק. השיטה זו עובדת גם להרכבת תמונות –flat.vmdk המשמשות על שרתי ESXi. בואו נראה איך להרכיב את הקובץ –flat.vmdk המשמש בדוגמה הקודמת.
- התקינו את kpartx:
apt-get install kpartx
- הוסיפו את מיפוי המחיצה עבור תמונת ה-VMDK במצב הפעולה המפורט:
kpartx -av /vms/Win-test2-flat.vmdk
- הרכב מחיבור לתיקיית /mnt/vmdk-image מוכן מראש:
mount /dev/mapper/loop30p1 /mnt/vmdk-image/
היכן ש־loop30 הוא מספר התקן הלולאה, ו־p1 הוא מספר המחיצה בתוך התמונה (המחיצה הראשונה בתמונת הדיסק).
- רשימת תוכן מחיצת הדיסק הווירטואלית שהרמת:
ls -al /mnt/vmdk-image/
- כאשר סיימת לבצע פעולות עם הקבצים של תמונת ה־VMDK, נפריד את תמונת הדיסק הווירטואלית VMDK:
umount /mnt/vmdk-image
kpartx -d /vms/Win-test2-flat.vmdk
מסקנה
הידע בכמה שיטות לחילוץ תוכן של VMDK נותן לך גמישות ואמינות מאחר וכל שיטה עשויה להיות האפשרות הטובה ביותר במצבים מסוימים. בנוסף, תמיד עדיף להפעיל גיבויים של המכונות הווירטואליות שלך כחלק מהידע הזה.
NAKIVO Backup & Replication יכול לגבות ולשחזר מכונות וירטואליות הפועלות ב-VMware vSphere בדרך הטובה ביותר. ניתן לשחזר את כל המכונה הווירטואלית, את הדיסק הווירטואלי המסוים או קבצים נפרדים מגיבוי למיקום מותאם אישית.
Source:
https://www.nakivo.com/blog/extract-content-vmdk-files-step-step-guide/