Filesystems
零字節文件是否表明文件系統損壞?
我最近注意到一個奇怪的行為。由於配置無效,我無法重新啟動執行一年多的生產網路伺服器:
# /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 程式碼和應用程序的某些組合可能會在文件更新時導致數據失去。這通常會導致一個空文件 - 但不會導致文件系統的任何損壞。