Ext3 目前只支持 32,000 個子目錄,而 Ext4 本身支持無限數(shù)量的子目錄,前提是分區(qū)inodes數(shù)量足夠,一個文件需要占用一個inodes,一個15g分區(qū)最大支持1500萬個inodes,30g就是最大支持3000萬個inodes,具體計算為分區(qū)大小轉(zhuǎn)換為kb,因為一個inodes至少需要占用1kb,所以在分區(qū)或者掛盤的時候,就需要自己指定最大inodes,既然一個inodes占用1kb,一個文件使用一個inodes,而一個文件不止1kb,所以可以說ext4本身就是支持無限量子目錄,分區(qū)有多大就能存多少。
比如500GB硬盤=524288000kb
524288000個inodes,5億多個。
因為60GB分區(qū)默認(rèn)分配400萬個inodes,一個圖片100KB算,400萬個inodes存滿會達(dá)到400GB尺寸,已經(jīng)超過分區(qū)本身容量,所以不用特意自定義inodes。
ext4格式最低的bytes-per-inode值為1024 好吧我們根據(jù)磁盤大小手動指定Inodes最大數(shù)吧
fdisk -l
新的磁盤是/dev/sdb 32g
我們可以看到/dev/sdb 這個盤共有 32212254720 bytes 可用那我們手工計算下他允許的最大的inode數(shù)目31457280 好了算出來了我們現(xiàn)在就可以指定Inodes值格盤了
mkfs.ext4 -N 31457280 /dev/sdb
當(dāng)然你也可以直接用 mkfs.ext4 -i 1024 /dev/sdb mkfs.ext4 -i 2048 /dev/sdb mkfs.ext4 -i 4096 /dev/sdb 這樣來格盤調(diào)整Inodes值
掛盤
mount /dev/xvdd /home/1
查看Inodes使用數(shù)df -i
好了。。是不是已經(jīng)千萬級別了。。基本等于無限。。。
注意更多的Inodes值會占用磁盤的容量大約是百分之一。為了獲取更多的可用文件數(shù)相信大家也不會在乎那幾百M的磁盤空間吧。好了本次教程到此為止。。血的教訓(xùn)啊,吐槽啊ext4 格式下100G的磁盤默認(rèn)格盤才給了我600w的可用文件數(shù)吐血總么可能滿足萬惡的html文件和縮略圖文件的需求呢