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

文章目录

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

方法

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

成功的情况:

  • 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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

flask的基本使用2

上一篇我们介绍了基本使用方法 flask使用 【 1 】基本使用 from flask import Flask# 1 实例化得到对象 app Flask(__name__)# 2 注册路由--》写视图函数 app.route(/) def index():# 3 返回给前端字符串return hello worldif __name__ __main__:# 运行app,默认…

Linux【环境 CenOS7】部分软件安装链接整理

优质博文:IT-BLOG-CN 一、开启网络 【问题】: 刚安装完CentOS,当ping www.baidu.com时,ping不通; 【解决】: 进入cd /etc/sysconfig/network-scripts/我这里修改的是ifcfg-ens33文件,将ONBOOT…

论文阅读_基于嵌入的Facebook搜索

英文名称:Embedding-based Retrieval in Facebook Search 中文名称:基于嵌入式检索的Facebook搜索 时间:Wed, 29 Jul 2020 (v2) 地址:https://arxiv.org/abs/2006.11632 作者:Jui-Ting Huang, Ashish Sharma, Shuying …

【计算机网络仿真】b站湖科大教书匠思科Packet Tracer——实验12 默认路由和特定主机路由

一、实验目的 1.验证默认路由和特定主机路由的作用; 二、实验要求 1.使用Cisco Packet Tracer仿真平台; 2.观看B站湖科大教书匠仿真实验视频,完成对应实验。 三、实验内容 1.构建网络拓扑; 2.验证验证默认路由和特定主机路由…

MySQL高级-索引-使用规则-SQL提示(use、ignore、force)

文章目录 1、查看表 tb_user2、展示索引3、为profession、age、status创建 联合索引4、查询 profession软件工程5、执行计划 profession软件工程6、创建profession单列索引7、再次执行计划 profession软件工程8、SQL提示8.1、use index(idx_user_pro)8.2、ignore index(idx_use…

九浅一深Jemalloc5.3.0 -- ①浅*编译调试

目前市面上有不少分析Jemalloc老版本的博文,但5.3.0却少之又少。而且5.3.0的架构与之前的版本也有较大不同,本着“与时俱进”、“由浅入深”的宗旨,我将逐步分析Jemalloc5.3.0的实现。5.3.0的特性请见Releases jemalloc/jemalloc GitHub 另…

dB分贝入门

主要参考资料: dB(分贝)定义及其应用: https://blog.csdn.net/u014162133/article/details/110388145 目录 dB的应用一、声音的大小二、信号强度三、增益 dB的应用 一、声音的大小 在日常生活中,住宅小区告知牌上面标示噪音要低…

实战精选 | 在NPU上运行BGE embedding模型,提升RAG整体性能

点击蓝字 关注我们,让开发变得更有趣 作者 | 杨亦诚 排版 | 李擎 介绍 BGE全称是BAAI General Embedding,即北京智源人工智能研究院通用Embedding模型,它可以将任意文本映射到低维的稠密向量,在文本向量化任务中得到了广泛的应用。可以看到在…

180Kg大载重多旋翼无人机技术详解

一、机体结构与材料 180Kg大载重多旋翼无人机在机体结构上采用了高强度轻量化设计。其主体框架采用航空铝合金材料,既保证了机体的结构强度,又减轻了整体重量。同时,关键部位如连接件、旋翼支撑臂等则采用碳纤维复合材料,以进一步…

独一无二的设计模式——单例模式(Java实现)

1. 引言 亲爱的读者们,欢迎来到我们的设计模式专题,今天的讲解的设计模式,还是单例模式哦!上次讲解的单例模式是基于Python实现(独一无二的设计模式——单例模式(python实现))的&am…

Django 对模型创建的两表插入数据

1,添加模型 Test/app8/models.py from django.db import modelsclass User(models.Model):username models.CharField(max_length50, uniqueTrue)email models.EmailField(uniqueTrue)password models.CharField(max_length128) # 使用哈希存储密码first_name …

无人机挂载抛弹吊舱技术详解

随着无人机技术的飞速发展,无人机在军事、安全、农业、环保等领域的应用越来越广泛。其中,挂载抛弹吊舱的无人机在精确打击、应急处置等场合发挥着重要作用。抛弹吊舱技术通过将弹药、物资等有效载荷挂载在无人机下方,实现了无人机的远程投放…

Linux源码阅读笔记07-进程管理4大常用API函数

find_get_pid find_get_pid(...)函数功能:根据进程编号获取对应的进程描述符,具体Linux内核源码对应函数设计如下: 获取进程描述符,且描述符的count1,表示进程多一个用户 pid_task pid_task(...)函数功能&#xff1…

《昇思25天学习打卡营第6天 | 函数式自动微分》

《昇思25天学习打卡营第6天 | 函数式自动微分》 目录 《昇思25天学习打卡营第6天 | 函数式自动微分》函数式自动微分简单的单层线性变换模型函数与计算图微分函数与梯度计算Stop Gradient 函数式自动微分 神经网络的训练主要使用反向传播算法,模型预测值&#xff0…

基于ssm口红商城管理的设计与实现

一、👨‍🎓网站题目 口红商城项目可以提供更加便捷和高效的购物方式。消费者可以在家中使用电脑或手机随时随地购物,避免了传统购物方式中需要花费时间和精力去实体店铺购物的麻烦。此外,口红商城项目还提供了更多的选择和更低的…

JavaSE (Java基础):面向对象(上)

8 面向对象 面向对象编程的本质就是:以类的方法组织代码,以对象的组织(封装)数据。 8.1 方法的回顾 package com.oop.demo01;// Demo01 类 public class Demo01 {// main方法public static void main(String[] args) {int c 10…

2023年的Facebook营销:超级完整指南

Facebook营销不是可选的,是必须的。Facebook是世界上使用最多的社交平台,每天吸引22.9亿活跃用户。 它也不全是度假照片和虚张声势。对于53.2% 的 16-24 岁互联网用户,社交媒体是他们进行品牌研究的主要来源。而且,66% 的 Facebo…

GoSync+华为智能穿戴使用指导

GoSync官方简介: GoSync 是一款免费应用程序,主要用于将您的可穿戴设备中的步行、跑步、骑自行车和游泳等活动数据同步到您的 Google Fit 和其他健身平台。在开始同步数据之前,您需要将您的可穿戴设备账户与您的健身平台账户连接起来。在创建…

WEB攻防【5】——JS项目/Node.js框架安全/识别审计/验证绕过

1、test.php和test.html对比 #知识点: 1、原生JS&开发框架-安全条件 2、常见安全问题-前端验证&未授权 #详细点: 1、什么是Js渗透测试? 在Javascript中也存在变量和函数,当存在可控变量及函数调用即可参数漏洞 JS开发的WEB应用和PHP、java.NET…

WebRtc实现1V1音视频通话

简介 WebRTC,名称源自网页实时通信(Web Real-Time Communication)的缩写,是一个支持网页浏览器进行实时语音通话或视频聊天的技术,是谷歌 2010 年以 6820 万美元收购 Global IP Solutions 公司而获得的一项技术。 WebR…