אני מאמין שכל אחד מכם נתקל לא פעם בתקלה של קבצים נעולים שלא מאפשרים להדליק מכונה וירטואלית.
הפיתרון הוא להריץ פקודת vmkfstools -D מול הקובץ הנעול והיא מחזירה את כתובת ה-MAC של ה-host הנועל. אבל זה החלק הקל. עכשיו לך תמצא את ה-host לפי ה-MAC… סקריפטים, אנשי תקשורת, מעבר ידני ומה לא.
ב-ESXi 6 וב-ESXi 5.5 patch05 הכניסו פקודה חדשה (למעשה סקריפט) שמקלה על החיים – vmfsfilelockinfo.
מריצים את הפקודה מול הקובץ הנעול וקודם כל היא מנסה להיעזר במנגנון ה-HA כדי למצוא את ה-host הנועל:
אשכרה באפס זמן!
אבל מה אם HA לא מופעל או יש בו תקלה? במקרה זה הסקריפט מתחבר ל-vCenter ומחפש שם:
אופס… מה firewall עכשיו? עברתי על ה-KB ועל הגדרות ה-firewall ולא מצאתי משהו שיכול להיות קשור. ניסיתי להוריד את ה-firewall לגמרי:
esxcli network firewall unload
אבל אז הסקריפט נופל עם שגיאה אחרת. לבסוף ניסיתי לעבור על התוכן של הסקריפט – בינגו:
הסקריפט דורש ש-httpClient rule יהיה מאופשר. ניתן לאפשר אותו בעזרת הפקודה:
esxcli network firewall ruleset set --enabled=true --ruleset-id=httpClient
או ב-GUI:
ואז הסקריפט פועל כמו שצריך:
כמובן שצריך לתת לו יוזר וסיסמה ל-vCenter. אני השתמשתי ביוזר דומייני.
שימושי מאוד וחוסך המון זמן.
הערה:
ESXi 5.5 P05 – זה בעצם 5.5U2 עם ה-patch שיצא במאי 2015 – או build מספר 2718055.
מידע נוסף על הסקריפט ניתן לקבל ב-KB:
Finding the lock owners of a VMDK or file on a VMFS datastore in VMware ESXi 5.5 P05
מקור:
Investigating virtual machine file locks on ESXi/ESX
Build numbers and versions of VMware ESXi/ESX
מיכאל.