CentOS 6.6下Xen虚拟化实战

因为从RHEL6版本开始,RedHat就不在原生支持Xen,改为投奔KVM的怀抱。尽管KVM号称支援HVM技术的全虚拟化,但KVM毕竟起步晚,远不如Xen技术成熟,运行多个实例时经常发生系统崩溃的现象,当然也不排斥未来KVM会更加高效的可能。所以安装Xen的方法只有两种,一种是自己下载源代码自行编译,但这种方法太耗费精力,所以忽略,另一中就是使用第三方软件源进行安装。互联网有大量的第三方源以及开源组织提供编译好的源码,其中Xen made Easy开源项目为我们提供了Xen4在RHEL6/CentOS6的安装,本文采用Xen Made Easy项目网站提供的第三方安装源,方便快捷。

1. 环境 硬件:HP DL360 G6(E5520,16G,2*146GB) 系统版本:CentOS-6.6-x86_64-minimal.iso

2. 系统初始化

wget http://blog.linuxeye.com/lnmp-full.tar.gz
tar xzf lnmp-full.tar.gz
cd lnmp./install.sh #所有都选择nochkconfig iptables off #关闭iptables

3. 安装bridge-utils

yum -y install bridge-utils

4. 安装crc.id.au安装源

yum -y install http://au1.mirror.crc.id.au/repo/el6/x86_64/kernel-xen-release-6-7.noarch.rpm

5. 安装xen虚拟化

yum -y install xen

ls -l /boot/xen.gz
lrwxrwxrwx 1 root root 12 Dec  1 18:42 /boot/xen.gz -> xen-4.2.5.gz

6. 安装xen内核

yum -y install kernel-xen

注意:kernel-xen安装依赖kernel-xen-firmware,由于这两个包比较大,建议下载到本地用 yum -y localinstall kernel-xen* 完成安装

cat /boot/grub/grub.conf #如下图,下次是以xen内核启动

chkconfig xend on #重启系统后发现xend服务器没有配置开机自启动

7. 配置网卡为桥接模式 新建文件/etc/sysconfig/network-scripts/ifcfg-xenbr0,保持内容如下:

DEVICE=xenbr0
TYPE=BridgeONBOOT=yes
DELAY=0NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=192.168.3.20NETMASK=255.255.255.0GATEWAY=192.168.3.1

修改/etc/sysconfig/network-scripts/ifcfg-eth0,保持内容如下:

DEVICE=eth0
HWADDR=F4:CE:46:85:64:34TYPE=EthernetUUID=c27373b9-a698-4ac8-9afe-a4dee87f5704
ONBOOT=yes
BRIDGE=xenbr0
NM_CONTROLLED=no
service network restart #重启网络

8. 重启服务器 重新启动系统并进入Xen内核的Linux,测试如下图:

9. 安装虚拟化管理工具集

yum -y install libvirt

libvirt提供一种虚拟机监控程序不可知的API来安全管理运行于主机上的来宾操作系统。libvirt本身不是一种工具,它是一种可以建立工具来管理来宾操作系统的API。libvirt本身构建于一种抽象的概念之上。它为受支持的虚拟机监控程序实现的常用功能提供通用的API。libvirt起初是专门为Xen设计的一种管理API,后来被扩展为可支持多个虚拟机监控程序。

service libvirtd start
yum -y install python-virtinst

包含一个使用libvirt在虚拟机内部启动安装操作系统版本的Python模块(如命令:virt-install、virt-clone)

10. 配置操作系统安装源 在192.168.3.10:81 挂载CentOS-6.6-x86_64-minimal.iso,并将里面文件拷贝到apache网站根目录下centos6.6,使在192.168.3.20上能通过http://192.168.3.10:81/centos6.6 访问到安装镜像 注意:镜像文件.treeinfo缺少一行,导致安装系统时找不到kernel,保持中间段如下:

[images-xen]kernel = images/pxeboot/vmlinuz
initrd = images/pxeboot/initrd.img

11. 字符界面安装CentOS

mkdir -p /data/xen
virt-install -n vm21 -r 2048 --vcpus=2 --nographic --disk path=/data/xen/vm21.img,size=20 \-l http://192.168.3.10:81/centos6.6/ --bridge=xenbr0,model=virtio

virt-install命令参数:

-n --name= 客户端虚拟机名称-r --ram=  客户端虚拟机分配的内存-u --uuid= 客户端UUID--vcpus=2 客户端的vcpu个数-v --hvm 全虚拟化-p --paravirt 半虚拟化-l --location=localdir 安装源--vnc 使用vnc-c --cdrom= 光驱 安装途径-s --file-size= 使用磁盘映像的大小 单位为GB-f --file= 作为磁盘映像使用的文件--disk= 使用不同选项作为磁盘使用安装介质

12. 克隆镜像

virt-clone -o vm21 -n vm22 -f /data/xen/vm22.img

原文发布于微信公众号 - 马哥Linux运维(magedu-Linux)

原文发表时间:2014-12-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Rainbond开源「容器云平台」

【Docker】Docker学习记录: Shipyard+Swarm+Consul+Service Discover 搭建教程

25660
来自专栏Albert陈凯

2018-10-09 lombok 生产环境报错SEVERE: Unable to process Jar entry [module-info.class] from Jar [jar:fil...

老师您好,课程里面用的lombok,感觉很方便,我就在我写的一个测试项目里面也用的这个。在idea里面用tomcat是可以正常运行的。但是打好包以后,放到服务器...

5.6K20
来自专栏冰霜之地

Ghost博客搭建日记

今年7月阴错阳差的给自己买了一台阿里云服务器,当时是想着自己折腾折腾后台,看能否打通前端和后端之间的任督二脉。直到我发现我原来放在GitPage上的博客访问速度...

3.8K40
来自专栏Linux启动过程

基于Linux的pc启动过程

作为一个Android开发者,了解整个系统架构是必须的,所以这篇就总结一下Android手机从按下开机键到启动这一过程发生了什么。

22200
来自专栏达观数据

达观数据Docker 集群部署实例

1 docker简介 Docker 是个划时代的开源项目,它彻底释放了计算虚拟化的威力,极大提高了应用的运行效率,降低了云计算资源供应的成本! 使用 Dock...

319100
来自专栏自由而无用的灵魂的碎碎念

实战解决使用ghost安装系统出现的各种问题

昨天使用ghost给人安装系统时,把另一个分区的数据都搞没了,安装完也只剩下一个分区,相信了解的同志们知道是什么原因。

15730
来自专栏生信技能树

R包终极解决方案

写在前面: 在如何通过Google来使用ggplot2可视化这篇文章中,我们曾经介绍过R语言在生物信息学中的重要性。 这篇文章也激发了很多小伙伴学习的热情。学习...

68970
来自专栏程序员互动联盟

【专业技术】Android 启动性能优化 - uboot篇

时间测量 在mx51平台的uboot里,使用get_timer可以获得比较精确的计时,get_timer的使用贯穿了uboot性能调整的整个过程。 性能优化方法...

45480
来自专栏编程坑太多

『中级篇』docker之wordpress容器SSL(番外篇)(78)

查看apache2/sites-enabled目录下是否存在default-ssl.conf,

14620
来自专栏Kubernetes

原 荐 基于Kubernetes的ESaaS

概述 ESaaS(ElasticSearch as a Service)是ElasticSearch on Kubernetes的产品实现,是利用Docker和...

34560

扫码关注云+社区

领取腾讯云代金券