如何在 VMware vSphere 中自动增加多个 Ubuntu 节点的分区大小?

如何在 VMware vSphere 中自动增加多个 Ubuntu 节点的分区大小?

我们有几十个 Ubuntu 节点,我必须将硬盘驱动器调整为不同的大小。目前,我正在手动执行以下所有步骤:

  1. 增加 VMware vCenter 中每个节点的虚拟硬盘的大小。
  2. 更改 DVD 驱动器的配置,挂载 GParted ISO,从 BIOS 启动,并更改启动顺序。
  3. 启动进入 GParted,手动增加/dev/sda2/dev/sda5
  4. 停止虚拟机,禁用 DVD 驱动器,然后启动虚拟机。
  5. 用于lvextend -r /dev/ubuntu/root /dev/sda5扩展 LVM 并将分区大小调整为最大可能大小。
  6. 选修的:检查df -h一切是否正常。

我希望能够自动完成这个过程,最好是提供节点名称和相应大小的列表,然后让工具完成它的工作。如果没有可用的自动化解决方案,我希望了解每个步骤的微优化,以便让我繁琐的工作变得更轻松。

我们已经使用 Chef 自动配置我们的节点以及硬盘大小为 16 GB 的 VM 模板。

有什么好主意吗?

答案1

无需重新启动或执行繁琐的 DVD 步骤即可完成...

首先,在 vCenter/vSphere 级别扩展磁盘。您知道如何操作。它也可以自动化或编写脚本。

显示您当前的块设备大小...

# fdisk -l 

重新扫描虚拟机内的 SCSI 总线以了解新的驱动器大小。

# echo 1 > /sys/class/scsi_disk/0:0:0:0/device/rescan

注意:磁盘标识符可能会有所不同,但往往与虚拟机的 SCSI 设备节点相对应. 你可能会看到0:0:0:0对于您正在处理的根卷。

dmesg | tail用或其他方式验证fdisk -l

继续你的 LVM 魔法......

这样就能解决一切问题了。

答案2

正如@ewwhite 所写,您需要重新扫描总线以使用有关新磁盘大小的信息来更新操作系统。

但接下来你需要做的是输入 fdisk,也许这违反直觉删除分区,这很重要重新创造一个新的,有相同的开始,但有新的结局保存分区表之前。

通过运行来更新分区信息partx /dev/sda[n]

最后,我们使用pvresizelvextend和的适当实现*_growfs来得到新的根文件系统大小。

与往常一样:除非您做错了什么,否则这不太可能破坏任何东西,但是在修改重要计算机上的分区信息之前,请务必进行工作备份。

以下是该过程更详细的描述链接我不久前就这么做了。)

相关内容