Find who is locking a file – The new way

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

הפיתרון הוא להריץ פקודת vmkfstools -D מול הקובץ הנעול והיא מחזירה את כתובת ה-MAC של ה-host הנועל. אבל זה החלק הקל. עכשיו לך תמצא את ה-host לפי ה-MAC… סקריפטים, אנשי תקשורת, מעבר ידני ומה לא.

ב-ESXi 6 וב-ESXi 5.5 patch05 הכניסו פקודה חדשה (למעשה סקריפט) שמקלה על החיים – vmfsfilelockinfo.

מריצים את הפקודה מול הקובץ הנעול וקודם כל היא מנסה להיעזר במנגנון ה-HA כדי למצוא את ה-host הנועל:

file_lock_01

אשכרה באפס זמן!

אבל מה אם HA לא מופעל או יש בו תקלה? במקרה זה הסקריפט מתחבר ל-vCenter ומחפש שם:

file_lock_02

אופס… מה firewall עכשיו? עברתי על ה-KB ועל הגדרות ה-firewall ולא מצאתי משהו שיכול להיות קשור. ניסיתי להוריד את ה-firewall לגמרי:

 esxcli network firewall unload 

אבל אז הסקריפט נופל עם שגיאה אחרת. לבסוף ניסיתי לעבור על התוכן של הסקריפט – בינגו:

file_lock_03

הסקריפט דורש ש-httpClient rule יהיה מאופשר. ניתן לאפשר אותו בעזרת הפקודה:

 esxcli network firewall ruleset set --enabled=true --ruleset-id=httpClient 

או ב-GUI:

file_lock_05

ואז הסקריפט פועל כמו שצריך:

file_lock_04

כמובן שצריך לתת לו יוזר וסיסמה ל-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

מיכאל.

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *

*