linux ext3等分割槽是具有inode table的,用於儲存檔案的位置等資訊。一般來講,乙個檔案將占用1~2個inode值。在web系統中,如果採用生稱html方式,會產生大量的小檔案,這樣會暫用大量的inode值。所以,常常出現檔案空間還剩餘很多,但是由於inode滿了,linux也會報警說沒有空間了,不允許增加檔案。
根據這一狀況,你可能需要對磁碟的inode大小進行調整。
如果磁碟中主要為小檔案,你可以適當的增加inode值。
如果大檔案居多,可以適量減少inode空間,當然這並不是很必要,inode也暫用的空間並不是很大,節省不了很多。
可以使用 mkfs來調整inode數值。
具體方法&案例:
0. 預熱,準備一些資料和資料
我目前需要將我的分割槽 /dev/sda9 (mount at /var/www)的inode值增加到2500000(原值為2000640)。
我的系統: ubuntu 8.04 desktop
df
#獲得目前磁碟載入情況己使用情況
df -i
#獲得目前磁碟inode使用情況,便於估計目標inode將要調整為多少
cat /etc/fstab
#輸出當前fstab,修改inode之後,uuid會被修改。因此,該檔案也需要作相應調整。需要記錄一下,最好的,cp備份一下
cp -ar /var/www /home/bak/
#備份所有資料到另乙個分割槽/home,調整inode會格式化整個分割槽,分割槽將被刪除
1. umount
sudo umount /var/www
#www是我準備調整inode的磁碟。當然,umount之前你需要關閉一些使用它的程序。比如apache,或者其他service
2. mkfs.ext2,調整inode
注意!!!!!!!!!!該操作將刪除整個分割槽資料,在進行此操作之前,請再次確認你已經對該分割槽的資訊做好了備份。
請再次確認你的資料已經全部備份完畢。
sudo mkfs.ext2 -n
2500000 /dev/sda9
# 2500000 是我需要的inode值 /dev/sda9是我 /var/www的磁碟。
會有類似於這樣的一些輸出,具體含義不表:
mke2fs 1.40.8 (13-mar-2008)
filesystem label=
os type: linux
block size=4096 (log=2)
fragment size=4096 (log=2)
2503680 inodes, 3905795 blocks
195289 blocks (5.00%) reserved for the super user
first data block=0
maximum filesystem blocks=4001366016
120 block groups
32768 blocks per group, 32768 fragments per group
20864 inodes per group
superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208
writing inode tables: done
writing superblocks and filesystem accounting information: done
this filesystem will be automatically checked every 24 mounts or
180 days, whichever comes first. use tune2fs -c or -i to override.
3. 更新分割槽
sudo tune2fs -j /dev/sda9
4. 更新系統uuid。
sudo udevtrigger
5. 獲取新的uuid,記錄它
sudo vol_id -u /dev/sda9
6. 修改fstab,將新的uuid替換進去
[geshi]
sudo vi /etc/fstab
[/geshi]
有可能,你也需要相應調整 /dev/sda1的uuid值或其他,你可以通過下列語句來檢查並更新uuid,直到mount -a 不報錯。
sudo umount -a
sudo mount -a
7. 最終,在mount -a通過之後,使用預熱階段的命令檢視一下新的設定。
rollenc@rollenc-kubuntu:~$ df -i
檔案系統 inode (i)已用 (i)可用 (i)已用% 掛載點
/dev/sda9 2503680 11 2503669 1% /var/www
inode值已經增加了。當然,有一些偏差,這是正常的可以接受的。
Linux ext3grep 恢復資料
安裝 root local ext3grep 0.10.1 configure root local ext3grep 0.10.1 make root local ext3grep 0.10.1 make install 安裝完後,測試一下刪除 boot 下乙個的檔案 root local boo...
linux ext3 fsck一定要慎用
張宇 北亞 硬碟資料恢復 不管是哪種檔案系統,其根本目的都是相同的 如何把檔案存在系統給定的區域裡,如何有效地管理檔案的讀與寫。為實現這樣的目的,驅動層需要完善 周密地應付附加在檔案系統上的各種操作。這些操作通常不會是一條指令完成的,如果乙個過程需要多條指令完成,在執行這些操作時,全部指令未完成的情...
linux ext3 fsck一定要慎用
張宇 北亞 硬碟資料恢復 不管是哪種檔案系統,其根本目的都是相同的 如何把檔案存在系統給定的區域裡,如何有效地管理檔案的讀與寫。為實現這樣的目的,驅動層需要完善 周密地應付附加在檔案系統上的各種操作。這些操作通常不會是一條指令完成的,如果乙個過程需要多條指令完成,在執行這些操作時,全部指令未完成的情...