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虚拟机能有所帮助,如果有疑问大家可以留言交流。

(0)

相关推荐

  • CentOS配置虚拟主机virtualhost使服务器支持多网站多域名的方法

    本文实例讲述了CentOS配置虚拟主机virtualhost使服务器支持多网站多域名的方法.分享给大家供大家参考,具体如下: 如何让centos(redhat)配置虚拟主机,让服务器支持多个网站,针对Apache,只需要你修改apache配置文件/etc/httpd/conf/httpd.conf即可. 里面有个example文件,你只要对应配置即可. #<VirtualHost *:80> # ServerAdmin webmaster@dummy-host.example.com # Do

  • CentOS VPS安装Kloxo免费虚拟主机管理系统

    对于不想学命令而直接使用centos vps的新手来说,我们推荐一款傻瓜式的虚拟主机管理系统Kloxo,且是免费的,无限绑定域名. Kloxo简介 Kloxo的前身是lxadmin,是一款免费的虚拟主机管理系统,安装简单,功能强大,可以快速地在red hat,centos系列linux系统的主机上搭建LAMP(Linux+Apache+Mysql+Perl/PHP/Python)环境. 安装kloxo Kloxo安装后会搭建LAMP环境,所以需要一个没有安装有php.mysql.apache等服

  • CentOS 5.X xen虚拟机的安装配置及基本使用

    CentOS 5.X下安装配置xen虚拟机及基本使用 1.前提需求 1.1.简介 Xen是以GNU的GPL授权发布的自由软件,目的在于提供高效能.可支援不同操作系统同时运行且各个操作系统之间彼此相互独立的系统环境,Xen是基于X86架构开发出来的虚拟机控制器(Virtual Machine Hypervisor).Xen虚拟化包括两种虚拟化方式,半虚拟化(Para-virtualization)和全虚拟化(Fully-virtualization).这两种虚拟化都需要cpu的支持.半虚拟化的架构

  • Centos虚拟机上网配置IP方法

    本文主要是介绍了CentOS虚拟机需要上网快速配置IP,如果是虚拟机直接上网很简单,如果是和主机互联需要桥链接,具体如下: 如果仅仅是虚拟机需要上网,则很简单 1.进入Centos系统,查看网络配置. 输入命令:ifconfig -a 2.进入ifcfg-eth0文件. 输入命令:vim /etc/sysconfig/network-scripts/ifcfg-eth0 注:非root账户需加sudo,否则无权限编辑,或者直接su切换到root用户下. 3.配置动态IP. 通过修改ifcfg-e

  • CentOS 6.1 环境中部署nginx、php(包括fastcgi)、虚拟主机配置

    部署时间:2012-07-24 OS环境:CentOS 6.1 nginx:nginx-1.2.2 PHP:PHP5.3.14 0.安装依赖包 复制代码 代码如下: yum install openssl-devel pcre-devel zlib-devel libjpeg-devel libpng-devel freetype-devel gcc make 1.添加 www 用户用来执行nginx 复制代码 代码如下: useradd -M -r -s /sbin/nologin -d /o

  • virtualbox虚拟机上安装centOS的网络配置详解

    最近接触hadoop,需要在在Linux上面开发,所以我装了一个virtualbox虚拟机,在该虚拟机上面安装了一个centOS系统.linux系统是装好了,但是网络配置却另人头疼.我主要是想让宿主机和虚拟机能够互相访问. 然后我就百度了一下,根据百度的结果一步一步的配置. 安装virtualbox之后它会在宿主机上面安装一个虚拟网卡,如图 双击它,查看详情,信息如图所示 在虚拟机上面配置网络我使用的是host-only方式,当然也可以使用桥接的方式,至于他们的区别,网上很多.虚拟机上面主要是使

  • CentOS7.2虚拟机上安装MySQL 5.6.32的教程

    1.MySQL 5.6.32 64位安装包下载 在官网http://dev.mysql.com/downloads/mysql/5.6.html#中使用迅雷下载MySQL 5.6.32 64位安装包下载: http://pan.baidu.com/s/1pLCiAmf 2.把下载文件通过SecureFX传递到/usr/local/src/目录中(虚拟主机CentOS7.2的IP为:192.168.1.11) 3.解压文件. cd /usr/local/src/ [root@localhost s

  • centos设置fqdn(全称域名)和hostname的方法

    查看 复制代码 代码如下: [root@rdo ~]# hostnamerdo[root@rdo ~]# hostname -frdo.test.com 要实现这个效果,需要修改两个文件 编辑 /etc/sysconfig/network ,你需要加入一行,记住HOSTNAME,必须大写. 复制代码 代码如下: # cat /etc/sysconfig/networkNETWORKING=yesHOSTNAME=rdo 编辑 /etc/hosts,增加一行 复制代码 代码如下: 192.168.

  • centos 6.6 安装 KVM 虚拟机的方法

    KVM是指基于Linux内核的虚拟机(Kernel-base Virtual Machine),增加到Linux内核是Linux发展的一个重要里程碑,这也是第一个整合到Linux主线内核的虚拟化技术.在KVM模型中,每一个虚拟机都是一个由Linux调度程序管理的标准进程,你可以在用户空间启动客户机操作系统,一个普通的Linux进程有两种运行模式:内核和用户,KVM增加了第三种模式:客户模式(有自己的内核和用户模式). 1 KVM虚拟机的管理工具 准确的来说,KVM仅仅是Linux内核的一个模块,

  • 基于centos 6.5使用varnish实现网站动静分离

    一.Varnish简介 Varnish是一款高性能.开源的反向代理服务器和缓存服务器,其开发者Poul-Henning Kamp是FreeBSD核心的开发人员之一. Varnish主要运行两个进程:Management进程和Child进程(也叫Cache进程). Management进程主要实现应用新的配置.编译VCL.监控varnish.初始化varnish以及提供一个命令行接口等.Management进程会每隔几秒钟探测一下Child进程以判断其是否正常运行,如果在指定的时长内未得到Chil

随机推荐