Xen虚拟机在CentOS系统中的安装和使用方法

时间:2022-06-19 12:34:23

一、原理讲解

    虚拟化的概念:将服务器物理资源抽象成逻辑资源,让一台服务器变成几台甚至上百台相互隔离的虚拟服务器,我们不再受限于物理上的界限,而是让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>安装及使用

Xen虚拟机在CentOS系统中的安装和使用方法

2、打开“系统工具”,选择“虚拟系统

Xen虚拟机在CentOS系统中的安装和使用方法

3、选择“localhost”,鼠标右击“新建”  

Xen虚拟机在CentOS系统中的安装和使用方法

4、点击“前进” 

Xen虚拟机在CentOS系统中的安装和使用方法

5、虚拟机命名 

Xen虚拟机在CentOS系统中的安装和使用方法

6、选择系统架构,多数由CPU决定

Xen虚拟机在CentOS系统中的安装和使用方法

7、选择引导模式(ISO、PXE)

Xen虚拟机在CentOS系统中的安装和使用方法

8、指定位置

Xen虚拟机在CentOS系统中的安装和使用方法

9、指定硬盘大小(allocate entire virtual disk now 使用整个硬盘)

Xen虚拟机在CentOS系统中的安装和使用方法

10、指定网络

Xen虚拟机在CentOS系统中的安装和使用方法

11、指定内存大小

Xen虚拟机在CentOS系统中的安装和使用方法

12、虚拟机全部信息

Xen虚拟机在CentOS系统中的安装和使用方法

13、开始“创建”

Xen虚拟机在CentOS系统中的安装和使用方法

14、安装后台

Xen虚拟机在CentOS系统中的安装和使用方法

五、常见错误描述及解决办法

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