今天,我接受了一个采访,有人告诉我,几个月后,我将做Linux服务器虚拟化。 我知道什么是虚拟化,因为我使用的是Virtualbox,但是我不完全确定它是如何与服务器相关联的,或者它是如何在典型的工作场景中使用的。 我可以得到一些简短的解释吗? 通过一切手段,请成为技术。
谢谢!
简而言之,虚拟化就是创build虚拟(而不是物理或实际的),如操作系统,存储设备,服务器甚至networking设备(如交换机)。
既然你在问关于Linux Virtulization的具体问题,我会假设你正在引用服务器和桌面:
服务器虚拟化是服务器用户对服务器资源的屏蔽(包括个人物理服务器,处理器和操作系统的身份)。
桌面虚拟化是指桌面用户屏蔽桌面资源(包括个人物理台式机,处理器和操作系统的身份)。
每一个 – 意在使用户不必理解和pipe理服务器/桌面资源的复杂细节,同时增加资源共享和利用,并保持稍后扩展的能力。
虚拟化系统有很多不同的方法,每个方法都有各自的优缺点。
Paravirtulization:
简而言之,为了更有效地运行,客户操作系统的内核被更换为在虚拟化环境中performance良好的内核。
Xen,lguest和用户模式Linux在x86上进行半虚拟化。
硬件虚拟化
英特尔VT和AMD-V CPU能够在非特权虚拟机中运行所有指令,并使其运行良好。 大多数时候,大部分资源都是仿真的(像时钟一样)。但是,它允许更全面地实现完全虚拟化。
Xen和KVM做硬件辅助的完全虚拟化。
操作系统级虚拟化 – (容器)
容器根本不运行虚拟机,只是将多个用户空间环境相互分离,而一切运行在一个内核之下。 (许多系统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的要点是: