VMware虚拟机迁移:兼用性踩坑和复盘

news2025/1/20 5:44:40

文章目录

    • 方法
    • 失败情况分析:
    • 参考文档

方法

虚拟机关机,整个文件夹压缩后拷贝到新机器中,开机启用即可

成功的情况:

  • Mac (intel i5) -> Mac (intel i7)
  • Mac (intel, MacOS - VMware Fusion) -> DELL (intel, Windows - VMware Workstation)

失败的情况:

  • DELL (intel) -> Mac (M3)

在这里插入图片描述

失败情况分析:

原先的认知: 虚拟机技术会从硬件开始虚拟化,其上层OS kernel(内核)、libraries(系统函数库)、dependencies、softwares都会被封装在虚拟机中。

所以虚拟机不会依赖于宿主机是Windows还是Unix/Linux,因此 Mac (intel) -> DELL是成功的。

原先认知之外的地方: 既然硬件也会被虚拟化,并且VMware的软件已经支持M3芯(ARM架构)能在上面运行了,为什么不能虚拟出一套ARM架构的虚拟CPU呢?即,x86架构 -> ARM架构 为什么会失败。

排查和结论:

首先,“从硬件开始虚拟化”这一点没问题。官方文档3:支持虚拟机的基础架构至少包含两个软件层:虚拟化层和管理层。在 vSphere 中,ESXi提供虚拟化功能,用于将主机硬件作为一组标准化资源进行聚合并将其提供给虚拟机。在 vCenter Server管理的 ESXi 主机上运行虚拟机。

但是,VMware虚拟机技术中的硬件虚拟化,目的并不在于支持不同的CPU处理器架构,而在于隔离:每个虚拟机都在其自己的专用操作系统上运行,并分配有单独的资源,例如 CPU、内存和存储。这种隔离可确保一个虚拟机中的应用程序不会干扰其他虚拟机中的应用程序,从而增强安全性和稳定性。

基于这个目的,VMware选择(这是一个设计选择)尽可能调用基础物理资源、比如用宿主机的机器码,会是更好的做法,因为性能会好很多。

资料佐证:

  • 官方文档在“虚拟机中的硬件设备”一节提到1 :虚拟机的每个虚拟硬件设备与物理机上的硬件执行相同的功能。每个虚拟机都有 CPU、内存和磁盘资源。CPU 虚拟化着重于性能,只要有可能就会直接在处理器上运行。只要有可能就会使用基础物理资源。 虚拟化层仅在需要时才运行指令,使得虚拟机就像直接在物理机上运行一样。

  • AWS文档提到2:虚拟机是物理计算机的数字副本,将物理硬件划分为多个环境。

  • Atlassian文档 4:

    • Virtualbox
      Virtualbox 是甲骨文旗下的免费开源 x86 架构仿真系统。Virtualbox 是最受欢迎、最成熟的虚拟机平台之一,其辅助工具生态系统可帮助开发和分发虚拟机镜像。
    • VMware
      VMware 是一家上市公司,其业务建立在最早的 x86 硬件虚拟化技术之上。VMware 附带了一个虚拟机管理程序,该管理程序是一种用于部署和管理多个虚拟机的实用程序。VMware 具有用于管理虚拟机的强大用户界面。VMware 是提供支持的绝佳企业虚拟机选项。
    • QEMU
      QEMU 是最强大的硬件仿真虚拟机选项。它支持任何通用硬件架构。QEMU 是一个仅限命令行的实用程序,不提供用于配置或执行的图形用户界面。这种权衡使得 QEMU 成为最快的虚拟机选项之一。
  • Apple社区的讨论5 :

    • it’s true that most virtualization software support only ARM-compiled images but UTM does compile and emulate X64 virtual machines # UTM就是基于前面提到的QEMU
    • The key word being “emulate”. The way that a regular virtual machine gets its speed is by running almost everything natively on the host CPU. That requires native machine code …

实验佐证:

  • 通过VMware,M3芯的Mac上能跑ARM架构的Ubuntu发行版,但不能跑amd架构的Ubuntu发行版。(不过x86_64宿主机上跑x86还是可以的)
  • 通过UTM(QEMU),M3芯的Mac上能跑amd架构的Ubuntu发行版。

参考文档

1 https://docs.vmware.com/cn/VMware-vSphere/8.0/vsphere-vm-administration/GUID-A70B7BF0-923E-443A-A1DD-11D99B6330EE.html

2 https://aws.amazon.com/compare/the-difference-between-containers-and-virtual-machines/

3 https://docs.vmware.com/cn/VMware-vSphere/8.0/vsphere-vm-administration/GUID-00D086B8-6D10-4644-8845-156095748D23.html

4 https://www.atlassian.com//microservices/cloud-computing/containers-vs-vms

5 https://discussions.apple.com/thread/255243487

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1880804.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

6月28日PolarDB开源社区长沙站,NineData联合创始人周振兴将带来《数据库DevOps最佳实践》主题分享

6月28日(周五),PolarDB 开源社区将来到湖南长沙,与湖南的开发者朋友们一起进行数据库技术交流!NineData 联合创始人周振兴受邀参加,并将带来《数据库 DevOps 最佳实践》的主题分享。 本次活动议程&#xff…

Jmeter下载、安装及配置

1 Jmeter介绍 Jmeter是进行负载测试的工具,可以在任何支持Java虚拟机环境的平台上运行,比如Windows、Linux、Mac。 Jmeter模拟一组用户向目标服务器发送请求,并统计目标服务器的性能信息,比如CPU、memory usage。 2 Jmeter下载 …

如何利用AI生成可视化图表(统计图、流程图、思维导图……)免代码一键绘制图表

由于目前的AI生成图表工具存在以下几个方面的问题: 大多AI图表平台是纯英文,对国内用户来说不够友好;部分平台在生成图表前仍需选择图表类型、配置项,操作繁琐;他们仍需一份规整的数据表格,需要人为对数据…

C语言 | Leetcode C++题解之第199题二叉树的右视图

题目: 题解: #define MAX_NODE_NUM 100 int* rightSideView(struct TreeNode* root, int* returnSize){if (root NULL) {*returnSize 0;return NULL;}int *res (int *)malloc(sizeof(int) * MAX_NODE_NUM);int cnt 0;struct TreeNode **record (st…

PCIe物理层_CTLE(continuous time linear equalizer)

1.CTLE(continuous time linear equalizer) 的作用 信号在介质的传输过程中存在趋肤效应(skin effiect)和能量损耗,在接收端数据会存在失真,并且呈现出低通特性。什么意思呢?就是低频率的信号衰减幅度小&#xff0c…

【数据结构】(C语言):二叉搜索树

二叉搜索树: 树不是线性的,是层级结构。基本单位是节点,每个节点最多2个子节点。有序。每个节点,其左子节点都比它小,其右子节点都比它大。每个子树都是一个二叉搜索树。每个节点及其所有子节点形成子树。可以是空树。…

昇思25天学习打卡营第7天|网络构建

昇思25天学习打卡营第7天|网络构建 前言函数式自动微分函数与计算图微分函数与梯度计算Stop GradientAuxiliary data神经网络梯度计算 个人任务打卡(读者请忽略)个人理解与总结 前言 非常感谢华为昇思大模型平台和CSDN邀请体验昇思大模型!从今…

绿色算力|暴雨发布浸没式液冷服务器

随着数字经济的飞速发展和AI创新应用的不断突破,算力规模持续增长,最新发布的《数字中国发展报告(2023年)》显示,2023年中国算力总规模达到230EFLOPS,居全球第二位。 服务器作为算力基础设施底座&#xff…

mac安装navicate

1.下载好之后点击安装包安装 2.一般情况下会提示安全性什么的,点击允许即可,然后会出现如下界面,点击安装即可. 3.点击打开 4.然后出现如下界面,点击Enter 5.将安装包拖入即可. 6.等待安装即可 7.安装完成后会在启动台看到Navicat16 的图标 8.然后打开软件界面如下:

Variables Reference for vscode

Predefined variables Visual Studio Code 支持在调试、任务配置文件以及一些特定的设置中使用变量替换。这些变量可以使用 ${variableName} 语法在 launch.json 和 tasks.json 文件的某些键和值字符串中使用。 Predefined variables Visual Studio Code 支持以下预定义变量…

[图解]分析模式高阶+课程讲解03物品模式

1 00:00:00,280 --> 00:00:03,440 下一个要探讨的模式是物品模式 2 00:00:04,310 --> 00:00:08,300 说是物品模式,实际上更多的说物品规格 3 00:00:09,210 --> 00:00:12,560 首先,我们要区分一下物品和物品规格的定义 4 00:00:14,440 -->…

205.Mit6.S081-实验二 system calls

Lab2:system calls 在上一个实验室中,您使用系统调用编写了一些实用程序。在本实验室中,您将向xv6添加一些新的系统调用,这将帮助您了解它们是如何工作的,并使您了解xv6内核的一些内部结构。您将在以后的实验室中添加更多系统调用…

人工智能期末复习笔记(更新中)

分类问题 分类:根据已知样本的某些特征,判断一个新的样本属于哪种已知的样本类 垃圾分类、图像分类 怎么解决分类问题 分类和回归的区别 1. 逻辑回归分类 用于解决分类问题的一种模型。根据数据特征或属性,计算其归属于某一类别 的概率P,…

[Cloud Networking] OSPF

OSPF 开放式最短路径优先(Open Shortest Path First)是一种动态路由协议,它属于链路状态路由协议,具有路由变化收敛速度快、无路由环路、支持变长子网掩码和汇总、层次区域划分等优点。 1 OSPF Area 为了适应大型网络&#xff0…

C程序设计谭浩强第五版

程序习题 第一章1、第5题2、第6题 第三章1、第2题2、第2题3、第3题4、第4题Tips 第一章 1、第5题 编写一个C程序,运行时输出以下图形: #include <stdio.h> int main() {for (int i 0; i < 4; i) // 输出4行循环控制{for (int j 0; j < i; j) //第几行就输出几…

leetcode-19-回溯-组合问题(剪枝、去重)

引自代码随想录 一、[77]组合 给定两个整数 n 和 k&#xff0c;返回 1 ... n 中所有可能的 k 个数的组合。 示例: 输入: n 4, k 2 输出: [ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4]] 1、大致逻辑 k为树的深度&#xff0c;到叶子节点的路径即为一个结果 开始索引保证不…

一、Redis简介

一、Redis介绍与一般应用 1.1 基本了解 Redis全称Remote Dictionary Server(远程字典服务)&#xff0c; 是一个开源的高性能键值存储系统&#xff0c;通常用作数据库、缓存和消息代理。使用ANSI C语言编写遵守BSD协议&#xff0c;是一个高性能的Key-Value数据库提供了丰富的数…

VMware中的三种虚拟网络模式

虚拟机网络模式 1 主机网络环境2 VMware中的三种虚拟网络模式2.1 桥接模式2.2 NAT模式2.3 仅主机模式 3 网络模式选择及配置NAT模式3.1 VMware虚拟网络配置3.2 虚拟机选择网络模式3.3 Windows主机网络配置 4 配置静态IP 虚拟机联网方式为桥接模式&#xff0c;这种模式下&#x…

5.6 0-1背包问题

#include<iostream> #include<string> #include<stdlib.h> #include<bits/stdc.h> using namespace std;int c;//背包容纳的重量 int n;//物品数量 int cw;//当前重量 int cv;//当前价值 int bestv;//当前最优价值 int x[100]; int bestx[100]; struct…

Python 算法交易实验75 QTV200后续想法梳理

说明 在第一步获取数据源&#xff0c;然后进入Mongo(第一个数据节点)开始&#xff0c;QTV200的数据流体系就开始动了。后续用多少时间完成不太好确定&#xff0c;短则数周&#xff0c;长则数月。毕竟有过第一版实验的基础&#xff0c;应该还是可以做到的。 下面就是天马行空&…