xen半虚拟化(准虚拟化)下安装虚拟机


 Xen的安装方法可以参考Xen在centos5.x和centos6.x下安装方法,本文主要以centos5.8和centos6.6为主介绍虚拟机安装放法。

  • Xen全虚拟化下安装虚拟机
  • Xen 配置文件
  • Xen半虚拟化下安装虚拟机
  • 常用命令行管理工具
  • Virt-manager图形工具

 

Xen全虚拟化下安装虚拟机:

   全虚拟化的安装比较简单,可以支接用光盘或ISO文件安装,而半虚拟化不能用光盘或ISO文件安装。

安装方法如下(适用于centos5.x和centos6.x):

1在使用全虚拟化之前,先检查CPU中虚拟化功能的是否支持,即具有VT功能的Intel CPU和具有AMD-V功能的AMD CPU。只可在具有虚拟化支持的CPU上且开启的情况下,使用全虚拟化。

   检查intel cpu用 grep vmx  /proc/cpuinfo

检查AMD cpu 用grep svm  /proc/cpuinfo

如果没有任何输出,说CPU不支持。Intel 支持时输出如下图

网卡半虚拟化和e1000区别 xen半虚拟化_运维

确定CPU支持后还要记得打开bios允许cpu虚拟化支持,有些主板默认关闭。

2先建建立/virtual目录,用于存放img文件,也就是虚拟机硬盘,我们用dd命令建立。

[root@test02 ~]# mkdir /virtual/

[root@test02~]#dd  if =/dev/zero  of=/virtual/vxcen6601.img  oflag=direct  bs=1M  seek=4000 count=1

也可以用:dd if=/dev/zero  of=/virtual/vxcen66601.img  oflag=direct  bs=1M  count=4000

3挂载光盘或ISO文件。

[root@test02~]#mount  /dev/cdrom  /media

或者挂载iso文件

[root@test02~]#mount  -o  loop  /root/CentOS-6.6-x86_64-minimal.iso  /media

4接下来可以使用virt-install来安装

[root@test02~]#setenforce  0                       #先关闭SElinux

[root@test02~]#virt-install -n vxcen6601 –r 256  --os-type=linux –nographi  --cdrom=/media  -f /virtual/vxcen6601.img

 #以上命令中 –n就是虚拟机名 –r 虚拟内存 –os-type 系统类别(windows,linux,unix)

执行完上面命令后出现如下图所示,表示开始安装了。

网卡半虚拟化和e1000区别 xen半虚拟化_开发工具_02

当看到语言选择时,就可以像安装实体一机样安装了。如下图。

网卡半虚拟化和e1000区别 xen半虚拟化_虚拟化_03

5检查虚拟机有没有安装成功,执行xm list命令,发现出了domain-o外,还多出了个domain,就是

Vxcen6601这个虚拟机。可以看到其内存为256M,名称为vxcen6601,状态为了b(blocked)。

网卡半虚拟化和e1000区别 xen半虚拟化_运维_04


   到此,虚拟化安装成功

 

Xen 配置文件

   Xen 全虚拟化安装很简单,接下来将要进行半虚拟化下安装虚拟机,再安装之前,来了解它的配置文件,这个对安装半虚拟化很有用。

网卡半虚拟化和e1000区别 xen半虚拟化_开发工具_05

再来看下centos6下xen 4.0

网卡半虚拟化和e1000区别 xen半虚拟化_开发工具_06

  上图中xend-config.sxp为xen配置文件,可以设置xen虚拟机网络模式,内存等等,xmexample.*开头的文件为domain虚拟机实列模板。

vxcen6601这是刚刚用全虚拟化安装好一个domain虚拟机,我们可以参考xmexample模板来进一步那修改vxcen6601, 可以用vim打开如下图

网卡半虚拟化和e1000区别 xen半虚拟化_虚拟化_07

 

Xen半虚拟化下安装虚拟机:

   在cpu不支持虚拟化时,可以使用半虚拟化安装虚拟机,或者(cpu支持虚拟化)想体验半虚拟化性能也可全使用半虚拟化安装虚拟机。

   半虚拟化安装方法有好几种,这里介绍通过http,ftp,nfs的安装方法。

   1 先搭建http服务器:yun install httpd

   2 挂载光盘内容到 /media目录,并复制到 /mnt。再链接一份到http目录

[root@rd168~] #mount  /dev/cdrom /media

[root@rd168~] #cp /media/*  /mnt

   3 修改http配置文件vim /etc/httpd/conf/httpd.conf中网站根目录为 /mnt,然后重启httpd服务。

  

网卡半虚拟化和e1000区别 xen半虚拟化_虚拟化_08

    [root@rd168~]# service httpd restart

   4 建立本地rpo源,我们用createrepo这个软件。

网卡半虚拟化和e1000区别 xen半虚拟化_虚拟化_09

   接着以 /tmp下comps.xm目录为依据建立自己repodata

网卡半虚拟化和e1000区别 xen半虚拟化_虚拟化_10

   执行完上图中 createrepo命令,再次查看 /mnt,如下图,发现在又多出了一个repodata目录。

网卡半虚拟化和e1000区别 xen半虚拟化_虚拟化_11

5 建立虚拟要存储硬盘, 并使用virt-install安装。

    [root@rd168~]#dd  if =/dev/zero  of=/virtual/vxcen6602.img  oflag=direct  bs=1M  seek=4000 count=1

[root@rd168~]#virt-install -n vxcen6602 –r 256  --os-type=linux –nographi  -l /media

此时也会像全虚拟化安装一样,会启动安装,也会出现语言选择,我们再按OK,跳到这里时是关键,如果还像全虚拟化那样用 Local cd/dvd 时会出错误,提示不持。

网卡半虚拟化和e1000区别 xen半虚拟化_开发工具_12

我们的想法是既然半虚拟化不持光盘和ISO安装,那就用它做引导,再用本地文件(前面复制过来的/mnt中文件)安装。

网卡半虚拟化和e1000区别 xen半虚拟化_运维_13

接下来的步骤就如用光盘安装一样了。不管是全虚拟化安装还是半虚拟化安装,安装完成都为BRIDGE模式,除非你有修改过/etc/xen/xend-config.sxp配置文件


常用命令行管理工具

1.xm命令

可以使用xm 命令来启动停止虚拟机启动虚拟机命令如下:
xm create vm1       #其中vm1 为虚拟机的配置文件,位于/etc/xen/vm/vm1
xm create -c vm1    #如果需要启动控制台,则可以运行命令
xm list             #可以列出所有的虚拟机
xm console <domid>  #可以显示某虚拟机的控制台
xm reboot  <domid>  #可以重起id 为domid 的虚拟机
xm shutdown <domid> #可以关闭id 为domid 的虚拟机
xm destroy <domid>  #可以销毁id 为domid 的虚拟机
xm console fc5      #从终端或控制台登录正在运行的虚拟操作系统
xm save <DomId> <File> # 存储正在运行的虚拟操作系统的状态
xm restore <File>   # 唤醒虚拟操作系统
xm pause <DomId>    #停止正在运行的虚拟操作系统
xm unpause <DomId>  #激活停止的虚拟操作系统
xm mem-set <DomId> <Mem> #调整虚拟平台/虚拟操作系统的占用内存
xm shutdown 虚拟操作系统的Name或DomID #关闭被虚拟的系统
xm destroy <DomId>  #立即停止虚拟的系统(重要);
xm vcpu-set <DomId> <VCPUs> #调整虚拟平台及虚拟操作系统的虚拟CPU个数
xm top 或 xentop    # 查看虚拟系统运行的状态

2. virsh的基本用法如下
virsh [COMMAND] [ARGS...]
另外需要注意的是,virsh提供两种执行模式: "直接模式(Direct Mode)"与"互动模式(Interactive Mode)"。在直接模式里,你必须在Shell中以参数、自变量的方式来执行virsh,如果在互动模式中,则virsh会提供一个提示字符串,你可以在该提示字符串后,输入要执行的命令。如果执行virsh没有指定任何参数或自变量则默认就是进入互动模式。
与xm一样,COMMAND也是 virsh提供的命令,常用的命令如下:
virsh常用命令如下:
命令说明
help      显示该命令的说明
quit      结束 virsh,回到 Shell
connect   连接到指定的虚拟机服务器
create    启动一个新的虚拟机
destroy   删除一个虚拟机
start     开启(已定义的)非启动的虚拟机
define    从 XML 定义一个虚拟机
undefine  取消定义的虚拟机
dumpxml   转储虚拟机的设置值
list      列出虚拟机
reboot    重新启动虚拟机
save      存储虚拟机的状态
restore   回复虚拟机的状态
suspend   暂停虚拟机的执行
resume    继续执行该虚拟机
dump      将虚拟机的内核转储到指定的文件,以便进行分析与排错
shutdown  关闭虚拟机
setmem    修改内存的大小
setmaxmem 设置内存的最大值
setvcpus  修改虚拟处理器的数量

Virt-manager图形工具

Virt-manager图形工具可以查看当前所有的虚拟机,以及状态,还可管理虚拟机(新建、开启、关闭,暂停等很多功能)。

网卡半虚拟化和e1000区别 xen半虚拟化_开发工具_14

网卡半虚拟化和e1000区别 xen半虚拟化_运维_15



本文是巧妙绝情一个字一个图打出来,参考了好多资料,感谢他们的分享,基于open source分享精神,转载请注明出出。

 

参考资料:

KVM的使用技巧

http://bbs.51cto.com/thread-619189-1.html

RHEL6 Xen4 Tutorialhttp://wiki.xenproject.org/wiki/RHEL6_Xen4_Tutorial#Links_for_more_information

Xen Project Software Overviewhttp://wiki.xenproject.org/wiki/Xen_Overview#Host_and_Guest_Instal




 


转载于:https://blog.51cto.com/qiaomiao/1608149