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

Chr*_*cci 9 centos google-compute-engine google-cloud-platform

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

我按照这里的确切步骤操作:https : //cloud.google.com/compute/docs/disks#repartitionrootpd

总结一下:

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

在此之后,我untar在一个/opt子目录中创建了一个 3.5G 存档,几分钟后,它以:

Cannot mkdir: No space left on device
Run Code Online (Sandbox Code Playgroud)

我可以检查空间是否在这里,并且似乎(至少在我看来)它应该随处可用

# 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
Run Code Online (Sandbox Code Playgroud)

现在,有了这个精确的配置,一个 50Mb 目录上的简单 cp 命令也会返回:

cp: cannot create regular file ‘toto/conf/server.xml’: No space left on device
Run Code Online (Sandbox Code Playgroud)

我的 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
Run Code Online (Sandbox Code Playgroud)

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

我不知道现在该怎么办。

Chr*_*cci 12

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

mount -o remount,inode64 /
Run Code Online (Sandbox Code Playgroud)

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

这是相关链接:http : //xfs.org/index.php/XFS_FAQ#Q : _Why_do_I_receive_No_space_left_on_device_after_xfs_growfs.3F