1.环境介绍
操作系统:CentOS 6.4
2.安装CentOS操作系统
参照上一篇:服务器安装CentOS操作系统
3.安装所需的工具包
3.1 开发包
在终端中输入以下命令安装:
yum groupinstall "Development Tools"
yum install hmaccalc ncurses-devel zlib-devel openssl-devel python-devel
yum install bridge-utils libtool-ltdl xorg-x11-drv-evdev xorg-x11-drv-fbdev
yum install xorg-x11-drv-i810-devel xorg-x11-drv-via-devel xorg-x11-proto-devel
yum install xorg-x11-server-sdk xorg-x11-xtrans-devel libuuid-devel
yum install readline-devel gcc gcc-gfortran gcc-c++ flex pcre-devel
yum install blas-devel lapack-devel curl-devel bison gperf gnuplot
yum install texinfo-tex tetex-dvips
3.2 dev86
在终端中输入命令:
yum search dev86
可以查找到dev86的安装包dev86.i686(也可能是其他的dev86的安装包)
在终端中输入命令安装:
yum install dev86.i686
3.3 Intel ACPI CA
在主页下载源代码:http://acpica.org/downloads
解压、安装:
tar zxvf acpica-unix-20140816.tar.gz
cd acpica-unix-20140816
make
make install
3.4 libvirt
在终端中输入命令:
yum install libvirt
3.5 git
CentOS6的不用自己安装git,因为本身就有。其他版本的CentOS要自己安装:
wget http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
rpm -Uvh epel-release-5-4.noarch.rpm
yum install git
4.安装Xen
到主页下载Xen: http://www.xen.org/
注:在下载时要注意源码是否为SUPPORTED,如果为UNSUPPORTED则不要下载使用。
解压、编译、安装:
tar zxvf xen-4.2.5.tar.gz
cd xen-4.2.5
./configure
make world
make install
注:在./configure或者make时可能会有错误提示,提示缺少什么就安装什么
5.安装Linux内核
到主页下载内核:https://www.kernel.org/
解压:
xz -d linux-3.1.2.tar.xz
tar -xvf linux-3.1.2.tar
修改内核参数:
make menuconfig
在修改界面中将以下选项都选为“*”(移动要修改的项上,然后按Shift+y键即可修改为“*”):
Processor type and features ---> Paravirtualized guest support ---> Xen guest support、Enable Xen debug and tuning parameters in debugfs、Enable Xen debug checks
Device Drivers ---> block device ---> Xen virtual block device support、Xen block-device backend driver
Device Drivers ---> Network device support ---> Xen network device frontend driver、Xen backend network device
保存并退出,编译Linux内核:
make -j20
make -j20 modules
make -j20 module_install
make -j20 install
/sbin/depmod 3.1.2
6.配置Grub文件
更新Grub文件,添加Xen引导进入的引导项:
vim /boot/grub/grub.conf
进入grub文件后可以看到已经自动添加了Linux 3.1.2的引导项:
只需要再添加一个引导项,把上面的kernel和initrd换成module,然后添加一行kernel /xen-4.2.5.gz,如下:
在终端中输入reboot重启,用Xen引导进入,进入后在终端输入:
xl list
如果Xen安装成功会出现如下显示:
注:配置Grub文件后,重启时,出现了错误File Not Found。这个错误的出现是因为Grub文件配置错误,因为开始时kernel的路径为/boot/xen-4.2.5.gz,这个路径写错了,因为是直接在boot目录下找的,所以不用写前面的/boot,直接写kernel /xen-4.2.5.gz。
7.安装CentOS的虚拟机
在安装虚拟机之前,用以下命令检查CPU是支持半虚拟化还是全虚拟化:
grep hvm /sys/hypervisor/properties/capabilities --color=always
若有输出,则说明支持全虚拟化,以下是我的服务器的输出:
首先,查看自己的网桥情况:
brctl show
以下是我的网桥情况:
网桥名为virbr0,网桥名在以下配置文件中要用到。
网上下载CentOS 6.5的光盘镜像,下载的文件名为CentOS-6.5-x86_64-bin-DVD1.iso,放在路径/home(也可以放在其他路径下)下。在路径/home下创建虚拟机文件:
dd if=/dev/zero of=/home/hvm.img bs=1M count=8000
在/home下建立配置文件xencentOS.cfg,输入命令:
vim hvm1.hvm
输入以下配置内容:
import os, re
arch = os.uname()[4]
if re.search('64', arch):
arch_libdir = 'lib64'
else:
arch_libdir = 'lib'
device_module="/usr/lib/xen/bin/qemu-dm"
kernel = "/usr/lib/xen/boot/hvmloader"
builder='hvm'
memory = 2048
name = 'vm'
vcpus=4
acpi=1
apic=1
pae=1
vif = [ 'mac=00:25:90:0d:a0:b0,bridge=virbr0' ]
disk=['file:/vm/image1.hvm,hda,w','file:/root/Fedora-14-i386-DVD.iso,hdc:cdrom,r' ]
boot = 'dc'
serial= 'pty'
vnc=1
vncdisplay=1
vncunused=1
vnclisten="0.0.0.0"
on_reboot='restart'
on_crash='restart'
usb=1
usbdevice= 'tablet'
其中,vif的网桥输入自己的网桥名(用brctl show查出来的);disk定位刚才创建的hvm.img路径以及centOS 6.5的光盘镜像路径。
输入xm create hvm1.hvm创建虚拟机
用xl list查看:
输入命令xm vncviewer vm进入虚拟机,进入后就是系统的安装界面,这个过程与操作系统的安装类似,根据提示一步一步安装,安装成功后要修改虚拟机配置文件hvm1.hvm,修改结果如下:
import os, re
arch = os.uname()[4]
if re.search('64', arch):
arch_libdir = 'lib64'
else:
arch_libdir = 'lib'
device_module="/usr/lib/xen/bin/qemu-dm"
kernel = "/usr/lib/xen/boot/hvmloader"
builder='hvm'
memory = 2048
name = 'vm'
vcpus=4
acpi=1
apic=1
pae=1
vif = ['mac=00:25:90:0d:a0:b0,bridge=virbr0']
disk = ['file:/home/hvm.img,hda,w']
#disk = ['file:/home/hvm.img,hda,w','file:/home/CentOS-6.5-i386-bin-DVD1.iso,
hdc:cdrom,r']
#boot = 'dc'
serial= 'pty'
vnc=1
vncdisplay=1
所做的修改为:注释掉原来的boot和disk行,新添加了disk行。
此时,再输入xm vncviewer vm可以进入已经安装好操作系统的虚拟机了。
8.复制出另外一个虚拟机
复制镜像文件hvm.img为hvm2.img:cp -r hvm.img hvm2.img
复制配置文件hvm1.hvm为hvm2.hvm:cp -r hvm1.hvm hvm2.hvm
进入hvm2.hvm修改其中的name、disk和vif部分如下:
name = 'vm2'
vif = ['mac=00:25:90:0d:a1:10,bridge=br0'] //把mac地址随便修改一下
disk = ['file:/home/hvm2.img,hda,w']
输入命令xm create hvm2.hvm创建虚拟机,xl list查看:
进入虚拟机vm2:xm vncviewer vm2