实验名称:

  xen环境下的第一个虚拟机的安装

实验环境:

  我们这里继续上面实验二来完成这个实验;

  环境则是xen的安装环境,如下图:

  开启虚拟机的的硬件辅助虚拟化功能:

  

实验要求:

  这里我们通过安装busybox的微型Linux的操作系统,正确安装busybox,能作为xen环境下的虚拟机运行;

  能正常启动,且配置网络,能连接到本地的桥接网卡上面来即可;

实验配置:

  1、准备磁盘映像文件

    创建磁盘映像文件

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

    因为是虚拟磁盘,通过du查看磁盘大小的时候并不是2G大小;

  2、下载busybox系统文件,编译安装,提供根文件系统

    这时候,我们需要去下载到busybox的源代码文件,通过编译安装去获取根文件系统;

wget https://busybox.net/downloads/busybox-1.22.1.tar.bz2
tar xf busybox-1.22.1.tar.bz2
cd busybox-1.22.1/

    解压好以后,暂时还不能编译安装,我们还需要为其制定编译环境

yum grouplist
yum groupinstall -y "Development Tools"
yum install glibc-static -y

    此时,如果通过make menuconfig进入busybox的配置页面就会报错,如下图:

    此时我们还需要一个安装包:

yum install ncurses-devel -y

错误:在进行 make menuconfig 命令的时候,看到如下错误,是缺少ncurses-devel包我们需要 yum install ncurses-devel 来解决,如果是ubuntu的系统,则需要sudo apt-get install libncurses5-dev来解决这个问题;

    之后就可以通过make menuconfig来进入busybox的配置界面,取消其关联库文件:

make menuconfig

    进项编译安装系统

make && make install

    编译安装完成以后再目录下面就会有“_install/”目录,里面的文件就是我们需要的根文件系统,此时,我们需要将这个目录下所有文件拷贝到磁盘映像目录下面去,并测试,将根目录切换过去,看是否能够切过去,如果能,则正常,不能,则可能是编译安装出错,需要尝试进行重新编译安装;

cp -a _install/* /mnt/mkdir -pv /mnt/{boot,lib,lib64,home,sys,etc,var,tmp}
chroot /mnt/ /bin/sh

  3、提供domU的内核文件和ramdisk

    这里我们必须使用centos6.0系统的内核版本;

    我们提供 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、设置系统的配置文件,并启动系统

    复制虚拟机的配置文件

cd /etc/xen/
cp xlexample.pvlinux busybox

    修改虚拟机的配置文件

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' ]  #先不用配置网络,在后面在进行网络配置disk = [ '/images/xen/busybox10.img,raw,xvda,rw' ]

    启动虚拟机

xl create busybox -c

    这样就能进入到虚拟机中了,在虚拟机中可以使用一些基本的Linux命令

ls
ip addr

    这里,我们可以看到,虚拟机中没有网卡

  5、添加网桥,给虚拟机加载前端驱动程序

    此时,我们需要为虚拟机去添加网络

rpm -ql bridge-utils      #如果没有该工具,我们就需要yum install bridge-utils
brctl addbr br0
brctl addif br0 eno16777736

    有了虚拟网桥br0后,我们就需要为虚拟机配置网卡信息

cd /etc/xen/
vim busybox    vif = [ 'bridge=br0' ]  #这时候就可以将网卡添加到虚拟机

    同时,我们还需要将网卡前端驱动程序复制到busybox的目录下面去,这里的ko文件由自己提供的

cp /root/xen-netfront.ko /mnt/lib/

    最后进入到虚拟机中加载驱动程序,再配置网卡即可

#在busybox中的操作:insmod /lib/xen-netfront.ko
ip addr
ip addr add 192.168.238.100/24 dev eth0

    再将本地网卡eno16777736也添加网桥中,这样本地网络就与真实网络相同了

brctl addif br0 eno16777736
ifconfig br0 192.168.238.101/24 up  #给网桥配置IP地址

    此时,虚拟网桥地址和本地vmnet8以及虚拟机的eth0就处于同一个网段了;

  6、测试网络

实验结果:

转载于:https://www.cnblogs.com/BurnovBlog/p/10749770.html

实验三:xen环境下的第一个虚拟机的安装相关推荐

  1. matlab simulink阶跃响应,实验三 SIMULINK环境下典型环节阶跃响应仿真及分析.pdf

    实验三 SIMULINK环境下典型环节阶跃响应仿真及分析 实验三 SIMULINK 环境下典型环节阶跃响应仿真及分析 一.实验目的 1.初步了解MATLAB 中SIMULINK 的使用方法 2.了解S ...

  2. 电脑访问不了虚拟机ftp服务器,解决win环境下访问本机虚拟机中centos7 ftp服务器的问题...

    inux搭建ftp服务器 1.安装软件: yum install vsftpd 2.修改配置文件vsftpd.conf: vim /etc/vsftpd/vsftpd.conf 把anonymous_ ...

  3. 实验七:Xen环境下cirrOS的安装配置

    实验名称: Xen环境下cirrOS的安装配置 实验环境: 这里的cirrOS和实验六中的busybox的启动方式相同,唯一的区别就是我们使用的cirrOS镜像中,已经包含了根文件系统.内核文件以及r ...

  4. 南工程c语言实验报告,Linux环境下-C语言编程实验报告(1)(总4页).doc

    Linux环境下-C语言编程实验报告(1)(总4页).doc 西 安 邮 电 大 学 (计算机学院)课内实验报告实验名称 Linux环境下 C语言编程 专业名称 网络工程班 级 1203班 学生姓名 ...

  5. vue在生产环境、测试环境和开发环境,三种环境下配置不同的api地址

    vue在生产环境.测试环境和开发环境,三种环境下配置不同的api地址 我们大多数在开发的时候,都会有三种环境,一个是开发环境,一个是测试环境,一个是生产环境,我们打包的时候需要根据不同的环境去加载不同 ...

  6. (二)win10环境下使用Hyper-V进行虚拟机创建

    win10环境下使用Hyper-V进行虚拟机创建 1. 写在前面 2. 开始配置 2.1 检查win10版本 2.2(A) 启用Hyper-V功能(企业版.专业版看这里) 2.2(B) 启用Hyper ...

  7. Anaconda 环境下 R 包 ggraph_1.0.2 安装小记

    由于微信不允许外部链接,你需要点击文章尾部左下角的 "阅读原文",才能访问文中链接. 记录一下今天在 Anaconda3 环境下 R==3.4.3 中安装 ggraph 的一些问题 ...

  8. osg linux 环境配置,Linux环境下jdk1.8的下载与安装

    Linux环境下jdk1.8的下载与安装 1.下载 Oracle官网下载相应的版本,官网地址:https://www.oracle.com/java/technologies/javase/javas ...

  9. win10+anaconda环境下pyqt5+qt tools+eric6.18安装及汉化过程

    最近需要用python编写一个小程序的界面,选择了pyqt5+eric6的配套组合,安装过程中遇到一些坑,特此记录.参考书籍是电子工业出版社的<PyQt5快速开发与实战>. 因为我使用an ...

最新文章

  1. nodejs-安装/helloworld/npm
  2. Paper:《Graph Neural Networks: A Review of Methods and Applications》翻译与解读
  3. php是做前端还是后端,在后端准备数据还是在前端操作? - php
  4. 【clickhouse】clickhouse表引擎之ReplacingMergeTree
  5. linux 查找并删除
  6. 「leetcode」763.划分字母区间【贪心算法】详细图解
  7. js || 和 的高级运用
  8. python遗传算法程序_python 如何实现遗传算法
  9. 软件测试——bug相关知识
  10. win10出现“以太网没有有效的ip配置”的问题
  11. PS-sixday-裁剪和切片(标尺使用)
  12. 红牛分公司数据part02
  13. 梅科尔工作室-李庆浩 深度学习 KNN算法与SVM算法
  14. 正反向隔离装置(网闸)
  15. 网络工程师----成长之路
  16. 混合罚函数法matlab报错,罚函数法MATLAB程序
  17. 新书推荐 |《机器学习:算法视角(原书第2版)》
  18. Java实现 洛谷 P1103 书本整理
  19. Python数据分析系列(2)——美国纽约皇后区空气质量分析
  20. Alibaba Sentinel是如何统计QPS实现限流的

热门文章

  1. linux的mysql修改用户密码与忘记密码的方法
  2. 加速ASP程序的显示速度
  3. Chrome中的from memory cache与from disk cache
  4. Ubuntu下配置samba实现文件夹共享
  5. 为什么只需要一个eden而需要两个survivor?
  6. 一个经典面试题:如何保证缓存与数据库的双写一致性?
  7. 面试题:SSH 和 SSM 两个框架的浅显的区别?
  8. Consul + fabio 实现自动服务发现、负载均衡
  9. 分解和合并:Java 也擅长轻松的并行编程!
  10. 佳能g3800故障灯说明书_汽车仪表灯的使用方法以及注意事项