简述

家里使用的服务器,主要硬盘消耗是 openmediavault

就是一个文件存储服务, 可以用来放电影,音乐,漫画等, 还可以支持TimeMachine

因为存储的电影越来越多, 所以准备扩大下磁盘, 踩了点坑之后,成功更换了硬盘。

个人来说 会每周六晚上看一部电影,看完的也没删,所以比较费空间 😂

本文使用的步骤是冷迁移,笔者是个菜鸡,暂时没有用到 vCenter

详细步骤 (冷迁移)

简述就是,关闭并移动虚拟机, 然后卸掉旧硬盘, 使用 U 盘重新安装 ESXi,并恢复配置。

注:迁移系统的话,才需要重装。

我现在有3块硬盘

  • 2T 得硬盘, 里面放了系统和部分虚拟机
  • 4T 得硬盘, 里面全是虚拟机
  • 12T 得硬盘, 新买的,目标硬盘。

步骤大概分为下面几步应该就 OK 了。

  1. 链接新的硬盘到现在的 ESXi 主机上。SATA 或者 NVME 应该都可以,只要 能识别就 OK。记得关机操作。。
  2. 开机后,登录 web 控制面板, 基于新的硬盘创建一个数据存储
    1. 左侧导航器其次选择存储 / 数据存储 / 新建数据存储
    2. 创建新的 VMFS 存储
    3. 给一个名称, 比如 _12T_
    4. 选择该硬盘, 版本上似乎 5和6都可以。
  3. 关闭位于想更换硬盘上的所有虚拟机。
    1. 如果分区是基于两块硬盘创建得, 则可以将全部的虚拟机移动过去
    2. 比如我的分区1 是基于一块2T 的硬盘, 一块4T 的硬盘, 我就是把全部的虚拟机关闭移动的。
  4. 打开数据浏览存储器, 进行移动
    1. 左侧导航栏依次选择 存储 / 数据存储 / 数据存储浏览器
    2. 此时会看到两个及以上的数据存储区域, 点开一个之后,里面的每一个文件夹基本都是一个虚拟机。
    3. 点击文件夹,点击移动, 目标选择新的硬盘对应的存储区域 (_12T_)
    4. 静静等待完成就可以了。 笔者移动了大概6TB 的文件, 花了差不多24~36个小时,笔者是普通的机械硬盘。
  5. 拆除不需要的硬盘。。
    1. 把想要拆掉的硬盘排除掉。
    2. 比如 一个数据区域里面两个硬盘的话,则考虑选择不需要的硬盘,或者是需要的硬盘,点击删除分区表, 之后该硬盘就会从数据分区中移出,但是笔者不知道这么做有没有什么副作用。。
    3. 如果该硬盘对应着一个数据区域,则先把该区域删除掉,再删除分区表。
  6. 如果你不需要迁移系统的话, 这时应该已经 OK 了, 重新注册下虚拟机应该就差不多要成功了。
    1. 一般情况下, 再 『我已复制』 和『我已移动』 中 你应该选择『我已复制』
    2. 否则的话,可能虚拟机就无法启动了。 但是点击我已复制,网卡的 MAC 地址会变化,初除此之外应该还有别的变化。
    3. 我第一个虚拟机 pfSense ,点击的『我已移动』 之后就没能成功启动 😹😹😹 ​
    4. 点了之后, 虚拟机的基本配置也没办法修改, 不知道为啥。。
  7. 接下来是如果你需要迁移系统的操作。
    1. 为什么要迁移系统? 原因当然很简单啦, 因为系统装在了一块小的硬盘上。 机箱里没更多放硬盘的位置了。
  8. 导出 当前的 ESXi 的主机配置。
    1. 官方文档: https://kb.vmware.com/s/article/2042141
    2. 中文译本: https://kb.vmware.com/s/article/2042141?lang=zh_CN
    3. 我是在 ESXi 的命令行上进行操作的。
  9. 下载或者使用你原来的 ESXi 的ISO 镜像, 然后安装新系统。
    1. 如果你是超微的主板, 则可以考虑使用 IPMI 来管理,很方便的。
    2. 如果没有的话, 只能使用电脑的显示器了, 或者购买一个15寸的小显示器 😂
    3. 原来是怎么安装的,现在就怎么安装就好了。
    4. 至于安装位置, 选择具有空闲空间的硬盘,据说 ESXi在安装的时候会自动识别硬盘上的内容, 不会操作 VMFS 分区的里面文件。 (但是我还不能确定这种说法的正确性
    5. 我个人的话, 是使用的空闲硬盘,没有数据的硬盘。
  10. 成功进去到 web 管理界面之后, 进行配置的还原工作
    1. 如果你是使用的当初的安装镜像, 那么恭喜你,应该能正常操作。
    2. 如果你是使用了别的镜像(当初的安装镜像找不到了之类的原因
    3. 那么操作就变得复杂起来了。 可见此文的2楼: https://communities.vmware.com/thread/554205
    4. 我的操作是这样的。
      1. 拷贝原有配置, 做一个备份。
      2. 我是在 Windows 的机器上进行操作的, 我一般使用360压缩 这是我一直在用的唯一一个360的软件 😂😂😂
      3. 但是 360压缩工具不支持tar.gz/tgz 文件的打包
      4. 我利用备份配置的方法在新系统上进行一次备份,导出。 然后把文件下载到本地。
      5. 将原来的配置文件解压, 并把全部文件上传到 ESXi 里面的 /tmp/abc 文件夹(文件夹需要自己创建, 使用sftp上传)
      6. 将现有配置文件的Manifest文件拷贝到第5步上传的文件夹里面, 覆盖掉原有的文件
      7. 使用 cd /tmp/abc && tar -czvf configBundle.tgz * 类似的命令完成打包 (abc 为你的文件夹名字)
      8. 使用 mv configBundle.tgz ../ 的命令把文件移动到 /tmp 目录
      9. 然后使用命令 vim-cmd -d info /hostsvc/firmware/restore_config 1 /tmp/configBundle.tgz 强制还原配置
      10. 之后应该会重启一下, 然后绝大部分配置都回来了。
  11. 使用步骤6进行注册虚拟机即可。
  12. 到目前为止, 冷迁移应该已经算完成了, 不过我发现了部分虚拟机还是无法启动的问题, 可能部分设置需要重新操作一下。。

笔者的瞎比操作

在这种极其小白的情况下, 操作步骤往往得靠摸索和瞎想。

我现在有3块硬盘

  • 2T 得硬盘, 里面放了系统和部分虚拟机
  • 4T 得硬盘, 里面全是虚拟机
  • 12T 得硬盘, 新买的,目标硬盘。

我得想法是, 把2T硬盘里面得数据直接全部拷贝到12T 盘里, 然后启动应该就可以了。

并且,我真的这么操作了, 我使用 Windows 得软件DiskGenius 进行硬盘扇区拷贝,这是一种按照扇区拷贝得方式,速度极其慢, 使用了差不多4~5个小时才完成2T 文件得拷贝。

拷贝完成后, 我满心欢喜得用12T 硬盘代替了2T 得硬盘, 打开服务器。

🐦🐦🐦🐦🐦 🐦🐦

不行, 提示错误:

bank5 not a vmware boot bank 
bank6 not a vmware boot bank 
no hypervisor found

我搜了下,搜了下,差不多都是说重装就好了, ESXi 不会覆盖之前得 VMFS ,然后重装了。 然后现在约等于好了。

FAQ

Q: 更换了硬盘之后无法启动虚拟机

A: 先检查一下你的虚拟机有无快照, 经过我的经验来看,有快照的虚拟机都无法成功启动,而没快照的则都可以。

当你的虚拟机存在快照的时候。 (如果不存在,我也不知道是什么情况)

  • 你可以尝试下『整合磁盘』 功能。

  • 不行的话, 则检查下你的虚拟机配置, 对比硬盘空间大小 和你原来的大小是否一致?

    • 不一致的话,则删除现在的那个小的硬盘, 然后添加现有磁盘, 选择虚拟机目录里面的磁盘
    • 操作结束之后保存, 然后启动虚拟机。 也许这个时候就能启动了🎉
  • 还不行的话, 就考虑这样操作下, 我也不知道原理是啥 😂 😂