XenServer是base在linux上的,我們訪問的系統是domain0,默認情況下分區只有4GB的空間,而隨着Server上運行的Guest VM越來越多,時間長了會發現root分區下有非常多的日誌產生,而空間也會佔用的非常厲害。Linux有log rotate的功能,所以會自動回滾日誌,默認只保留最新的。一旦log rotate失敗,會給Server的穩定性帶來很大的影響,分區佔用滿了之後會造成xapi服務無法運行,臨時文件無法創建等致命的傷害。
Server上log rotate的文件配置主要是以下幾個文件:
# /etc/logrotate.conf
# /etc/syslog.conf
# /etc/logrotate.d/syslog
在出現問題情況下可以首先判斷是否以上的配置文件更改,可以通過和其他默認的(rotate正常的)Server進行對比,如果不同,可以參考正常的修改,也可以直接從正常的server上copy這幾個文件覆蓋到當前的Server上。
如果在以上配置文件都相同情況下,但不清楚問題發生在哪裏,可以執行下面的命令來手工做一次rotate:
上面的案例作爲分享,從圖中可以發現log rotate執行失敗,error是/var/log下面的openvswitch目錄沒有。
解決的方法很簡單:手工創建並指定權限爲755;
#mkdir /var/log/openvswitch
#chmod 755 /var/log/openvswitch
目錄創建完成後可以再次執行命令# logrotate –f /etc/logrotate.conf 使Server日誌rotate來驗證是否成功;
保證命令執行沒有問題的前提下,進一步執行#ls –ll /var/log/ 檢查發現log rotate正常生成了新的log文件。