PowerFlex 機架:啟用系統記錄轉送功能時,/var/log 空間問題

Summary: 本文說明 /var/log 空間中的問題,因為記錄輪替發生的頻率不夠高。

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

目前的 logrotate 組態會每週輪換訊息檔案一次,但在 VxFlex Manager 中啟用系統記錄轉送的情況下,其旋轉速度可能不夠快。

事實:

  • VxFlex Manager 中已啟用 syslog 轉送功能。
  • /var/log 分割區很快就會填滿。
  • 這可能因系統而異
  • VxFlex 整合式機架或裝置系統中的裝置會啟用遠端 syslog,並設定為將系統記錄事件傳送至 VxFlex Manager

Cause

當 /var/log 檔案系統為 100% 時,所有資源的資源清查都會失敗。
注意如果空間太滿而無法執行這些檢查,或空間填滿速度過快,下列警告或嚴重警示可能無法運作。

  • 如果發生 75% 的情況 >,VxFlex Manager UI 會顯示警告:

如果發生 75% 的情況 >,VxFM UI 會顯示警告: 

如果發生 95% 的 > 狀況,VxFlex Manager UI 會顯示嚴重:
如果發生 95% 的 > 狀況,VxFM UI 會顯示嚴重:

df -h 顯示 /var/log 的使用容量非常高,並且正在快速增長。
PowerFlex /var/log 

Resolution


若要修正 VxFlex Manager 裝置上啟用系統記錄轉送的紀錄輪換問題,您可以使用下列步驟設定 logrotate、壓縮現有記錄、變更 rsyslog 設定,以及降低偵錯記錄層級:

步驟 1:  SSH 至 VxFlex Manager 並成為 root 使用者: sudo su -

第 2 步:編輯 (vi 編輯器) 系統記錄 logrotate 規則,方法是確保下列文字存在於 /etc/logrotate.d/syslog
 

/var/log/cron /var/log/maillog /var/log/messages /var/log/secure /var/log/spooler { size 100M nodateext rotate 5 compress missingok copytruncate postrotate /bin/killall -s SIGHUP -r rsyslog endscript }


步驟 3:  輸入下列命令,以確認新組態是否已正確儲存: 

cat /etc/logrotate.d/syslog


步驟 4:  根據 /var/log 空間填滿的速度,選擇下列其中一個選項:
對於不會每天填滿 /var/log,但需要比每周更快的輪換的環境,請使用以下命令將logrotate從每周更改為每天:

cp /etc/cron.weekly/logrotate /etc/cron.daily/


如果環境填滿 /var/log 的速度超過每日旋轉所能容納的情況,請使用下列命令將 logrotation 從每日變更為每小時:

cp /etc/cron.daily/logrotate /etc/cron.hourly/


步驟 5:  執行下列命令,壓縮現有檔案並釋出空間:

for log in `ls /var/log/messages-*`; do sudo gzip $log; done


 
注意:  如果 /var/log/messages 檔案已滿,無法壓縮,請使用下列命令加以清除: 

cat /dev/null > /var/log/messages


步驟 6:  若要確認 logrotate 組態是否正常運作,請執行下列命令: 

logrotate -f /etc/logrotate.d/syslog


 
步驟 7:  若要停止將轉送的系統記錄事件記錄至 VxFlex Manager 裝置上的 /var/log/messages 檔案,請執行下列步驟:

  • 使用此命令在 /etc/rsyslog.d/ 下建立 conf 檔案:  vi 21-stop-remote-host-syslog-logging.conf
  • 將以下行新增到上面新創建的檔案中:  if $fromhost-ip != '127.0.0.1' then ~
  • 輸入以下內容以儲存檔案:  :wq!
  • 重新啟動 rsyslog 服務:  systemctl restart rsyslog.service

注意:21 是用於 rsyslog 的優先順序編號。重新開機後,rsyslog 不會將傳入的遠端系統記錄儲存至 /var/log/messages。VxFlex Manager 的本機系統記錄仍會儲存到 /var/log/messages 中。

注意:即使 VxFlex Manager 上未啟用系統記錄轉送,主機也可能指向 VxFlex Manager,這可能會向 /var/log/messages 檔案發送垃圾郵件。無論 VxFlex Manager 系統記錄是否開啟,如果訊息檔案被洪泛,請設定步驟 7。

步驟8:  執行下列步驟,變更 VxFlex Manager 裝置中 logstash 的偵錯記錄層級:

  • 使用下列命令編輯記錄層級: vi /etc/logstash/logstash.yml
  • 在檔案中搜尋除錯設定
  • 將記錄層級從資訊 (預設) 變更為錯誤

除錯設定

  • 編輯下列檔案:  vi /etc/logstash/log4j2.properties
  • 在預設配置中,有一行以 rootLogger.appenderRef.console 開頭,請使用如下所示的 # 將這一行註釋掉:
  • 執行下列步驟,以重新啟動 logstash 服務:  systemctl restart logstash


步驟 8:  如果 /var/log 檔案系統已滿 100%,請將 VxFlex Manager 裝置重新開機。這可確保所有服務都能正確啟動備份。

便條:  傳送測試警示,以確保警示連接器在解決空間問題並重新啟動裝置後正常運作。
 

Additional Information

  • 正在針對未來的 VxFlex Manager 版本進行修正,以停止將系統記錄訊息記錄至 /var/log/messages。
  • 這與具有 syslog 轉送功能 (最高至 3.4.0.4271 版) 的任何 VxFlex Manager 版本相關。

Affected Products

Hyper-converged Systems
Article Properties
Article Number: 000079795
Article Type: Solution
Last Modified: 17 Oct 2025
Version:  4
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.