פיצוץ volume אשר עליו יושב DataStore
הקדמה:
Volume במכונת אחסון זוהי יחידה לוגית של אחסון, את האחסון המכונה מקבלת מדיסקים פיזיים.
את הVolume עצמו אי אפשר לשייך לשרת כדי שיהיה כונן או ליצור DataStore בVcenter כדי ליצור אחר כך כונן וירטואלי. לכן נצטרך ליצור Lun.
אחרי שניצור את הLun שהוא ממש Device, נוכל לשייך אותו לVcenter, או פיזית לשרת כRDM.
תרחיש
הVolume שעליו יושב DataStore גדול שעליו יושבים כוננים של מכונות התפוצץ!
מה שקרה זה שהDataStores שעליו הפכו לInactive(כמו בתמונה).
כאשר מנסים לעשות לאחד הDatastores את הפעולה Unmount כדי לשייך אותו מחדש מופיעה ההודעה כמו שבתמונה – Cannot remove datastore…
פתרון
יש שתי פתרונות,
הפתרון הפשוט יותר אבל ה”הרסני” הוא פשוט Reboot לכל הHosts שהDatastore ישב עליהם (על הHosts יושבים השרתים הוירטואליים).
הפתרון הפחות פשוט ועם זאת הפחות “הרסני”:
כאשר ניסינו לעשות Unmount דרך הGUI (ממשק גרפי) לא הצלחנו… לכן ניכנס לממשק הCLI (ממשק פקודות – כיף). הפקודות הבאות אמורות לסדר את הבעיה.
תחילה נשתמש בפקודה:
esxcli storage nfs list
יצא לנו פלט של כל הDataStores. וניראה שאחד מהם יהיה במצב “False”.
נצטרך גם לרשום לעצמנו את שם הDatastore במצב הFalse, הShare Name והHost. בפקודות הבאות נצטרך אותם.
לאחר מכן נקיש את הפקודה הבאה:
esxcli storage nfs remove -v DATASTORE_NAME
הפקודה הזאת תסיר את הDatastore “הנגוע”.
ולבסוף נשתמש בפקודה הבאה כדי להחזיר אותו למצב התקין:
esxcli storage nfs add -H HOST -s ShareName/MountPoint -v DATASTORE_NAME
חשוב להבין שאם יש לכם כמה שרתים מארחים שאמורים לראות את אותו הDataStore תצטרכו לעשות את זה על כלום.