Xen虚拟机在CentOS系统中的安装和使用方法
一、原理讲解
虚拟化的概念:将服务器物理资源抽象成逻辑资源,让一台服务器变成几台甚至上百台相互隔离的虚拟服务器,我们不再受限于物理上的界限,而是让cpu、内存、磁盘、i/o等硬件变成可以动态管理的“资源池”,从而提高资源的利用率,简化系统管理,实现服务器整合,让it对业务的变化更具适应力--------这就是服务器的虚拟化。
xen是目前linux上的最佳的虚拟化解决方案,特别适合于服务器应用,如用于将多个服务器合并到一台物理服务器上,以节省运营成本(机房空间、电力消耗);或者是出于安全角度的考虑,需要将不同的应用进行分区,以便降低安全风险等。
1、名词:
完全虚拟化(full virtualization):full virtualized
半虚拟化(para virtualization):paravirtualized
2、xen的运行环境:domain-0与domain-u
domain-0即虚拟母机或称为宿主机,与linux主机为同一系统,以xen的linux内核启动的主机,负责管理和控制客户机。
domain-u即虚拟客户机或称vps,在domain-0上可以建立多个虚拟客户机。
domain-0与domain-u的区别就是domain-0是虚拟机,domain-u是虚拟机上的操作系统。用过windows上vmware的可以把domain-0理解为vmware软件,domain-u则是运行在vmware上的操作系统。
3、xen的运行方式:
xen分成多个层级 (layer) 执行。它将linux的核心修改后,再使用修改过的核心开机,而开机后先载入xen的监控器 (hypervisor) , 并且启动第一个操作系统,称为domain-0。在xen上面所谓的一个domain就是指一个虚拟机。
domain-0之所以要先被载入是因为domain-0含有其他虚拟机启动所必须的控制指令,并且domain-0也是控制虚拟装置的重要主控系 统。在domain-0上最重要的就是一个xend的常住进程,其他的domain都是由这个xend来管理的。至于命名方面,除了domain-0之外 的其他虚拟机就依序被称为domain-1, domain-2等等, 我们统称为domain-u。
domain-0是很重要的,因为它直接控制xen的监控器(hypervisor),而且掌握了真实的linux驱动程序 (drivers)。而其他的虚拟机(domain-u)则是透过xen监控器来与真实的硬件以及domain-0进行交互。为了让domain-0能够 与xen结合,我们必须要修改domain-0的核心才能顺利运行。并且需要使用domain-0的核心来开机才可以。domain-0是所有虚拟机的基 础,所以它可以尽量简洁,其他的个别服务则可以放置到不pop时尚资讯网同的domain中。xend可以管理domain-0与其他domain之间的启动与交互,提供一个终端控制 (console) 界面来让 domain-0 登入其他的 domain。
二、必要条件
1、硬件说明:
请在服务器bios设置中打开关于cpu的虚拟技术;由于品牌、型号不一样请仔细查找。
2、系统查看cpu不否支持虚拟化
查看cpu对虚拟化的支持程度:
intel和amd的半虚拟化支持标识 - pae
# cat /proc/cpuinfo | grep flags flags : fpu tsc msr pae mce cx8 apic mtrr mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss nx constant_tsc pni ssse3
intel全虚拟化支持标识 - vmx
# cat /proc/cpuinfo | grep flags flags : fpu tsc msr pae mce cx8 apic mtrr mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc up pni monitor ds_cpl vmx est tm2 cx16 xtpr lahf_lm
amd全虚拟化支持标识 - svm
# cat /proc/cpuinfo | grep flags flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm extapic cr8legacy 3dnowprefetch ts fid vid ttp tm stc 100mhzsteps
三、初始xen
1、配置本地光盘yum
centos系统只把光盘挂载便可以使用本地源。
2、安装xen
#yum install xen kernel-xen xen-lib virt-manager python-virtinst –y
3、作用理解
kernel-xen:可以跑 xen 的 linux 核心
xen:主要的 xen 套件,包括配置文件、启动脚本和一些函数库
xen-libs:xen 所需要的函数库
python-virtinst:提供终端安装的软件
virt-manager:用于图形界面管理xen
查看/etc/grub.conf
选择带有xen的内核,并改为使用的内核
#init 6
重启之后,查看内核
#uname –r
2.6.18-274.12.1.e15xen
#xm list
domain-0
四、安装xen(图形化)
1、打开“应用程序” centos <wbr>xen <wbr>安装及使用
2、打开“系统工具”,选择“虚拟系统
3、选择“localhost”,鼠标右击“新建”
4、点击“前进”
5、虚拟机命名
6、选择系统架构,多数由cpu决定
7、选择引导模式(iso、pxe)
8、指定位置
9、指定硬盘大小(allocate entire virtual disk now 使用整个硬盘)
10、指定网络
11、指定内存大小
12、虚拟机全部信息
13、开始“创建”
14、安装后台
五、常见错误描述及解决办法
1、通过http或nfs安装客户机操作系统出现 unable to retrieve 错误:....
多数原因是防火墙造成的,如果使用http安装方式时可以先停止防火墙,也可以采用以下方式解决:
通过iptables -l命令查询是否有打开80端口或者netstat tunlp | grep httpd
开放端口
iptables –i input –s 192.168.0.2/24 -p tcp --dport 80 -j accept service iptables save
2、出现类似下面的错误:
post operation failed: xend_post: error from xen daemon: (xend.err 'error creating domain: i need 262144 kib, but dom0_min_mem is 262144 and shrinking to 262144 kib would leave only 244672 kib free.')
说明新增的虚拟主机内存设置过高,再内存调小点即可。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家学习或者使用xen虚拟机能有所帮助,如果有疑问大家可以留言交流。