文档章节

开源云平台 CloudStack 4.1.0 安装详解 - 2、KVM

qinerg
 qinerg
发布于 2013/07/18 20:43
字数 1792
阅读 8001
收藏 116

KVM(kernel-based Virtual Machine)是一个开源的系统虚拟化平台,自Linux 2.6.20之后已集成到Linux内核中,因它使用Linux自身的调度器进行管理,所以相对于的虚拟化解决方案而言,其核心源码很少也更加的稳定。

CloudStack支持与多种虚拟化解决方案的集成。

CloudStack+KVM是最佳的黄金组合!他们都功能强大且免费,你可以毫无顾忌地随意部署安装而不必害怕有人找你要授权费。KVM一直以来没有好的免费的集群管理工具,现在加上CloudStack后,如虎添翼,比起VCenterXenCenter这类强力商业软件来讲也毫不逊色。

今天我们来主要介绍CloudStack受控端为KVM节点时的安装方法。鉴于网上文章一大抄,很多内容都是装来装去一大堆东西,看观们一会就晕了,根本不了解为什么装这些程序,装来是干什么的。这回呢,我会把每一步说明尽可能详细一些,外加我多次重装后得到的经验和教训,希望能让后来者可以少走些弯路。

一、环境检测

KVM虚拟化需要硬件的支持,因此首先需要检查下你的服务器是否可以支持它,如果这步都过不去的话,那么下面的内容就不必再看了。

检查方法:

egrep '^flags.*(vmx|svm)' /proc/cpuinfo

如果执行后能显示出东西,那么恭喜你,可以跟我继续啦。Let’s go!

二、安装KVM相关组件

CentOS直接提供KVM程序源,直接安装就是了。

yum install kvm kmod-kvm qemu kvm-qemu-img virt-viewer virt-manager libvirt vconfig

得益于Linux内核的支持,KVM相关包都不大,这步应该可以很快完成。

装好后为保证管理节点可以正常调用,还需要开放相关端口。

vi /etc/libvirt/libvirtd.conf 去掉如下内容的注释:

listen_tls = 0
listen_tcp = 1
tcp_port = "16509"
auth_tcp = "none"
mdns_adv = 0

vi /etc/sysconfig/libvirtd

LIBVIRTD_ARGS="--listen"

vi /etc/libvirt/qemu.conf

vnc_listen = 0.0.0.0

现在,可以启动虚拟机服务啦:

service libvirtd restart

测试一下是否成功:

lsmod | grep kvm

三、安装NTP时间同步

管理节点会通过各种协议与受控节点通讯,为了确保安全,受控节点接到命令后会进行一系列的校验,如果两机的时间不同步的话,会导致命令拒绝执行。因此,最简单的办法就是所有的机器都安装 NTP服务,自动完成时间同步。

当然,如果你可以保证两机时间相差不大的情况下,此步可以忽略。

安装方法

yum install ntp

四、设置主机名称

CloudStack管理节点添加主机时要获取受控端本机名称,如无法正确获取会导致无法正常添加主机,Agent启动时也会报一大堆的错。

运行以下命令检查:

hostname --fqdn

如无正常返回,请编辑 /etc/hosts 文件,添加主机ip对应的名称。如:

192.168.19.160 kvm1.cloudstack.com
vi /etc/sysconfig/network 将 HOSTNAME= 改为同你刚设置的一样。

编辑完后立即生效。如果还不成的话,重启下服务器应该就会好了。

注意:CloudStack中添加受控机时,会自动将名称代入。因此千万别偷懒,一定要为每台机器设置不同的名称,否则你将会在管理后台面对一堆同名主机列表而感到无奈~~~

五、配置yum仓库

默认情况下,CentOS的软件源中没有收录最新版本CloudStack,为了能顺利安装,我们需要手工指定软件源。

新建 /etc/yum.repos.d/cloudstack.repo 文件,内容为:

[cloudstack]
name=cloudstack
baseurl=http://cloudstack.apt-get.eu/rhel/4.1/
enabled=1
gpgcheck=0

六、安装agent

KVM不像XenServerVCenter等已经内置了强大的管理功能,因此必须安装一个CloudStack代理来完成主控端发来的指令。

直接通过仓库安装:

yum install cloud-agent

这个安装包比较大,如果你的网络是小水管的话,那么你现在可以去泡杯茶、抽根烟休息一下啦。

注意:安装完 cloud-agent 后无需启动,等管理节点中添加主机时会自动启动。
        默认的安装目录:/etc/cloudstack/agent

CloudStack是通过log4j来输出日志的,因此你可以通过修改 log4j-cloud.xml 文件来调整日志的输出结构。

七、修改安全策略

默认的SELinux安全策略会限制CloudStack操作,因此需要调整:

vi /etc/selinux/config

SELINUX=permissive

以上修改需重启服务器才能生效,为使设置立即生效可使用下边的命令

setenforce permissive

另需要在 iptables 中把一些端口打开:

iptables -I INPUT -p tcp -m tcp --dport 22 -j ACCEPT
iptables -I INPUT -p tcp -m tcp --dport 1798 -j ACCEPT
iptables -I INPUT -p tcp -m tcp --dport 16509 -j ACCEPT
iptables -I INPUT -p tcp -m tcp --dport 5900:6100 -j ACCEPT
iptables -I INPUT -p tcp -m tcp --dport 49152:49216 -j ACCEPT

iptables-save > /etc/sysconfig/iptables

八、添加主机

好了,到目前为止,你的准备工作已经完成了。

如果创建的是简单网络域的话,你现在就可以在管理节点的WEBUI顺利添加这台受控主机啦。这步的操作方法非常简单,CloudStack中有一个非常友好的向导,应该可以帮助你正确完成添加。另外,网上也有一大堆的文章介绍,我就不详细说了,等将来有机会时我再给大家介绍下CloudStack高级网络域的相关功能及添加方法。

附,可能遇到的问题:

1、在管理节点中添加主机失败

如果很不幸,添加主机时失败,请不要慌张,这个问题应该不难解决,先看下日志。

管理节点日志在
/var/log/cloudstack/management/catalina.out

受控节点日志在:
/var/log/cloudstack/agent/cloudstack-agent.out

认真反复分析日志,你会找到答案,然后水平提到升华~~~

2、Unable to start agent: Failed to get private nic name

如果你是初学,在设置网络时千万别乱选。尤其是别随便指定流量标签。

CloudStack中,流量标签是同受控主机的网桥相关的,如果设置了流量标签,则受控机必须设置相应的网桥。cloudstack4.1agent在启动时,默认会自动创建cloudbr0cloudbr1两个网桥。如果你指定了其他的标签名,则相应的网桥也要作修改,甚至需要在受控机上手工创建网桥。

如果想修改成其他网桥名字,那么需要在配置文件里面指定:

vi /etc/cloudstack/agent/agent.properties

修改下面两个参数

private.network.device
public.network.devic

如果网桥指定错误的话,那么就会出现上面的错误。

真正明白了这个道理,那么你就可以进阶啦,你将能够实现不同的网卡使用不同的网络。

3、Failed to create vnet

如果你再尝试创建高级网络,出现的如上的错误,那是因为你没有安装vconfig程序。

yum install vconfig


© 著作权归作者所有

共有 人打赏支持
qinerg

qinerg

粉丝 130
博文 15
码字总数 24206
作品 1
架构师
私信 提问
加载中

评论(5)

二十三度
二十三度
你好,按照博客里的方法无法添加主机,然后又按照官网的文档对host的网络进行了设置,成功添加了主机,但是二级存储为零,也无法进入到系统VM的控制台,这是为什么呢?请问是不是一定要进行host的网络配置?我选择的是基本网络
冬瓜1
冬瓜1
也不知道是干什么用的,先收藏了。
qinerg
qinerg

引用来自“hanf”的评论

端口是16509,不是16059

已经修改
hanf
hanf
端口是16509,不是16059
TavenLi
TavenLi
有时间试试
开源云平台 CloudStack 4.1.0 安装详解 - 1、管理节点

CloudStack是一个功能强大、UI友好的开源云(IaaS)计算解决方案。自Ctrix将CloudStack捐献给 apache 后,一直持续高速发展,其社区活跃度已经渐渐赶上风头一时无两的另一开源云OpenStack平台...

qinerg
2013/07/16
0
35
在 CentOS 6.4 上安装 CloudStack 4.2

和 OpenStack, OpenNebula 类似,CloudStack 是另一款开源云计算平台。CloudStack 的前身是 Cloud.com 家的一款商业云计算产品(也有开源版本),2011年 Cloud.com 被 Citrix 收购,2012年的...

鉴客
2013/12/15
19.1K
2
开源云平台 CloudStack 4.1.0 安装详解 - 3、vCenter

VMware是世界上顶尖的提供虚拟化和云计算解决方案的商业公司,在全球拥有400,000多家客户和55,000多家合作伙伴。若干个产品套系,几十种软件可以提供从单机虚拟化到云端的完整解决方案。 它的...

qinerg
2013/07/22
0
5
部署Cloudstack环境(cloudstack manager+kvm,适合RHEL/CentOS)

系统:CentOS 6.3 x86_64 版本:Cloudstack 4.2.1 CloudStack是一个开源的具有高可用性及扩展性的云计算平台。支持管理大部分主流的hypervisors,如KVM,XenServer,VMware,Oracle VM,Xen...

AnthonyYau
2014/04/22
0
0
Apache CloudStack 4.1.0 发布

Apache CloudStack 4.1.0 发布了,CloudStack是一个开源云计算解决方案。可以加速高伸缩性的公共和私有云(IaaS)的部署、管理、配置。使用CloudStack作为基础,数据中心操作者可以快速方便的...

oschina
2013/06/08
2K
0

没有更多内容

加载失败,请刷新页面

加载更多

mac 下 mysql 8.0.13 安装并记录遇到的问题 以便以后查看

安装 官网mysql 下载地址 安装过程 省去 安装好之后 下载navicat 错误1 链接 遇到 mysql 2003 - Can't connect to MySQL server 错误, 解决方案 重启mysql 服务 #错误2 ERROR 1045: Acces...

杭州-IT攻城狮
22分钟前
3
0

中国龙-扬科
25分钟前
1
0
[Spring4.x]基于spring4.x纯注解的Web工程搭建

在前文中已经说明了如何基于 Spring4.x+ 版本开发纯注解的非web项目,链接如下: https://my.oschina.net/morpheusWB/blog/2985600 本文则主要说明,如何在Web项目中,"基于spring纯注解方式...

morpheusWB
54分钟前
13
0
基础编程题目集-7-13 日K蜡烛图

股票价格涨跌趋势,常用蜡烛图技术中的K线图来表示,分为按日的日K线、按周的周K线、按月的月K线等。以日K线为例,每天股票价格从开盘到收盘走完一天,对应一根蜡烛小图,要表示四个价格:开...

niithub
今天
5
0
Jenkins window 下的安装使用

1.下载:https://jenkins.io/download/ 双击安装完毕,将自动打开浏览器: http://localhost:8080 打开对应位置的文件,将初始密钥粘贴至输入框。 第一个是 安装默认的软件;第二个是 自定义...

狼王黄师傅
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部