设为首页 收藏本站
查看: 1416|回复: 0

[经验分享] 安装双机xen以及测试

[复制链接]

尚未签到

发表于 2015-4-13 10:57:48 | 显示全部楼层 |阅读模式
  1 安装debian
  安装debian,从网上下载最新的debian CD镜像,我用的5.07,刻成盘,在服务器上安装,服务器有时候很多错误(比如发现不了硬盘,读光驱不行等等,我都郁闷死了,这几天装机比这20年装的都多。只能把硬盘放到别的服务器安装好了换回来),有时候还有网卡驱动(网卡比较老把)debian没有,只能自己用U盘拷贝,在安装的时候最好不要先安装好驱动,这样在后面apt自动配置的时候会花很长时间。另外,在安装好以后,最好先重启一次。注:我安装好关机后我就把硬盘换到另一个服务器,结果启不起来,师兄说重启会写一些东西进去的。
  配置网络,如果开始网卡没启动的话配置完了也不能上网,我就用万能的方法:重启系统。如果安装时候选则配的话,现在只要配置ip什么的就行了
  配置ip,vim /etc/network/interfaces,配置如下:
  auto eth0
  iface eth0 inet static
  address 192.168.5.202
  netmask 255.255.255.0
  gateway 192.168.5.1
  意思都明白吧,启用设备eth0,然后使用静态ip(因为实验室是静态ip),如果是动态的就可以配置成iface eth0 inet dhcp 就可以了。
  然后配置DNS :vim /etc/resolv.conf
  配置如下:nameserver 202.112.128.50
       nameserver 202.112.128.51
  配置好以后就需要重启网卡/etc/init.d/networking restart,如果出现Reconfiguring network interfaces...done.就说明eth0配置并重启成功。如果没有就需要检查错误了,其中看网络接口有没有插网线是用命令mii-tool,如果显示它no link说明没插网线。这里可以使用ifconfig来查看已启用的网络设备,用ifconfig -a查看存在的网络设备,有时候是不一样哦,比如有双网卡,eth0和eth1,但是eth1没有启用,在ifconfig命令下查看不到的。现在可以ping www.baidu.com查看外网如何
  然后配置源列表 vim /etc/apt/sources.list,下面是我的源列表
  deb http://debian.cn99.com/debian/ stable main non-free contrib(这个是cn99的源,比较好,速度比较快)
    #deb http://archive.debian.org/debian/ etch contrib main non-free(这个是美国的,主要在debian 4即etch版本有些软件cn99不再维护了,所以会用这个源)前面加“#"是注释掉这个源,使用的时候要去掉哦~
  配置好源以后需要更新一下,apt-get update,更新一下源列表。
  然后安装ssh,远程登录吗,谁也不愿意在机房守着,apt-get install ssh。安装好以后就回实验室远程登陆吧。
  2 安装debian package:

  • [gcc,gawk,libc6-dev,libncurses5-dev,libssl-dev,libx11-dev,gettext,python2.5-dev,zlib1g-dev]   都用apt-get install安装
  • 安装dev86 http://homepage.ntlworld.com/robert.debath/dev86/Dev86src-0.16.17.tar.gz
  • 下载后,cd soft.tar.gz所在的目录;tar -xzvf soft.tar.gz //一般会生成一个soft,然后cd soft,再make install
  • 注意,安装bridge-utils,xvnc4viewer,以后讲解不安装产生的错误。 如果没有这些软件。可以用apt-cache search vnc |more来查找软件,其中apt-cache search 是查找软件,more是一页页的看,可以用apt-cache search vnc |grep viewer,其中grep表示搜索的软件名字中还包括viewer
  3安装双机xen
  就是我们的系统,代码是xen修改的。先安装svn客户端
title Xen 3.2.0 from source

root (hd0,0)

kernel /boot/xen-3.2.0.gz hap gdb=com1                 (这个是编译生成的一个内核,其中hap代表页面扩展)

module /boot/vmlinuz-2.6.18-6-xen-686 root=/dev/sda1 ro   (这个是Domain 0的东东啦)

module /boot/initrd.img-2.6.18-6-xen-686                 (Domain 0的img)

然后设置 default         2  , default是默认启动的内核,这里是2,是因为我的这个内核在第3个,0代表是第1个

好,然后reboot就可以成功了 ,reboot之后,uname -a查看使用的是哪个内核

4启动双机xen

   有主节点和从节点,主节点安装vncserver(具体软件名是vnc4server),命令vncserver启动vnc,然后vncserver -kill :1(kill后面必须有空格)杀掉vnc进程,然后修改配置文件vim ~/.vnc/xstartup,在最后一行加上一句 gnome-session &(如果桌面是kde环境的 就用 startkde &,“&”表示在后台运行),然后修改hvm配置文件,主从节点是不一样的,主要是镜像吧,主节点是我们的guest os镜像,其中有5处需要改正,当时我有一处搞错了,然后好几天系统都起不来,哎,傻啊~

  然后xend start启动守护进程,有时会报错,发现缺少bridge-utils这个软件包,安装上就可以了,然后在vnc里面xm create hvm就可以了,就启动成功了,如果看启动日志可以cat /var/log/xen/qemu-dm-xx.log就行了(其中xx代表你启动第几次啦,可以看文件),如果跟踪启动过程就用tail -f /va/og/xen/qemu-dm-xx.log。
  5配置镜像
  我用的是已经存在的镜像,所以就不必制作镜像了,这里讲一下QEMU,先apt-get install qemu,关于qemu可以看看Qemu安装使用手册中文版,网上一搜遍地都是。这里只涉及到它的网络配置。如果想让镜像能够联网的话,需要配置tap,这里推荐两个博客http://tagche.blog.iyunv.com/649757/278314,http: //www.linuxsir.org/bbs/showthread.php?t=185418,看明白基本就懂了,不过我在这总结一下自己的心得。
  启动tap/tun模块
  使用TAP方式的前提是host的内核支持TAP/TUN。现在的linux发行版一般都通过内核模块的方式支持TAP/TUN。如果host存在 /dev/net/tun 设备文件,则说明它支持TAP/TUP,不支持的请网上搜,有解决方法。然后查看tun模块是否启动,lsmod |grep tun,一般是没有加载的,然后到这个目录下cd /lib/modules//kernel/drivers/net/ ,ls -lt tun*,发现有tun.ko模块,然后加载就可以了,insmod tun.ko,然后这个模块就启动了。
  然后编写QEMU的 tap初始化脚本,QEMU的tap 初始化脚本默认是/etc/qemu-ifup,内容很简单,就是
  #!/bin/sh
  sudo -p "Password for $0:" /sbin/ifconfig $1 192.168.1.2                                (注意一下这里的ip配置)
  然后为/etc/qemu-ifup增加可执行权限,chmod 755 qemu-ifup 就行,权限意义自己去了解,然后qemu挂在镜像启动
  qemu -hdc disk_szl.img -net nic -net tap
  -hdc是指定硬盘,使用文件disk_szl.img作为硬盘2(即hdc)的镜像,但是qemu默认的是hda,所以要指定一下,-net nic是创建一个网卡,-net tap是使用tap网络接口
  启动以后配置网络,先ifconfig -a看看启动的是哪个网络设备,一般是eth0,先前我犯了个比较2的错误,一直配置eth0,它一直报错没有eth0,我就想难道没有启动qemu模拟网卡?然后重挂载了好几次镜像,还是一样,充分发挥了NLP的“重复旧的做法,只会得到旧的结果”,然后ifconfig -a才发现它启动的是eth67,虽然很纳闷它为何是67,但的确是,然后很郁闷的配置了。配置ip  ifconfig eth0 192.168.1.3 netmask 255.255.255.0    添加网关 route add default gw 192.168.1.2  以我的经验,在没有ifup和ifdown文件的情况下,可以先ifconfig eth0 down,配置好ip和路由后,再ifconfig eth0 up,这样就能暂时性的使用网络,来拷贝ifup和ifdown    (用ifconfig命令设置网络,要求它的IP与host的tap网口的IP(即在上个步骤里qemu-ifup文件中设置的IP即 192.168.1.2)处于同一网段,但是有一点要注意,不能与你的host的ip网段一样。例如,我的电脑是192.168.5.101,然后你 tap接口配置成5网段,恭喜你,肯定启不起来)好,现在ping  192.168.1.2能ping通了,这样就可以拷贝文件了,主要是拷贝一些benchmark吗,哈哈,差不多到这里要结束了。但是,我发现,测试 unixbench的时候它需要time这个软件包,然后我只能再次配置外网,用apt-get install安装了
  虚拟机与互联网通信:
  1.开启主机路由功能 (就是让虚拟机通过主机这个伪路由连接外网啦~,明白吧)
  2.设定iptables,使主机成为一台nat server
  这些都是在host主机配置的,记住,不是虚拟机镜像啦~
  1. debian:~# echo 1 >/proc/sys/net/ipv4/ip_forward 这样就主机就具有了路由功能
  2. debian:~# iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j MASQUERADE
  这条规则意思是将来自192.168.1.0/24封包的来源ip伪装成eth0的ip,实现虚拟机与互联网通信。
  so easy吧,意思就是主机作为路由,然后所有来自虚拟机网段的信息都经过主机这个路由来连接互联网。
  到这可以了吗,当然不是,主机是配置好了,但是虚拟机它不知道它该把信息发到哪啊。什么,你觉得它就这一个接口就会把信息发到这个接口,拜托,做过网络实验课吗,配置过路由和交换机吗,额,貌似北航特色,算了
  恩,现在在虚拟机镜像上配置,其实就是加一条网关,让它知道把信息通过这条网关往外发。咱们的局域网不也是要通过网关吗。 route add default gw 192.168.1.2 eth0 (注:别忘记最后这个eth0哦),这里的这个网关ip就是host上面的那个配置脚本里面的ip,也就是host主机tap接口的ip啦,这样就可以了。 ok,ping www.baidu.com成功。
  ok,下次搞定了那些benchmark再接着写  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-56605-1-1.html 上篇帖子: Xen Guest中断简介 下篇帖子: Xen虚拟机的创建和启动
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表