Filesystems

零字節文件是否表明文件系統損壞?

  • August 29, 2015

我最近注意到一個奇怪的行為。由於配置無效,我無法重新啟動執行一年多的生產網路伺服器:

# /etc/init.d/apache2 restart Syntax error on line 161 of /etc/apache2/apache2.conf:
Invalid command 'Order', perhaps misspelled or defined by a module not included in the server configuration Action 'configtest' failed.
The Apache error log may have more information.
  ...fail!

經過進一步調查,我發現幾個文件/etc/apache2/mods-availabe的文件大小為零字節

...
-rw-r--r-- 1 root root     0 Jun 15 15:14 authz_host.load
....

這是文件系統損壞的跡象嗎?恐怕要解除安裝文件系統才能執行 fsck。當然,系統已備份,但我們將來如何發現這樣的事情呢?

不,零字節文件並不表示文件系統損壞。

文件系統損壞的可能症狀包括:

  • 來自文件系統的錯誤消息顯示在核心日誌中
  • 嘗試在文件系統上讀/寫時出現 I/O 錯誤
  • 目錄列表中顯示的虛假文件屬性、所有者、大小、名稱。

辨識文件系統損壞的最可靠方法是執行文件系統檢查。

在某些時候,ext4 開發人員決定改變某些系統呼叫的語義,這種方式與早期文件系統所做的和大量應用程序的預期有所不同。結果是 ext4 程式碼和應用程序的某些組合可能會在文件更新時導致數據失去。這通常會導致一個空文件 - 但不會導致文件系統的任何損壞。

引用自:https://serverfault.com/questions/717711