99

GCE 中的根磁盘大小为 10 gig。我该如何增加这个?我在控制台或 gcutil 标志中找不到该选项。这可以在 AWS 中轻松完成。

4

9 回答 9

230

自 2016 年 3 月 31 日起,您可以在线调整永久性磁盘的大小,而无需停止或重新启动 VM,无需拍摄快照,也无需将其还原到更大的磁盘。

宣布该功能的博客文章有详细信息,您可以通过控制台查看有关如何执行此操作的文档:

在 Google Cloud Platform Console 中调整永久性磁盘的大小:

  1. 转到计算引擎页面
  2. 单击边栏中的“磁盘”
  3. 单击要调整大小的磁盘的名称。
  4. 在磁盘详细信息页面的顶部,单击“编辑”。
  5. 在“大小”字段中,输入磁盘的新大小。
  6. 在磁盘详细信息页面的底部,单击“保存”以将更改应用到磁盘。
  7. 调整磁盘大小后,您必须调整磁盘分区的大小,以便操作系统可以访问额外的空间。

或通过 CLI:

gcloud compute disks resize example-disk --size 250

然后,在 Debian/Ubuntu/etc 上。跑:

$ sudo apt install -y cloud-utils         # Debian jessie
$ sudo apt install -y cloud-guest-utils   # Debian stretch, Ubuntu
$ sudo growpart /dev/sda 1
$ sudo resize2fs /dev/sda1

或者,对于 RedHat/Fedora/CentOS/等:

$ sudo dnf install -y cloud-utils-growpart
$ sudo growpart /dev/sda 1
$ sudo xfs_growfs -d /                    # CentOS 6 needs `resize2fs`

请注意,某些操作系统会在重新启动时自动调整分区大小,而无需您使用或等工具执行任何手动步骤fdisk,因此只需调整磁盘大小并重新启动 VM 以使更改生效就足够了。resize2fsxfs_growfs

于 2016-04-01T04:48:23.203 回答
25
  1. 从快照创建一个新磁盘,但这样做时会增加大小
  2. 使用新的扩展磁盘创建一个新实例
  3. embiggen 分区以识别新空间(https://cloud.google.com/compute/docs/disks/persistent-disks#repartitionrootpd)(注意:要特别注意起始扇区,不要只是盲目地按回车,你可以,但是盲目地点击结束扇区的返回)
  4. sudo resize2fs /dev/sda1 (注意,谷歌云文档中没有提到这一步)
于 2014-10-25T15:10:27.360 回答
5

在大多数情况下,创建第二个所需大小的数据盘并将其附加到实例会更简单、更灵活。

要调整永久磁盘(包括根磁盘)的大小,请对磁盘进行快照,然后从快照创建一个更大的新磁盘

于 2014-03-13T22:45:56.763 回答
5

这更像是@user1130176 的回答的后续,但如果您运行的是 CentOS 7+,则需要对步骤 4 执行以下操作(扩展文件系统): xfs_growfs /dev/sda1

CentOS 7 上的新磁盘类型为xfs. 希望这会有所帮助,从周围的所有链接中都不是很清楚。

于 2016-01-21T03:03:49.170 回答
3

由于新的 GCoud 命令行工具,您可以在创建实例时选择引导磁盘大小和类型:

gcloud compute instances create foo-instance --boot-disk-size 100 --image "xxxxxx"

然后使用以下说明调整根分区的大小:https ://cloud.google.com/compute/docs/disks#repartitionrootpd

文档:https ://cloud.google.com/sdk/gcloud/reference/compute/instances/create

编辑:调整根分区大小后,您必须重新启动实例以强制系统重新读取分区表。这使得这个技巧在启动脚本中无法使用(在每次启动/重新启动时执行)。

于 2015-01-20T09:12:03.307 回答
3

我知道这是一个老话题,但我只是使用比上面解释的更简单的方法来做到这一点。一切都来自云控制台用户界面,无需担心或在几分钟内执行任何特殊命令并单击。

但是,它需要创建一个新实例,而不是在已经运行的实例上调整磁盘大小

  1. 创建要放大的磁盘的快照

    单击实例,然后单击磁盘,然后您有“创建快照”,为其命名,然后等待创建快照。(您不需要为此关闭实例)

  2. 从快照创建一个新实例并指定新大小

    单击快照,然后您有“创建实例”,然后您可以看到启动磁盘选项,单击更改,然后将其调整为新大小。(您可能还想将所有默认实例设置更改为您想要的设置)

这是一种在不引起任何分区错误的情况下扩大磁盘的简单方法,不需要任何命令或特殊操作。

唯一的缺点是您需要创建一个新实例。您不能只在已有的实例上执行此操作。

于 2018-11-08T09:40:17.867 回答
2

现在您可以就地调整永久磁盘的大小

gcloud compute disks resize DISK_NAME [DISK_NAME …] --size SIZE [--zone ZONE]

这只会重新调整物理设备的大小。文件系统(之后可能还需要调整分区)

于 2016-01-04T17:22:10.157 回答
1

首先使用您想要的任何大小和映像创建一个磁盘,然后使用现有磁盘作为您的启动源创建您的实例。

于 2014-06-30T23:41:51.423 回答
0

对于其他无法找到有效答案的人,我发现有人友好地发布了这个脚本:

https://gist.github.com/xelwarto/6f5c6556613c9215b1e1

# Requires cloud-utils-growpart to be installed

# Resize ROOT FS
part=`df --output=source / |grep "/dev/"`
if [ ! -z "$part" ] ; then
  len=${#part}
  p=`echo $part|cut -c$len`
  d=`echo $part|cut -c1-$(($len-1))`

  growpart "$d" "$p"
  xfs_growfs "$part"
fi
于 2017-08-21T18:16:21.677 回答