實驗:磁碟inode耗盡故障模擬並修復
-
實驗:磁碟資源耗盡故障模擬並修復
1.環境描述:
磁碟空間顯示還有,但無法儲存東西,inode已經佔滿。(大量的碎片檔案和小檔案佔用的inode的使用)
2.實驗案例演示:
第一,模擬i節點耗盡故障
1.新增一塊硬碟,分割槽格式化,掛載
1>fdisk/dev/sdb--->n-->p-->1-->幾次回車跳出-->w
2>mkfs.ext3/dev/sdb1
3>mkdir/wang
4>mount/dev/sdb1 /wang
5>df-i /wang 確認該檔案系統中i節點的使用情況
顯示結果:
檔案系統 Inode 已用(I) 可用(I) 已用(I)% 掛載點
/dev/sdb1 327680 13 327667 1% /wang
第二,編寫測試程式,耗盡i節點
1>vim cai.sh
具體內容如下:
#!/bin/bash
i=1
while[ $i -le 327668 ]
do
touch/wang/a$i
leti++
done
第三,執行指令碼並驗證i節點佔用情況
1>shcai.sh &
2>df-i /wang
顯示結果:
檔案系統 Inode 已用(I) 可用(I) 已用(I)% 掛載點
/dev/sdb1 327680 327680 0 100% /wang
3>嘗試建立檔案
touch/wang/file
顯示結果:
touch:無法建立“/wang/file”:裝置上沒有空間
4>檢視磁碟剩餘空間
df-hT /wang
顯示結果:
檔案系統 1K-塊 已用 可用 已用% 掛載點
/dev/sdb1 5029504 28184 4722792 1% /wang
第四,修復i節點耗盡故障
rm-rf /wang/a* (如果提示:命令提示引數列表過長 find . -name "a*" | xargs rm -rf "a*")
實驗步驟:
[[email protected] ~]# fdisk –l //檢視磁碟裝置
[[email protected] ~]# fdisk /dev/sdb //對新加的硬碟分割槽
[[email protected] ~]# cat /proc/partitions //檢視核心是否識別出,分割槽的硬碟,如果沒有,重新整理
major minor #blocks name
8 0 20971520 sda
8 1 524288 sda1
8 2 18349056 sda2
8 3 2097152 sda3
8 16 10485760 sdb
8 17 5242880 sdb1 //以識別
11 0 8491008 sr0
[[email protected] ~]# mke2fs -t ext4 /dev/sdb1 //對分割槽進行格式化,寫入檔案系統。
[[email protected] ~]#mkdir /wang //建立掛載點
[[email protected] ~]# mount /dev/sdb1 /wang/ //將硬碟掛載到wang
[[email protected] ~]# df -i /dev/sdb1 //檢視inode使用情況,還有327667可用
檔案系統 Inode 已用(I) 可用(I) 已用(I)% 掛載點
/dev/sdb1 327680 13 327667 1% /wang
[[email protected] ~]# vim cai.sh //建立指令碼,將inode填滿,模擬故障
[[email protected] ~]# sh cai.sh //執行shell指令碼
touch: 無法建立"/wang/a327668":裝置上沒有空間
[[email protected] ~]# df -i /wang/ //檢視是否把磁碟的inode寫滿了
檔案系統 Inode 已用(I) 可用(I) 已用(I)% 掛載點
/dev/sdb1 327680 327680 0 100% /wang
[[email protected] ~]# df /wang/ //而可用空間還很多
檔案系統 1K-塊 已用 可用 已用% 掛載點
/dev/sdb1 5029504 28184 4722792 1% /wang
[[email protected] ~]#touch /wang/file //嘗試建立檔案
touch: 無法建立"/wang/file":裝置上沒有空間
[[email protected] wang]#find . -name "a*" | xargs rm -rf "a*" //rm刪除
[[email protected] ~]# df-i /wang //又可以寫東西了
檔案系統 Inode 已用(I) 可用(I) 已用(I)% 掛載點
/dev/sdb1 327680 13 327667 1% /wang