虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统
虚拟系统通过生成现有操作系统的全新虚拟镜像,它具有真实windows系统完全一样的功能,进入虚拟系统后,所有操作都是在这个全新的独立的虚拟系统里面进行,可以独立安装运行软件,保存数据,拥有自己的独立桌面,不会对真正的系统产生任何影响 ,而且具有能够在现有系统与虚拟镜像之间灵活切换的一类操作系统。虚拟系统和传统的虚拟机Parallels DesktopVmwareVirtualBoxVirtual pc)不同在于:虚拟系统不会降低电脑的性能,启动虚拟系统不需要像启动windows系统那样耗费时间,运行程序更加方便快捷;虚拟系统只能模拟和现有操作系统相同的环境,而虚拟机则可以模拟出其他种类的操作系统;而且虚拟机需要模拟底层的硬件指令,所以在应用程序运行速度上比虚拟系统慢得多。
流行的虚拟机软件VMware(VMWare ACE)、Virtual BoxVirtual PC,它们都能在Windows系统上虚拟出多个计算机。
虚拟机技术是虚拟化技术的一种,所谓虚拟化技术就是将事物从一种形式转变成另一种形式,最常用的虚拟化技术有操作系统中内存的虚拟化,实际运行时用户需要的内存空间可能远远大于物理机器的内存大小,利用内存的虚拟化技术,用户可以将一部分硬盘虚拟化为内存,而这对用户是透明的。又如,可以利用虚拟专用网技术(VPN)在公共网络中虚拟化一条安全,稳定的“隧道”,用户感觉像是使用私有网络一样。
虚拟机技术最早由 IBM 于上世纪六七十年代提出,被定义为硬件设备的软件模拟实现,通常的使用模式是分时共享昂贵的大型机。 虚拟机监视器(Virtual Machine Monitor,VMM)是虚拟机技术的核心,它是一层位于操作系统和计算机硬件之间的代码,用来将硬件平台分割成多个虚拟机。VMM 运行在特权模式,主要作用是隔离并且管理上层运行的多个虚拟机,仲裁它们对底层硬件的访问,并为每个客户操作系统虚拟一套独立于实际硬件的虚拟硬件环境(包括处理器,内存,I/O 设备)。VMM 采用某种调度算法在各个虚拟机之间共享 CPU,如采用时间片轮转调度算法。
虚拟机资源涉及多个方面:CPU、内存、网络以及磁盘。在规划虚拟机时应该考虑这些资源之间的关系,否则,分配的资源不合理将导致虚拟机内的应用程序性能表现不佳。

虚拟机CPU

虚拟机每个vCPU只运行在一个物理核心之上,因此CPU频率越高虚拟机的运行速度也就越高,vCPU数量越多有助于提升应用的性能表现。一个比较复杂的因素就是在ESXi服务器内,所有的虚拟机共享使用物理CPU。ESXi服务器的核心数越多,每个vCPU获得的核心份额也就越大,因此多核心的性能表现要强于核心频率高但数量少的情况。
如果虚拟机需要占用大量的CPU时间,那么可以考虑为虚拟机分配第二个vCPU,但是,为虚拟机分配两个以上vCPU并不一定让应用运行的更快,因为只有多线程应用才能有效地使用多个vCPU。

虚拟机RAM

ESXi服务器内RAM资源通常有限,因此在给虚拟机分配RAM时需要格外小心。VMkernel在处理RAM时非常巧妙;允许虚拟机使用ESXi服务器所有的物理内存而且会尽量避免占用物理内存却没有真正使用的情况。
物理内存被完全用完后,VMkernel必须确定哪些虚拟机能够保留物理内存,哪些虚拟机要释放物理内存。这称之为“内存回收”。当虚拟机占用的物理内存被回收后,存在的一个风险就是会对虚拟机的性能造成影响。虚拟机被回收的内存越多,相应的风险也就越大。
最明智的是只为虚拟机分配完成工作所需要的内存。分配额外的内存将会增加回收风险。另一方面,当虚拟机操作系统将未被使用的内存用作磁盘缓存时,将会显著降低对磁盘系统的性能要求,所以这里有一个折衷问题。
对于数据库服务器以及VDI桌面来说,为虚拟机分配更多的内存往往更划算—在一台ESXi服务器上运行更少的虚拟机—而不是购买高性能的磁盘阵列。关键在于针对虚拟机的负载分配足够多内存而且没有浪费。
 
网络带宽

网络带宽包括两个方面:一是虚拟机和虚拟交换机之间的带宽,二是虚拟交换机与外部网络之间的带宽。如果希望虚拟机获得最大带宽那么应该使用VMXNET3网络适配器,VMXNET3在最小的CPU开销下提供了最好的吞吐量。如果情况允许,所有的虚拟机都应该使用VMXNET3网络适配器。
对于与外部物理网络的连接,一定要确保ESXi主机具备速度最快的物理网卡;10Gb是一个不错的选择,即使物理网卡的数量很少,但10Gb能够允许虚拟机承受突发的网络流量。
请记住,进行大量网络传输的虚拟机,虚拟机以及数据包的传输都会消耗CPU时间。因此,运行在CPU受限的ESXi服务器之上的虚拟机由于CPU无法快速响应请求可能会面临网络吞吐量不高的情况。

虚拟机磁盘性能

磁盘性能往往是无声的性能杀手。虚拟机磁盘性能受阵列磁盘数量、类型以及运行在其上的虚拟机的数量的限制。因为集中地共享存储架构将导致通过同一位置访问所有的虚拟机磁盘,阵列的存储控制器以及磁盘过载情况很容易出现,只剩下虚拟机在等待存储的响应。
虚拟机等待磁盘IO、虚拟机CPU空闲对性能的影响有很大不同。等待IO的虚拟机无法做其他工作,因此高I/O等待时间意味着性能肯定会下降。进行周密的存储设计以避免上述情况的发生至关重要。
合理选择磁盘 提升虚拟机性能
在虚拟化中,hypervisor将工作负载从运行在底层的物理硬件中抽象出来,允许快速分配并共享计算资源,迁移工作负载。尽管hypervisor以及与虚拟化兼容的处理器性能开销很小,但是虚拟化层的存在却对性能有影响。
当磁盘性能对工作负载至关重要时,某些管理员可能会选择以直通模式配置LUN,允许虚拟机的操作系统绕过hypervisor与直接LUN进行通信。例如,Windows服务器虚拟机可能使用直通模式绕过Hyper-V直接访问磁盘,这对SQL Server数据库的性能有些许提升。然而,由于客户操作系统(采用直通模式)以及hypervisor试图同时访问磁盘,那么hypervisor必须被配置为忽略直通LUN。
直通模式存在的问题是其不被某些重要的虚拟化功能比如虚拟机快照或者集群所支持。因此,虚拟机在实际上可能会受益于虚拟化提供的各种功能特性而非采用直通模式所带来的处于边缘地位的性能提升。管理员需要评估虚拟机的需求并确定直通模式的适宜性。
除直通模式外,Hyper-V以及其他hypervisor还提供了其他磁盘存储选项。例如,当.VHD文件被创建时,大小固定的磁盘将分配所有的数据块。一旦被创建,大小固定的磁盘就不能够进行调整了。然而,动态扩展磁盘从一开始创建的就是没有数据块的.VHD文件,当数据写入到.VHD文件中后磁盘空间才会被分配出去。这和精简配置类似,尽管在逻辑上创建了一块磁盘,但实际的磁盘空间只有数据写入时才会被用到。
差分磁盘是一种特殊的动态扩展磁盘类型。其设计思路是父磁盘拥有固定的镜像而且差分磁盘与父磁盘相关联,因此写入到磁盘的数据被存放在差分磁盘而非.VHD文件中。读请求首先检查差分磁盘的.VHD文件,如果没有更改,就会读父.VHD文件。当需要标准化的磁盘镜像而且回滚功能很重要时,差分是一个不错的主意,但是管理员在维护父子磁盘配置时可能会面临挑战。

VM虚拟机?的更多相关文章

  1. Linux关于vm虚拟机复制后无法启动网卡

    1.一个月前由于自己一直在开发PHP站点,所以把Linux抛出去很长时间没有碰,最近几天把Linux的一些捡起来, 但在我设置vm虚拟机由于在家里做的实验未做完,复制到U盘想到公司接着做没成像,系统是 ...

  2. CentOS下vm虚拟机桥接联网

    CentOS下vm虚拟机桥接联网   vm虚拟机下的桥接联网相当于虚拟机是一个独立的主机,直接与外网相连,这是比较好的连接方式,这样外网的机子就可以直接访问到虚拟机了.   首先虚拟机的联网方式设置为 ...

  3. VM 虚拟机 Error 1324. The path My Documents contains a invalid chara 。

    当安装VM(虚拟机)时,安装到一半时,提示:Error 1324. The path My Documents contains a invalid chara . 就是提示路径无效. 按下面的路径: ...

  4. VM虚拟机安装苹果雪豹操作系统

    1.win xp虚拟机安装Mac OSX 一.用VM8安装mac os x10.6 ,然后升级到的10.6.8,如何安装vm大家自己百度吧.这里指列出了如何安装雪豹操作系统. DMG是mac os x ...

  5. VM虚拟机的配置文件(.vmx)损坏修复

    来源://http://blog.csdn.net/houffee/article/details/18398603 VM虚拟机中使用.vmx文件保存虚拟机的所有软硬件配置,如果意外损坏的话将会出现不 ...

  6. vm虚拟机Kali2.0实现与物理机之间的文件拖动共享

    MarkdownPad Document html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,ab ...

  7. Linux centOS的vm虚拟机配置详细 中文版

    这里以安装cenOS6.6 为例 如果想要需要cenos 6.6 ios文件的朋友看我的另一篇关于cenos6.6版本的下载详细 文中内容是摘抄自老男孩老师的<linux 跟老男孩学Linux运 ...

  8. VM虚拟机安装centos,同网段,局域网能访问

    VM虚拟机安装centos,同网段,局域网能访问. 首先下载虚拟机镜像文件,自行下载 安装,网络模式为桥接,设置dhcp为主机同网段 保持VM服务开启 开机就是同网段了

  9. vm虚拟机中linux无法连接外网?

    问题出现的环境? vm虚拟机中安装了linux系统,vm设置了NAT方式共享主机ip,但还是没法访问外网?在linux系统中查询ip地址,没有ipv4地址,就是配置了自动获取,但是还是没有获取? 问题 ...

  10. VM虚拟机安装centos详细图文教程

    本教程贴,采用VM虚拟机进行安装, Ps:不懂VM使用的,可以百度一下 第一步,启动虚拟机,并进行新建---虚拟机·· 选择 从镜像安装,吧里有6.3镜像下载的链接的 然后, 下一步 . 选择客户机版 ...

随机推荐

  1. 【ARTS】01_32_左耳听风-201900617~201900623

    ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...

  2. C,OC,C++语言对比

    1.C与OC.C++的区别: C语言的特点:面向过程 1)C语言是结构化语言,层次清晰,调试和维护比较容易 2)表现能力和处理能力比较强,可直接访问内存的物理地址 3)c语言实现对硬件的编辑,c语言课 ...

  3. 搭建sqli靶场

    前言: sqli是一个印度程序员编写的,用来学习sql注入的一个游戏教程 sqli这个靶场对php7.0是不兼容的(因为一些函数在php7中被删除了),所以搭建的时候要下载php5,如果你的系统要下载 ...

  4. golang web框架 beego 学习 (六) request body和module的映射

    router.go package routers import ( "gowebProject/controllers" "github.com/astaxie/bee ...

  5. 【FFMPEG】I,P,B帧和PTS,DTS时间戳的关系

    FFmpeg里有两种时间戳:DTS(Decoding Time Stamp)和PTS(Presentation Time Stamp). 顾名思义,前者是解码的时间,后者是显示的时间.要仔细理解这两个 ...

  6. 微信H5支付开发全过程(除内置微信以外的浏览器)

    前言:网上都是~ 呵呵 自己搞 只要花时间 多问客服总会有的 只说程序不说准备工作 自己ID 或者秘钥都准备好了  写的有点儿乱 可以把所有的方法 放在一个文件中调用 public function ...

  7. 如何找到linux centos7 中 redis.conf

    我们假设redis正在运行,但是我们找不带redis的配置文件redis.conf. 正确的示范: (1)systemctl status redis ● redis.service - LSB: s ...

  8. 最新 第一视频java校招面经 (含整理过的面试题大全)

    从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.第一视频等10家互联网公司的校招Offer,因为某些自身原因最终选择了第一视频.6.7月主要是做系统复习.项目复盘.Leet ...

  9. OS选择题练习

    一.死锁 1.设系统中有n个进程并发,共同竞争资源X,且每个进程都需要m个X资源,为使该系统不会发生死锁,资源X的数量至少为() A.n*m+1 B.n*m+n C.n*m+1-n   D.无法预计 ...

  10. 数据库相关概念讲解(java)

    1.常用类或接口介绍 1.DataSource接口 通过javaAPI中javax.sql.DataSource接口注释了解. 1.DataSource功能 如下图: 翻译: DataSource对象 ...