【VMware】虚拟机跨主机迁移详细情况说明
【VMware】虚拟机跨主机迁移详细情况说明
- 博主有话说
- 直接拷贝安装好的虚拟机文件、虚拟机克隆优缺点?
- 虚拟机完全克隆怎么操作导入新的主机?
- 完全克隆会有宿主虚拟机的所有配置信息吗?
- 克隆后的文件介绍
- 克隆后,cd/dvd2依旧还是宿主机iso映像文件地址,这个必须要同样拷贝过来吗?
- 桥接模式下,克隆后虚拟机网络不通,解决?(重要)
- 桥接模式中“复制物理网络连接状态”是什么?
- 如果wifi是有密码的,需要配置什么?
博主有话说
本博文主要剖析虚拟机在跨主机迁移过程中发生的情况,以问题询问的方式进行介绍。首先,在介绍之前,我们需要知道至少可以用两种方式实现这个功能:直接拷贝安装好的虚拟机文件、虚拟机克隆,而且这2种方式文件都挺大的。
直接拷贝安装好的虚拟机文件、虚拟机克隆优缺点?
- 直接拷贝安装好的虚拟机文件
- 优点:操作相对简单,只需找到虚拟机的存储目录,将其中的文件拷贝到指定位置即可。如果只是进行简单的备份或迁移到其他计算机,这种方式速度较快,尤其是对于文件较小的虚拟机。
- 缺点:可能会出现 UUID 冲突等问题,因为虚拟机软件通常用 UUID 来识别虚拟机,直接拷贝的文件 UUID 和原来的相同,可能导致无法同时运行,需要手动修改 UUID 等配置,增加了操作的复杂性和出错的风险。
- 虚拟机克隆
- 优点:虚拟机克隆功能通常由虚拟机软件提供,操作较为便捷,且会自动处理一些可能出现的问题,如 UUID 冲突等。克隆功能还分为完全克隆和链接克隆,用户可以根据需求选择。完全克隆是独立的副本,性能更好;链接克隆依赖原始虚拟机,节省空间。
- 缺点:如果选择完全克隆,会占用较多的磁盘空间,且克隆时间相对较长。而链接克隆虽然节省空间,但依赖原始虚拟机,原始虚拟机不能删除或损坏,否则链接克隆将无法正常工作。
虚拟机完全克隆怎么操作导入新的主机?
- 关闭虚拟机,选中虚拟机,右键,快照-快照管理,进行克隆。
- 将克隆文件复制到需要部署的主机,然后VMware中打开虚拟机,选择克隆文件中的.vmx文件,打开即可。
完全克隆会有宿主虚拟机的所有配置信息吗?
一般情况下,VMware 完全克隆后的虚拟机,会包含宿主虚拟机的绝大部分配置信息,具体如下:
系统和硬件配置
-
操作系统设置:克隆后的虚拟机拥有和宿主虚拟机相同的操作系统版本、安装的软件、系统设置(如网络配置、用户账户、环境变量 、桌面布局等)。例如,宿主虚拟机安装了 Ubuntu 24.04.3 64 位系统,克隆后的虚拟机同样是 Ubuntu 24.04.3 64 位系统,且已安装的软件、登录用户等都一致。
-
硬件配置:像 CPU 核心数、内存大小、硬盘容量及分区、网络适配器类型和设置、声卡、显卡等硬件配置也会被完整复制。比如宿主虚拟机分配了 2 个 CPU 核心、4GB 内存,克隆后的虚拟机默认也是这样的配置。
虚拟机特有配置
- 虚拟机设置:克隆后的虚拟机还会保留宿主虚拟机在 VMware 软件中的相关设置,比如虚拟机的名称、快照设置(如果宿主虚拟机有快照,克隆后可能也会包含相关的快照元数据文件,像.vmsd )、虚拟机的电源状态(克隆时宿主虚拟机处于关机状态,克隆后虚拟机也是关机状态)等 。
不过,也有一些配置信息不会完全一致或需要额外处理:
-
MAC 地址:通常克隆后的虚拟机网络适配器的 MAC 地址会重新生成,以避免在同一网络环境中出现 MAC 地址冲突的情况。
-
UUID(通用唯一识别码):为了保证虚拟机在 VMware 软件中的唯一性,克隆后的虚拟机 UUID 会和宿主虚拟机不同,VMware 会自动处理这个问题,避免因 UUID 相同导致的冲突。
克隆后的文件介绍
Ubuntu 24.04.3_64-cl1.vmdk
VMDK(Virtual Machine Disk Format)是虚拟磁盘文件,用于存储虚拟机操作系统、应用程序以及用户数据等所有内容,是虚拟机最重要的文件之一,相当于物理计算机的硬盘。Ubuntu 24.04.3_64 的克隆.nvram
NVRAM(Non - Volatile RAM)文件,存储的是虚拟机的非易失性内存数据,比如虚拟机的 BIOS 设置等信息,即使虚拟机断电,这些设置也能保存。Ubuntu 24.04.3_64 的克隆.vmx
VMX(Virtual Machine Extension)这是虚拟机配置文件,包含了虚拟机的硬件配置(如 CPU、内存、网络适配器等)、操作系统设置等各种参数,VMware 通过读取这个文件来加载和运行虚拟机。Ubuntu 24.04.3_64 的克隆.vmxf
VMXF(VMware Virtual Machine Extension File)是虚拟机扩展文件,主要作用是存储虚拟机的一些辅助配置信息,用于辅助.vmx文件管理虚拟机的组件等,是虚拟机配置文件的补充。Ubuntu 24.04.3_64 的克隆.vmsd
VMSD(VMware Snapshot Data)是快照数据文件,用于存储虚拟机快照的相关信息,比如快照的创建时间、快照之间的关系等,方便对虚拟机进行快照管理(如创建、恢复快照等操作)。
克隆后,cd/dvd2依旧还是宿主机iso映像文件地址,这个必须要同样拷贝过来吗?
咱们可以把虚拟机想象成一台 “虚拟的电脑”,ISO 文件就好比是安装这台 “电脑” 操作系统或者软件的 “安装光盘” 。
没有 ISO 文件,但不使用 CD/DVD 驱动器功能
如果克隆后的虚拟机,你只是用它现有的系统和软件来做事情,就像你用一台已经安装好系统和软件的真实电脑办公、上网一样,不去用 “安装光盘” 装新东西,那有没有 ISO 文件,对克隆后的虚拟机都没啥影响,它能照常工作,比如你克隆的是个装了 Ubuntu 系统的虚拟机,日常用来编辑文档、运行程序,没有对应的 ISO 文件也完全没问题。
想要通过 CD/DVD 驱动器安装或更新东西
要是你想给克隆后的虚拟机干点像装新系统、装新软件,或者更新系统补丁这类事儿 ,就得通过 CD/DVD 驱动器来加载 ISO 文件,这时候没有对应的 ISO 文件,就好比你想安装新软件,却找不到安装光盘一样,没办法完成安装、更新这些操作。
比如,你想在克隆后的 Ubuntu 虚拟机里安装一个新的数据库软件,而这个软件的安装文件是放在某个 ISO 文件里的,没有这个 ISO 文件,虚拟机就没办法从 CD/DVD 驱动器获取到安装数据,自然也就装不了这个数据库软件了。
桥接模式下,克隆后虚拟机网络不通,解决?(重要)
- 可以关闭虚拟机,选中虚拟机,右键,设置-网络适配器,打勾“复制物理网络连接状态”。然后VMware中 编辑-虚拟网络编辑器,为桥接模式指定网卡。然后打开虚拟机。
- 如果依旧不行,可以找一台同样ubuntu版本的虚拟机,然后联网,一定用
root
账号登录,通过sudo apt download isc-dhcp-client
下载dhcp-client
安装包,用其他账号会报无法被用户’_apt’访问,已脱离沙盒并提权为根用户来进行下载。ubuntu-24.04.3初始安装好后,默认是没有root账号的,设置可以查看之前的博文【VMware】VMware-workstation中,Ubuntu系统安装说明。 - 然后拷贝到克隆的虚拟机里面,用
sudo dpkg -i isc-dhcp-client_4.4.3-P1-4ubuntu2_amd64.deb
进行安装(isc-dhcp-client_4.4.3-P1-4ubuntu2_amd64.deb是安装包名字)。这边如果从虚拟机中拷贝失败,可以查看之前的博文【VMware】可以从主机复制文件到虚拟机,但不能从虚拟机复制文件到主机,解决?。 - 然后,用
sudo service network-manager restart
重启 NetworkManager 服务,用sudo dhclient -r
进行释放旧的ip,用sudo dhclient
重新从DHCP服务器拿新IP,此时如果卡住ctrl+c
退出即可,表示没有获取到新ip。此时查看网络情况,如果还是不行,可能网络限制,可用热点进行测试验证。 - 如果热点可以,但是切回网络不行,确定系网络限制,可以在宿主机上用这个网络进行连接测试,网络也不会通。这点很重要,也是记录本博文的目的所在。
桥接模式中“复制物理网络连接状态”是什么?
把主机的无线网卡想象成 “一根能联网的网线”,虚拟机的桥接模式就是 “把这根网线同时分给主机和虚拟机用”。而 “复制物理网络连接状态”,就相当于让虚拟机 “完全模仿主机这根‘网线’的连接情况”—— 主机的网卡是怎么连网的、状态是怎样的,虚拟机就跟着同步成一样的。
具体说,它主要解决两个关键问题:
- 同步主机网卡的 “在线 / 离线状态”
比如你用笔记本连 WiFi:
- 没开这个设置时:如果主机 WiFi 断了(比如你手动断开、走出信号范围),虚拟机可能还 “以为” 网卡是好的,继续用旧的连接信息尝试联网,结果就是连不上;等主机重新连好 WiFi,虚拟机也不会自动跟着恢复,得手动重启网络。
- 开了这个设置后:主机 WiFi 断,虚拟机的 “虚拟网卡” 也会跟着断;主机重新连好 WiFi,虚拟机的虚拟网卡会立刻同步 “恢复在线”,不用手动折腾。
- 适配 WiFi 的 “动态连接特性”
WiFi 和有线网不一样:WiFi 是通过 “无线信号握手” 连接的,主机的无线网卡会实时和路由器交换信号参数(比如频段、加密方式、连接会话)。
- 没开这个设置时:虚拟机的虚拟网卡只拿到主机网卡的 “基础配置”(比如 IP 段),但没同步这些 “无线握手信息”,可能会出现 “主机能上网,虚拟机却连不上路由器” 的情况(比如路由器认主机、不认虚拟机)。
- 开了这个设置后:虚拟机的虚拟网卡会 “复制” 主机无线网卡的这些 “握手信息”,相当于路由器眼里,虚拟机和主机是 “用同一张‘无线通行证’联网”,不会出现 “认主不认副” 的问题。
如果wifi是有密码的,需要配置什么?
在桥接模式下,虚拟机借助主机的 WiFi 连接上网,不需要在虚拟机系统里单独配置 WiFi 密码,因为连接 WiFi 并验证密码的操作是在主机层面完成的 。