将物理 Linux 服务器“搬进”VMware 虚拟机:详细操作指南
你是否遇到过这样的需求:需要将一台正在运行的物理 Linux 服务器(无论是生产环境还是测试机)完整地“迁移”或“克隆”到 VMware 虚拟化环境中运行?这被称为 物理到虚拟 (P2V) 转换,成功完成 P2V 转换后,你就能在 VMware Workstation、VMware Player 或 VMware ESXi 主机上启动并运行一个与原物理机几乎完全一致的 Linux 虚拟机 (VM),这个过程对于服务器整合、灾难恢复准备、测试环境搭建或硬件淘汰迁移都至关重要。
本文将详细指导你完成使用 VMware 工具将物理 Linux 机器转换为 VMware 虚拟机并成功启动的步骤,核心方法有两种:使用 VMware vCenter Converter Standalone(推荐)和 使用 dd
命令与 VMware Workstation(更底层)。
核心原理:磁盘镜像捕获与虚拟机构建
P2V 的本质是创建物理机硬盘的精确副本(镜像),然后将这个镜像文件(如 .vmdk
)挂载到一个新创建的、配置了兼容虚拟硬件的 VMware 虚拟机上,启动这个虚拟机时,VMware 的虚拟化层会模拟硬件环境,让原本运行在物理机上的 Linux 内核和系统能够识别并启动。
使用 VMware vCenter Converter Standalone(推荐,最常用)
这是 VMware 官方提供的免费、强大且相对用户友好的 P2V 工具,它支持热迁移(源机无需关机)或冷迁移(源机关机),并处理了大部分复杂的驱动兼容性问题。
步骤详解:
-
准备工作:
- 源物理机 (Linux):
- 确保网络畅通(Converter 通过网络传输数据)。
- 如果进行热迁移(推荐),确保系统稳定运行,关闭不必要的占用大量 I/O 的应用以减少迁移时间和对性能的影响。
- 如果进行冷迁移,准备好 Linux 安装介质(如 Live CD/USB)以备不时之需(Converter 冷克隆可能需要)。
- (重要) 检查 VMware 官方文档确认 Converter 版本支持的 Linux 发行版和内核版本,较新的 Converter 可能不完全支持 RHEL 9 或最新内核。
- 确保有足够的磁盘空间存放转换后的虚拟机文件。
- 目标环境:
- VMware Workstation/Player: 安装在你打算运行转换后虚拟机的 Windows/Linux 主机上。
- VMware ESXi: 安装在你管理的 ESXi 主机上,你需要知道 ESXi 主机的 IP、管理员 (
root
) 账号密码以及目标数据存储 (Datastore) 名称。 - 在目标位置(本地磁盘或 ESXi 数据存储)预留足够空间存放转换后的虚拟机文件(通常略大于源磁盘已用空间)。
- 下载并安装 Converter Standalone:
- 访问 VMware 官方网站,搜索并下载最新稳定版的 VMware vCenter Converter Standalone,选择与你的管理机(运行 Converter 的机器)操作系统匹配的版本(通常是 Windows)。
- 在管理机(通常是一台 Windows PC)上安装 Converter,安装过程简单,按向导提示即可。
- 源物理机 (Linux):
-
启动 Converter 并创建新转换任务:
- 在管理机上启动 VMware vCenter Converter Standalone。
- 点击 Convert machine 按钮开始新任务。
-
指定源机器:
- 在 Source Type 下拉菜单选择 Powered on machine(热迁移)或 Other -> VMware Workstation or other VMware virtual machine(冷迁移时可能需要选择本地文件,但通常选 Powered on)。
- 在 Specify the powered-on machine 部分:
- This local machine: Converter 安装在源 Linux 物理机上(不常见)。
- A remote machine: (最常见) 选择此项。
- IP Address / Name: 输入源 Linux 物理机的 IP 地址或主机名(确保可解析)。
- OS Type: 选择 Linux。
- Username: 输入源 Linux 机上具有 root 权限 的用户名(通常是
root
)。 - Password: 输入该用户的密码。
- 点击 Next。
-
指定目标类型:
- 在 Select destination type 下拉菜单:
- 如果目标运行在 VMware Workstation/Player 上,选择 VMware Workstation or other VMware virtual machine。
- 如果目标运行在 VMware ESXi 上,选择 VMware Infrastructure virtual machine。
- 点击 Next。
- 在 Select destination type 下拉菜单:
-
指定目标详情:
- 对于 VMware Workstation/Player 目标:
- VMware product: 选择你安装的版本(如 VMware Workstation 16.x)。
- Name: 为转换后的虚拟机命名。
- Location: 指定虚拟机文件(
.vmx
,.vmdk
等)的保存路径(本地磁盘)。
- 对于 VMware ESXi 目标:
- Server IP / Name: 输入 ESXi 主机的 IP 地址或主机名。
- Username: 输入 ESXi 的管理员账号(通常是
root
)。 - Password: 输入 ESXi 管理员密码。
- Name: 为转换后在 ESXi 上显示的虚拟机命名。
- Datastore: 选择目标 ESXi 主机上用于存储虚拟机文件的数据存储。
- Virtual machine version: 通常选择 ESXi 主机支持的最新版本(如 ESXi 7.x 兼容 VM version 19)。
- Folder: (可选)指定 ESXi 清单中的文件夹位置。
- 点击 Next。
- 对于 VMware Workstation/Player 目标:
-
配置转换选项(关键步骤):
- Options: 点击 Edit… 按钮进行详细配置。
- Devices:
- 检查 Hard Disks:确认选择了正确的源磁盘,可以选择调整目标磁盘大小(建议至少等于源盘已用空间,或更大)。磁盘类型强烈建议选择 IDE (Recommended for operating systems such as Linux),虽然 SCSI 性能更好,但 Linux 内核在虚拟化环境中对 IDE 的兼容性通常最好,能最大程度避免启动时找不到根文件系统 () 的问题。
- 检查 Network Adapters:通常选择不连接或连接后开机再配置,可以移除不需要的硬件(如软驱、USB 控制器)。
- Advanced Options:
- Install VMware Tools on the destination virtual machine: 强烈建议勾选,VMware Tools 对虚拟机的性能(显卡、鼠标、网络、磁盘)、管理和功能(如时间同步、优雅关机)至关重要,Converter 会在转换后自动安装。
- Configure the destination virtual machine to use the physical computer’s network address (MAC): 如果希望虚拟机继承物理机的 MAC 地址(可能影响网络配置如 DHCP 租约),可以勾选,否则,VMware 会生成新 MAC。
- Remove System Restore checkpoints on the destination: (主要针对 Windows,Linux 可忽略)。
- Schedule: 可以设置立即转换或稍后定时转换。
- Devices:
- 仔细检查所有设置后,点击 OK 关闭选项窗口,然后点击 Next。
- Options: 点击 Edit… 按钮进行详细配置。
-
查看摘要并开始转换:
- 仔细检查源、目标、选项等所有配置信息是否正确。
- 确认无误后,点击 Finish 开始转换过程。
-
监控转换过程:
- Converter 会显示详细的进度条和日志信息,这个过程耗时取决于源磁盘大小、已用数据量、网络速度(远程转换时)和机器性能,请耐心等待。
- 转换过程包括:在源 Linux 机安装一个轻量级代理 -> 创建磁盘快照(热迁移)或直接读取磁盘(冷迁移)-> 通过网络传输数据到目标 -> 在目标位置构建虚拟机文件 -> 安装 VMware Tools(如果勾选)-> 清理代理。
-
启动转换后的虚拟机:
- 转换成功完成后:
- 对于 Workstation/Player: 在 Workstation/Player 的库中应该能看到新虚拟机。首次启动前,强烈建议修改虚拟机设置:
- 检查 Boot Options -> Firmware 设置为 BIOS(除非你非常确定源机是 UEFI 且转换正确处理了 EFI 分区),Linux 虚拟机在 BIOS 模式下通常兼容性更好。
- 确认 Hard Disk (SCSI) 类型已按之前设置改为 IDE,这是避免启动时
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
错误的关键!
- 对于 ESXi: 在 vSphere Client 的清单中找到该虚拟机。
- 对于 Workstation/Player: 在 Workstation/Player 的库中应该能看到新虚拟机。首次启动前,强烈建议修改虚拟机设置:
- 启动虚拟机:
- 在 Workstation/Player 或 vSphere Client 中启动该虚拟机。
- 密切观察控制台输出。首次启动可能较慢,因为系统在检测新硬件(虚拟硬件)并可能重新配置内核模块(尤其是安装了 VMware Tools 的情况下)。
- 常见问题处理:
- 卡在启动过程/黑屏: 尝试在虚拟机启动时快速按
ESC
(VMware BIOS) 或Shift
(GRUB) 键进入启动菜单/GRUB,选择恢复模式 (recovery mode) 或编辑内核启动参数,尝试在linux
行末尾添加nomodeset
(解决显卡驱动问题)或检查根设备是否正确(如root=/dev/sda1
),如果之前磁盘类型没改成 IDE,这里很可能需要排查根设备问题。 - 网络问题: 首次启动后,检查网络配置(
ip addr
,ifconfig
),由于 MAC 地址可能改变(除非勾选了保留),DHCP 获取新 IP 或静态配置可能需要调整。systemctl restart networking
(或NetworkManager
)。 - VMware Tools 未运行: 如果在 Converter 中勾选了安装但没生效,可以手动在虚拟机内挂载 VMware Tools ISO(VM -> Install VMware Tools)并运行安装脚本 (
sudo ./vmware-install.pl
– 默认选项通常即可)。
- 卡在启动过程/黑屏: 尝试在虚拟机启动时快速按
- 成功启动后:
- 登录系统,检查文件、服务、应用是否正常。
- 运行
vmware-toolbox-cmd -v
确认 VMware Tools 版本。 - 进行必要的系统清理(如移除旧物理机特定的驱动、硬件信息)。
- (重要)更新 GRUB 配置: 运行
sudo update-grub
(Debian/Ubuntu) 或sudo grub2-mkconfig -o /boot/grub2/grub.cfg
(RHEL/CentOS/Fedora) 确保启动菜单正确指向当前内核和根设备。
- 转换成功完成后:
使用 dd
命令和 VMware Workstation(更底层)
此方法需要源 Linux 物理机关机,并且需要额外启动介质(如 Live CD/USB),它更直接地复制磁盘扇区,但需要更多手动步骤处理虚拟磁盘创建和驱动兼容性。
步骤简述:
- 准备源机: 关闭物理 Linux 服务器,拆下其硬盘,或使用 Live CD/USB 启动该物理机。
- 创建磁盘镜像 (
dd
):- 使用 Live 环境启动源机或通过硬盘盒连接源硬盘到另一台 Linux 机器。
- 确定源磁盘设备(如
/dev/sda
)和目标位置(有足够空间的挂载点,如/mnt/backup
)。 - 使用
dd
命令创建精确镜像:sudo dd if=/dev/sda of=/mnt/backup/physical_linux.img bs=4M status=progress
(if=
输入设备,of=
输出文件,bs=
块大小,status=progress
显示进度)。
- 转换镜像为 VMDK (在管理机上):
- 将
.img
文件复制到安装了 VMware Workstation/Player 的管理机(Windows/Linux)。 - 使用 VMware 提供的
vmware-vdiskmanager
工具(通常在安装目录下,如C:Program Files (x86)VMwareVMware Workstation
)或qemu-img
(开源) 转换镜像:vmware-vdiskmanager.exe -r "C:pathtophysical_linux.img" -t 0 "C:pathtooutputdisk.vmdk"
(-t 0
创建单文件增长型 VMDK)。- 或
qemu-img convert -f raw -O vmdk physical_linux.img disk.vmdk
。
- 将
- 在 VMware Workstation 中创建新虚拟机:
- 打开 Workstation,创建新虚拟机。
- 选择 Custom (advanced)。
- Guest OS: 选择对应的 Linux 发行版和版本。
- Firmware: 选择 BIOS(兼容性优先)。
- Processor/Memory: 根据需求配置。
- Network: 选择 NAT/Bridged 等。
- I/O Controller: 选择 LSI Logic (或尝试 BusLogic,但 IDE 兼容性最好)。
- Disk: 选择 Use an existing virtual disk,浏览到上一步转换好的
disk.vmdk
文件。
- 启动虚拟机并处理问题:
- 启动 VM。关键: 在首次启动前,务必进入虚拟机设置:
- Hard Disk: 将 SCSI 控制器类型改为 IDE(这是避免根文件系统找不到的最重要步骤!)。
- 启动后,同样可能遇到驱动问题(显卡、网络),使用 Live 环境或恢复模式,可能需要手动安装 VMware Tools 并重新配置内核/GRUB(参考方法一的问题处理部分)。
- 启动 VM。关键: 在首次启动前,务必进入虚拟机设置:
重要注意事项与最佳实践 (提升 E-A-T)
- 备份!备份!备份!:在进行任何 P2V 操作之前,务必对源物理 Linux 服务器进行完整且可验证的备份,P2V 过程通常很可靠,但操作磁盘和系统底层总有风险,这是专业操作的基本前提。
- 兼容性是关键:
- 驱动: Linux 内核需要包含或能加载 VMware 虚拟硬件(特别是
vmw_pvscsi
,vmxnet3
)的驱动,较旧的内核或定制内核可能缺少,IDE 磁盘控制器是最安全的兼容选择。 - 内核版本: 确认 Converter 或目标 ESXi 版本支持源 Linux 的内核版本,查阅 VMware 官方兼容性指南(知识库文章)。
- 文件系统: 常见文件系统(ext3/ext4/XFS/Btrfs)通常没问题,特殊/加密文件系统可能需要额外处理。
- 引导方式: BIOS 引导在虚拟机中兼容性最佳,UEFI 引导需要确保转换正确处理 EFI 系统分区 (ESP) 并选择 UEFI 固件类型。
- 驱动: Linux 内核需要包含或能加载 VMware 虚拟硬件(特别是
- 资源充足: 确保目标位置(本地磁盘或 ESXi 数据存储)有足够的空间存放整个源磁盘的镜像(即使未用满)以及转换过程中产生的临时文件。
- 网络稳定性: 使用 vCenter Converter 进行远程热迁移时,稳定高速的网络连接至关重要,避免中断导致失败。
- 首次启动耐心: 首次启动虚拟机时,系统会检测新硬件并可能重新配置,这需要时间,不要过早中断。
- VMware Tools 不可或缺: 成功启动后,确保 VMware Tools 已安装并正常运行,它极大提升虚拟机体验和可管理性。
- 测试验证: P2V 完成后,在虚拟机中彻底测试关键业务应用、服务和数据完整性,确认迁移成功,在正式替代物理机前进行充分的测试是专业运维的体现。
- 官方文档: 始终参考 VMware 官方文档(特别是 vCenter Converter Standalone 的用户指南和发行说明)获取最准确、最新的信息和特定问题的解决方案,这是权威性的重要来源。
使用 VMware(尤其是 vCenter Converter Standalone)将物理 Linux 机器转换为可启动的虚拟机是一个强大且标准化的流程,遵循上述详细步骤,特别注意磁盘控制器类型(优先选 IDE)、驱动兼容性、首次启动配置(如 BIOS 模式)以及安装 VMware Tools,可以大大提高成功率,虽然可能遇到一些小挑战(主要在首次启动阶段),但通过仔细准备、利用官方工具和文档,并牢记备份原则,你可以高效、安全地将物理 Linux 环境迁移到灵活的 VMware 虚拟化平台中,享受虚拟化带来的便利与优势。
引用说明:
- 本文核心操作流程和工具功能基于 VMware vCenter Converter Standalone 官方文档及最佳实践。
dd
命令方法参考了 Linux 系统管理员通用的磁盘克隆技术文档。- VMware 虚拟硬件(如 IDE/SCSI 控制器、vmxnet3 网卡)与 Linux 内核驱动的兼容性信息,综合参考了 VMware 官方知识库 (KB) 文章和社区经验。
- GRUB 配置命令 (
update-grub
,grub2-mkconfig
) 遵循主流 Linux 发行版(Debian/Ubuntu, RHEL/CentOS/Fedora)的标准操作手册。
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/25828.html