一、安装XEN服务
yum install kernel-xen xen #这一命令将下载并安装以下程序包及其依赖包:
kernel-xen:该程序包存放的是主机操作系统和客户操作系统以及系统管理程序所用的Xen内核。
xen:该程序包存放的是跟Xen系统管理程序交互的用户空间工具。
bridge-utils :该程序包存放的是用于配置以太网桥的实用程序,以太网桥的作用是将多个以太网设备连在一起。
libvirt :该程序包存放的是一个C库,它提供了使用Xen框架所需的应用编程接口API 。
libvirt-python :该程序包存放的是一个Python 模块,有了它就可以让Python 应用程序使用libvirt提供的Xen框架应用编程接口。
Python-virtinst :该程序包存放的是一个Python 模块,该模块使用libvirt在虚拟机内安装Fedora /Red Hat Enterprise Linux 。
Xen-libs :该程序包存放的是Xen的管理程序所需的程序库
2、修改Linux内核
vim /boot/grub/grub.conf 修改其中default=1改为default=0
安装完毕XEN以后,Xen内核已经在grub.conf中了,但它并不是默认引导的内核。因为default=1,也就是说默认引导的内核是第二个内核,即常规的Linux内核。这样,要想使用Xen内核,要么在引导期间通过grub的菜单手工引导它,或者干脆在grub.conf文件中将它设为默认引导的内核,这样可以一劳永逸。我们选择第二种方式,这种方法需要修改/boot/grub/grub.conf,将default=1改为default=0。这样就把系统默认引导的内核从Fedora内核改成了Xen内核。注意,执行这步时,需要具有root权限。
3、重启系统 现在我们仍然在使用常规内核,而非刚安装的Xen内核。为了启用新的内核,我们需要重新启动系统。
4、机器重启后,在硬件平台上运行的已不是原来的CentOS,而是我们新安装的Xen系统管理程序,可以用以下命令查看正在运行的内核的版本
uname -rm
5、Xen中用来管理Domain的是守护进程xend,我们可以使用/etc/rc.d/init.d/xend 脚本来启动和停止该守护进程。
6、Xend运行后,它会启动一个具有特权的Domain:Domain0,它实际上就是原先的Fedora Core 6,只不过它现在是在一层软件即Xen系统管理程序上而非硬件之上运行。若要查看Domain0是否已经创建好,并已经运行,可以使用xm 命令
常用的命令:
xm list 查看当前机器里的全部虚拟机列表
xm create xxxx 启动名字为xxx的虚拟机
xm shutdown xxx
xm reboot xxx
xm pause xxx
xm resuem xxx
需要管理登入的时候:
xm console xxxx
就可以像在本机一样操作虚拟机了,如果要退出到Domain-0,按住Ctrl+] 就行
硬盘不够可以添加,添加了以后不用重启,直接生效,和插u盘一个效果
xm block-list xxxx 查看xxx虚拟机的可用硬盘设备
7、xen的硬件支持性
首先,xen分为全虚拟化和办虚拟化两种。可以用命令来查询对XEN的硬件支持。
半虚拟化的硬件支持
cat /proc/cpuinfo | grep flags
flags : fpu tsc msr pae ***********************************
如果输出的flags :后面有带pae的字段。说明硬件支持Xen半虚拟化
全虚拟化的CPU硬件支持(分为支持Intel的VT技术和支持AMD的svm技术)
如果输出的flags :后面有带vmx的字段。说明硬件支持Xen的VT全虚拟化
如果输出的flags :后面有带svm的字段。说明硬件支持Xen的svm全虚拟化
二、安装一个全新的xen虚拟机
首先,需要制作一个安装源。由于半虚拟化的xen只支持ftp、http、nfs三种远程安装模式。考虑到本机安装的便捷性。我们可以建立NFS文件共享服务来制作安装源
首先,编辑exports配置
vi /etc/exports
/mnt/cdrom *(ro)
然后,挂载ISO镜像文件到NFS共享的目录/MNT/CDROM下
mount -o loop -t iso9660 CentOS-5.4-i386-bin-DVD.iso /mnt/cdrom
打开NFS服务
/etc/init.d/portmap start
/etc/init.d/nfs start
/etc/init.d/nfslock start
查看NFS服务状态
showmount -e localhost
Export list for localhost:
/mnt/cdrom *
制作用来存放虚拟机的镜像文件
dd if=/dev/zero of=/opt/xen/virt1.img bs=1G count=10 生成的文件大于10G
NFS服务安装
virt-install -n virt1 -r 512 --vcpus=2 -f /opt/xen/virt1.img --nographics -l nfs:(nfs服务器IP):/mnt/cdrom
HTTP服务安装
mkdir -p /var/www/html/yum/base
mount /dev/cdrom /var/www/html/yum/base
virt-install -n virt1 -r 512 --vcpus=1 --file=/xen/virt1.img --nographics -l
http://HTTP服务器IP/yum/base 进入正常安装CentOS的界面。一切都与正常安装没有什么区别
需要注意的几点
1、特别注意我们刚才建立了一个8GB的镜像文件,这个8GB的镜像文件在虚拟机的硬盘上表现为/dev/xvda。
我们知道,在安装的时候最重要的两个partition 为 /与swap,所以需要进行分区
确保在最后要安装的硬盘分区界面下为
xvda1 1 *** **** ext3
xvda2 *** *** **** swap
2、使用NFS作为安装源,尽管是本机安装,也不要用127.0.0.1作为安装地址
3、安装时候特别注意要打开相应的NFS共享文件的端口(当然,如果嫌麻烦的话可以先关掉iptables再开始安装)
4、如果出现iso文件挂载不上的情况。请检查是否iso文件有损坏
5、由于是半虚拟化的虚拟机,此种虚拟机几乎不支持对于其他机器的移植,完全依赖于宿主机的虚拟环境,如果需要移植的话,需要更改相应的大量配置以适应新宿主机的硬件环境。
6、 一定要关闭iptables selinux(如果不关防火墙可能会出现 Unable to retrieve …的问题)
Xen虚拟机克隆 #virt-clone -o VM_S -n VM_D -f /var/lib/libvirt/images/VM_D
注:-o原虚拟机,-n克隆的虚拟机,-f存放位置克隆前关闭被克隆的VM_S以及虚拟系统管理器,克隆成功后需更改VM_D的主机名,以避免管理混乱。...
三、调整虚拟机
修改虚拟机配置文件 /etc/xen/virt1 然后关闭再开启。