如今的很多尖端技术,就像是云计算,边缘计算以及微服务的起源都是根据虚拟机的概念,它将操作系统和软件从实际的计算机上分离开来。
什么是虚拟机
从根本上讲,虚拟机就是一个可以运行程序或者应用且不用物理机器的软件。在虚拟机运行实例中,一个或者多个客户机可以在物理主机上运行。
每一个虚拟机都有自己的操作系统,而且不同虚拟机的功能是相互独立的,即使它们是位于一个物理主机上。虚拟机一般都是运行在计算机的伺服器上,当然也可以运行在桌面系统,甚至可以运行在嵌入式平台上。多个虚拟可以通过物理主机进行分享资源,包括CPU周期,网络带宽以及内存。
虚拟机起源于1960年代的早期计算,当时大型机用户的时间共享是将软件与物理主机系统分离的一种方式。虚拟机在1970年代早些时候被定义为实际计算机器的有效率的独立的副本。
众多周知,虚拟机在过去的15年间获得了发展,因为公司为了更有效的利用它们的物理服务器的计算能力采用了服务虚拟化,减少了对于物理服务器的需求,也节省了数据中心的存储空间。因为不同操作系统上的应用能够运行在独立的物理主机上,因此每个服务器并不需要配个服务器硬件。
一般来说,现在有两种类型的虚拟机:一种就是进程虚拟机,可以分开独立的进程,还有一种就是系统虚拟机,它提供了和物理主机完全独立的操作系统和应用。进程虚拟机的示例包括Java虚拟机和.NET Framework和Parrot虚拟机。
系统虚拟机依赖管理程序,它是软件能够有权利访问硬件的中介。比较有名的虚拟机管理程序空间包括,VMware (ESX/ESXi), Intel/LinuxFoundation(Xen),Oracle (MV Server for SPARC and Oracle VM Server for x86) 以及 Microsoft (Hyper-V).
计算机桌面系统也可以使用虚拟机。这里最合适的例子就是Mac用户在他们的物理主机上使用虚拟机运行windows10的例子。
虚拟机的优点
因为软件是独立于物理主机电脑的,用户可以在一片独立的硬件上运行多个系统示例,可以节省公司的时间,管理花费以及物理空间。另外一个优点就是运行老的版本的app,减少甚至消除迁移一个旧的版本的app到一个更新的或者不同的操作系统的需求和花费。
除此之外,开发者为了在一个安全的沙盒环境里测试应用会使用虚拟机。这样也能帮助孤立可能会感染VM实例的恶意软件。由于VM中的软件并不能篡改主机电脑,恶意的软件并不能传播很多的危害。
虚拟机的缺点
虚拟机也是有一些缺点的。一个物理主机运行多个虚拟机可能会导致性能不稳定,尤其是特定应用的基本要求没有满足的时候。在大多数情况下虚拟机的效率还是比不上物理主机。大多数的IT操作利用了物理主机和虚拟机间的平衡。
其他虚拟化的形式
VM在虚拟服务器上的成功应用,引出了虚拟化在其他领域的应用,这其中包括存储,网络以及台式机。很有可能在数据中心使用的某一种类型的硬件,正在探寻它的虚拟机化的定义。
网络虚拟化公司已经探索了网络作为服务的选项以及网络功能虚拟化,它使用了商品服务器来替代专用的网络容器来达到更可变和可扩展的服务。这和软件所定义的网络有些不同,它会让网络控制平台从前端平台分离出来,从而实现网络资源的更多自动配置和基于策略的管理。第三种技术,虚拟网络功能,是基于软件的服务能够运行在虚拟网络技术平台,包括例如路由,防火墙,负载平衡,WAN加速和加密等过程
VM及其容器
VM的发展导致了其他技术的更深的发展就比如说容器,让概念进一步发展并得到网站应用开发者的诉求。在一个容器的设置中,一个独立的伴有依赖的应用可以被虚拟化。与VM相比容器的消耗更小,一个容器只包含二进制文件,库文件以及应用。
有些人认为容器的发展可能会杀死VM,VM有足够的能力和优势让它自己前进。例如,当多个应用需要一起运行时,或者在旧版本的操作系统上运行旧的应用,VM还是很有用的,
除此之外,一些人感觉容器的安全性和虚拟机管理程序相比要弱,因为容器只有唯一的系统可以进行应用分享,而VM却可以独立应用和系统。
IDC软件定义计算部门的研究经理Gary Chen表示,即使客户探索云架构和容器,VM软件市场仍然是一项基础技术。Chen在IDC的《2019-2022年全球虚拟机软件预测》中写道:“尽管虚拟机软件市场已经非常成熟,并且已经接近饱和,但在未来五年中将保持显着的弹性,并将继续保持正增长。
VM,5G和边缘计算
虚拟机被视为5G和边缘计算等新技术的一部分。例如,Microsoft,VMware和Citrix等虚拟桌面基础结构(VDI)供应商正在研究将其VDI系统扩展到因COVID-19大流行而现在在家工作的员工的方法。卡内基梅隆大学计算机科学教授Mahadev Satyanarayanan说:“使用VDI,您需要极低的延迟,因为您将击键和鼠标移动基本上发送到了远程桌面上。” 在2009年,Satyanarayanan撰写了有关如何使用基于虚拟机的cloudlet来为Internet边缘的移动设备提供更好的处理能力的文章,从而推动了边缘计算的发展。
源:
https://www.networkworld.com/article
/3583508/what-is-a-virtual-machine-and-why-are-they-so-useful.html
翻译:daxuxu
公众号:archlinux
翻译不易点点关注吧,关注关注公众号
网友评论