Linux服务器虚拟化意味着什么?

今天,我接受了一个采访,有人告诉我,几个月后,我将做Linux服务器虚拟化。 我知道什么是虚拟化,因为我使用的是Virtualbox,但是我不完全确定它是如何与服务器相关联的,或者它是如何在典型的工作场景中使用的。 我可以得到一些简短的解释吗? 通过一切手段,请成为技术。

谢谢!

什么是虚拟化

简而言之,虚拟化就是创build虚拟(而不是物理或实际的),如操作系统,存储设备,服务器甚至networking设备(如交换机)。

既然你在问关于Linux Virtulization的具体问题,我会假设你正在引用服务器和桌面:

服务器虚拟化是服务器用户对服务器资源的屏蔽(包括个人物理服务器,处理器和操作系统的身份)。

桌面虚拟化是指桌面用户屏蔽桌面资源(包括个人物理台式机,处理器和操作系统的身份)。

每一个 – 意在使用户不必理解和pipe理服务器/桌面资源的复杂细节,同时增加资源共享和利用,并保持稍后扩展的能力。

虚拟化的途径(linux)

虚拟化系统有很多不同的方法,每个方法都有各自的优缺点。

  1. Paravirtulization:

    简而言之,为了更有效地运行,客户操作系统的内核被更换为在虚拟化环境中performance良好的内核。

    Xen,lguest和用户模式Linux在x86上进行半虚拟化。

  2. 硬件虚拟化

    英特尔VT和AMD-V CPU能够在非特权虚拟机中运行所有指令,并使其运行良好。 大多数时候,大部分资源都是仿真的(像时钟一样)。但是,它允许更全面地实现完全虚拟化。

    Xen和KVM做硬件辅助的完全虚拟化。

  3. 操作系统级虚拟化 – (容器)

    容器根本不运行虚拟机,只是将多个用户空间环境相互分离,而一切运行在一个内核之下。 (许多系统pipe理员提出这个问题的一个主要原因是因为他们只需要修补或维护1个内核vs多个)。容器系统倾向于具有低开销和高密度,但是在不同容器之间的隔离度较低。 这当然是有代价的 – 因为容器系统只允许运行一个内核 – 但是它们同时支持不同容器中的各种Linux发行版。 有许多不同的容器系统 – 例如Solaris Zones,Linux-VServer和OpenVZ / Virtuozzo。 OpenVZ在不同的容器之间有相对完整的资源隔离,另外两个控件有点less。 FreeBSD Jails可以被看作是容器的先驱 – 但是Jails当然还是让BSD不是Linux。

希望这有助于给你一个简单的Linux虚拟化细分。

我build议在Proxmox项目中偷看一下http://www.proxmox.com/products/proxmox-ve这是开源的 – 它将允许您在同一个系统上同时testing不仅KVM而且容器基于虚拟化。

一定要评论这个文件和投票。

Glen给了你关于什么是虚拟化的技术性描述,但没有提供什么好处的很多信息。

IME的要点是:

  • 可用性 – 因为它是一个虚拟机,所有的configuration(大部分通常是)独立于底层硬件。 所以如果发生硬件故障,就很容易在其他地方启动映像。 这对于业务连续性计划尤其重要。
  • 容量pipe理 – 例如,您不需要专门的服务器来运行仅由薪资每月使用2天的应用程序 – 它可以与内联网服务器位于同一个物理盒子上
  • 开发 – 您可以离线构build服务器,应用修补程序,在replace现有服务器之前对其进行testing,而不必拥有相同configuration的备用物理机器
  • 硬件整合 – 从总体拥有成本来看,大铁可能比小型服务器便宜(特别是在电力成本上涨的情况下) – 但是出于上述原因,使用虚拟机可以更灵活地pipe理应用程序
  • 支持 – 继续开发主题,调查中断,性能和function问题要容易得多,因为您可以访问导致问题的系统 – 能够在完全相同的副本上工作的优点是您不需要使实时系统脱机。