今天,虚拟化技术已经在数据中心扎根,其应用也非常普及,无论是在服务器、网络、存储等设备。虚拟化技术起源于服务器,后来出现在网络设备中。虽然同为虚拟化技术,但实现原理却完全不同。网络设备中的虚拟化不能像服务器中的虚拟化那样对数据进行虚拟化。虚拟设备有成百上千种,实现的技术也完全不同。本文重点介绍服务器中的虚拟化技术。服务器是数据中心最重要的部分。所有的应用服务都必须在服务器上安装运行,所以服务器上的虚拟化技术与应用的关系最为密切。从早期的虚拟机技术到今天的容器技术,都是虚拟化技术的典型代表。很多人可能对虚拟机技术并不陌生。很多人自己在PC上安装了虚拟机,这也是虚拟化的一种做法。虚拟机技术可以分为两大类:硬件虚拟化技术和指令集虚拟化技术。硬件虚拟化技术的典型代表有VMware、Xen等,指令集虚拟化技术的典型代表有Qemu、Boch等。很多年。由于其应用广泛,衍生出许多细分技术,成为数据中心虚拟化技术的重要代表之一。通过虚拟机技术,可以在一台物理服务器上模拟一台或多台虚拟计算机。这些虚拟机的工作方式和真实的计算机完全一样,比如安装操作系统、安装应用程序、访问网络资源等等。对用户来说,它只是一个运行在你物理机上的应用程序,但对一个运行在虚拟机上的应用程序来说,就像在真实的计算机上工作一样。因此,在虚拟机中进行软件评估时,系统也可能会崩溃,但只是虚拟机上的操作系统崩溃,而不是物理机上的操作系统崩溃,利用虚拟机的恢复功能,可以立即恢复安装软件前的虚拟机状态。容器技术通过虚拟化操作系统来管理代码和应用程??序。是2013年才开始兴起并迅速崛起的虚拟化技术。容器技术主要是由一些技术创新公司设计开发的,如:BlueData、CoreOS、Docker、Kismatic、PortWorx等,其中最著名的是Docker技术,Docker几乎成为了容器技术的代表。容器技术让你可以将更多的计算工作负载塞到一台服务器上,并允许你瞬间增加新计算任务的容量。从理论上讲,这意味着您可以购买更少的硬件,建造或租用更少的数据中心空间,并雇用更少的人员来管理它。每个容器都包含独占的完整用户环境空间,一个容器的变化不会影响其他容器的运行环境。为了达到这个效果,容器技术采用了一系列系统级的机制,比如使用Linux命名空间进行空间隔离,通过文件系统的挂载点来决定容器可以访问哪些文件,以及确定每个容器可以访问哪些文件通过cgroups。使用了多少资源。另外,容器之间共享同一个系统内核,这样当多个容器使用同一个库时,内存使用效率会得到提升。虚拟机和容器两大技术,从描述上看,都是以虚拟化为目标,但技术热点和实现方式完全不同。虚拟机提供专用操作系统的安全性和更强的逻辑边界。在虚拟机的情况下,管理程序与硬件对话,就好像虚拟机的操作系统和应用程序构成了一台物理机一样。虚拟机中的操作系统可以与主机中的操作系统完全不同。该容器是轻量级的,需要更少的内存空间,并提供非常快的启动速度。创建容器的速度比创建虚拟机要快很多,因为虚拟机必须从存储系统中检索10GB到20GB。系统。容器中的工作负载使用宿主服务器的操作系统内核,避免了这一步,容器可以在二十分之一秒内启动。有了这样的速度,开发团队就可以激活项目代码,以不同方式测试代码,或者在他们的网站上推出额外的电子商务功能——所有这些都非常快。虚拟机和容器都具有高度可移植性,但方式不同。对于虚拟机,可以在运行相同管理程序(通常是VMware的ESX、Microsoft的Hyper-V或开源Zen或KVM)的多个系统之间实现可移植性。另一方面,容器不需要管理程序,因为它与特定版本的操作系统捆绑在一起。但是容器中的应用程序可以移动到任何地方,只要那里有操作系统的副本。容器技术允许应用程序在放入容器之前以标准方式格式化。无论目标操作系统如何,开发人员都可以使用相同的工具和工作流程。一旦进入容器,每种类型的应用程序都以相同的方式在网络中移动。这样,容器就像虚拟机一样,它们是可以在Internet或内部网络上移动的包文件。当然,容器技术不如虚拟机技术成熟。虚拟机是一种高度发达的成熟技术,已被证明可以运行最关键的业务工作负载。容器技术也开始在谷歌、阿里等互联网公司得到应用和推广。随着技术的成熟和稳定,很有可能取代虚拟机技术。当然,不可忽视的是,容器技术也面临着一些尚未解决的问题。例如:安全问题,相邻容器共享处理器、内存、磁盘等资源。这种行为让安全专业人员深感担忧。容器技术在一台计算机上只能运行一个应用程序,限制了应用程序的处理规模。所以容器是一项值得使用的技术,但是应该谨慎使用,慎重使用,而不是轻举妄动。在数据中心的虚拟化过程中,是使用虚拟机还是容器?这最终取决于您的需求。如果你只是想隔离应用程序的运行实例,那么容器将是管理应用程序运行环境、启动应用程序实例和控制资源开销的极其高效的工具。如果您正在从服务器虚拟化的角度寻找最佳的环境隔离解决方案,那么系统级虚拟化是更好的解决方案:与容器相比,邻居租户对系统的影响将不再是虚拟化的问题。虽然现在很多容器都在着重提升自己的隔离能力,但是虚拟机的隔离性还是比容器好。从物理服务器过渡到虚拟服务器是一个自然的过程,现在有一个完善的生态系统来管理虚拟服务器。当然,两者并不是对立的。我们可以在一个容器中运行一个虚拟机,在一个虚拟机中运行一个容器,或者在一个虚拟机中运行多个容器。让两种虚拟化技术在数据中心发挥更大的作用。
