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 svm /proc/cpuinfo
检查AMD cpu 用grep vmx /proc/cpuinfo
如果没有任何输出,说CPU不支持。Intel 支持时输出如下图
确定CPU支持后还要记得打开bios允许cpu虚拟化支持,有些主板默认关闭。
2先建建立/virtual目录,用于存放img文件,也就是虚拟机硬盘,我们用dd命令建立。
[[email protected] ~]# mkdir /virtual/
[[email protected]~]#dd if =/dev/zero of=/virtual/vxcen6601.img oflag=direct bs=1M seek=4000 count=1
也可以用:dd f=/dev/zero of=/virtual/vxcen66601.img oflag=direct bs=1M count=4000
3 挂载光盘或ISO文件。
[[email protected]~]#mount /dev/cdrom /media
或者挂载iso文件
[[email protected]~]#mount -o loop /root/CentOS-6.6-x86_64-minimal.iso /media
4 接下来可以使用virt-install来安装
[[email protected]~]#setenforce 0 #先关闭SElinux
[[email protected]~]#virt-install -n vxcen6601 –r 256 --os-type=linux –nographi --cdrom=/media -f /virtual/vxcen6601.img
#以上命令中 –n就是虚拟机名 –r 虚拟内存 –os-type 系统类别(windows,linux,unix)
执行完上面命令后出现如下图所示,表示开始安装了。
当看到语言选择时,就可以像安装实体一机样安装了。如下图。
5检查虚拟机有没有安装成功,执行xm list命令,发现出了domain-o外,还多出了个domain,就是
Vxcen6601这个虚拟机。可以看到其内存为256M,名称为vxcen6601,状态为了b(blocked)。
到此,虚拟化安装成功
Xen 配置文件
Xen 全虚拟化安装很简单,接下来将要进行半虚拟化下安装虚拟机,再安装之前,来了解它的配置文件,这个对安装半虚拟化很有用。
再来看下centos6下xen 4.0
上图中xend-config.sxp为xen配置文件,可以设置xen虚拟机网络模式,内存等等,xmexample.*开头的文件为domain虚拟机实列模板。
vxcen6601这是刚刚用全虚拟化安装好一个domain虚拟机,我们可以参考xmexample模板来进一步那修改vxcen6601, 可以用vim打开如下图
Xen半虚拟化下安装虚拟机:
在cpu不支持虚拟化时,可以使用半虚拟化安装虚拟机,或者(cpu支持虚拟化)想体验半虚拟化性能也可全使用半虚拟化安装虚拟机。
半虚拟化安装方法有好几种,这里介绍通过http,ftp,nfs的安装方法。
1 先搭建http服务器:yun install httpd
2 挂载光盘内容到 /media目录,并复制到 /mnt。再链接一份到http目录
[[email protected]~] #mount /dev/cdrom /media
[[email protected]~] #cp /media/* /mnt
3 修改http配置文件vim /etc/httpd/conf/httpd.conf中网站根目录为 /mnt,然后重启httpd服务。
[[email protected]~]# service httpd restart
4 建立本地rpo源,我们用createrepo这个软件。
接着以 /tmp下comps.xm目录为依据建立自己repodata
执行完上图中 createrepo命令,再次查看 /mnt,如下图,发现在又多出了一个repodata目录。
5 建立虚拟要存储硬盘, 并使用virt-install安装。
[[email protected]~]#dd if =/dev/zero of=/virtual/vxcen6602.img oflag=direct bs=1M seek=4000 count=1
[[email protected]~]#virt-install -n vxcen6602 –r 256 --os-type=linux –nographi -l /media -f /virtual/vxcen6602.img
此时也会像全虚拟化安装一样,会启动安装,也会出现语言选择,我们再按OK,跳到这里时是关键,如果还像全虚拟化那样用 Local cd/dvd 时会出错误,提示不持。
我们的想法是既然半虚拟化不持光盘和ISO安装,那就用它做引导,再用本地文件(前面复制过来的/mnt中文件)安装。
接下来的步骤就如用光盘安装一样了。不管是全虚拟化安装还是半虚拟化安装,安装完成都为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图形工具可以查看当前所有的虚拟机,以及状态,还可管理虚拟机(新建、开启、关闭,暂停等很多功能)。
本文是巧妙绝情一个字一个图打出来,参考了好多资料,感谢他们的分享,基于open source分享精神,转载请注明出出。
参考资料:
KVM的使用技巧
http://bbs.51cto.com/thread-619189-1.html
RHEL6 Xen4 Tutorial:http://wiki.xenproject.org/wiki/RHEL6_Xen4_Tutorial#Links_for_more_information
Xen Project Software Overview:http://wiki.xenproject.org/wiki/Xen_Overview#Host_and_Guest_Instal