我在尝试编译 gcc 时磁盘空间不断不足,我不断创建越来越大的磁盘大小,经过 5 小时的编译后,磁盘空间耗尽。我现在已经调整了 4 次磁盘大小,第 4 次重新启动编译步骤,现在磁盘大小为 500GB。
当我运行df -h
查看使用了多少空间时,它只显示 9.7GB,但这被认为是 100%。
我以为可能还有另一个磁盘,但我只看到sda
它的分区
ls /dev/sd*
/dev/sda /dev/sda1
所以我的磁盘实际上有 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 /
答案1
似乎 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 /
答案2
以下是您拥有单个 xfs (/dev/sda1) 分区的步骤。
尝试之前不要忘记制作快照!
首先重新创建根分区,输入此命令:
(echo d; echo n; echo p; echo 1; echo ; echo; echo w) | sudo fdisk /dev/sda
然后重启服务器。重启后,增加分区
xfs_growfs /dev/sda1
验证方式:
df -h