Linux上的虚拟化技术 Xen虚拟化初学指南

运维 系统运维
Xen 是一个开放源代码的para-virtualizing虚拟机(VMM),或“管理程序 ”,是为x86架构的机器而设计的。Xen 可以在一套物理硬件上安全的执行多个虚拟机;Xen是基于内核的虚拟程序,它和操作平台结合的极为密切,所以它占用的资源最少。

虚拟平台是指能支持运行Xen的真实安装的操作系统;

虚拟操作系统:是指在虚拟平台上安装和虚拟运行的操作系统;

比如我在Slackware 中安装了Xen,那Slackware就是虚拟平台,通过虚拟平台就可以虚拟其它操作系统了;比如通过Slackware来虚拟Debian、Fedora ... ...

1、什么是Xen;

Xen 是一个开放源代码的para-virtualizing虚拟机(VMM),或“管理程序 ”,是为x86架构的机器而设计的。Xen 可以在一套物理硬件上安全的执行多个虚拟机;Xen是基于内核的虚拟程序,它和操作平台结合的极为密切,所以它占用的资源最少。

什么是虚拟机呢?可能大家知道VMWARE吧,是的,Xen就是类似这样的程序,比如我们可以在Fedora 上虚拟安装和使用Slackware、Debian、Gentoo ... ... 等发行版。因为Xen是基于内核的,相对VMWARE 来说,它占用的系统资源也就是VMWARE的百分之几左右。Xen是不是更有优势呢?只有您实践了才知道。这也是我写本文的最主要原因;

1.1 Xen的特性;

虚拟机的性能更接近真实硬件环境)

在真实物理环境的平台和虚拟平台间自由切换)

在每个客户虚拟机支持到 32个虚拟CPU,通过 VCPU热插拔)

支持PAE指令集的x86/32, x86/64平台

通过Intel 虚拟支持VT的支持来用虚拟原始操作系统(未经修改的)支持(包括Microsoft Windows)

优秀的硬件支持.支持几乎所有的Linux设备驱动

1.2 Xen的应用范围;

服务器整合:在虚拟机范围内,在一台物理主机上安装多个服务器, 用于演示及故障隔绝;

无硬件依赖:允许应用程序和操作系统对新硬件的移值测试;

多操作系统配置:以开发和测试为目的,同时运行多个操作系统;

内核开发:在虚拟机的沙盒中,做内核的测试和调试,无需为了测试而单独架设一台独立的机器;

集群运算:和单独的管理每个物理主机相比较,在VM级管理更加灵活,在负载均衡方面,更易于控制,和隔离;

为客户操作系统提供硬件技术支持:可以开发新的操作系统, 以得益于现存操作系统的广泛硬件支持,比Linux;

1.3 Xen的操作系统支持和硬件支持;

2、Xen的一点理论基础;

基于Xen的操作系统,有多个层,最底层和最高特权层是 Xen程序本身。Xen 可以管理多个客户操作系统,每个操作系统都能在一个安全的虚拟机中实现。在Xen的术语中,Domain由Xen控制,以高效的利用CPU的物理资源。每个客户操作系统可以管理它自身的应用。这种管理包括每个程序在规定时间内的响应到执行,是通过Xen调度到虚拟机中实现。

当Xen启动运行后,第一个虚拟的操作系统,就是Xen本身,我们通过xm list,会发现有一个Domain 0的虚拟机。Domain 0 是其它虚拟主机的管理者和控制者,Domain 0 可以构建其它的更多的Domain ,并管理虚拟设备。它还能执行管理任务,比如虚拟机的体眠、唤醒和迁移其它虚拟机。

一个被称为xend的服务器进程通过domain 0来管理系统,Xend 负责管理众多的虚拟主机,并且提供进入这些系统的控制台。命令经一个命令行的工具通过一个HTTP的接口被传送到xend。
 

【编辑推荐】

  1. 十大Linux虚拟化优点
  2. Linux虚拟化:10个不得不爱的理由
  3. Linux虚拟化的优势比Windows更明显
责任编辑:赵宁宁 来源: chinaitlab
相关推荐

2009-06-13 09:22:41

Linux虚拟化Xen

2012-03-18 21:41:40

linux虚拟化

2009-11-30 16:30:01

SUSE Linux

2012-12-28 10:18:03

LinuxXenKVM

2023-09-19 10:00:34

Linux虚拟

2009-03-30 17:51:30

Vmwareesx虚拟化

2013-03-18 10:12:25

存储虚拟化虚拟化技术

2019-11-12 14:48:00

Linux桌面虚拟化KVM

2017-11-29 14:42:28

虚拟化深度解密

2011-03-28 18:25:03

ibmdwLinux

2019-05-13 16:37:35

Linux网络虚拟化

2019-07-24 10:06:15

Linux网络虚拟化

2009-04-07 16:08:22

LinuxXenSUSE

2019-12-04 10:55:53

KVMXENOpenVZ

2012-12-27 16:18:57

开源虚拟化

2012-08-27 09:24:02

虚拟化

2009-04-14 19:39:55

虚拟化NovellIT

2009-04-14 22:23:12

LinuxNovell虚拟化

2012-04-06 11:09:36

戴尔

2018-07-11 15:21:25

GPU虚拟化技术
点赞
收藏

51CTO技术栈公众号