我可以在Google Compute Engine上创建超过10GB的操作系统映像吗?

时间:2014-06-03 20:01:02

标签: google-compute-engine

我需要使用特定映像启动大约500个实例来处理需要POSIX访问超过10GB的大文件。根据该文档https://developers.google.com/compute/docs/images,不可能创建超过10GB的启动盘,我需要超过10 GB的POSIX访问权限。这是否意味着我需要在每个具有我需要的磁盘空间的实例上创建另一个非启动磁盘?还有另一种方法吗?

4 个答案:

答案 0 :(得分:1)

该doc指的是对操作系统Image大小的限制,而不是引导盘的大小。

您可以创建任意大小的启动盘,然后在创建实例时使用它,例如:

gcutil adddisk“disk-1”--size_gb =“15” - zone =“europe-west1-b”--source_image =“https://www.googleapis.com/compute/v1/projects/debian -cloud /全局/图像/ Debian的-7-喘鸣v20140522"

gcutil addinstance“instance-1”--zone =“europe-west1-b”--machine_type =“n1-standard-1”--network =“default”--external_ip_address =“ephemeral”--metadata = “sshKeys:” - disk =“disk-1,deviceName = disk-1,mode = READ_WRITE,boot”--auto_delete_boot_disk =“true”

请参阅:https://developers.google.com/compute/docs/disks#create_disk

答案 1 :(得分:1)

您可以使用Packer在GCE上创建图像,该图像将在启动时自动调整大小。我专门针对这个问题创建了一个repo,其中包含使用Debian-7 backports或容器优化VM映像的最新版本自动调整大小图像的演示。

它使用cloud-initramfs-growroot

  

在首次启动时自动调整根分区

     

该软件包为initramfs-tools构建的initramfs添加了功能。安装后,initramfs将重新分区磁盘,使根卷消耗其后的所有空间。

     

除非你知道自己在做什么,否则你很可能不想要这个包。当磁盘可以配置大于其原始大小的大小时,它在虚拟化环境中主要是有趣的。在这种情况下,安装此软件包后,您可以自动使用新空间,而无需重新启动以重新读取分区表。

有关详细信息以及如何使其适应您的用例,请参阅我的脚本growroot.sh

答案 2 :(得分:0)

您有两种选择:

  1. 创建一个大于10GB的启动盘但是你需要重新分区,因为默认情况下,提供的VM镜像扩展到10GB,因此你需要使用these instructions并运行{{ 1}},重新启动,然后运行fdisk以将可用空间扩展到磁盘的完整大小。您可以使用startup scripts将其自动化,以便作为实例创建的一部分运行。

  2. 另一种方法是创建一个单独的永久磁盘并单独附加它,但它不是引导磁盘而只是数据磁盘。为此,您可以使用same page上的说明,即:

    • resize2fs
    • gcutil adddisk [...],除非在实例创建期间通过gcutil attachdisk [...]添加引导和数据磁盘,在这种情况下不需要这样做
    • gcutil addinstance --disk=disk1 --disk=disk2 [...]自动完成剩下的工作

答案 3 :(得分:0)

您可以轻松地执行此操作,而无需手动调整大小/分区/格式化磁盘或StackOverflow上所有其他答案中引入的任何复杂情况。请在此处查看我的回答:How to get a bigger boot disk on Google Compute Engine