Inodes 用完了是什麼意思?
明明主機還有空間,怎麼顯示滿了?
inodes 和硬碟空間有什麼差別呢?

 

如果站長們沒有注意到主機的狀況,卻發現還有很多主機空間,檔案卻一直上傳不上去,或Email無法收發。到底是怎麼回事?

Inodes-siteground
Inodes於siteground的資訊

 

在Cpanel的右側,可以看到以下的資訊:

Inodes
Inodes於cpanel的資訊

 

 

原來無限「容量」的虛擬主機也有一定的「檔案數」限制

虛擬主機是與許多使用者一起共用、共享的主機系統。
在大部分的虛擬主機中,會為了保護主機的品質、速度,避免某些使用者的使用超量,就會做一些系統上的限制,例如:CPU速度、記憶體 (pMEM)、I/O Rate、Entry Processes、NPROC、Inodes,以確保主機的運作。

如果你是自架的主機或是權限更高的主機,這些限制就會越少些。

 

那麼 inodes 到底是什麼?

專業的理解,Inode (index node) 指的是在許多「類Unix檔案系統」中的一種資料結構,用於計算主機上所有檔案的檔案系統物件(包括檔案、目錄、裝置檔案、Socket、管道﹍等等)。 每個inode儲存了檔案系統物件的屬性資訊,各種元資料(如:最後修改時間),也包含用戶組(owner )和權限資料和磁碟位置。

Inode 譯成中文就是索引節點,每個存儲設備(例如硬碟)被格式化為文件存儲系統後,應該有兩部份,一部份是Inode,另一部份是Block區塊,Block是用來存儲數據用的,也就是主機商所告知我們可使用的「硬碟大小」。而Inode呢,就是用來存儲這些數據的信息,Inode為每個文件進行信息索引,所以就有了Inode的數值。操作系統根據指令,能通過Inode值最快的找到相對應的文件。

而這台伺服器的Block雖然還有剩餘,但Inode已經用滿,因此在創建新目錄或文件時,系統就會提示磁碟空間不足。參考文章出處

 

簡單說,除了檔案本身,還有很多系統相關的訊息、過程,都會被紀錄成資料物件,存在主機中。主機的 inodes 數量,通常都會十萬、二十萬起…這樣的數量。

用數字來理解,可能有點無感,但可以試試看,當我們上傳同樣檔案大小的「一個壓縮檔」,或是將「已經解壓縮的零碎檔案」分別上傳至主機上,其速度與效能的差別,我們就可以知道主機中的碎片檔案數量越多,對主機的效能影響就越大。

而現在的網站開源的多,如果程序猿在編寫程式時的邏輯品質不佳,或網站管理不當,很容易就衍生出上萬筆的幽靈檔案,即使這些檔案很小很小,但數量多,處理起來更耗時、耗效能,就會大大影響到虛擬主機的效能被拖慢。

像是Wordpress為了加速網站,也會有快取的Plugin,除了本身的頁面檔案,還有快取檔的部分。當快取同時包含了以上各式檔案,及各種外掛及程式產生的幽靈檔案,長期累積起來的快取檔,依然佔了 inodes 的數量位。

限制indoes對主機是比較好的,對使用者而言,就是能有更順暢的網站瀏覽體驗。

 

當inodes不足,會有什麼影響呢

1. 檔案會無法上傳
2. 收EMAIL時出現mailbox is full: retry timeout exceeded
3. 瀏覽時可能會出現有關PHP的錯誤訊息

通常主機商會發Mail通知你。

 

若inodes檔案數量真的使用快滿了,該怎麼辦呢?

1. 可以刪除不必要的檔案,如圖片、沒有啟用的外掛、EMAIL
2. 檢查程式、還有可能是快取檔案或其他問題,可以把檔案下載下來用電腦計算檔案數量
3. 升級主機方案

在虛擬主機中,也許我們無法下指令去清理,但是最簡單的就是清除多的檔案、資料夾,像有時候我們會在同一個主機中裝很多wordpress的網站,或是上傳很多有的沒的檔案到FTP中,像是沒要使用的佈景主題 theme、外掛 Plugins﹍如果已經不再使用,就把它們刪掉。或者當你的業務量夠大,就幫這些網站們獨立出來吧!真的不夠用,那就付錢升級 Inodes 數量或主機方案。

之前朵兒有介紹Cloudways雲端主機(看教學優惠整理),比起一般虛擬主機,VPS主機比起自管主機的成本降低許多,又比虛擬主機擁有更多獨立的功能,而Cloudways是一家幫你最佳化網站主機的服務商。他們不是直接營運主機空間,而是與其他業界專業的主機商合作,透過優化過的環境,讓用戶能依照需求選擇、同時管理不同的主機商。

 

朵兒第一次遇到這個問題時,小小緊張了一下,因為是公司的網站主機,很怕網站掛了,又會被責難!
平常在管理主機時,切記為了主機的速度與效能,一定要定期保持主機存儲資料的乾淨,定期做備份,把不要用的檔案刪掉。

也不用太擔心,只要一段時間注意一下就好!

希望這篇文章對你有幫助,有任何想法也歡迎留言討論。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料