今天在Linux上使用vim编辑文件保存时报如下错误
E514: write error (file system full?)
从错误看,是磁盘满了,于是使用df -hl查看磁盘使用情况
$ sudo df -hl
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_myserver-lv_root 50G 43G 4.6G 91% /
tmpfs 7.8G 268K 7.8G 1% /dev/shm
/dev/sda1 477M 61M 391M 14% /boot
/dev/mapper/vg_myserver-lv_home 1.8T 1.7T 0 100% /home
从结果看,确实是/home磁盘满了。
但是此时,当我使用root用户在/home写写文件时候却不会出现上面的错。
查了半天,原来是Linux在每个分区中会为root用户保留一部份空间,这是专门留给root用户及其所属组使用,别的用户是无法使用的,一般默认为总数据块的5%。
这个预留的空间可以使用下面的命令查看
$ sudo tune2fs -l <device> | grep Reserved
比如:
$ sudo tune2fs -l /dev/sda1 | grep Reserved
或
$ sudo tune2fs -l /dev/mapper/vg_rhserver33-lv_home | grep Reserved
Reserved block count: 23551078
Reserved GDT blocks: 911
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
好了,知道了问题,那我们就清理一下磁盘空间吧,清理了一定磁盘空间后,最终我可以继续写入数据了。