热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CentOS6.5系统中xen虚拟机的安装和配置

一、环境系统:centOS6.3xen版本:4.1.2linuxkernel:3.1.2libvirt:0.7.7资源地址xen:http://bits.xensource.com/oss-xen/release/4.1.2/xen-4.1.2.tar.gzkernel:http://www.kernel.org/pu

 一、环境

系统:centOS6.3  

xen版本:4.1.2 

linux kernel:3.1.2 

libvirt:0.7.7  

资源地址

xen:http://bits.xensource.com/oss-xen/release/4.1.2/xen-4.1.2.tar.gz
kernel:http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.1.2.tar.bz2
libvirt:http://pkgs.fedoraproject.org/repo/pkgs/libvirt/libvirt-0.7.7.tar.gz/5f315b0bf20e3964f7657ba1e630cd67/libvirt-0.7.7.tar.gz
libvirt所有的版本:http://pkgs.fedoraproject.org/repo/pkgs/libvirt/  

xen和内核都是编译安装,libvirt也需要编译安装,因为6.0之后默认支持的虚拟化是KVM,源里面的libvirt默认是不支持xen的。
yum install libvirt 这种安装方式使用virt-install会出现错误:主机不支持任何虚拟化。
使用virt-manager会出现无法连接xen。  

1、初始化环境

yum update 

2、关闭selinux,xen不支持selinux。  

vi /etc/selinux/config 

SELINUX=disabled 

3、安装必备软件包

yum -y groupinstall "Development Libraries" 

yum -y groupinstall "Development Tools" 

yum -y install transfig wget texi2html libaio-devel dev86 glibc-devel e2fsprogs-devel gitk mkinitrd iasl xz-devel bzip2-devel pciutils-libs pciutils-devel SDL-devel libX11-devel gtk2-devel bridge-utils PyXML qemu-common qemu-img mercurial libidn-devel 

yum -y install glibc-devel.i686texinfo libuuid-devel iasl python-lxml 

yum -y install openssl openssl-devel 

yum -y install ncurses ncurses-* 

yum -y install python-devel 

yum -y install vim wget tcpdump ntp ntpdate man smartmontools links lynx ethtool xorg-x11-xauth 

4、安装xen  

tar zxvf xen-4.1.2.tar.gz 

cd xen-4.1.2 

make world 

make install 

             将xen加入启动脚本

/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、安装Linux3.1.2内核

linux3.0之后已经默认支持xen,所以3.0之后的版本不需要安装xen-kernel内核补丁,直接编译内核就可以。

 

tar jxf linux-3.1.2.tar.bz2 

cd linux-3.1.2 

make menuconfig 

参数配置:

Processor type and features --- > 

选中Paravirtualized Guest Support 

Device Drivers ---> 

XEN driver support ---> 

[ * ] Xen memory balloon driver 

[ * ] Scrub pages before returning them to system 

<*> Xen /dev/xen/evtchn device 

[ * ] Backend driver support 

<*> Xen filesystem 

[ * ] Create compatibility mount point /proc/xen 

[ * ] Create xen entries under /sys/hypervisor 

<*> userspace grant access device driver 

       在.config文件中做如下修改,我在创建虚拟机的时候出现vif0错误。查找网上的资料说是下面两个没有修改。

CONFIG_XEN_BLKDEV_BACKEND=m

CONFIG_XEN_NETDEV_BACKEND=m

 

编译安装

make -j6 

make -j6 modules 

make -j6 modules_install 

make -j6 install 

depmod 3.1.2 

注:-j参数是指定运行的线程数,没有用这个参数会慢特别多。建议使用节省编译时间。后面的数字根据自己的机器配置设置。详细参数可以查看man make

 

6、编译安装libvirt

tar -zxvf libvirt-0.7.7.tar.gz 

./configure 

make && make install 

运行程序

libvirt:libvirtd -d 

7、修改启动项,使用xen内核启动

vi /etc/grub.conf 

默认会有一个3.1.2的启动项。基本是是这样的:

title CentOS (3.1.2) 

root *** 

kernel /********** 

initrd /******** 

复制上面几行。title前面粘贴,在root和kernel之间插入一行kernel /xen.gz

修改kernel和initrd为module,修改后为:

title xen (3.1.2) 

root *** 

kernel /xen.gz 

modul /********** 

modul /******** 

然后修改default=N这个,查看修改的这个title xen是第几个title,第一个则修改为default=0

第二个修改为default=1,依次类推。

reboot

二、重启进入系统后:

xl list查看

出现下面这个证明安装好了。 

Name ID Mem VCPUs   State   Time(s) 

Domain-0 0 29762 8 r----- 3687.1 

1、xen网桥配置

显示xen网桥:brctl show

没有发现xenbr0虚拟网卡

xen4.1版本之后官方建议手动建立桥接网络。所以默认的/etc/xen/scripts/network-bridge 脚本是没有启动的。

(1)关闭xen网络脚本 

/etc/xen/scripts/network-bridge stop 

(2)修改xen配置文件 

vi /etc/xen/xend-config 

注释下面两行

#network-script network-bridge) 

#(vif-script vif-bridge) 

(3)重启xend服务

service xend restart 

(4)手动创建桥接网络,将物理网卡eth0设置为桥,我设置的服务器是DELL 410,网卡装完系统是em1,em2,只是名称区别而已。 

vi /etc/sysconfig/network-scripts/ifcfg-em1 

DEVICE=eth0 

OnBOOT=yes 

BRIDGE=xenbr0 

HWADDR=*********** 

UUID=************ 

  

vi /etc/sysconfig/network-scripts/ifcfg-xenbr0 

DEVICE=xenbr0 

BOOTPROTO=static 

IPADDR=192.168.*.* 

NETMASK=255.255.255.0 

GATEWAY=192.168.*.* 

OnBOOT=yes 

TYPE=Bridge 

上面这个就是创建一个xenbr0桥接到网卡em1,xen的虚拟机就可以通过xenbr0这个桥上网了
还有em2 em3网卡的话按照上面的方式创建就可以了。
重启网络:service network restart

5、更改虚拟机的桥接网卡。
假如虚拟机现在使用的桥是xenbr0,是通过em1出去的。修改成em2出去的话按照以下步骤 

[root@localhost data]# xl list 

Name ID Mem VCPUs   State   Time(s) 

Domain-0 0 29762 8 r----- 3687.1 

vm03 13 512 4 -b---- 53.6 

vm02 16 512 1 -b---- 40.9 

可以看到虚拟机的id号分别是13和16。 

[root@localhost data]# brctl show 

bridge name bridge id    STP enabled    interfaces 

xenbr0   8000.782bcb4ce1a6  no   em1 

vif13.0 

vif16.0 

xenbr1   8000.782bcb4ce1a7  no   em2 

可以看到vif13.0是vm03这个虚拟机的网络。vif(虚拟机ID).0就是虚拟机的网络 

先删除vif13.0

brctl delif xenbr0 vif13.0 

创建 vif13.0桥接到xenbr1

brctl addif xenbr1 vif13.0 

重启网络

service networkrestart 

显示虚拟机网桥

#brctl show 

xenbr0   8000.782bcb4ce1a6  no   em1 

                       vif16.0 

xenbr1   8000.782bcb4ce1a7  no   em2 

                       vif13.0 

这样就可以了。


推荐阅读
  • Python项目实战10.2:MySQL读写分离性能优化
    本文介绍了在Python项目实战中进行MySQL读写分离的性能优化,包括主从同步的配置和Django实现,以及在两台centos 7系统上安装和配置MySQL的步骤。同时还介绍了创建从数据库的用户和权限的方法。摘要长度为176字。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 本文介绍了使用cacti监控mssql 2005运行资源情况的操作步骤,包括安装必要的工具和驱动,测试mssql的连接,配置监控脚本等。通过php连接mssql来获取SQL 2005性能计算器的值,实现对mssql的监控。详细的操作步骤和代码请参考附件。 ... [详细]
author-avatar
Echocc07
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有