作者:我爱技术交流 | 来源:互联网 | 2014-05-27 20:19
1,xen是什么?XEN是一个基于X86平台的虚拟机系统,它支持多个操作系统共用系统硬件,而且更重要的是,它不会导致操作系统的功能性和性能性的劣化。它可以支持多种操作系统的虚拟化,比如Linux,BSD,WindowsXP等等。2,为什么使用xen?XEN希望能够在一台服务
1,
xen是什么?
XEN是一个基于X86平台的虚拟机系统,它支持多个操作系统共用系统硬件,而且更重要的是,它不会导致操作系统的功能性和性能性的劣化。它可以支持多种操作系统的虚拟化,比如Linux,BSD,Windows
XP等等。
2,为什么使用xen?
XEN希望能够在一台服务器上同时运行多达100个虚拟机(VM)。此外,XEN有以下的几个特性。XEN是最快的和安全性最好的虚拟机系统,它是开源的系统,取得了世界领先的许多公司的支持。还有一点,它是免费的。
相对比已有的几个虚拟机系统,比如VMware,UML(User-Mode Linux)来说,XEN的性能有显著的提高。
此外,XEN提供了对于硬件虚拟化技术的全面支持。比如,Intel新一代的VT-x处理器中支持了CPU,MMU和内存的虚拟化。AMD的Pacifica也有相似的技术。对于此类硬件,XEN可以不修改GuestOS直接进行管理。
3,虚拟化技术的目的: 虚拟化最初的需求就是,降低资源成本,把多操作系统进行集成。
OS虚拟化的概念出现于1972年IBM的一个名叫System
360的系统上。简单的说,就是在OS和硬件之间插入一个系统管理层,系统管理层负责调度多个OS之间的硬件使用,包括MMU,I/O,DMA等等。
在目前的IT系统中,虚拟化越来越成为一个关键的技术领域。主要的原因有以下几点。 费用的节省
目前大多数的服务器应用中,只能使用到服务器自身硬件能力的15%。但是为了扩展不同的业务,用户还需要购置新的服务器。按照统计,数据中心中的一台服务器需要每年一万美元的费用,另外还需要系统维护,管理,硬件和软件的license等等的费用。
在使用了虚拟化技术后,可以在每一台服务器上同时运行多个操作系统和应用。有效的利用服务器硬件自身的能力。从而减低系统的购置费用和全生命周期的维护费用。
提高了系统配布和管理能力 使用虚拟化,可以简单的实现OS的动态配布。patch的安装,不断电的系统维护等等也可以实现。 高可靠性的实现
将硬件与OS之间隔离,OS中所使用的物理设备变成了逻辑设备。提高了系统的可靠性。另外,针对虚拟化的系统,OS的备份恢复等非常容易实现,一旦出现系统故障也可以很快的恢复。
4,全虚化和半虚化的区别:
PV(Para-Vritralization)和FV(Full-Vritralization)的差别,主要以guest
OS的硬件仿真程度做区分. 半虚化技术是不能完全硬件仿真的,其性能略高于全虚化技术,半虚化不需要CPU支持VT技术。
全虚化技术完全硬件仿真,但必须要CPU支持VT技术 1) 怎样判别CPU是否支持VT技术? 在linux平台下,输入grep
‘(vmx|svm)’ ?color=always /proc/cpuinfo在打印信息中即可看见vmx或smx,
vmx是inter的CPU虚拟化,SMX是AMD的CPU虚拟化。
如果你已经安装xen,输入上面的命令就无法看见这两个标签了。命令:xm dmesg | grep -i hvm
如果不支持,还有一种可能是:没有在bios中打开CPU全虚拟功能。 2) 全虚化和半虚化支持的操作系统:
半虚化不支持windows客户机的安装。
在 CentOS 5 下,我们可以通过 yum 直接安装 Xen ,但在 CentOS 6 下却不可以。原因是 Redhat
已把 KVM 作为默认的虚拟化技术解决方案。因此在 RHEL6 下需要部署 Xen 的话,就必须自行编译支持 Xen 的 pvops
内核和最新版本的 Xen 。编译安装定制的 pvops 内核和 Xen
在生产环境当中十分重要,其可最大限度优化系统性能,保证稳定性,但相对复杂,不适合新手。
本文将介绍,在 CentOS 6 下(RHEL6),通过第三方源安装 Xen 的方法。该安装自带了一个 pvops
内核,使用者无需自行编译。但生产环境下,仍建议用编译安装的方法,以便于对内核进行调优。
安装前请确认你的CPU支持VT-d,并在BIOS中打开VT-d支持(该选项默认是关闭的)。关于支持VT-d的CPU和主板等硬件的详情,请参考Xen
Wiki上的
VTd
HowTo。
第一步:最小化安装 CentOS 6 64bit (略过)
系统安装就不多说了,基本上大家都会,根据自己的喜好安装就OK了。如有疑问,可以参考Xen Wiki上的RHEL6 Xen4 Tutorial。
系统安装完成后,还需进行下面的几个操作:
1.1 更新系统
# yum update
1.2 禁用SELINUX
# vim /etc/selinux/config
把其中SELINUX的值修改为:SELINUX=disabled。
# reboot
第二步:安装 bridge-utils
yum install bridge-utils
第三步:使用第三方源
yum install http://au1.mirror.crc.id.au/repo/el6/x86_64/kernel-xen-release-6-5.noarch.rpm
第四步:yum 安装 pvops 内核和 Xen
yum install kernel-xen xen
第五步:修改 gurb 开机选项
vi /etc/grub.conf
title Scientific Linux (2.6.32-4.el6xen.x86_64)
root (hd0,0)
kernel /xen.gz dom0_mem=1024M cpufreq=xen dom0_max_vcpus=1 dom0_vcpus_pin
module /vmlinuz-2.6.32-4.el6xen.x86_64 ro root=/dev/mapper/RAID1-xenhost rd_LVM_LV=RAID1/xenhost rd_MD_UUID=afb92c19:b9b1e3ae:07af315d:738e38be rd_NO_LUKS rd_NO_DM LANG=en_US.UTF-8 SYSFOnT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto
module /initramfs-2.6.32-4.el6xen.x86_64.img
第六步:关闭 SELinux / 清空 IPTables 规则
vi /etc/sysconfig/selinux
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
echo "" > /etc/sysconfig/
iptables
第七步:重启
第三方源官方文档:http://xen.crc.id.au/support/guides/install/
*仅供测试,不建议在具体生产环境中使用