文件系统增大后设备上没有剩余空间

文件系统增大后设备上没有剩余空间

我在 Google Compute Cloud 上使用虚拟机。我将磁盘从 10G 扩展到了 200G。

我按照这里的具体步骤进行操作: https://cloud.google.com/compute/docs/disks#repartitionrootpd

总结一下:

  • 我运行了 fdisk,删除了唯一的分区,创建了一个全尺寸的新分区,相同的开始/新结束,相同的设备 ID
  • 我重启了实例
  • 我使用以下方法调整了文件系统的大小sudo xfs_growfs /(我运行的是 CentOS 7)

此后,我untar在子目录中创建了一个 3.5G 的档案/opt,几分钟后,它以以下内容结束:

Cannot mkdir: No space left on device

我可以检查空间是否在这里,并且(至少对我来说)它应该在任何地方都可用

# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       200G   13G  188G   7% /
devtmpfs        1.9G     0  1.9G   0% /dev
tmpfs           1.9G     0  1.9G   0% /dev/shm
tmpfs           1.9G  8.3M  1.8G   1% /run
tmpfs           1.9G     0  1.9G   0% /sys/fs/cgroup

现在,通过这个精确的配置,对 50Mb 目录执行简单的 cp 命令也会返回:

cp: cannot create regular file ‘toto/conf/server.xml’: No space left on device

我的 tar 中有很多小文件,因此我考虑了 inode 限制,但是:

# df -ih
Filesystem     Inodes IUsed IFree IUse% Mounted on
/dev/sda1        200M  100K  200M    1% /
devtmpfs         462K   285  462K    1% /dev
tmpfs            463K     1  463K    1% /dev/shm
tmpfs            463K   309  463K    1% /run
tmpfs            463K    13  463K    1% /sys/fs/cgroup

就好像我的新磁盘空间不可用一样。因为我感觉它大约停在了我之前的 10G 磁盘限制上。

我不知道现在该怎么办。

答案1

我设法通过以下命令使其工作:

mount -o remount,inode64 /

显然,这是 CentOS 内核 3.7 到 3.17 的回归,而我使用的是 3.10。

相关链接如下: http://xfs.org/index.php/XFS_FAQ#Q:为什么xfs_growfs之后设备上没有剩余空间.3F

答案2

更改挂载选项以使用 inode64。

这个问题看起来像是 XFS FAQ 中的一个

http://xfs.org/index.php/XFS_FAQ#Q:为什么xfs_growfs之后设备上没有剩余空间.3F

相关内容