Ⅰ 如何安装XEN
对于Fedora系统,它的程序包管理器是yum,将用它从预编译好的程序包来安装Xen。实际上,使用yum安装Xen是一件相当轻松的工作,具体过程如下所示:
1、通过下列命令来安装Xen 内核和有关软件:
yum install kernel-xen xen
这一命令将下载并安装以下程序包及其依赖包:
l kernel-xen:该程序包存放的是主机操作系统和客户操作系统以及系统管理程序所用的Xen内核。
l xen:该程序包存放的是跟Xen系统管理程序交互的用户空间工具。
l bridge-utils :该程序包存放的是用于配置以太网桥的实用程序,以太网桥的作用是将多个以太网设备连在一起。
l libvirt :该程序包存放的是一个C库,它提供了使用Xen框架所需的应用编程接口API 。
l libvirt-python :该程序包存放的是一个Python 模块,有了它就可以让Python 应用程序使用libvirt提供的Xen框架应用编程接口。
l Python-virtinst :该程序包存放的是一个Python 模块,该模块使用libvirt在虚拟机内安装Fedora /Red Hat Enterprise linux 。
l Xen-libs :该程序包存放的是Xen的管理程序所需的程序库。
Ⅱ 在Linux内核编译的时候,一定要在/usr/src/kernel下才行吗我怎么在自己建立的文件夹下编译总是报错呢
Linux基础知识:内核编译-2.4至2.6
前言
linux-2.6.x内核发布后, 坛子里的兄弟们肯定都迫不及待地要升级原有的2.4.x内核. 但是由于与2.6.x内核配套的系统程序并没有相应的来得及更新, 升级过程会碰到很多问题, 因此觉得有必要把我的经验与大家share一下:-) XD们以后碰到类似问题时, 请先阅读本文, 而不要一上来就盲目发帖.
1. 备份重要的数据
这是个好习惯,就不用多说了:-)
2. 下载最新的2.6.x内核源码包
这个当然要到官方网站或者它的mir...?去下载了, 最好别到那些unknown的网站去下, 因为那些源码包有可能被恶意做了手脚. 最新的linux-2.6.4.tar.bz2源码包大概有33M左右. 下载的时候可以泡杯coffee, 然后点根烟......
在/usr/src/目录下解开源码包, 得到源代码目录/usr/src/linux-2.6.4/. 在对kernel做任何事情之前, 建议你先看一下它的README文件和Documentation/Changes文件, 从中你会得到不少有用的信息. 这些信息会让你在随后的升级过程避免很多不必要的麻烦.
在文档Documentation/Changes中给出了欲成功地升级到kernel-2.6.x所需的最小系统软件要求, 比如对于kernel-2.6.4是这样的:
复制内容到剪贴板代码:
Gnu make 3.79.1 # make --version
binutils 2.12 # ld -v
util-linux 2.10 # fdformat --version
mole-init-tools 0.9.10 # depmod -V
e2fsprogs 1.29 # tune2fs
jfsutils 1.1.3 # fsck.jfs -V
reiserfsprogs 3.6.3 # reiserfsck -V 21|grep reiserfsprogs
xfsprogs 2.6.0 # xfs_db -V
pcmcia-cs 3.1.21 # cardmgr -V
quota-tools 3.09 # quota -V
PPP 2.4.0 # pppd --version
isdn4k-utils 3.1pre1 # isdnctrl 21|grep version
nfs-utils 1.0.5 # showmount --version
procps 3.2.0 # ps --version
oprofile 0.5.3 # oprofiled --version
对于RH8/9的用户而言, 上述要求基本上都能满足. 大概只有两个程序需要更新: motils工具包和mkinitrd程序.
3. 安装mole-init-tools-3.0.tar.gz工具包
linux-2.6.x内核的mole处理过程有所改变(很多原先在用户态下由motils处理的工作都放到内核里去完成了), 因此2.4.x下的motils工具包已经不在适合新的2.6.x内核, 必需将其升级到mole-init-tools工具包. 该工具包的最新版本是3.0(ps, 该工具包的版本从0.9.15一下跳到3.0, 其跨度之大...hoho). 可以下载mole-init-tools-3.0.tar.gz源码包的地方有两个:
Rusty's Linux Kernel Page:
接下来, 按照下列步骤安装mole-init-tools工具包:
复制内容到剪贴板代码:
# configure --prefix=/
# make moveold
# make all install
# ./generate-modprobe.conf /etc/modprobe.conf
命令"make moveold"将把系统原来的motils工具程序改名为"*.old"(比如,lsmod.old等等). NOTE! 这是非常重要的一步, 千万不要省略. 这将使得你可以继续使用原有的linux-2.4.x系统, 因为在2.4.x系统下, 新的mole-init-tools工具包实际上是倚赖原来"*.old"程序来加载内核模块. 如果忘记了这一步也不要紧张, 可以先下载并安装原来的motils程序包, 然后按照上面的步骤重来一遍就可以了.
新的mole-init-tools工具包不再使用原来的/etc/moles.conf配置文件了, 而是使用新的配置文件/etc/modprobe.conf. 因此必需用命令"./generate-modprobe.conf /etc/modprobe.conf"来生成新的配置文件/etc/modprobe.conf. 但是令人不爽的是, 这个生成的新配置文件存在BUG, 下面我们将会提到.
Ⅲ 在centos6下安装xen,新内核无法进入,该怎么修改grub启动项
编译完成生成内核文件和虚拟内存盘文件后,执行grub-mkconfig会找到新的内核并生成新的菜单配置文件,开机启动就可以选择相应的菜单项进入系统
Ⅳ linux内核版本中的xen表示什么
这是xen虚拟化的内核 也可以看做是基于linux的操作系统内核这是xen虚拟化的内核 也可以看做是基于linux的操作系统内核这是xen虚拟化的内核 也可以看做是基于linux的操作系统内核这是xen虚拟化的内核 也可以看做是基于linux的操作系统内核
Ⅳ 怎么编译XEN内核
先下载内核源码,配置好编译选项,然后make就可以了。
重点就在配置编译选项
Ⅵ 公司要搭建私有云,大概200个虚拟机,虚拟化技术使用Xen,服务器使用IBM Xseries,请教有什么好的方案
1 安装Xen的准备工作;
拥有 GRUB引导的Linux做为安装平台,还要编译工具,比如gcc、binutils 及make和automake等;开发库有zlib和python-dev等;
具体明细请参阅: 《Xen v3.0 用户手册》
由于Xen用Python 开发的,所以Python 当然也是必不可少的。如果您是新手,我建议您用自己所用的操作系统软件包管理工具来安装这些软件包。
2 在Redhat/Fedora 操作平台上的安装;
在Fedora/Redhat平台上安装比较简单,您可以通过yum 来在线安装Xen和支持Xen的内核;因为Fedora/Redhat已经提供对Xen的支持了;Fedora/Redhat 提供的Xen内核支持比较高;不过就目前我的测试来看好象经常会机器重启,存在的问题可能是桌面环境造成的,比如GNOME桌面,打开就有重启的现象,也可能是Fedora/Redhat提供的Xen内有BUG;
安装Xen及支持Xen的请参考:《Fedora Core 5.0 用 Xen 虚拟Slackware 10.2》
对于Fedora 4.0及Redhat和Fedora 5.0类似;现在Yum的源上都有Xen和支持Xen的内核包;
3 通过Xen的二进制包来安装(几乎适用所有的Linux发行版);
通过Xen的二进制软件包来安装,这应该是通用的,几乎适合所有的Linux操作系统。由于二进制所是已经编译好的,我已经在Slackware 平台上用这种方法来安装,还是成功的。另外etony兄也在Debian上安装成功;
# CONFIG_NTFS_FS is not set
改为
CONFIG_NTFS_FS=m
如果您想让被虚拟的操作系统(Debian 、Gentoo、Fedora等)也支持NTFS文件系统,所以要在 xenU_defconfig_x86_32找出如下一行;
# CONFIG_NTFS_FS is not set
改为
CONFIG_NTFS_FS=m
第二步:配置内核;
这一步有两种方法,一个是直接修改内核配置文件,另一个是内核配置界面来配置;
方法一:通过修改内核配置文件;
Xen所带的内核配置文件位于解压目录中的linux-2.6-xen-sparse/arch/xen/configs 。我们前面已经提到了相关配置文件的用途。请仔细看前一步的说明;
方法二:通过内核配置界面来配置;
[root@localhost xen-3.0.1]# make linux-2.6-xen0-config CONFIGMODE=menuconfig
一旦我们在Linux操作系统安装好Xen后,这样的系统应该被称为XenLinux。如何才能引导拥有Xen的Linux呢?这时我们要用到GRUB系统引导管理器。我们修改一下GRUB的配置文件menu.lst或grub.conf就行了。此文件位于/boot/grub目录中;
Ⅶ VMWare中安装Ubuntu后,配置Xen虚拟机的问题
Xen安装Ubuntu 10.04用户使用的Ubuntu文本安装程序
Ubuntu的10.04可以使用默认的基于文本的安装程序包含在Ubuntu发行版的安装Xen光盘的用户。
首先创建一个新的LVM卷的来宾虚拟磁盘存储:
[root@f13 ~]# lvcreate -nubuntu01 -L20G /dev/vg_f13
Logical volume "ubuntu01" created
然后下载Ubuntu官方Xen的来宾配置文件
并重新命名它"ubuntu01.cfg"
[root@f13 ubuntu]# mv xm-debian.cfg ubuntu01.cfg
[root@f13 ubuntu]#
然后与您最喜爱的文本编辑器编辑“ubuntu01.cfg”,使它看起来像(其中包括其他的东西):
memory = 1024
name = "ubuntu01"
vcpus = 1
vif = ['mac=00:16:36:64:3d:f3,bridge=virbr0']
disk = ['phy:vg_f13/ubuntu01,xvda,w']
修改MAC地址是唯一的。
然后找到“ubuntu01.cfg”说:“引导程序= pygrub的”一条线,并添加适当的路径(“/ usr /斌/ pygrub的”)
Ⅷ 虚拟机上怎样安装多个ISO文件的操作系统
首页 论坛 搜索
加入Linux阵营 linux学前 安装linux操作系统 驱动软件安装 linux基本技能 linux新手必知 Redhat linux shell 红旗linux 其它linux发行版 Linux书籍软件下载 □-linux疑问解答 UniX技术文章 服务器应用 MySQL数据库 Oracle数据库 linux编程 linux内核 Java Linux新闻 linux认证
您的位置: 首页 >> 论坛 >> linux基本技能 >> 查看帖子
最新更新主题对抗Linux系统病毒
在Linux下增加Swap区
Linux学习笔记
linux虚拟光驱
Linux下主要文件
Linux系统中的超级权限的控制
使用Linux命令来发送信息
Linux应约界面下中文的显示
Linux小技巧
LINUX下把文件制成ISO Linux上的虚拟化技术 Xen 初学者指南
发表时间: 2006-7-17 09:03 作者: zz123 来源: linux286社区
字体: 小 中 大 | 打印
作者:北南南北 来源:LinuxSir.Org
0、本文约定;
虚拟平台是指能支持运行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的操作系统支持和硬件支持;
请参阅: 《Xen v3.0 用户手册》
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。
3、Xen的安装;
在写本文时,Xen的当前最新版本是xen-3.0.1,它基于的内核版本是2.6.12.6的。您可以根据自己的操作系统的情况来选择一种安装方式,适合您的就是最好的;
3.1 安装Xen的准备工作;
拥有 GRUB引导的Linux做为安装平台,还要编译工具,比如gcc、binutils 及make和automake等;开发库有zlib和python-dev等;
具体明细请参阅: 《Xen v3.0 用户手册》
由于Xen用Python 开发的,所以Python 当然也是必不可少的。如果您是新手,我建议您用自己所用的操作系统软件包管理工具来安装这些软件包。
3.2 在Redhat/Fedora 操作平台上的安装;
在Fedora/Redhat平台上安装比较简单,您可以通过yum 来在线安装Xen和支持Xen的内核;因为Fedora/Redhat已经提供对Xen的支持了;Fedora/Redhat 提供的Xen内核支持比较高;不过就目前我的测试来看好象经常会机器重启,存在的问题可能是桌面环境造成的,比如GNOME桌面,打开就有重启的现象,也可能是Fedora/Redhat提供的Xen内有BUG;
安装Xen及支持Xen的请参考:《Fedora Core 5.0 用 Xen 虚拟Slackware 10.2》
对于Fedora 4.0及Redhat和Fedora 5.0类似;现在Yum的源上都有Xen和支持Xen的内核包;
3.3 通过Xen的二进制包来安装(几乎适用所有的Linux发行版);
通过Xen的二进制软件包来安装,这应该是通用的,几乎适合所有的Linux操作系统。由于二进制所是已经编译好的,我已经在Slackware 平台上用这种方法来安装,还是成功的。另外etony兄也在Debian上安装成功;
您应该到 http://www.xensource.com/downloads 去下载二进制包,文件名中带有xen-3.0.1-install字样的,比如 xen-3.0.1-install-x86_32.tgz,这个软件包表示适用x86_32位机器的。也就是我们用的普通32位PC机。如果您用的是64位机器,应该下载文件名带有x86_64字样的软件包;
下载好后,就解压安装,我们还是以支持x86_32构架机器的xen-3.0.1-install-x86_32.tgz为例:
[root@localhost ~]# tar zxvf xen-3.0.1-install-x86_32.tgz
[root@localhost ~]# cd xen-3.0.1-install
[root@localhost xen-3.0.1-install]# sh install.sh
判断是不是安装好了,请查看/boot目录,会发现有很多文件名带有xen字样的文件,另外在/lib/moules中也会发现有支持xen的内核模块;另外再看一看是否有/etc/xen这个目录。我想应该是有的。
3.4 通过Xen的源码包编译安装(仅供参考);
通过Xen的二进制包来安装,可能有时内核不太适应我们的需要,这时我们要通过Xen的源码包来安装。通过自己编译来安装Xen及支持Xen的内核;Xen的源码包,您可以到 http://www.xensource.com/downloads去下载。文件名带有 xen-3.0.1-src字样的,比如 xen-3.0.1-src.tgz。
3.41 编译原理;
通过Xen的源码包编译,其实也没有什么神秘的。在Xen的源码包中提供了一些内核补丁和内核配置文件等。当我们执行编译命令时,首先编译的是Xen程序本身,然后是编译内核 。在编译内核时,程序会自动判断是否有内核源码 ,xen-3.0.1支持的内核是2.6.12.6,如果在xen的解压目录下没有,他就会自动内核的官方站 http://www.kernel.org 下载 linux-2.6.12.tar.bz2。然后就是自动解压并为此内核打补丁。然后系统会根据指令要求,然后采用相应的内核配置文件,或配置内核进行编译。
3.42 编译过程简说;
第一步:解压软件包,查看Xen源码包所带的文件;
[root@localhost ~]# tar zxvf xen-3.0.1-src.tgz
[root@localhost ~]# cd xen-3.0.1
[root@localhost xen-3.0.1]# ls
COPYING Config.mk README docs install.sh patches xen
ChangeLog Makefile buildconfigs extras linux-2.6-xen-sparse tools
我们解压xen-3.0.1-src.tgz 后,进入解压目录,会看到以上的文件或文件夹。patches是内核的补丁包,linux-2.6-xen-sparse是支持Xen的内核目录树,值得注意的是内核的配置文件就在这个目录中;
[root@localhost xen-3.0.1]# ls linux-2.6-xen-sparse/arch/xen/configs/
xen0_defconfig_ia64 xen0_defconfig_x86_64 xenU_defconfig_x86_32 xen_defconfig_x86_32
xen0_defconfig_x86_32 xenU_defconfig_ia64 xenU_defconfig_x86_64 xen_defconfig_x86_64
看到上面所列出的内核配置文件了吧,我们可能会发现文件名带有xen0字样的和xenU字样的两类文件。在这两类内核中,我们大多会修改的内核配置文件是运行xen的操作系统的内核配置文件,另一个是用于虚拟操作系统的内核配置文件;
xen0字样的就是我们一般是用于我们运行xen的操作系统的内核 ,而xenU字样的就是为虚拟操作系统所提供的内核。另外还有x86_32和x86_64之分,这表示CPU的架构。
比如我们用的是x86架构32位的CPU,我们在编译内核的时候就要用到 xen0_defconfig_x86_32 和xenU_defconfig_x86_32 配置文件。
举个例子:比如我的机器架构是x86_32位的,我安装xen的操作系统是Slackware,我想在Slackware 虚拟Debian 、Gentoo、Fedora等操作系统。这时编译虚拟平台Slackware所用的内核的配置文件就是 xen0_defconfig_x86_32 ,而被虚拟平台(Debian 、Gentoo、Fedora等操作系统)所用的内核就是 xenU_defconfig_x86_32 。
弄明白内核配置文件有何用?我们能明白xen在编译过程中用了哪些内核配置文件,目的是我们在编译过程中可以根据自己的需要来修改它,以编译出适合我们需要的内核。
比如我们想让Slackware 支持xen,并且还要支持NTFS文件系统;所以我们就要修改 xen0_defconfig_x86_32这个文件。找出如下一行;
# CONFIG_NTFS_FS is not set
改为
CONFIG_NTFS_FS=m
如果您想让被虚拟的操作系统(Debian 、Gentoo、Fedora等)也支持NTFS文件系统,所以要在 xenU_defconfig_x86_32找出如下一行;
# CONFIG_NTFS_FS is not set
改为
CONFIG_NTFS_FS=m
第二步:配置内核;
这一步有两种方法,一个是直接修改内核配置文件,另一个是内核配置界面来配置;
方法一:通过修改内核配置文件;
Xen所带的内核配置文件位于解压目录中的linux-2.6-xen-sparse/arch/xen/configs 。我们前面已经提到了相关配置文件的用途。请仔细看前一步的说明;
方法二:通过内核配置界面来配置;
[root@localhost xen-3.0.1]# make linux-2.6-xen0-config CONFIGMODE=menuconfig
第三步:编译和安装Xen;
[root@localhost xen-3.0.1]# make
[root@localhost xen-3.0.1]# make install
3.43 创建initrd文件;
有的系统需要initrd-XXXX.img或initrd.gz文件才能引导起来,如果您的系统用了支持xen的支持引导不起来,就要创建一个initrd-XXXX.img或initrd.gz的文件;请参考: 《Xen v3.0 用户手册》
3.44 关于xen0和xenU内核说明;
一般的情况下会在/boot目录中有两个与xen相关的内核,有的文件名带有vmlinuz-XXXX-xen0字样的,有的带有vmlinuz-XXXX-xenU字样的;比如:
[root@localhost xen-3.0.1]# ls -la /boot/vmlinuz*xen*
lrwxrwxrwx 1 root root 21 2006-04-12 07:42 /boot/vmlinuz-2.6-xen0 -> vmlinuz-2.6.12.6-xen0
lrwxrwxrwx 1 root root 21 2006-04-12 07:49 /boot/vmlinuz-2.6-xenU -> vmlinuz-2.6.12.6-xenU
lrwxrwxrwx 1 root root 21 2006-04-12 07:42 /boot/vmlinuz-2.6.12-xen0 -> vmlinuz-2.6.12.6-xen0
lrwxrwxrwx 1 root root 21 2006-04-12 07:49 /boot/vmlinuz-2.6.12-xenU -> vmlinuz-2.6.12.6-xenU
-rw-r--r-- 1 root root 2180524 2006-04-12 07:42 /boot/vmlinuz-2.6.12.6-xen0
-rw-r--r-- 1 root root 1129950 2006-04-12 07:49 /boot/vmlinuz-2.6.12.6-xenU
其实就是两个与xen相关的内核,其它的都是这两个内核文件的链接;也就是vmlinuz-2.6.12.6-xen0和vmlinuz-2.6.12.6-xenU。vmlinuz-2.6.12.6-xen0是用来引导虚拟平台的,比如我们在Slackware上安装Xen,那Slackware就是虚拟平台;所以如果要让Slackware的xen能运行起来,必须用xen相关的内核 ,也就是vmlinuz-2.6.12.6-xen0这个内核。 而XenU字样这个内核,是用来引导虚拟操作系统用的,我们在以后会提到它。
Ⅸ XEN虚拟机管理(增加,删除,修改,查找)等 程序实现代码
主要有这样几类:
2.1、虚拟硬件模式
虚拟硬件模型将计算机、存储和网络硬件间建立了一个抽象的虚拟化平台,使得所有的硬件被统一到一个虚拟化层中。目前,此类虚拟机的典型产品有Vmware的Workstation、GSXServer、ESXServer和Microsoft的VirtualPC、VirtualServer以及ParallelsWorkstation等。
虚拟硬件模式特点:虚拟了Intelx86平台,可以同时运行多个操作系统和应用程序。通过使用虚拟化层,提供了硬件级的虚拟,即虚拟机为运行于虚拟机的操作系统映像提供了一整套虚拟的Intelx86兼容硬件。这套虚拟硬件虚拟了真正服务器所拥有的全部设备:主板芯片、CPU、内存、SCSI和IDE磁盘设备、各种接口、显示和其他输入输出设备。并且,每个虚拟机都可以被独立的封装到一个文件中,可以实现虚拟机的灵活迁移。
2.2、虚拟操作系统模式
虚拟操作系统模型是基于虚拟机运行的主机操作系统创建了一个虚拟层,用来虚拟机主机的操作系统。在这个虚拟层之上,可以创建多个相互隔离的虚拟专用服务器(VirtualPrivateServer,VPS)。这些VPS可以最大化的效率共享硬件、软件许可证以及管理资源。对其用户和应用程序来讲,每一个VPS平台的运行和管理都与一台独立主机完全相同,因为每一个VPS均可独立进行重启并拥有自己的root访问权限、用户、IP地址、内存、过程、文件、应用程序、系统函数库以及配置文件。对于运行着多个应用程序和拥有实际数据的产品服务器来说,虚拟操作系统的虚拟机可以降低成本消耗和提高系统效率。目前,swsoft的virtuozzo是这一领域的成熟产品。
2.3、Xen(半虚拟化技术)
在不断增加的虚拟化技术列表中,Xen是近来最引人注目的技术之一。Xen是在剑桥大学作为一个研究项目被开发出来的,它已经在开源社区中得到了极大的推动。Xen是一款半虚拟化(paravirtualizing)VMM(虚拟机监视器,VirtualMachineMonitor),这表示,为了调用系统管理程序,要有选择地修改操作系统,然而却不需要修改操作系统上运行的应用程序。Xen是一种特殊的虚拟硬件虚拟机,具有虚拟硬件虚拟机的大部分特性,其最大的不同点在于,Xen需要修改操作系统内核。
目前,Xen只支持在Linux系统之上实现的Linux虚拟机。不过,其新的版本将支持Intel公司的硬件虚拟技术Intel-VT,这一个关键技术将可以用以解决Xen在虚拟化Windows系统方面的困难。
VMware仍然是虚拟技术领域的领袖,在产品的成熟度方面它比XenSource公司还是有着很明显的优势。但是很多的业内人士认为,由于开源的原因,Xen的实力将会越来越强。目前,开源领域的巨头RedHat公司以及Novell公司都已经开始将该技术整合进入它们于RedHatEnterpriseLinux5系统以及Novell、SuSELinuxEnterpriseServer10系统。
3.使用虚拟技术的好处
3.1、传统方式部署服务器的弊端
1.成本高
——硬件成本较高。
——运营和维护成本高,包括数据中心空间、机柜、网线,耗电量,冷气空调和人力成本等。
2.可用性
——可用性低,因为每个服务器都是单机,如果都配置为双机模式成本更高。
——系统维护和升级或者扩容时候需要停机进行,造成应用中断。
3.缺乏可管理性
——数量太多难以管理,新服务器和应用的部署时间长,大大降低服务器重建和应用加载时间。
——硬件维护需要数天/周的变更管理准备和数小时的维护窗口。
4.兼容性差
——系统和应用迁移到新的硬件需要和旧系统兼容的系统。
3.2、虚拟架构的优势
在虚拟架构中,用户可以把资源看成是专属于他们的,而管理员则可在企业范围内管理和优化整个资源。VMware的虚拟架构可以通过增加效率、灵活性和响应能力来降低企业的IT花费。管理一个虚拟架构可以让IT部门更快的连接和管理资源,以满足商业所需。其优势主要包括以下几个方面:
1)35%-75%TCO节省
通过将整合多个物理服务器到一个物理服务器降低40%软件硬件成本;
整合比:生产环境10-15:1,开发测试环境15-20:1;
每个服务器的平均利用率从5%-15%提高到60%-80%;
降低70-80%运营成本,包括数据中心空间、机柜、网线,耗电量,冷气空调和人力成本。
2)提高运营效率
部署时间从小时级到分钟级,服务器重建和应用加载时间从20-40hrs=>15-30min,每年节省10,000人/小时(300台服务器);
以前硬件维护需要之前的数天/周的变更管理准备和1-3小时维护窗口,现在可以进行零宕机硬件维护和升级。
3)提高服务水平
帮助您的企业建立业务和IT资源之间的关系,使IT和业务优先级对应;
将所有服务器作为大的资源统一进行管理,并按需自动进行动态资源调配;
无中断的按需扩容。
Ⅹ KVM与XEN区别是什么
一、KVM简介
KVM是一个全虚拟化的解决方案。可以在x86架构的计算机上实现虚拟化功能。但KVM需要CPU中虚拟化功能的支持,只可在具有虚拟化支持的CPU上运行,即具有VT功能的Intel CPU和具有AMD-V功能的AMD CPU。
Xen与KVM的比较
Xen是Linux下的一个虚拟化解决方案,但由于被Citrix收购后,变成了和红帽企业版一样了,卖服务收取费用,Redhat从rhel6.0开始已经从内核中把XEN踢出去了,全心投入开发免费的KVM,虽然市场上老用户还在用Xen,但相信kvm会逐步占领大面积的市场,必竟有redhat做为强大支持源。
Xen的实现方法是运行支持Xen功能的kernel,这个kernel是工作在Xen的控制之下,叫做Domain0,使用这个kernel启动机器后,你可以在这个机器上使用qemu软件,虚拟出多个系统。Xen的缺点是如果你需要更新Xen的版本,你需要重新编译整个内核,而且,稍有设置不慎,系统就无法启动。
相比较,KVM就简化的多了。它不需要重新编译内核,也不需要对当前kernel做任何修改,它只是几个可以动态加载的.ko模块。它结构更加精简、代码量更小。所以,出错的可能性更小。并且在某些方面,性能比Xen更胜一筹。
二、KVM的使用
现在以Turbolinux 11版本为基础,介绍KVM的使用方法。
在安装之前,你需要先确认,你的CPU是否支持虚拟化技术,执行:
# egrep '^flags.*(vmx|svm)' /proc/cpuinfo
如果有输出返回,则表示你的CPU支持虚拟化技术。
1.KVM的安装
从官方网站下载KVM源码包:http://kvm.qumranet.com
我们使用KVM-33版本
# tar zxf kvm-33.tar.gz
# cd kvm-33
# ./configure --prefix=/usr/local/kvm-33
# make
# make install
make install后,kvm的模块会安装到/lib/moles/$KernelVersion/extra/目录下。其他相关文件会安装到/usr/local/kvm-33/目录下。
将kvm相关目录连接到系统目录中
# ln -s /usr/local/kvm-33/bin/* /usr/bin/
# ln -s /usr/local/kvm-33/lib/* /usr/lib/
(若为x86_64系统,则执行: ln -s /usr/local/kvm-33/lib64/* /usr/lib64/)
# ln -s /usr/local/kvm-33/include/kvmctl.h /usr/include/
# ln -s /usr/local/kvm-33/include/linux/* /usr/include/linux/
# ln -s /usr/local/kvm-33/share/qemu /usr/share/
2.KVM的使用
a.你需要先建立一个映像文件作为虚拟系统的硬盘
# mkdir /images
# cd /images
# /usr/bin/qemu-img -f qcow gtes11.img 20G
b.创建网络配置脚本
# echo ’/sbin/ifconfig $1 10.0.1.1 netmask 255.255.255.0’ > /etc/qemu-ifup
c.加载KVM模块
Intel CPU使用:
# modprobe kvm-intel
AMD CPU使用:
# modprobe kvm-amd
d.安装虚拟系统
# /usr/bin/qemu-i386 -m 512 -k en-us -M pc -hda /images/gtes11.img -cdrom /iso/zuma-SP3-rc3-6-\
disc1-20061031.iso -net nic,vlan=1,model=rtl8139,macaddr=00:00:00:00:99:01 -net tap,vlan=1,ifname=tap0,\
script=/etc/qemu-ifup -vnc localhost:1 -boot d
在另一个终端执行:
# vncviewer localhost:1
参数分析:
我们为虚拟系统分配512MB内存。使用gtes11.img作为它的第一块硬盘,使用Turbolinux10.5的disc1作为它的光盘。
并从光盘引导。它有一块rtl8139的网卡,MAC地址为:00:00:00:00:99:01,并把这个网卡与主机的tap0接口连接。
tap0接口使用/etc/qemu-ifup脚本进行初始化。虚拟系统的输出作为一个vnc服务器,绑定在主机的localhost:1上。
注:
1.若为x86_64系统,则使用/usr/bin/qemu-system-x86_64代替qemu-i386
2.在64位系统上,可以安装32位和64位的虚拟系统。但在32位系统上,只能安装32位的虚拟系统。
qemu参数介绍:
-da 映像文件:使用映像文件作为虚拟系统的第一块硬盘。同样还可以使用hdb、hdc、hdd指定第2、3、4块硬盘。
-drom 光盘映像文件:使用光盘映像文件作为虚拟系统的光盘。
-oot [a|c|d|n]:设置虚拟系统的引导顺序。a为软驱、c为硬盘、d为光驱、n为网络。
- 内存大小:设置虚拟系统使用的内存大小,单位为MB。
- 语言:设置虚拟系统键盘类型。
-et nic[,vlan=n][,macaddr=addr][,model=type]
建立一个虚拟网卡,并把它连接到VLAN的n端口上。
-net tap[,vlan=n][,fd=h][,ifname=name][,script=file]
把主机的TAP网络接口连接到VLAN的n端口上,并使用script指定的脚本进行初始化。