Cloud 如何增加Google计算引擎中根磁盘的大小?

Cloud 如何增加Google计算引擎中根磁盘的大小?,cloud,google-compute-engine,google-cloud-platform,Cloud,Google Compute Engine,Google Cloud Platform,GCE中的根磁盘大小为10 gigs。我如何增加这个?我在控制台或gcutil标志中找不到该选项。这可以在AWS中轻松完成 在大多数情况下,创建所需大小的第二个数据磁盘将更简单、更灵活 要调整持久磁盘(包括根磁盘)的大小,请先快照该磁盘,然后单击 首先创建一个具有所需大小和映像的磁盘,然后使用现有磁盘作为启动源创建实例 从快照创建一个新磁盘,但在执行此操作时请增加大小 使用新的embiggened磁盘创建新实例 embiggen分区以识别新空间()(注意:请特别注意起始扇区,不要只是盲目地点击r

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

在大多数情况下,创建所需大小的第二个数据磁盘将更简单、更灵活


要调整持久磁盘(包括根磁盘)的大小,请先快照该磁盘,然后单击

首先创建一个具有所需大小和映像的磁盘,然后使用现有磁盘作为启动源创建实例

  • 从快照创建一个新磁盘,但在执行此操作时请增加大小
  • 使用新的embiggened磁盘创建新实例
  • embiggen分区以识别新空间()(注意:请特别注意起始扇区,不要只是盲目地点击return,您可以在结束扇区上盲目地点击return)
  • sudo resize2fs/dev/sda1(注意,谷歌云文档中没有提到这个步骤)

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

    gcloud compute instances create foo-instance --boot-disk-size 100 --image "xxxxxx"
    
    然后使用以下说明调整根分区的大小:

    文件:

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

    现在您可以:


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

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


    CentOS 7上的新磁盘类型为
    xfs
    。希望这能有所帮助,从所有的链接来看都不是很清楚。

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

    有详细信息,您可以通过控制台查看如何执行此操作:

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

  • 去医院
  • 单击侧栏中的“磁盘”
  • 单击要调整大小的磁盘的名称
  • 在磁盘详细信息页面顶部,单击“编辑”
  • 在“大小”字段中,输入磁盘的新大小
  • 在磁盘详细信息页面的底部,单击“保存”将更改应用到磁盘
  • 调整磁盘大小后,必须调整磁盘分区的大小,以便操作系统可以访问额外的空间
  • 或通过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/etc:

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

    请注意,重新启动时将自动调整分区大小,而无需您使用
    fdisk
    resize2fs
    xfs\u growfs
    等工具执行任何手动步骤,因此,只要调整磁盘大小并重新启动虚拟机就足够了,更改才能生效。

    对于其他找不到有效答案的人,我发现有人发布了以下脚本:


    我知道这是一个老话题,但我只是用了一个比上面解释的更简单的方法。所有这些都来自云控制台用户界面,无需担心,也无需在几分钟内完成任何特殊命令和点击

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

  • 创建要放大的磁盘的快照

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

  • 从快照创建新实例并指定新大小

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

  • 这是一种无需任何命令或特殊操作就可以在不导致任何分区错误的情况下放大磁盘的简单方法


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

    酷。工作。但要注意需要重新启动。云文档中也提到了第四步将文件系统调整为分区的完整大小:user@mytestinstance:~$sudo resize2fs/dev/sda1 resize2fs 1.42.5(2012年7月29日)位于/dev/sda1的文件系统安装在/;在线调整所需的大小旧的描述块=1,新的描述块=4/dev/sda1上的文件系统现在有13106944个块长,这不是在我写作的时候。一个真正的cromulent答案。请注意,下面Misha Brukman的答案中提供了一个更简单、更快速的选项。另请参见一个类似的问题。在下面的@MishaBrukman步骤之后,Do sudo growpart/dev/sda 1和&sudo xfs_growfs/dev/sda1可能重复。此操作不需要重新启动。-bash:xfs\u growfs:command未找到,此命令位于何处?如果您使用的是CentOS,则可能使用的是其他/旧版本的CentOS。基本上,如果您使用CentOS 6,您需要
    resize2fs
    ,使用CentOS,您需要
    xfs\u growfs
    。您可以检查此自动脚本:它可用作启动脚本,但您必须小心区分当前的状态,并根据磁盘的状态执行不同的操作(或不执行任何操作)。有关详细信息,请参阅我编写的脚本的链接。@aftabnaved–有关在重新启动期间支持自动调整分区大小的操作系统,请参阅。您可以使用
    resize2fs
    动态调整非根分区的大小,而无需
    $ sudo dnf install -y cloud-utils-growpart
    $ sudo growpart /dev/sda 1
    $ sudo xfs_growfs -d /                    # CentOS 6 needs `resize2fs`
    
    # 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