实验三:xen环境下的第一个虚拟机的安装
實(shí)驗(yàn)名稱:
xen環(huán)境下的第一個(gè)虛擬機(jī)的安裝
實(shí)驗(yàn)環(huán)境:
我們這里繼續(xù)上面實(shí)驗(yàn)二來完成這個(gè)實(shí)驗(yàn);
環(huán)境則是xen的安裝環(huán)境,如下圖:
開啟虛擬機(jī)的的硬件輔助虛擬化功能:
實(shí)驗(yàn)要求:
這里我們通過安裝busybox的微型Linux的操作系統(tǒng),正確安裝busybox,能作為xen環(huán)境下的虛擬機(jī)運(yùn)行;
能正常啟動,且配置網(wǎng)絡(luò),能連接到本地的橋接網(wǎng)卡上面來即可;
實(shí)驗(yàn)配置:
1、準(zhǔn)備磁盤映像文件
創(chuàng)建磁盤映像文件
mkdir /images/xen/ cd /images/xen/ qemu-img create -f raw /images/xen/busybox.img 2G格式化磁盤,并掛載使用該磁盤映像
mke2fs -t ext2 busybox.img du -sh busybox.img mount -o loop busybox.img /mnt因?yàn)槭翘摂M磁盤,通過du查看磁盤大小的時(shí)候并不是2G大小;
2、下載busybox系統(tǒng)文件,編譯安裝,提供根文件系統(tǒng)
這時(shí)候,我們需要去下載到busybox的源代碼文件,通過編譯安裝去獲取根文件系統(tǒng);
wget https://busybox.net/downloads/busybox-1.22.1.tar.bz2 tar xf busybox-1.22.1.tar.bz2 cd busybox-1.22.1/解壓好以后,暫時(shí)還不能編譯安裝,我們還需要為其制定編譯環(huán)境
yum grouplist yum groupinstall -y "Development Tools" yum install glibc-static -y此時(shí),如果通過make menuconfig進(jìn)入busybox的配置頁面就會報(bào)錯(cuò),如下圖:
此時(shí)我們還需要一個(gè)安裝包:
yum install ncurses-devel -y???????????? 錯(cuò)誤:在進(jìn)行 make menuconfig 命令的時(shí)候,看到如下錯(cuò)誤,是缺少ncurses-devel包我們需要 yum install ncurses-devel 來解決,如果是ubuntu的系統(tǒng),則需要sudo apt-get install libncurses5-dev來解決這個(gè)問題;
之后就可以通過make menuconfig來進(jìn)入busybox的配置界面,取消其關(guān)聯(lián)庫文件:
make menuconfig進(jìn)項(xiàng)編譯安裝系統(tǒng)
make && make install編譯安裝完成以后再目錄下面就會有“_install/”目錄,里面的文件就是我們需要的根文件系統(tǒng),此時(shí),我們需要將這個(gè)目錄下所有文件拷貝到磁盤映像目錄下面去,并測試,將根目錄切換過去,看是否能夠切過去,如果能,則正常,不能,則可能是編譯安裝出錯(cuò),需要嘗試進(jìn)行重新編譯安裝;
cp -a _install/* /mnt/mkdir -pv /mnt/{boot,lib,lib64,home,sys,etc,var,tmp} chroot /mnt/ /bin/sh
3、提供domU的內(nèi)核文件和ramdisk
這里我們必須使用centos6.0系統(tǒng)的內(nèi)核版本;
我們提供 2.6 的Linux kernel文件,以及與之匹配的ramdisk;
cd /boot/ln –sv vmlinuz-2.6.32-504.el6.x86_64 vmlinuz ln –sv initramfs-2.6.32-504.el6.x86_64.img initramfs.img
4、設(shè)置系統(tǒng)的配置文件,并啟動系統(tǒng)
復(fù)制虛擬機(jī)的配置文件
cd /etc/xen/ cp xlexample.pvlinux busybox修改虛擬機(jī)的配置文件
vim busyboxname = "busybox10"kernel = "/boot/vmlinuz"ramdisk = "/boot/initramfs.img"root = "/dev/xvda ro"extra = "selinux=0 init=/bin/sh"memory = 256vcpus = 2#vif = [ 'bridge=br0' ] #先不用配置網(wǎng)絡(luò),在后面在進(jìn)行網(wǎng)絡(luò)配置disk = [ '/images/xen/busybox10.img,raw,xvda,rw' ]? 啟動虛擬機(jī)
xl create busybox -c這樣就能進(jìn)入到虛擬機(jī)中了,在虛擬機(jī)中可以使用一些基本的Linux命令
ls ip addr這里,我們可以看到,虛擬機(jī)中沒有網(wǎng)卡
5、添加網(wǎng)橋,給虛擬機(jī)加載前端驅(qū)動程序
此時(shí),我們需要為虛擬機(jī)去添加網(wǎng)絡(luò)
rpm -ql bridge-utils #如果沒有該工具,我們就需要yum install bridge-utils brctl addbr br0 brctl addif br0 eno16777736有了虛擬網(wǎng)橋br0后,我們就需要為虛擬機(jī)配置網(wǎng)卡信息
cd /etc/xen/ vim busyboxvif = [ 'bridge=br0' ] #這時(shí)候就可以將網(wǎng)卡添加到虛擬機(jī)
? 同時(shí),我們還需要將網(wǎng)卡前端驅(qū)動程序復(fù)制到busybox的目錄下面去,這里的ko文件由自己提供的
cp /root/xen-netfront.ko /mnt/lib/最后進(jìn)入到虛擬機(jī)中加載驅(qū)動程序,再配置網(wǎng)卡即可
#在busybox中的操作:insmod /lib/xen-netfront.ko ip addr ip addr add 192.168.238.100/24 dev eth0
再將本地網(wǎng)卡eno16777736也添加網(wǎng)橋中,這樣本地網(wǎng)絡(luò)就與真實(shí)網(wǎng)絡(luò)相同了
brctl addif br0 eno16777736 ifconfig br0 192.168.238.101/24 up #給網(wǎng)橋配置IP地址此時(shí),虛擬網(wǎng)橋地址和本地vmnet8以及虛擬機(jī)的eth0就處于同一個(gè)網(wǎng)段了;
6、測試網(wǎng)絡(luò)
實(shí)驗(yàn)結(jié)果:
?
轉(zhuǎn)載于:https://www.cnblogs.com/BurnovBlog/p/10749770.html
總結(jié)
以上是生活随笔為你收集整理的实验三:xen环境下的第一个虚拟机的安装的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网络编程-计算机网络
- 下一篇: docker-elk装IK自定义分词库