git 报告“设备上没有剩余空间”,但 df -h 表示有 2.5G 可用

Rja*_*jak 4 ubuntu hard-drive tmp amazon-ec2

我有一个运行 Ubuntu 14.04 的 EC2 节点。在今天早上的部署中,我从 git fetch 收到以下错误消息:

error: unable to create temporary file: No space left on device
Run Code Online (Sandbox Code Playgroud)

我登录到服务器并且 df -h 表示我有足够的空间:

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            492M   12K  492M   1% /dev
tmpfs           100M  488K   99M   1% /run
/dev/xvda1      7.8G  4.9G  2.5G  67% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
none            5.0M     0  5.0M   0% /run/lock
none            497M  4.0K  497M   1% /run/shm
none            100M     0  100M   0% /run/user
Run Code Online (Sandbox Code Playgroud)

我在这里误读了 df 吗?我的理解是 EC2 上的 /tmp 驻留在 /dev/xvda1 上,但也许我错了?

小智 6

验证系统 inode:

root #df -i /
Run Code Online (Sandbox Code Playgroud)

如果使用率接近 100%,请尝试使用

xdiskusage /
Run Code Online (Sandbox Code Playgroud)

找出什么正在占用 inode。

遗憾的是,一旦创建了文件系统,就无法增加文件系统上的 inode 数量。

除了 LVM,它可以通过 resize2fs 扩展 inode 的数量

参考:设备上没有剩余空间,但有足够的可用空间