XEN 最初是作为剑桥大学的一个项目,目前 XEN.ORG 社区在负责它的开发及维护,它已经在开源社区中得到了极大的发展。
XEN 是一种直接运行在硬件上一层软件,它可以让电脑硬件上同时跑多个用户的操作系统。由于对 x86, x86-64, Itanium, Power PC,
和 ARM 这些处理器的支持,所以 XEN 管理工具可以支持的操作系统有 Linux, NetBSD,FreeBSD,Solaris, Windows 和其他一些
运行在 XEN 上的正常的操作系统。
下面我将分3步讲解Fedora16下如何安装XEN虚拟机,并创建DomU:
建议:
在安装XEN时,为保证用户权限不受限避免出现权限错误,建议用root用户登录安装。
如不知道如何开启root用户登录,请阅读《设置Fedora能够使用root用户登录》
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
安装好Fedora16后,先对其进行适当配置再进行XEN的安装,可提高XEN安装的成功率。
[root@localhost ~]$ chkconfig network on
[root@localhost ~]$ /etc/init.d/network start
[root@localhost ~]$ gedit /etc/selinux/config
# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of these two values: # targeted - Targeted processes are protected, # mls - Multi Level Security protection. SELINUXTYPE=targeted
[root@localhost ~]$ gedit /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 127.0.0.1 f16 localhost.localdomain
[root@localhost ~]$ yum update
[root@localhost ~]$ chkconfig iptables off
[root@localhost ~]$ chkconfig ksmtuned off
[root@localhost ~]$ reboot
重启选择新内核登录后,就可以安装XEN了,在安装XEN之前,我们先安装一些XEN运行时可能会用到到包。
[root@localhost ~]$ yum groupinstall "Development Libraries"
[root@localhost ~]$ yum groupinstall "Development Tools"
[root@localhost ~]$ yum install transfig wget texi2html libaio-devel dev86 glibc-devel e2fsprogs-devel gitk mkinitrd iasl xz-devel bzip2-devel
pciutils-libs pciutils-devel SDL-devel libX11-devel gtk2-devel bridge-utils PyXML qemu-common qemu-img mercurial
[root@localhost ~]$ yum install glibc-devel.i686
[root@localhost ~]$ yum install xen
[root@localhost ~]# /etc/init.d/xenconsoled start
[root@localhost ~]# /etc/init.d/xend start
[root@localhost ~]# /etc/init.d/xendomains start
[root@localhost ~]# /etc/init.d/xencommons start
[root@localhost ~]# /etc/init.d/xenstored start
[root@localhost ~]# /etc/init.d/libvirtd start
[root@localhost ~]$ reboot
重启进入Dom0后,就可以创建DomU了,在创建之前我们先看一下XEN的相关信息。
[root@localhost ~]$ xm info
[root@localhost ~]$ xm list
Name ID Mem VCPUs State Time(s)
Domain-0 0 1024 4 r----- 3454.4
[root@localhost ~]$ yum install virt-manager libvirt virt-viewer
[root@localhost ~]$ /etc/init.d/libvirtd
创建DomU时,我们必须为其指定存储磁盘,我打算把我的DomU存储在通过LVM逻辑卷管理的物理磁盘上,故在创建DomU之前必须为其创建磁盘。
有关LVM方面的知识可参阅《Linux LVM逻辑卷管理技术》。
这里我将在卷组VolGroup上创建两个磁盘,一个用来存放windows xp(全虚拟化),一个用来存放fedora16(半虚拟化)。
查看卷组的信息:
[root@localhost ~]# vgdisplay
--- Volume group --- VG Name VolGroup System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 6 VG Access read/write VG Status resizable MAX LV 0 Cur LV 5 Open LV 3 Max PV 0 Cur PV 1 Act PV 1 VG Size 628.28 GiB PE Size 32.00 MiB Total PE 20105 Alloc PE / Size 9853 / 307.91 GiB Free PE / Size 10252 / 320.38 GiB VG UUID uHVReI-R06i-hYZL-IU7M-Xm7q-TcBm-vb9YqH卷组名为VolGroup,总大小为628.28G,空闲大小为320.38G,当前逻辑卷个数(Cur LV)5个。
创建xp的逻辑卷:
[root@localhost ~]$ lvcreate -nxpos -L40G /dev/VolGroup //在卷组VolGroup上创建了一个名为xpos,大小为40G的逻辑卷
[root@localhost ~]$ lvdisplay /dev/VolGroup/xpos //显示逻辑卷xpos的相关信息
创建fedora16的逻辑卷:
[root@localhost ~]$ lvcreate -nfedora16 -L50G /dev/VolGroup //在卷组VolGroup上创建了一个名为fedora16,大小为50G的逻辑卷
[root@localhost ~]$ lvdisplay /dev/VolGroup/fedora16
XEN虚拟机可进行两种虚拟化:
半虚拟化(para-virtulization):这种虚拟化可以虚拟经过修改过的DomU操作系统,只能通过网络http,ftp,nfs方式创建DomU,不能使用iso镜像文件。
全虚拟化(full-virtulization):这种虚拟化可以虚拟未经修改的DomU操作系统,如windows,既可通过网络也可以通过iso镜像文件或光驱。
DomU的磁盘创建好后,就可以在磁盘上创建DomU了,可分为两种方式:
下面分别介绍两种创建方法。
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
启动虚拟机管理器
[root@localhost ~]$ virt-manager
[root@localhost ~]$ virt-install -n f16 -r 1024 --vcpu=1 -f /dev/VolGroup/fedora16 --vnc -p -l "http://mirrors.163.com/fedora/releases/16/Fedora/i386/os/"
说明:
-n : DomU的名称
-r : DomU的内存
--vcpu : 虚拟CPU个数
-f : 通过LVM管理的fedora16逻辑卷
--vnc : 通过vnc来连接DomU
-p : 半虚拟化
-l : 网络地址,系统安装的根目录