Linux索引節點 inode 用滿導致的一次故障

2021-04-18 22:01:37 字數 763 閱讀 6811

一、發現問題:

在一台配置較低的linux伺服器(記憶體、硬碟比較小)的/data分割槽內建立檔案時,系統提示磁碟空間不足,用df -h命令檢視了一下磁碟使用情況,發現/data分割槽只使用了66%,還有12g的剩餘空間,按理說不會出現這種問題。

二、分析問題:

後來用df -i檢視了一下/data分割槽的索引節點(inode),發現已經用滿(iused=100%),導致系統無法建立新目錄和檔案。

inode譯成中文就是索引節點,每個儲存裝置(例如硬碟)或儲存裝置的分割槽被格式化為檔案系統後,應該有兩部份,一部份是inode,另一部份是block,block是用來儲存資料用的。而inode呢,就是用來儲存這些資料的資訊,這些資訊包括檔案大小、屬主、歸屬的使用者組、讀寫許可權等。inode為每個檔案進行資訊索引,所以就有了inode的數值。作業系統根據指令,能通過inode值最快的找到相對應的檔案。

而這台伺服器的block雖然還有剩餘,但inode已經用滿,因此在建立新目錄或檔案時,系統提示磁碟空間不足。

三、查詢原因:

/data/cache目錄中存在數量非常多的小位元組快取檔案,占用的block不多,但是占用了大量的inode。

四、解決方案:

1、刪除/data/cache目錄中的部分檔案,釋放出/data分割槽的一部分inode。

2、用軟連線將空閒分割槽/opt中的newcache目錄連線到/data/cache,使用/opt分割槽的inode來緩解/data分割槽inode不足的問題:

ln -s /opt/newcache /data/cache

Linux 索引節點 inode

理解 inode,要從檔案儲存說起。檔案儲存在硬碟上,硬碟的最小儲存單位叫做 扇區 sector 每個扇區儲存 512 位元組 相當於 0.5kb 作業系統讀取硬碟的時候,不會乙個個扇區地讀取,這樣效率太低,而是一次性連續讀取多個扇區,即一次性讀取乙個 塊 block 這種由多個扇區組成的 塊 是檔...

Linux索引節點 Inode 用滿導致空間不足

1 問題 在建立新目錄和檔案是提示 no space left on device 按照以前的情況,很有可能是伺服器空間又被塞滿了,通過命令檢視,發現還有剩餘。再用df i檢視了一下 分割槽的索引節點 inode 發現已經用滿 已用 100 導致系統無法建立新目錄和檔案。2 問題原因分析 inode...

Linux索引節點 Inode 用滿導致空間不足

在建立新目錄和檔案是提示 no space left on device 按照以前的情況,很有可能是伺服器空間又被塞滿了,通過命令檢視,發現還有剩餘。再用df i檢視了一下 分割槽的索引節點 inode 發現已經用滿 已用 100 導致系統無法建立新目錄和檔案。inode譯成中文就是索引節點,每個儲...