Esxi 8 更换Nvme硬盘后 如何迁移Esxi主机和虚拟机到新硬盘
Esxi 8 更换Nvme硬盘后 如何迁移Esxi主机和虚拟机到新硬盘
因为去年底开始SSD和内存大幅降价,ITGeeker技术奇客就想着给自己的小主机升个级,换个三星1G的980硬盘,再加了一根32G的金士顿32G内存。
1. 关闭虚拟机,用ovftool.exe导出完整的ova备份。
之前用的250G固态硬盘,装了三个虚拟机,其它两个只要关停后, 在Windows系统用ovftool.exe就可以备份出ova或者ovf文件。
关于要导成ova还是ovf,ITGeeker技术奇客觉得区别不大吧,ova是单文件,ovf是多文件的形式。
by itgeeker.net
由于我用的是Esxi 8 系统,VMware官方下载ovftool的时候有这么一个提示:Note: OVF Tool 4.5 for vSphere 8.0 is here at this location, not in the drop-down menu. 如果你也用的Esxi 8系统,那么直接到下面的地址下载ovftool吧:
https://developer.vmware.com/web/tool/4.5.0/ovf-tool
解压缩下载好的文件后,用CMD命令进入目录,然后运行:
ovftool.exe vi://root:YOUR PASSWORD@ESXI 8 IP OR DOMAIN/istore F:\ITGeekerBackupFolder\ESXi\BKN5100_ovftool_bk\istore-2023-02-01.ova
注意修改你的密码、主机IP和备份路径
备份之前要关闭虚拟主机的运行,否则提示无法备份之类的错误提示。
但是,ITGeeker技术奇客碰到的问题是:Esxi 8主机现在是作为主路由器在使用,如果关闭OpenWRT之后就无法访问Esxi 8 主机了。
主路由虚拟机OpenWrt不能关闭,所以此路不通。
2. 使用dd命令,完整克隆esxi 8主机
这个注意听起来很不错的,只要把主机完整的备份位img文件,然后用rufu工具把img写入到新的硬盘就可以啦
先用命令找出系统硬盘的参数
ls -l /dev/disks/
# 然后选择一个后面不跟冒号和数字1,5,6,7等的那个,例如:
t10.NVMe____LITEON_CA32D8D256________________________AA50085056032300
再使用DD命令备份
dd if=/dev/disks/t10.NVMe____LITEON_CA32D8D256________________________AA50085056032300 of=/vmfs/volumes/datastore1/ESXi8_bkn5100_all.img
# 如果担心文件太大,可以添加gzip进行压缩
dd if=/dev/disks/t10.NVMe____LITEON_CA32D8D256________________________AA50085056032300 | gzip > /vmfs/volumes/datastore1/ESXi8_bkn5100_all.img.gz
事实上,250G的SSD,安装Esxi 8之后,留给datastore的空间只有111G

ITGeeker技术奇客在安装了3个虚拟机后,空间只剩55G左右了,再怎么压缩还是不够大。
空间不足,放弃!
使用DiskGenius克隆旧的硬盘到新的三星980硬盘上
本来ITGeeker技术奇客是想用DiskGenius把硬盘克隆成文件存到电脑,然后再转换到新硬盘,不过DiskGenius的这个功能需要付费才行。
于是下载了傲梅来备份硬盘,傲梅倒是免费开放这个功能,但是试了几次都失败了,也不知道是啥原因。
DiskGenius把硬盘克隆到另一个硬盘倒是免费的,只好拆了我的飞龙峡谷NUC,把新的三星980硬盘装上去,然后把原先的Esxi 8的硬盘插入nvme移动硬盘盒(幸亏我还有一个硬盘盒),因为刚好拆了飞龙峡谷NUC的系统盘,只好用微PE U盘启动DiskGenius,克隆旧硬盘到新硬盘当中,速度还可以,整个过程花费11分钟不到一点。
终于克隆成功了,赶紧转到G31的主机开机,接上显示器,Esxi 8启动一切正常,浏览器登录Esxi 8主机,看到虚拟机都不能正常运行了,原因是找不到虚拟机文件了,Esxi 8自己的系统文件到都是正常。
第一波:解决错误“尚未在主机 上配置数据存储”的问题
解决方案:先使用ssh登录到Esxi 8主机(需先开启ssh服务)
esxcfg-volume -l
Scanning for VMFS-6 host activity (4096 bytes/HB, 1024 HBs).
VMFS UUID/label: 63a1884d-cc084b52-f293-60beb4079214/datastore1
Can mount: Yes
Can resignature: Yes
Extent name: t10.NVMe____Samsung_SSD_980_1TB_____________________D9BBA121AS382500:5 range: 0 - 112895 (MB)
#使用esxcfg-volume -M 命令以相同的签名重新挂载VMFS卷(-M 表示持久性,-m 表示非持久性)
esxcfg-volume -M 63a1884d-cc084b52-f293-60beb4079214
使用esxcfg-volume -M重新挂载VMFS的UUID即可解决。
第二波:解决错误“无法扩展 VMFS 数据存储 datastore1 – 无法更新”的问题
硬盘变大了,自然首先想到的是要把增加的空间用起来,于是乎使用Esxi 8的操作界面尝试展开现有VMFS空间,但是失败了:“无法扩展 VMFS 数据存储 datastore1 – 无法更新”,再怎么刷新或者重新扫描硬盘都无济于事。

于是一顿搜索,找到了用命令行来解决的方法,同样需要先开启Esxi 8主机的SSH服务,再用Shell登录到主机。
首先,确认一下VMFS分区的存储设备标识符
ls -l /dev/disks/
#一般最后一个便是VMFS分区,你也可以再Esxi 8的存储-硬盘设备-分区图中查看并确认是否正确
t10.NVMe____Samsung_SSD_980_1TB_____________________D9BBA121AS382500:5
我的是第五个分区,后面有冒号和数字5的便是,Esxi 8和之前的Esxi 6和7的盘符有很大区别,之前一般mpx.开头,类似mpx.vmhba0:C0:T0:L0这样的,Esxi 8的会更长些。
然后,用分区工具PARTEDUTIL查看硬盘各分区的开始和结束扇区
partedUtil getptbl "/vmfs/devices/disks/t10.NVMe____Samsung_SSD_980_1TB_____________________D9BBA121AS382500"
gpt
121601 255 63 1953525168
1 64 204863 C12A7328F81F11D2BA4B00A0C93EC93B systemPartition 128
2 208896 8595455 EBD0A0A2B9E5443387C068B6B72699C7 linuxNative 0
3 8597504 16984063 EBD0A0A2B9E5443387C068B6B72699C7 linuxNative 0
4 16986112 268435455 4EB2EA3978554790A79EFAE495E21F8D vmfsl 0
5 268437504 1953525133 AA31E02A400F11DB9590000C2911D1B8 vmfs 0
然后,获取硬盘最后的扇区
partedUtil getUsableSectors "/vmfs/devices/disks/t10.NVMe____Samsung_SSD_980_1TB_____________________D9BBA121AS382500"
34 1953525134
指定分区的起始扇区和所需的结束扇区,调整VMFS分区大小
partedUtil resize "/vmfs/devices/disks/Device" 分区数字码 开始扇区 结束扇区
#开始扇区为第5区的开始扇区,结束扇区为硬盘最后扇区减去1的值,这里要运行的命令:
partedUtil resize "/vmfs/devices/disks/t10.NVMe____Samsung_SSD_980_1TB_____________________D9BBA121AS382500" 5 268437504 1953525133
如果partedUtil resize命令运行失败:”在内核无法重新读取 /dev/Device 上的分区表(设备或资源繁忙)。“请尝试重新引导 ESXi 主机再试一遍。
ITGeeker技术奇客运行该命令无错误,但是空间没有实际扩展,在分区图查看是扩展了空间,但在实际存储datastore里面实际没有扩张空间,无法使用新的空间,失败!
第三波:解决错误命令行partedUtil无法resize的问题
如果第二波并未实际扩展空间的话,那么需要采用进一步的措施来解决扩容问题了。
为此,您必须先“注销”数据存储区上的所有虚拟机,然后“卸载”数据存储区。
放心此操作不会丢失任何数据的

esxcfg-volume --list
Scanning for VMFS-6 host activity (4096 bytes/HB, 1024 HBs).
VMFS UUID/label: 63a19a4d-cc084b52-f293-60beb4079214/datastore1
Can mount: Yes
Can resignature: Yes
Extent name: t10.NVMe____Samsung_SSD_980_1TB_____________________D9BBA121AS382500:5 range: 0 - 112895 (MB)
# esxcfg-volume --list确认你的硬盘标识符和UUID,然后重新签名您的UUID:
esxcfg-volume --resignature 63a19a4d-cc084b52-f293-60beb4079214
vmkfstools -V
# 接下来使用vmkfstools --growfs "/vmfs/devices/disks/devicename:partition#" "/vmfs/devices/disks/扩张分区,后面输入两遍相同的待扩张分区盘符。例如:
vmkfstools --growfs "/vmfs/devices/disks/t10.NVMe____Samsung_SSD_980_1TB_____________________D9BBA121AS382500:5" "/vmfs/devices/disks/t10.NVMe____Samsung_SSD_980_1TB_____________________D9BBA121AS382500:5"
至此,我的Esxi 8主机一切恢复正常。
注:未接显示器引起的另一起血案
不知你是否看过我之前一遍关于没接显示器无法启动华硕主板的文章:折腾了一周的硬盘Raid计划 主机始终点不亮故障分析 原来是华硕主板的显卡Bug
这次同样发生在倍控G31 N5100的小主机上了,由于把它作为软路由,所以就放在弱电箱旁边,自然无法接显示器。于是我测试的时候拿到电脑边,接上显示器,每次都正常,只要一放到弱电箱那边不接显示器,始终无法找到Esxi 8主机,OpenWRT虚拟机也无法自动启动,折腾了N次最终才想到可能是没接显示的原因。
于是找到倍控客服,客服让加工程师的微信,果不然还是那句:“扣电池试试吧”。哎,当工程师还是挺简单的,出问题了,扣主板电池吧,之前碰到无法开机,也是这么一句。
这回还问了我装了啥系统,回答Esxi 8,你装Esxi 7试试吧,我叻个去
Esxi 8 更换Nvme硬盘后 如何迁移Esxi主机和虚拟机到新硬盘的更多相关文章
- Linux虚拟机添加新硬盘的全程图解
查看网的文章,我将在vm虚拟机LinuxRedhat中添加一个新的硬盘, 过程大致如下: 1.选择"VM"----"setting"并打开,将光标定位在hard ...
- VMware如何给虚拟机添加新硬盘
在使用虚拟机时,若硬盘空间不足.或需要用到双硬盘或多硬盘环境时,我们可以给虚拟机新增虚拟硬盘
- CentOS系统在不重启的情况下为虚拟机添加新硬盘
一.概述 用过虚拟机的都知道,如果在系统运行的时候去给虚拟机添加一块新设备,比如说硬盘,系统是读取不到这个新硬盘的,因为系统在启动的时候会去检测硬件设备.但是我们也可能会遇到这样的情况,比如正在运行比 ...
- 给虚拟机添加新硬盘并分区,fdisk查看分区,分区,重新读取分区表信息partprobe,格式化,挂载,查看分区挂载信息,自动挂载文件/etc/fstab,/etc/fstab文件错误导致重启崩溃后的修复
1.虚拟机关机断电 2.添加硬盘 2.开机 3.fdisk -l查看刚才新添加的硬盘 [root@localhost ~]# fdisk -l 磁盘 /dev/sda:21.5 GB, 2147483 ...
- vmware虚拟机添加新硬盘
1 vmware中添加硬盘 2 重启虚拟机后,fdisk -l 查看已经挂在好的硬盘,比如/dev/sdb3 mkfs.ext3 /dev/sdb4 挂在: mount /de ...
- CentOS 挂载(U盘NTFS格式,新硬盘,增加交换分区,扩展根分区等)
1.挂载fat或者fat32分区的U盘 如果是用VM安装的linux,在vm里挂载U盘有两个前提: 第一,主机里的service要启动: 第二,U盘是连接到虚拟机,而不是主机,需要确认这点: 2.使用 ...
- RHEL7虚拟机中不重启的情况下加新硬盘及扩展根分区容量
在VMware中添加一块新的5G硬盘 显示当前分区 # fdisk -l 通常在你在虚拟机中添加一块新硬盘时,你可能会看到新硬盘没有自动加载.这是因为连接到硬盘的SCSI总线需要重新扫描来使得新硬盘可 ...
- 戴尔笔记本Inspiron 7560(灵越) 加装固态硬盘从选购固态硬盘到系统迁移到设置SSD为第一启动(受不了了,网上的教程就没有完整的)
菜鸡我的笔记本为戴尔灵越Inpsiron 7560,其实Inspiron 15 7560 和Inspiron 7560是同一个型号. 电脑拆了安过内存条,换过电池,现在又加了一块固态硬盘. 因为不想安 ...
- ESXI虚拟机 硬盘扩容/目录(添加新硬盘)
背景: 线上服务器,磁盘Linux的虚拟机根分区已经使用90%,触发了磁盘告警,再一顿操作删除后,勉勉强强回到了82%,现在需要对根目录进行扩容. 进入到EXSI管理平台,看到原来的sda磁盘只有30 ...
- Linux中安装硬盘后对硬盘的分区以及挂载
我将使用VM来进行模拟 先使用df看下我的电脑硬盘信息: df -h 可以看到只有一个sda1分区装载/boot,还有一个扩展分区 查看dev下的硬盘: 只有一个硬盘(两个分区) 注意: 如果你是ID ...
随机推荐
- 【HDU】1559 最大子矩阵 (二维前缀和,动态规划)
动态规划之二维前缀和 题目 给你一个m×n的整数矩阵,在上面找一个x×y的子矩阵,使子矩阵中所有元素的和最大. 输入 输入数据的第一行为一个正整数T,表示有T组测试数据.每一组测试数据的第一行为四个正 ...
- pytorch学习笔记——timm库
当使用ChatGPT帮我们工作的时候,确实很大一部分人就会失业,当然也有很大一部分人收益其中.我今天继续使用其帮我了解新的内容,也就是timm库.毫不夸张的说,Chat GPT比百分之80的博客讲的更 ...
- JS加载机制
做开发多年后发现自己思维任然只定位在功能的实现:忽略了很多代码最终的实现,加载机制等 那我们接下来就借助几篇博客来理理天天看见的js:理理他究竟是怎么过执行的 一.代码检测 首先浏览器会对所有js 进 ...
- YOLOV5实时检测屏幕
YOLOV5实时检测屏幕 目录 YOLOV5实时检测屏幕 思考部分 先把原本的detect.py的代码贴在这里 分析代码并删减不用的部分 把屏幕的截图通过OpenCV进行显示 写一个屏幕截图的文件 用 ...
- 生信入门必须掌握的 30 个 Linux 命令
学习生物信息,Linux 是必须掌握的内容,其实常用的 Linux 命令也就 30 个左右,而且这些命令都是单词的简写,记忆起来并不困难.这里列出了常用的 30 个命令. 1. cd Change d ...
- k8s实战案例之部署redis单机和redis cluster
1.在k8s上部署redis单机 1.1.redis简介 redis是一款基于BSD协议,开源的非关系型数据库(nosql数据库),作者是意大利开发者Salvatore Sanfilippo在2009 ...
- 解决google翻译出错问题
解决google翻译问题 一.为什么失效 因为google把google翻译的API给关闭了,导致翻译不了. 据网上说是服务器耗钱,但盈利不够导致的. 二.可修复的前提 国内还存有服务器可以用API ...
- CentOS7 本地光盘镜像rpm包
CentOS7 本地光盘镜像rpm包 一.前言 rpm包的下载方式 通过本地光盘镜像下载rpm,centos7.iso镜像文件,内置了绝大多数软件的rpm包(本文章即演示如何配置本地rpm) 在线下载 ...
- 什么是Sparse by default for crates.io
当 Rust crate 发布到 crates.io 上时,可以启用"Sparse by default"特性,这意味着默认情况下,crate 不会包含所有依赖项在上传到 crat ...
- Linux多线程(8.3 线程同步与互斥)
3. 线程的同步与互斥 为什么需要同步与互斥 一个进程运行时,数据存储在内存中.如果一个数据要进行运算,必须先将数据拷贝到寄存器中.比如要对栈上的一个int i进行"++"操作 ...