上传数据时,Google Compute Engine磁​​盘不应该自动resize?

…在启动时自动调整磁盘大小…所有计算引擎Ubuntu映像将自动调整根分区的大小以使用整个磁盘,最大限制为2 TB。 即使磁盘大于2TB,操作系统也只能识别2TB。

根据谷歌的永久磁盘文件 ,Ubuntu应该自动resize,但当我试图上传20GB的数据(包含小文件):

"No space left on device" 

我正在使用gcloud:

 gcloud compute copy-files ... 

上传文件。

 $ df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 9.9G 9.8G 0 100% / none 4.0K 0 4.0K 0% /sys/fs/cgroup udev 1.9G 4.0K 1.9G 1% /dev tmpfs 371M 536K 370M 1% /run none 5.0M 0 5.0M 0% /run/lock none 1.9G 0 1.9G 0% /run/shm none 100M 0 100M 0% /run/user Command (m for help): p Disk /dev/sda: 10 GiB, 10737418240 bytes, 20971520 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disklabel type: dos Disk identifier: 0x000ea22e Device Boot Start End Sectors Size Id Type /dev/sda1 * 2048 20971519 20969472 10G 83 Linux 

正如你所指出的那样:

所有计算引擎Ubuntu映像将自动调整根分区的大小以使用整个磁盘

然后,根据你的输出,你有一个10GB的磁盘和一个10GB的分区,所以不可能调整该分区的大小。

如果你想有一个更大的根磁盘,你需要创build所需的空间的磁盘。 您可以使用Cloud SDK执行以下步骤:

1-创build您的实例的快照 :

gcloud compute disks snapshot DISK_NAME --snapshot-names SNAPSHOT_NAME --zone ZONE --project PROJECT_ID

2-根据该快照创build一个磁盘 :

gcloud compute disks create NAME --source-snapshot SOURCE_SNAPSHOT --size SIZE --zone ZONE --project PROJECT_ID

之后,磁盘会自动分区,并有足够的空间存放根文件系统

3-使用该磁盘创build实例 :

gcloud compute instances create NAME --disk "name=DISK_NAME" "boot=yes" --zone ZONE --project PROJECT_ID

由于Ubuntu支持自动resize,一旦启动,它应该调整分区大小,你应该有所需的GB。

或者 ,如果您仍然可以通过SSH访问实例,则可以按照以下步骤将新磁盘附加到实例:

4-创build一个新磁盘 : gcloud compute disks create NAME --size SIZE --zone ZONE --project PROJECT_ID

5- 附加新磁盘: gcloud compute instances attach-disk INSTANCE_NAME --disk NEW_DISK_NAME --zone ZONE --project PROJECT_ID

6- SSH到实例中: gcloud compute ssh INSTANCE_NAME --zone ZONE --project PROJECT_ID

7- 格式化新磁盘。

8-将文件从根磁盘传输到新磁盘以释放空间并将其他file upload到新磁盘。