df -h 只显示 10GB,但我已经为 GCE 实例分配了 500GB 的磁盘

Jan*_*ert 13 google-compute-engine

在尝试编译 gcc 时,我一直在用尽磁盘空间,我一直在创建越来越大的磁盘大小,在编译 5 小时后,磁盘空间用完了。我现在已经调整了 4 次磁盘大小,现在用 500GB 磁盘重新启动了第 4 次编译步骤。

当我跑去df -h看使用了多少空间时,它只说 9.7GB,但这被认为是 100%。

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明

我以为可能还有另一个磁盘,但我只看到了sda它的分区

ls /dev/sd*
/dev/sda  /dev/sda1
Run Code Online (Sandbox Code Playgroud)

那么我的磁盘实际上是 500GB 大小,df只是报告错误(在这种情况下,编译 gcc 会占用整个 500GB),还是 Google Cloud 的仪表板报告错误,df报告正确并且编译 gcc 没有占用 500GB ?

无论哪种方式,除非我应该做一些事情来利用 500GB(顺便说一句,这是违反直觉的),否则我猜这是一个错误?

(发帖之前搜索过,只看到AWS相关的问题)

更新 - lsblk 解释了它:

lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  500G  0 disk 
??sda1   8:1    0   10G  0 part /
Run Code Online (Sandbox Code Playgroud)

Jan*_*ert 11

似乎 Google Compute Engine 确实在大多数操作系统上提供了根分区的自动调整大小(我通常使用 Debian,所以从来没有遇到过这样的问题),CentOS 似乎不是其中之一。

请参阅:https : //cloud.google.com/compute/docs/disks/persistent-disks#repartitionrootpd

就我而言,需要手动重新分区,请参阅:https : //cloud.google.com/compute/docs/disks/persistent-disks#manualrepartition

完成这些步骤后,我的磁盘大小现在是 500GB

lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  500G  0 disk 
??sda1   8:1    0  500G  0 part /
Run Code Online (Sandbox Code Playgroud)

  • 如果 GCE 允许,我建议在您尝试之前拍摄您的 VM 的快照。如果您以前没有这样做过,我绝对建议您先在非生产实例上尝试,然后再在生产中执行此操作。 (4认同)
  • 呵呵,来晚了,机器已经坏了。幸运的是昨晚拍了一张快照,所以没有大的损坏。 (3认同)