模拟LINUX磁盘分区有可用空间无可用Inodes时报错:No space left on device

参考:磁盘文件系统

1.创建测试脚本:

[oracle@ocm1 ~]$ vi touchfile.sh

#!/bin/bash
for abc in {1..9}
do
      touch /boot/test/$abc
done
"touchfile.sh" 5L, 66C written                                

2.创建测试目录、测试脚本

[root@ocm1 oracle]# cd /boot
[root@ocm1 boot]# mkdir test
[root@ocm1 boot]# ls
config-2.6.18-308.el5              symvers-2.6.32-300.10.1.el5uek.gz
config-2.6.32-300.10.1.el5uek      System.map-2.6.18-308.el5
grub                               System.map-2.6.32-300.10.1.el5uek
initrd-2.6.18-308.el5.img          test
initrd-2.6.32-300.10.1.el5uek.img  vmlinuz-2.6.18-308.el5
lost+found                         vmlinuz-2.6.32-300.10.1.el5uek
symvers-2.6.18-308.el5.gz
[root@ocm1 boot]# cd -
/home/oracle
[root@ocm1 oracle]# sh touchfile.sh
[root@ocm1 oracle]# cd -
/boot
[root@ocm1 boot]# cd test
[root@ocm1 test]# ls
1  2  3  4  5  6  7  8  9

3.查看当前/boot目录可用Inodes数量

[root@ocm1 test]# df -i
Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/sda3            7318528  185460 7133068    3% /
/dev/sda1              26104      50   26054    1% /boot
tmpfs                 128334       1  128333    1% /dev/shm

4.修改脚本,直接将可用Inodes用光

[root@ocm1 boot]# cd /home/oracle/
[root@ocm1 oracle]# vi touchfile.sh
#!/bin/bash
for abc in {10..26110}
do
      touch /boot/test/$abc
done
~
"touchfile.sh" 5L, 71C written

5.执行脚本,脚本未执行完,即报错:No space left on device,

事实上此时用df -h可以看到目录下有可用空间,可是因为没有Inodes,已经无法新建文件了,报错为:No space left on device

[root@ocm1 oracle]# sh touchfile.sh
[root@ocm1 oracle]# sh touchfile.sh
touch: cannot touch `/boot/test/26064': No space left on device
touch: cannot touch `/boot/test/26065': No space left on device
………………………………………………
touch: cannot touch `/boot/test/26109': No space left on device
touch: cannot touch `/boot/test/26110': No space left on device
[root@ocm1 oracle]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda3              28G   11G   15G  43% /
/dev/sda1              99M   21M   73M  23% /boot
tmpfs                 502M     0  502M   0% /dev/shm
[root@ocm1 oracle]# df -i
Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/sda3            7318528  185460 7133068    3% /
/dev/sda1              26104   26104       0  100% /boot
tmpfs                 128334       1  128333    1% /dev/shm
手动执行创建目录和文件命令报同样错误:
[root@ocm1 oracle]# cd /boot/
[root@ocm1 boot]# mkdir a
mkdir: cannot create directory `a': No space left on device
[root@ocm1 boot]# touch abc
touch: cannot touch `abc': No space left on device

你可能感兴趣的:(模拟LINUX磁盘分区有可用空间无可用Inodes时报错:No space left on device)