如何增加Google Compute Engine中根磁盘的大小?

时间:2014-03-13 14:26:55

标签: cloud google-compute-engine google-cloud-platform

GCE中的根磁盘大小为10演出。我该怎么做呢?我无法在控制台或gcutil标志中找到该选项。这可以在AWS中轻松完成。

9 个答案:

答案 0 :(得分:47)

截至2016年3月31日,您可以在不停止或重新启动虚拟机的情况下调整永久磁盘在线的大小,而无需拍摄快照,也无需将其恢复到更大的磁盘。

blog post announcing the feature包含详细信息,您可以通过控制台查看the docs如何执行此操作:

  

在Google云端平台控制台中调整持久性磁盘的大小:

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

或通过CLI:

gcloud compute disks resize example-disk --size 250

请注意,some operating systems会在重新启动时自动调整您的分区大小,而无需您使用fdiskresize2fsxfs_growfs等工具执行任何手动步骤,因此它应该只需调整磁盘大小并重新启动VM即可使更改生效。

答案 1 :(得分:21)

  1. 从快照创建新磁盘,但在执行此操作时增加大小
  2. 使用新的embiggened disk
  3. 创建一个新实例
  4. embiggen分区识别新空间(https://cloud.google.com/compute/docs/disks/persistent-disks#repartitionrootpd)(注意:要特别注意起始扇区,不要盲目点击返回,你可以,但是盲目点击结束扇区的回报)< / LI>
  5. sudo resize2fs / dev / sda1(注意,google云文档中未提及此步骤)

答案 2 :(得分:5)

在大多数情况下,创建所需大小的第二个数据磁盘attach it to the instance将更简单,更灵活。

要调整永久磁盘(包括根磁盘)的大小,请对磁盘进行快照,然后create a new larger disk from the snapshot

答案 3 :(得分: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

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

答案 4 :(得分:3)

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

CentOS 7上的新磁盘属于xfs类型。希望这有所帮助,所有链接都不是很清楚。

答案 5 :(得分:1)

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

答案 6 :(得分:1)

现在你可以resize a Persistent Disk in place

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

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

答案 7 :(得分:1)

我知道这是一个老话题,但是我只是使用比上面解释的方法更简单的方法来做到这一点。只需单击几下即可从云控制台用户界面进行操作,而无需担心或执行任何特殊命令。

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

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

      

    单击实例,然后在磁盘上单击,然后您具有“创建快照”的名称,为其命名,然后等待创建快照。 (您无需为此关闭实例)

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

      

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

这是一种万无一失的方法,可以在不引起任何分区错误,不需要任何命令或特殊操作的情况下扩展磁盘。

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

答案 8 :(得分: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