增加图像的虚拟磁盘大小

本指南介绍了在需要更多容量的时候如何增加预构建 Clear Linux* OS 映像的大小。

确定预构建映像的分区顺序和大小。

Clear Linux OS 预构建映像大小多样,从 300 MB 至 20 GB 不等。

有两种方法可找到预构建 Clear Linux OS 映像分区虚拟磁盘的顺序和大小。

在两例中,预构建 Hyper-V 映像的磁盘大小为 8.5 GB,/dev/sda3 为 root 文件系统 (/) 分区

在虚拟机上检查 lsblk

第一种方法是引导 VM,执行 lsblk 命令,如下所示:

sudo lsblk

lsblk 命令的示例输出:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0   0    8.5G  0 disk
├─sda1   8:1   0    512M  0 part
├─sda2   8:2   0     32M  0 part [SWAP]
└─sda3   8:3   0      8G  0 part /

还可以在图 1 中查看此例。

检查用来构建映像的 config.json

第二种方法是确定分区,检查用来创建预构建映像的 config.json 文件。该文件在 releases 存储库中。例如,要发现版本号 20450 的 Hyper-V* 映像的大小,请按照如下步骤操作:

  1. 转到 releases 存储库。

  2. 浏览至 20450 > clear > config > image 目录。

  3. 打开 hyperv-config.json 文件。

  4. 找到 PartitionLayout 键。

    本例显示 DFI 分区为 512 MB,swap 分区为 32 MB,而 root 分区为 8 GB。

    "PartitionLayout" : [ { "disk" : "hyperv.img",
                            "partition" : 1,
                            "size" : "512M",
                            "type" : "EFI" },
                            { "disk" : "hyperv.img",
                            "partition" : 2,
                            "size" : "32M",
                            "type" : "swap" },
                            { "disk" : "hyperv.img",
                            "partition" : 3,
                            "size" : "8G",
                            "type" : "linux" } ],
    

增加虚拟磁盘大小

一旦确定增加磁盘和分区的大小,实际上则会增加磁盘、分区和文件系统的大小。

关闭虚拟机并增加虚拟磁盘大小:

要为预构建映像增加虚拟磁盘大小,请执行以下几个步骤:

  1. 关闭正在运行的虚拟机。
  2. 使用虚拟机管理程序或云提供商定义的流程来增加 Clear Linux OS 虚拟机的虚拟磁盘大小。
  3. 开启虚拟机。

调整虚拟磁盘的分区大小:

  1. 登录拥有 root 权限的帐户。

  2. 打开终端模拟器。

  3. 添加 :command:storage-utils` bundle,安装 partedresize2fs 工具。

    sudo swupd bundle-add storage-utils
    
  4. 启动 parted 工具。

    sudo parted
    
  5. parted 工具中,执行以下几个步骤:

    1. 按下 p,打印分区表。

    2. 如果显示下面的警告消息,则输入 Fix

      Warning: Not all of the space available to :file:`/dev/sda` appears to be
      used, you can fix the GPT to use all of the space (an extra ...
      blocks) or continue with the current setting?
      
      Fix/Ignore?
      
    3. 输入 resizepart [partition number],其中 [partition number] 是需要修改的分区的分区编号。

    4. 出现提示时输入 yes

    5. 输入新的 End 大小。

      注解

      如果希望一个分区占用剩余的磁盘空间,则输入磁盘的总大小。使用 p 命令打印分区表时,在 Disk 标签后面会显示总磁盘大小。

      可以在图 1 中查看此例。

    6. 调整映像完成后,输入 q 退出 parted

      图 1 介绍了将虚拟磁盘分区从 8.5GB 调整为 20GB 的步骤。

      Increase root partition size

      图 1:增加 root 分区的大小。

调整文件系统的大小

  1. 输入 sudo resize2fs -p /dev/[modified partition name],其中 [modified partition name] 是将在 parted 中改变的分区。

  2. 运行 df -h 确认文件系统大小已增加。

    图 2 介绍了将虚拟磁盘分区从 8.5GB 调整为 20GB 的步骤。

    Increase root filesystem with resize2fs

    图 2:扩展分区后增加 root 文件系统大小。

恭喜! 您已经知道如何调整磁盘、分区和文件系统的大小。此时,增加磁盘容量有用。