昨天公司的esxi服務器碰到這麼個問題;
問題描述大致 :
問題出來的過程是這樣的, 這個esxi服務器上裝了7個虛擬機,有windows,有centos;當我昨天在搭建jenkins的構建的過程中,當我同時執行3個構建任務的時候(後期這個我會限制只能執行單次構建),虛擬機就掛掉,提示“there is no more space for virtual disk jenkins-00002.vmdk. you might be able to continue this session by freeing dish space on the relevant volume, and clicking _Retry。”然後我在啓動jenkins這臺服務器的時候,報出異常“Failed to extend swap file from 0 kb to 5242880 kb. ” 第3步:我調小jenkins的虛擬機的內存,然後可以進入虛擬機; 出現上述問題之後,我反覆的去降低其他虛擬機的配置,吧其他6臺虛擬機的內存都降低爲1G之後;因爲當jenkins的服務器掛掉之後,只有降低其他虛擬機的內存,才能登陸進去。 最後發現即使所有的機器的內存都降到最低之後,最後jenkins的機器還是啓動不了。報“Failed to extend swap file from 0 kb to xxxx kb. ” 其實我比較不能理解的是,我從其他的機器釋放出來的內存上哪去了?真的很不能理解,昨天想了一夜都沒想通;
苦逼的鬱悶的週六就這麼度過;在一個深圳的朋友老K的幫組下,理清楚了思路,分析了問題;
一個兼職運維,感覺很難征服讓我沒有信心的這個問題,尤其是,服務器所有虛擬機很敏感的時候,讓我舉足不前;沒事,昨天也就抽了兩包煙,這身體。哎!
進入正題,解決辦法:
1:參照了vmware的官網;(google輸入Failed to extend swap file from 0 kb to xxx kb),就能找到官網提示;
大概是讓,改swap文件的存儲路徑;由於有風險,所有,覺得這種方案爲備用方案;
2:分析了半天,定位爲,esxi剩餘磁盤空間不足,導致,虛擬機啓動是,往物理機寫swap文件的時候報出了上面的問題;
處理方法:我在機器上刪掉一個虛擬機,一切恢復正常;並且保證物理機上有足夠的內存,作爲esxi服務器維護的必備常識;
插曲;
(昨天我領導跟我說:你他媽連swap是什麼都不知道?我只能說我是做android開發的,我真的不知道,但是沒有關係,態度可以讓你持續去解決問題)。同樣我也待反思自己,爲什麼連swap都不知道?
獻給20160305,自己焦慮的一天。