虚拟机上装Xen
过年前就买了一条4G的笔记本内存,目的就是为了日后可以很方便做实验。
今天就动手吧,笔记本是6G内存。有点惭愧,整天谈Xen,虚拟化,还真的是第一次装Xen。都是靠吃以前vmware时候学的那点老本。
vmware workstation 7.0,win7 64bit ,CentOS 5.5
1:装centOS
这个过程倒是简单,还是老办法,最小化安装。安装过程没有装Xen的组件
2:装Xen
这个过程折腾了一会,我本来打算用光盘的iso安装,这样快,没有想到,Centos5.5,分成两张光盘,Xen的包,应该是在另外一张光盘里,我还没有下载。
折腾半天,就改成用网易的源来装。
速度倒是很快,
yum grouplist
yum groupinstall virtualization
这样就装完Xen,不过需要修改grub,让他默认就启动Xen的内核
编辑 /boot/grub/grub.conf
#boot=/dev/sda
#default=1
default=0
把1改成0,重启就ok。
检查是否生效
[root@centos ~]# uname -r
2.6.18-194.32.1.el5xen
这样就完成安装Xen。
3:安装Xen 上的第一个操作系统,
当然还是装一个centos,步骤比较简单
mkdir /vm
cd /vm
virt-install -n vm01 -r 512 -f /vm/vm01.img -s 4 --nographics -p -l http://mirrors.sohu.com/centos/5.5/os/x86_64/
如果没啥意外,就会开始安装过程。
装完后,基本就可以参考下面的文章进行处理。
http://www.vpsee.com/2009/07/install-xen-on-centos/
下面我将分3步讲解Fedora16下如何安装XEN虚拟机,并创建DomU:
(一)安装前的配置
(二)安装XEN虚拟机
(三)创建DomU
建议:
在安装XEN时,为保证用户权限不受限避免出现权限错误,建议用root用户登录安装。
如不知道如何开启root用户登录,请阅读《设置Fedora能够使用root用户登录》 http://www.linuxidc.com/Linux/2011-12/48728.htm
--------------------------------------------------------------------
(一)安装前的配置
安装好Fedora16后,先对其进行适当配置再进行XEN的安装,可提高XEN安装的成功率。
1)配置网络服务,使其自动启动
[root@localhost ~]$ chkconfig network on
[root@localhost ~]$ /etc/init.d/network start
2)关闭SELinux,编辑/etc/selinux/config文件,将SELINUX改为disabled,如下
[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
3)编辑/etc/hosts文件,为安装Fedora16时指定的主机名添加一项,如下
[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
4)更新Fedora16系统
[root@localhost ~]$ yum update
5)禁用防火墙
[root@localhost ~]$ chkconfig iptables off
6)禁用ksmtuned服务,但前和XEN不兼容
[root@localhost ~]$ chkconfig ksmtuned off
7)重启系统,选择最新的内核
[root@localhost ~]$ reboot
(二)安装XEN虚拟机
重启选择新内核登录后,就可以安装XEN了,在安装XEN之前,我们先安装一些XEN运行时可能会用到到包。
1)安装一些开发库和开发工具
[root@localhost ~]$ yum groupinstall "Development Libraries"
[root@localhost ~]$ yum groupinstall "Development Tools"
2)安装XEN运行时可能会用到的包
[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
3)所有必要的包都已安装,接着可以安装XEN和其依赖包
[root@localhost ~]$ yum install xen
4)启动相关服务
[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
5)重启进入XEN的Dom0
[root@localhost ~]$ reboot
(三)创建DomU
重启进入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
1)安装XEN虚拟机图形管理器
[root@localhost ~]$ yum install virt-manager libvirt virt-viewer
2)启动libvirtd服务
[root@localhost ~]$ /etc/init.d/libvirtd
3)创建DomU
创建DomU时,我们必须为其指定存储磁盘,我打算把我的DomU存储在通过LVM逻辑卷管理的物理磁盘上,故在创建DomU之前必须为其创建磁盘。
有关LVM方面的知识可参阅《Linux LVM逻辑卷管理技术》。 http://www.linuxidc.com/Linux/2011-12/48726.htm
这里我将在卷组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了,可分为两种方式:
i. 通过XEN虚拟机管理器图形化工具,即virt-manager。这种方式我将通过全虚拟化创建一个windows xp的DomU来讲解。
ii. 通过virt-install命令。这种方式我将通过半虚拟化创建一个Fedora16的DomU来讲解。
下面分别介绍两种创建方法。
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
i. 通过virt-manager创建DomU
启动虚拟机管理器
[root@localhost ~]$ virt-manager
- 在localhost(xen)上点右键
- 选择“新建”
- 输入DomU的名字
- 选择“本地安装介质(ISO映像或者光驱)
- 选择iso映像文件
- 设置内存和CPU
- 选择“选择管理的或者其它现有存储”
- 输入用来存放windows xp的LVM逻辑卷的路径,或者浏览选择:/dev/VolGroup/xpos
- 下一步打开高级选项
- 确保网络为“虚拟网络‘default':NAT”
- 虚拟类型为:xen(fullvirt)
- 构架为“i686”
- 点击“完成”,即会弹出安装界面,如下图。
- 我们在可终端里运行xm list命令查看创建的DomU
ii. 通过virt-install命令
[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 : 网络地址,系统安装的根目录
2
GO
ubuntu从11.10开始内核版本号到3了,也从这个版本内核开始重新支持xen了,不必重新编译内核了.
首先ubuntu不能是用wubi安装的,切忌.
其次,32位和64位系统的区别也很重要。64位按下面步骤很简单,32位就不同,因为xen需要开启pae,默认是没有开启的,所以32位ubuntu首先得执行下面这个命令:
sudo apt-get install linux-image-server
1.安装xen hypervisor.
sudo apt-get install xen-hypervisor-4.1 xen-utils-4.1 xenwatch xen-tools xen-utils-common xenstore-utils
这里xen-hypervisor-4.1要分32位、64位,64位系统用xen-hypervisor-4.1-amd64,32位用xen-hypervisor-4.1-i386.
当然用新力得(synaptic)找xen-hypervisor安装 会直接处理相关软件
这个时候查看/boot/grub/grub.cfg会看到启动列表里面就会有xen的启动项了
2.重启选择xen内核
命令xm info 可以查看虚拟机信息
3.重启后可能进去的是tty1(如果你进入的是正常的图形界面,这一步可以跳过,谢谢yan提醒)
这是因为独立显卡驱动的问题,先下载好在tty1下安装然后切换到tty7就ok了.
附:linux有7个工作组:tty1-7,其中tty1-6是命令模式,tty7是图形界面,我们destop版默认进入的就是tty7,用ctl+alt+F1/../F7可以切换工作组.
4.安装xen相关工具
sudo apt-get install virtinst virt-viewer virt-manager
5.配置xend
编辑/etc/xen/xend-config.sxp文件:
(xend-unix-server yes)
编辑~/.bashrc :
添加 export VIRSH_DEFAULT_CONNECT_URI=”xen:///”
6.创建虚拟机
运行软件virt-manager,这里图形界面就比较简单了,但是创建时因为相关资源路径问题可能会报以下错误
6.1 ******/usr/lib/xen/bin/qemu-dm:****
路径中xen应该是xen-4.1,解决办法如下
mkdir /usr/lib/xen -p
cp /usr/lib/xen-4.1/* -r /usr/lib/xen/
6.2 ****** libvirtError: POST操作失败: xend_post:来自 xen 守护进程的错误:****
查看日志 /var/log/xen/xend.log 和 /var/log/xen/qemu-dm-demo.log
日志显示/usr/share/qemu/keymaps/en-us could not be found, the keymaps ***
路径中qemu应该是qemu-linaro,解决办法如下
cp -r /usr/share/qemu-linaro/ /usr/share/qemu
这样创建过程基本没有问题了.