vsphere之vmotion精华 虚拟机迁移

news2024/9/21 5:35:16

概念  

     vmotion是vsphere高级功能的基础,DRS、HA、FT等功能都依赖于vmotion。简单来说,vmotion指虚拟机漂移。比如有一台VM原来在exsi1上运行,我们可以通过vmotion技术把VM移动到exsi2上。

     那为什么要用到vmotion呢?显而易见,就是要保证服务能够快速恢复。在非虚拟化环境中,一台物理服务器down了,需要重新部署的话必须要重装系统,部署软件等,很麻烦。而虚拟化环境中,通过vmotion能够快速的迁移服务,最大程度的减少服务宕机时间。

原理

vmotion流程图

 

如图所示,简答来说包括几个过程:

1)EXSI-1拷贝VM的当前内存数据到EXSI-2中;

2)由于此时VM仍在运行中,肯定会有新的数据写入,因此EXSI-1会记录内存改变(memory bitmap)。这里说的记录内存改变不是记录改变的具体内容,而已记录内存改变的内容存放的地址。

3)当内存数据完全拷贝到EXSI-2后,EXSI-1中的VM会停止对外服务,保证内存不会再改变了。

4)EXSI-1拷贝memory bitmap到EXSI-2;

5)EXSI-2根据memory bitmap中的地址,去克隆对应地址中的内存数据。完成后,EXSI-2就具备和EXSI-1一模一样的内存数据了。

6)由于两个EXSI是共享一个存储,因此此时VMDK可以直接移动给EXSI-2使用。相当于EXSI-2具有VM的硬盘内容了

7)此时,VM就能直接在EXSI-2运行并对外提供服务了,EXSI-1中内存数据会删除以释放空间。整个过程不存在操作系统的开关机操作,是一种在线式的迁移。

8)VM会通过反向ARP协议告诉网络,VM的IP地址对应的MAC是在EXSI-2上了

实现VMOTION的前提条件

1)各个EXSI必须共享同一个外置存储(否则无法共享VMDK硬盘文件)

2)服务器必须具有相同的硬件配置,尤其是CPU必须是一样的品牌型号(CPU不一样,很多高级功能可能无法落实或速度很慢)(开启EVC)

3)CPU必须支持虚拟化命令,如INTEL-VT

4)如没有采用分布式交换机的,所有EXSI中的vswitch必须具有一样的名称,port group

5)VM必须是连入物理网络的,不能在纯虚拟网络中。

6)VM不能对应到RAW格式磁盘机

7)必须安装vmware tools

对于这些条件,可以人工检查,也可以在集群中启用EVC模式(其实重点是检查CPU兼容性)来自动检查。当新加入的EXSI不匹配EVC中配置时,将不会启用VMOTION

EVC模式:

1)disable。不启用,使得各种类型CPU都使用VMOTION,但功能和速度不保证。

2)enable EVC for AMD hosts:只有AMD系列才能加入集群。选择这项能具体到CPU的型号

3)enable EVC for INTEL hosts:只有intel系列才能加入集群。选择这项能具体到CPU的型号

VMOTION实践

一、非动态迁移

这种方法是VM能够瞬间迁移(因为没有内存克隆的过程,仅直接挂载VMDK到另一台EXSI,所以瞬间完成)到另一台EXSI中。操作过程是:

VM关机---->用鼠标拖动VM到另一台EXSI上---->开机,完成迁移。

二、动态迁移

操作方法也是用鼠标拖动VM到另一台EXSI上即可。另外一种方法是右键点击虚拟机,然后选择“迁移”,然后按提示操作即可完成vmotion

可以看出vmotion操作都是非常简单的。而在实际使用中,很少会去手动做vmotion,更多是通过vmotion来实现DRS、HA等高级功能。

SVMOTION

即存储的vmotion。svmotion由于没有内存的克隆等操作,而是直接的存储到存储的VMDK拷贝,因此较为简单。这里只提及几点需要注意的地方。

1)引导状态下的VM做svmotion,会涉及硬盘内容改变的情况,因此会有类似vmotion中内存克隆的操作,因此会较慢,但不会影响业务,不丢包。

2)svmotion一般是要更换新存储、更换到更快的硬盘(从SATA的LUN到SAS盘的LUN)时会使用到。

3)由于是VMDK拷贝,因此在新存储和旧存储中都会有一份VMDK,因此要考虑新旧版本的问题

 

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

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

相关文章

隔断玻璃内部的雕花工艺有哪些特点

隔断玻璃内部的雕花工艺具有以下几个特点: 1. 精细细腻:隔断玻璃内部的雕花工艺通常需要经过精细的雕刻和打磨,以展现出细腻的纹理和图案。因此,这种工艺在细节上非常令人印象深刻。 2. 独特个性:隔断玻璃内部的雕花工…

华中科技大学成功验证LK-99,美国实验室证实常温常压超导理论可行!

原创 | 文 BFT机器人 上周,全球物理学界迎来了一则令人震惊的消息:一支韩国科学家团队宣布他们发现了全球首个室温超导材料。这种材料被称为“改性铅磷灰石晶体结构(下称LK-99,一种掺杂铜的铅磷灰石)”。这项研究引起…

炒股杠杆途乐证券;股票买入卖出时间规则?

股票买入卖出时刻规则是指出资者在股票商场上进行生意交易时需求遵循的一系列时刻规定。正确的买入和卖出时刻能够协助出资者最大化出资回报,一起降低风险。但是,在股票商场上,生意时刻的挑选是一个复杂的问题,需求从多个角度剖析…

angr学习-入门篇

前言: 资源链接:GitHub - jakespringer/angr_ctf(题库仓库,里面有个讲解angr的PPT,里面有官方的题解很详细) GitHub - Hustcw/Angr_Tutorial_For_CTF: angr tutorial for ctf 安装: 关于angr…

JAVA学习(十)

1. 线程上下文切换 巧妙地利用了时间片轮转的方式, CPU 给每个任务都服务一定的时间,然后把当前任务的状态保存 下来,在加载下一任务的状态后,继续服务下一任务,任务的状态保存及再加载, 这段过程就叫做 上下文切换。时间片轮转的…

【Linux】线程同步 -- 条件变量 | 生产者消费者模型 | 自旋锁 |读写锁

初识生产者消费者模型同步条件变量初步使用 POSIX信号量其他常见的各种锁自旋锁读写锁 初识生产者消费者模型 举一个例子: 学生去超市消费的时候,与厂家生产的时候,两者互不相冲突。 生产的过程与消费的过程 – 解耦 临时的保存产品的场所(…

APP外包开发的android开发框架

Android的开发框架有很多,每个框架的特点不同,选择哪种框架取决于特定的开发需求和项目目标。今天和大家分享这方面的知识,以下是一些比较常见且重要的开发框架及其特点,希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c…

【JavaEE】深入了解Spring中Bean的可见范围(作用域)以及前世今生(生命周期)

【JavaEE】Spring的开发要点总结(4) 文章目录 【JavaEE】Spring的开发要点总结(4)1. Bean的作用域1.1 一个例子感受作用域的存在1.2 通过例子说明作用域的定义1.3 六种不同的作用域1.3.1 singleton单例模式(默认作用域…

Shell脚本学习-应用启动脚本

利用系统函数模拟实现应用脚本启动的特殊颜色效果: /server/scripts/start_nginx.sh {start|stop|restart},用if语句实现。 [rootvm1 scripts]# cat start_nginx.sh #!/bin/bash. /etc/init.d/functionsUSAGE(){echo "USAGE: $0 {start|stop|resta…

DBeaver开源数据库管理工具发布23.1.3版本

导读DBeaver开源数据库管理软件近日发布了v23.1.3版本,该版本在空间数据查看器、数据传输、数据编辑器等多个模块进行了优化,提升了软件的可用性和兼容性。 具体来看,空间数据查看器新增了地图对象标记和曲线渲染支持,也实现了坐标复制等功能。数据传输模块增强了XLSX文件导入和…

探究LCS透明屏的工作原理

LCS透明屏是一种新型的显示技术,它能够在显示屏上实现透明效果,使得用户可以同时看到屏幕上的内容和背后的物体。这种技术在商业广告、展览、零售等领域有着广泛的应用前景。 LCS透明屏的工作原理是利用液晶分子的特性来控制光的透过与阻挡。 液晶分子可…

WebGPU重塑Web开发的未来

一、 WebGL 1.1 什么是WebGL 说到 WebGL,就不得不说说 OpenGL。在早期的个人电脑中,使用最广泛的 3D 图形渲染技术是 Direct3D 和 OpenGL。Direct3D 是微软 DirectX 技术的一部分,主要用于 Windows 平台。 OpenGL 作为一种开源的跨平台技术,赢得了众多开发者的青睐。 后…

ES6基础知识十:你是怎么理解ES6中 Decorator 的?使用场景?

一、介绍 Decorator,即装饰器,从名字上很容易让我们联想到装饰者模式 简单来讲,装饰者模式就是一种在不改变原类和使用继承的情况下,动态地扩展对象功能的设计理论。 ES6中Decorator功能亦如此,其本质也不是什么高大…

JavaData:JDK8之前传统的日期和时间

Data JDK8之前传统的日期和时间 //目标:掌握Date日期类的使用。 //1、创建一个Date的对象:代表系统当前时间信息的。 Date d new Date(); system.out.println(d);//2、拿到时间毫秒值。 long time d.getTime(); system.out.println(time);//3、把时间毫秒值转换成日期对象:2…

僵尸进程(Zombie process )及孤儿进程简介

1.僵尸进程如何产生? 僵尸进程是当子进程比父进程先结束,而父进程又没有回收子进程,释放子进程占用的资源,此时子进程将成为一个僵尸进程。如果父进程先退出 ,子进程被init接管,子进程退出后init会回收其占…

TCP连接的状态详解以及故障排查(四)

TCP连接的终止(四次握手释放) 由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。这原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。收到一个 FIN只意味着这一方向上没有数据流动,一个TCP连接在…

玛氏宠物专访 | 宠物生意「狂飙」,品牌如何抢滩千亿宠食蓝海?

“两脚兽”不敌“四脚吞金兽”。 越来越多人加入“铲屎官”的行列,我国宠物市场规模数千亿,空间大、增速快,已是基本共识。宠物零食、宠物健康检测、宠物心理疗法、宠物美容、宠物社区、宠物智能喂养工具等等,从食品用品到服务&a…

Java工程师必备:全面解析Java生态知识图谱-打通工程师的成功之路

​​​​​​ 计算机基础知识 | |--- 数据结构与算法 |--- 操作系统 |--- 网络通信 |--- 数据库基础 Java SE(标准版) | |--- 语言基础 |--- 面向对象编程 |--- 集合框架 |--- IO流与NIO |--- 多线程与并发 |--- 反射与动态代理 |--- Lambda表达式 |---…

10个简单但很有用的Python装饰器

装饰器(Decorators)是Python中一种强大而灵活的功能,用于修改或增强函数或类的行为。装饰器本质上是一个函数,它接受另一个函数或类作为参数,并返回一个新的函数或类。它们通常用于在不修改原始代码的情况下添加额外的…

uni-app:实现表格多选及数据获取

效果&#xff1a; 代码&#xff1a; <template><view><scroll-view scroll-x"true" style"overflow-x: scroll; white-space: nowrap;"><view class"table"><view class"table-tr"><view class&quo…