动态迁移

来源:互联网 发布:apache压力测试 编辑:程序博客网 时间:2024/06/03 17:06

概念

在虚拟化环境中的迁移,又分为动态迁移,静态迁移,也有人称之为冷迁移和热迁移,或者离线迁移在线迁移;静态迁移和动态迁移的 区别就是静态迁移明显有一段时间客户机的服务不可用,而动态迁移则没有明显的服务暂停时间,静态迁移有两种1,是关闭客户机将其硬板镜像复制到另一台宿主机系统,然后回复启动起来,这种迁移不保留工作负载,2是,两台客户机公用一个存储系统,关闭一台客户机,防止其内存到另一台宿主机,这样做的方式是,保存迁移前的负载

迁移效率的衡量

1)整体的迁移时间:从源主机迁移操作系统开始,到客户机迁移到目主机并恢复起服务所花的时间
2)服务器停机时间:在迁移过程中,源主机和目的主机都处于不可用的状态,源主机服务已经停止,目的主机还没有启动服务
3)对服务性能的影响:不仅包括迁移后客户机中应用程序性能的比较,还包括源主机性能是否下降

迁移的应用场景

1)负载均衡:当一台为服务器的负载较高时,可以将其上运行的客户机动态迁移到负载低的主机
2)接触硬件依赖:当系统管理员需要在宿主机上添加硬件设备,可以把宿主机的应用暂时迁移到其他的客户机上,这样用户就感觉不到服务有任何暂停的问题
3)节约资源:当几台客户机的负载都较低的情况下,可以把应用都暂时迁移到一台客户机上,关闭不用的客户机,从而节省电力
4)可以实现客户机的远程迁移

嵌套虚拟化的应用场景

  • Iaas类型的云计算提供商,如果嵌套虚拟化功能支持可以让客户运行自己所需要的hypervisor可客户机能力,对于有这类需求的用户,这种功能会成为他们购买云计算的原因
  • 给测试和调试hyeprvisor带来了很大便利,就算被调试的hypervisor崩溃,重启虚拟机即可,不需要和硬件打交道;
  • 有了嵌套虚拟化的支持,最客户虚拟机提供了动态迁移的能力;
  • 有利于对系统的隔离,安全性提供了很多解决方案
    目前:对于纯软件模拟的qemu嵌套虚拟化并不难,但是对于kvm这种依靠硬件来实现虚拟化的功能要实现嵌套虚拟化还是有一定的难度的,只鞥在底层模拟硬件支持

KSM技术详解

内核同页合并:ksm让内核扫描检查正在运行的程序比较他们的内存,如果发现他们的内存区域或内存页完全相同,将多个相同的内存合并成一个单一的内存页,并表示为”写时复制“,这样可以起到节省内存使用量的作用;ksm能够提高内存的速度和使用效率

大页

减少内存页表的数量,提高tlb缓存的效率,从而提高系统内存的访问效率,缺点如下:
1)大页必须在使用前预留(1GB大页只能在启动时分配)
2)应用程序代码必须显示的使用大页(一般是调用libhugetlbfs API来分配大页)
3)大页必须常驻物理内存,不能给交换到交换分区中
4)需要用超级用户权限挂在大页
5)如果给大页预留内存,但没有实际的使用就会造成物理内存的浪费

透明大页

透明大页,对所有的应用程序都是透明的,应用程序不需要任何修改就可以享受透明大页带来的好处;透明大页是可以交换的,当需要交换到交换分区时,透明大页就被打碎为常规的4Kb大小,当系统内存比较充裕时,就透过khugepage进程把常规内存转换成大页;

AVX(advance vector Extensions)高级适量扩展

avx是amd和intel公司cpu架构指令集的一个扩展,让cpu的适量运算从125扩展到256,可以同时处理8个单精度浮点数和4个双精度浮点数

AES新指令

AES:(advance encryption standard高级加密标准)是一种对电子数据进行加密的标准,aes在2008年提出,它包括7条指令,其中有6条是在硬件上对AES的支持,另外一条是对乘法的优化,

Selinux

selinux是linux提供的一个安全特性,他是通过使用linux里面一个安全模块提供了一种机制来支持控制访问权限的安全则略,例如,当访问一个文件时,如果传统的访问权限拒绝访问,则selinxu不做处理,如果通过访问,则selinux对其操作进行检查,(一般开发过程中selinxu是关闭的,基本上很鸡肋)

txt

(trusted execution technology)(可信执行技术)在intel平台上实现,它是pc或服务器启动过程对系统关键部件进行验证的硬件解决方案;
基于TXT技术主要通过三部分组成,1)安全模式指令扩展,2)认证代码模板,3)度量过的安全启动环境,安全模式指令扩展,是对现有指令进行扩展,引入安全的指令,认证代码模板,有芯片厂家提供,经数字签名认证,

不同的虚拟机例如qemu向kvm迁移,xen向kvm迁移,都可以实现,前提是下载virt-v2v工具

0 0