在CentOS下源码安装 Xen并搭建Windows虚拟机
?
前言
首先要感謝xing的幫助,在他的指導(dǎo)之下才完成環(huán)境的搭建,本文檔的部分內(nèi)容來(lái)自他的文檔。另外,還要感謝——互聯(lián)網(wǎng)。
?
1.?????? 環(huán)境介紹
Linux: CentOS 6.3
Xen: Xen 4.1.3
Windows: XP 或 2003
2.?????? 安裝CentOS
從官網(wǎng)下載CentOS 6.3鏡像:
http://www.centos.org/
這里直接給出清華的鏈接:
http://mirrors.tuna.tsinghua.edu.cn/centos/6.3/isos/i386/CentOS-6.3-i386-LiveCD.iso
光盤(pán)或U盤(pán)引導(dǎo),按照提示安裝完成即可。若用U盤(pán)安裝,這里推薦一個(gè)軟件,可以將安裝鏡像寫(xiě)到U盤(pán):UNetbootin,下載地址:http://unetbootin.sourceforge.net/,寫(xiě)入鏡像前最好先將U盤(pán)格式化。
3.?????? 安裝所需的工具包
3.1.???? 開(kāi)發(fā)包
在控制臺(tái)執(zhí)行下面命令安裝:
yum groupinstall "Development Tools" yum install hmaccalc ncurses-devel zlib-devel openssl-devel python-develyum install bridge-utils libtool-ltdl xorg-x11-drv-evdev xorg-x11-drv-fbdevyum install xorg-x11-drv-i810-devel xorg-x11-drv-via-devel xorg-x11-proto-develyum install xorg-x11-server-sdk xorg-x11-xtrans-devel libuuid-develyum install readline-devel gcc gcc-gfortran gcc-c++ flex pcre-develyum install blas-devel lapack-devel curl-devel bison gperf gnuplotyum install texinfo-tex tetex-dvips后面編譯時(shí)會(huì)要求用到這兩個(gè)包:
3.2.???? dev86
到主頁(yè)下載:http://www.debath.co.uk/dev86
這里直接給出bin包的下載鏈接:http://www.debath.co.uk/dev86/Dev86bin-0.16.19.tar.gz
解壓:
tar zxvf Dev86bin-0.16.19.tar.gz并將解壓出來(lái)的文件放到/usr路徑下
3.3.???? Intel ACPI CA
到主頁(yè)下載:http://acpica.org/downloads
下載源代碼,解壓,并安裝:
tar zxvf acpica-unix-20120816.tar.gzcd acpica-unix-20120816makemake install?
3.4.???? libvirt
還要安裝libvirt,這樣在xen安裝完后才會(huì)有橋接virbr0
yum install libvirt?
3.5.???? git
這里插一句,其實(shí)在CentOS6下不用手動(dòng)裝git,因?yàn)楸旧砭陀?#xff0c;但是在本人調(diào)研過(guò)程中也在CentOS 5.8下做過(guò)實(shí)驗(yàn),CentOS 5.8需要手動(dòng)裝git,因此也記錄下來(lái)。但本小節(jié)與本文無(wú)關(guān),CentOS 6的朋友可以跳過(guò)。
wget http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm rpm -Uvh epel-release-5-4.noarch.rpmyum install git?
4.?????? 安裝Xen
到主頁(yè)下載Xen: http://www.xen.org/
這里直接給出下載鏈接:http://bits.xensource.com/oss-xen/release/4.1.3/xen-4.1.3.tar.gz
4.1.???? 解壓、編譯、安裝
在此過(guò)程中會(huì)自動(dòng)聯(lián)網(wǎng)下載所需的東西,所以要保持網(wǎng)絡(luò)可用。
tar zxvf xen-4.1.3.tar.gzcd xen-4.1.3make xen tools stubdommake install-xen install-tools install-stubdom?
4.2.???? 添加啟動(dòng)項(xiàng)
/sbin/chkconfig --add xend/sbin/chkconfig --add xencommons/sbin/chkconfig --add xendomains/sbin/chkconfig xend on/sbin/chkconfig xendomains on/sbin/chkconfig xencommons on?
5.?????? 安裝Linux內(nèi)核
Xen需要更新Linux內(nèi)核,目前測(cè)試時(shí)使用的是Linux 3.1.2版本,其它版本沒(méi)試過(guò)。這里給出下載鏈接:http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.1.2.tar.bz2
下載并解壓:
wget http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.1.2.tar.bz2tar jxvf linux-3.1.2.tar.bz2在編譯之前,修改內(nèi)核參數(shù):
make menuconfig在修改界面中將以下位置的選項(xiàng)都選為“*”:
Processor type and features --- > Paravirtualized Guest Support Device Drivers ---> Xen driver support ---> Network device support ---> Xen backend network device Block devices ---> Xen block-device backend driver
配置好內(nèi)核參數(shù)以后,保存并退出,開(kāi)始編譯 Linux 內(nèi)核:
make -j4make -j4 modulesmake -j4 modules_installmake -j4 install/sbin/depmod 3.1.2加了參數(shù)“-j4”后,會(huì)使用4個(gè)CPU核來(lái)并行處理,這樣速度會(huì)快很多。若只有兩核可以使用“-j2”。
6.?????? 配置Grub
更新Grub,使用Xen來(lái)引導(dǎo):
vim /boot/grub/grub.conf在grub.conf中,已經(jīng)自動(dòng)添加了Linux 3.1.2的引導(dǎo)選項(xiàng),手動(dòng)添加一項(xiàng)引導(dǎo)選項(xiàng),將kernel和initrd換成module,添加一行kernel /xen.gz,其它選項(xiàng)與Linux 3.1.2的引導(dǎo)選項(xiàng)一致即可:
... title CentOS (3.1.2-xen) root (hd0,0) kernel /xen.gz module /vmlinuz-3.1.2 ro root=/dev/mapper/vg_livecd-lv_root module /initrd-3.1.2.img ...重啟,用Xen引導(dǎo)后,如果沒(méi)問(wèn)題,就會(huì)進(jìn)入CentOS了,此時(shí)驗(yàn)證Xen:
xm list若有類(lèi)似如下輸出,則Xen成功:
Name ID Mem VCPUs State Time(s) Domain-0 0 1886 2 r----- 79.6?
7.?????? 安裝Windows
7.1.???? 硬件支持驗(yàn)證
只有在全虛擬化下才能安裝Windows,這就需要有硬件支持,并在BIOS中開(kāi)啟Virtualization Technology的選項(xiàng)。
在安裝Xen之前,可以用以下命令檢查是否支持全虛擬化:
Intel CPU:
grep vmx /proc/cpuinfo --color=alwaysAMD CPU:
grep svm /proc/cpuinfo --color=always若有輸出,說(shuō)明支持全虛擬化。
在安裝了Xen之后,以上命令不起作用,因?yàn)橐呀?jīng)Xen屏蔽了。需要用以下命令:
grep hvm /sys/hypervisor/properties/capabilities --color=always若有輸出,則說(shuō)明支持全虛擬化,可以安裝Windows,以下是我電腦的輸出:
xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p?
7.2.???? 安裝
參考網(wǎng)上的教程,將xenbr0改為virbr0即可:
http://www.virtuatopia.com/index.php/Installing_and_Running_Windows_XP_or_Vista_as_a_Xen_HVM_domainU_Guest
如果看E文不方便的話,這里給出相對(duì)應(yīng)的教程。
首先,看看自己的網(wǎng)橋情況:
brctl show這是我的輸出:
bridge name bridge_id STP enabled interfacesvirbr0 8000.5254004d8e92 yes virbr0-nic說(shuō)明你的網(wǎng)橋正常,網(wǎng)橋名是:virbr0,這在下面的配置文件中要用到。
將Windows的光盤(pán)鏡像拷進(jìn)來(lái),假設(shè)文件是:winxp.iso
創(chuàng)建虛擬機(jī)文件,比如設(shè)為6G:
dd if=/dev/zero of=xenwin.img bs=1024k seek=6144 count=0建立配置文件xenwin.cfg:
vim xenwin.cfg在VI中輸入以下內(nèi)容:
import os, re arch = os.uname()[4] if re.search('64', arch):arch_libdir = 'lib64' else:arch_libdir = 'lib'kernel = "/usr/lib/xen/boot/hvmloader"builder='hvm'memory = 512 shadow_memory = 8 name = "xenhvm" vif = [ 'type=ioemu, bridge=virbr0' ] disk = [ 'file:/home/xenwin.img,hda,w', 'file:/home/winxp.iso,hdc:cdrom,r' ] device_model = '/usr/' + arch_libdir + '/xen/bin/qemu-dm' # boot on floppy (a), hard disk (c) or CD-ROM (d) # default: hard disk, cd-rom, floppy boot="dc"sdl=0 vnc=1 vncconsole=1 vncpasswd='' stdvga=0 serial='pty' usbdevice='tablet'其中vif的網(wǎng)橋輸入你電腦的網(wǎng)橋名;disk定位剛才創(chuàng)建的xenwin.img的路徑,以及Windows光盤(pán)鏡像的路徑。
配置文件創(chuàng)建完后,就可以開(kāi)啟虛擬機(jī)了:
xm create xenwin.cfg如果沒(méi)有問(wèn)題,會(huì)自動(dòng)打開(kāi)一個(gè)VNC的窗口,里面就是Windows的安裝界面了。
在Windows的安裝過(guò)程中會(huì)重啟,重啟造成VNC窗口關(guān)閉,但其實(shí)虛擬機(jī)正在后臺(tái)運(yùn)行,可以用以下命令打開(kāi)VNC窗口:
xm vncviewer xenhvm其中xenhvm是你虛擬機(jī)的名稱(chēng),可以在xm list中看到。
到此,本教程結(jié)束,祝大家成功!
?
轉(zhuǎn)載于:https://www.cnblogs.com/cxun/archive/2012/09/06/2673195.html
總結(jié)
以上是生活随笔為你收集整理的在CentOS下源码安装 Xen并搭建Windows虚拟机的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 爬虫前奏
- 下一篇: 《现代操作系统》精读与思考笔记 第七章