文档章节

[简单部署cloudstack]Centos6.5安装Cloudstack 4.3-管理节点和计算节点安装

ivon_lee
 ivon_lee
发布于 2014/05/19 10:38
字数 3233
阅读 1392
收藏 2

[toc]

[简单部署cloudstack]Centos6.5安装Cloudstack 4.3之概念介绍 

[简单部署cloudstack]Centos6.5安装Cloudstack 4.3之管理节点和计算节点安装 

[简单部署cloudstack]Centos6.5安装Cloudstack 4.3之配置详解 

[简单部署cloudstack]Centos6.5安装Cloudstack 4.3之在线迁移虚拟机 

[简单部署cloudstack]Centos6.5安装Cloudstack 4.3之升级虚拟机配置 

[简单部署cloudstack]cloudstack名词解释  

安装过程中也遇到不少问题,特别感谢  兆松兄 @itnihao 的帮忙,想起那天半夜还在帮忙解决二级存储无法正常启动的问题,那是我逝去的青春。

1. 先决条件

 

  1. 至少一个支持硬件虚拟化的计算机。如果是个人电脑,在主板bios里面开启下虚拟化。

  2. CentOS 6.4 x86_64 的 minimal install CD <http://mirrors.kernel.org/centos/6.4/isos/x86_64/CentOS-6.4-x86_64-minimal.iso>

  3. 一个以xxx.xxx.xxx.1/24作为网关的C类地址并且该网络中不能存在DHCP服务器;运行Cloudstack 的机器不能使用动态地址。这样做只是为了简单起见,我的环境中是192.168.1.0/24网络。

2. 环境介绍

  CloudStack可分为管理节点安装和受控节点安装,我的cloudstack部署在家里一台pc上,并且在路由器上做了映射,然后用了dnspod的ddns来更新域名解析。这里我使用单节点方式 电脑配置8核推土机,8G内存(有条件内存可以再加点,到时候可以多跑几个虚拟机),家里内网ip是192.168.1.网段,装cloudstack这台机器的ip是192.168.1.4

首先,我们先准备要Cloudstack的安装环境。其中包括以下步骤。

2.1 操作系统

  使用CentOS 6.5 x86_64 最小化安装镜像在你的设备上安装CentOS系统,下面的安装操作使用默认选项完成。 在安装完成之后,可以使用root用户通过SSH连接到该系统。注意,在生产环境中你应该禁止root登录,所以在你完成安装和配置之后要关闭远程登录。  

2.2 网络配置

  默认情况下,网络需要配置才能在我们的环境中正常使用。由于没有使用DHCP服务器所以我们需要手动配置网络接口。对于本次练习我们假设,仅使用eth0这一个网络接口。 使用root用户在登录本地控制台。检查/etc/sysconfig/network-scripts/ifcfg-eth0,默认它应如下所示:

DEVICE="eth0"
HWADDR="52:54:00:B9:A6:C0"
NM_CONTROLLED="yes"
ONBOOT="no"

 

很不幸,当前配置不允许连接到网络,当然也不符合我们安装Cloudstack的条件。我们按照以下示例来配置IP地址,子网掩码等等:

DEVICE=eth0
HWADDR=52:54:00:B9:A6:C0
NM_CONTROLLED=no
ONBOOT=yes
BOOTPROTO=none
IPADDR=192.168.1.4
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4

 

在配置好网络之后,我们需要运行一些命令来启动网络:

# chkconfig network on

# service network start

 

 

2.3 主机名配置

CloudStack要求正确配置主机名。在默认情况下,安装完操作系统后,主机名是localhost.localdomain。运行下面的命令来测试:

# hostname --fqdn

 

在此处将返回这样的结果:

localhost

 

为了纠正这种情况,我们需要编辑/etc/hosts文件来设置主机名,类似如下格式:

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.4 cloudstack.54im.com

 

在你编辑完hosts文件之后,使用下面的命令重启网络:

# service network restart

 

现在使用hostname –fqdn命令重新检查主机名并确认返回了正确的FQDN

 

2.4 SELinux配置

为了让CloudStack正常工作,我们必须将SELinux设置为permissive。需要在当前系统运行状态下和启动后都能够生效,进行以下配置。 在系统运行状态下的将SELinux设置为permissive,请执行下面命令:

# setenforce 0

 

按照下面的列子来配置/etc/selinux/config文件以确保当前SELinux状态为permissive。如这个例子所示:

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=permissive
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted

 

 

2.5 NTP

  需要为CloudStack环境中的所有服务器指定NTP服务器以便保证时钟同步。然而,默认安装情况下NTP是没有安装的。要安装NTP,请按下面方法操作:

# yum -y install ntp

 

实际上默认配置已经满足我们的要求了,所以我们要做的就是启用NTP 并配置其在启动后自动运行:

# chkconfig ntpd on
# service ntpd start

 

 

2.6 配置ClouStack软件库

  我们需要配置这台机器使用CloudStack软件库。 注解 Apache CloudStack官方发布的为源代码。因此没有可用的“官方”安装程序。完整的安装向导介绍了怎么获取源代码和以及制作RPM包和yum库。本指南尽可能简化这些操作,所以我们使用一个社区提供的yum库。 要添加CloudStack库,创建/etc/yum.repos.d/cloudstack.repo文件,并添加如下信息。

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

 

 

2.7 NFS

  主存储和辅助存储我们都使用NFS存储。接下来我们要设置两个NFS共享。首先安装nfs-utils。

# yum install nfs-utils

 

现在我们在NFS服务器上配置两个不同的共享目录。我们需要在/etc/exports文件中分别配置一下。确保这个文件中包含下面内容:

/secondary *(rw,async,no_root_squash)
/primary *(rw,async,no_root_squash)

 

自己测试玩玩的话,可以这样配置nfs,生产环境不能这样, * 表示所以客户端都能挂载这2个目录,当然这里把ip固定死也不是很好的解决方案,毕竟虚拟机也是要能挂载二级存储的,可以使用防火墙或者hosts.allow deny来控制 你可能注意到系统中根本不存在这两个目录。我们可以用下面的命令来创建并且赋予相应的权限:

# mkdir /primary
# mkdir /secondary

 

CentOS 6.x默认使用NFSv4。NFSv4需要所有客户端设置域。在我们的环境中域名为cloud.priv,要达到这个目的,请在/etc/idmapd.conf文件中去掉如下注释并修改:Domain = cloud.priv 接下来请在/etc/sysconfig/nfs文件中去掉如下选项的注释:

LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
MOUNTD_PORT=892
RQUOTAD_PORT=875
STATD_PORT=662
STATD_OUTGOING_PORT=2020

 

接下来需要配置防火墙策略允许NFS客户端访问。编辑/etc/sysconfig/iptables

-A INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 111 -j ACCEPT
-A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 111 -j ACCEPT
-A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 2049 -j ACCEPT
-A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 32803 -j ACCEPT
-A INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 32769 -j ACCEPT
-A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 892 -j ACCEPT
-A INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 892 -j ACCEPT
-A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 875 -j ACCEPT
-A INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 875 -j ACCEPT
-A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 662 -j ACCEPT
-A INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 662 -j ACCEPT

 

配置完成后用下面的命令行重启iptables服务:

# service iptables restart

 

执行以下命令,将nfs服务加入开机启动:

# service rpcbind start
# service nfs start
# chkconfig rpcbind on
# chkconfig nfs on

 

 这里nfs服务启动后,我们不用手动挂载这2个目录,系统虚拟机启动时会自己挂载的。

查看下这2个目录

# exportfs -a

如果客户端和服务器端使用nfs v4版本,需在hypervisor和管理服务器上修改 /etc/idmapd.conf

# vi /etc/idmapd.conf

修改成自己域名

Domain = 54im.com

 

 

3. 管理服务器安装

  我们将要进行CloudStack管理节点和相关工具的安装。

 

3.1 安装配置数据库

  接下来安装MySQL数据库并配置一些选项以确保和CloudStack能正常工作。 执行下面的命令来安装:

# yum -y install mysql-server

 

安装MySQL之后我们需要改动/etc/my.cnf文件中的一些配置。我们需要在[mysqld]下面添加下列参数:当然后期根据cloudstack实际运行情况来对mysql进行优化。

innodb_rollback_on_timeout=1
innodb_lock_wait_timeout=600
max_connections=350
log-bin=mysql-bin
binlog-format = 'ROW'

 

正确配置完成之后使用以下命令来使MySQL启动并将其添加到开机自动启动项:

# service mysqld start
# chkconfig mysqld on

 

 如果你想偷懒不想手动设置密码和做一些安全措施的话,可以运行mysql_secure_installation 根据向导来对mysql进行操作。  

mysql_secure_installation

 

3.2 安装cloudstack

  现在我们开始安装管理服务器。执行以下命令:

# yum -y install cloud-client

 

等待程序执行完毕后,我们初始化数据库,执行下面的命令行和选项:  

cloudstack-setup-databases cloud:<dbpassword>@<ip address mysql server> \
--deploy-as=root:<password> \
-e <encryption_type> \
-m <management_server_key> \
-k <database_key> \
-i <management_server_ip>

这里我们这样运行

# cloudstack-setup-databases cloud:password@localhost --deploy-as=root:this_mysql_password

 

当操作完成后,你应该会看到”CloudStack has successfully initialized the database.”这个消息。 创建好数据库之后,我们执行最后的步骤来安装和启动管理服务器:

# cloudstack-setup-management

 

 

3.3 上传系统模板

  CloudStack使用一组系统虚机来提供访问虚机控台,各种网络服务和管理存储的功能。当你引导云的时候,该步骤会获取这些准备用于部署的系统镜像。 现在我们要从刚刚挂载的共享存储上面下载虚机模板并部署它们。管理服务器上有一个脚本来操作这些系统虚机镜像。

# /usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt -m /secondary -u http://download.cloud.com/templates/4.3/systemvm64template-2014-01-14-master-kvm.qcow2.bz2 -h kvm -F

 

如果你事先下载好了模版,只需导入下即可  

# /usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt -m /secondary -f systemvm64template-2014-01-14-master-kvm.qcow2.bz2 -h kvm -F

下载其他类型的虚拟机模版可参考

  For Hyper-V # /usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt -m /mnt/secondary -u http://download.cloud.com/templates/4.3/systemvm64template-2013-12-23-hyperv.vhd.bz2 -h hyperv -F For XenServer: # /usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt -m /mnt/secondary -u http://download.cloud.com/templates/4.3/systemvm64template-2014-01-14-master-xen.vhd.bz2 -h xenserver -F For vSphere: # /usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt -m /mnt/secondary -u http://download.cloud.com/templates/4.3/systemvm64template-2014-01-14-master-vmware.ova -h vmware -F For LXC: # /usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt -m /mnt/secondary -u http://download.cloud.com/templates/4.3/systemvm64template-2014-01-14-master-kvm.qcow2.bz2 -h lxc -F  

总结我们管理服务器的设置。在配置完hypervisor之后我们仍需对CloudStack进行配置。

 

4. KVM安装和配置

  我们使用KVM作为 hypervisor-我们在hypervisor主机上恢复已经做过的初始化操作并且覆盖安装代理软件,你可以重复同样的步骤来添加其他的KVM节点到CloudStack环境中。

 

4.1 先决条件

  我们同样使用管理服务器作为计算节点,这样我们可以利用在安装管理服务器时执行完成的那些准备工作,这里我仅仅列出这些步骤:

  1. 网络配置

  2. 主机名

  3. SELinux

  4. NTP

  5. 配置ClouStack软件库

你不需要在管理节点上做操作,但是在任何后添加的节点上你都需要完成以上那些操作。  

4.2 安装cloud-agent

  安装KVM代理仅仅需要一个简单的命令,但是接下来我们需要进行很多配置。

# yum -y install cloud-agent

 

 

4.3 配置KVM

  我们需要分两部分配置KVM:libvirt和QEMU。

 

4.3.1 配置QEMU

  KVM只有一个相对简单的配置项。我们需要编辑QEMU VNC配置。确保/etc/libvirt/qemu.conf文件有如下所示的行,并将其注释去掉。

vnc_listen=0.0.0.0

 

4.3.2 配置Libvirt

  CloudStack使用libvirt管理虚拟机。因此正确的配置libvirt是非常重要的。Libvirt是cloud-agent的一个依赖组件,它应该已经安装好了。

  1. 为了实现动态迁移libvirt需要监听不可靠的TCP连接。还需要关闭libvirts尝试使用组播DNS进行广播。这些都是在 /etc/libvirt/libvirtd.conf文件中进行配置。

设置下列参数:

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

 

  1. 仅仅在libvirtd.conf中启用”listen_tcp”是不够的,我们还必须修改/etc/sysconfig/libvirtd中的参数:

取消下行的注释:

#LIBVIRTD_ARGS="--listen"

 

  1. 重启libvirt

# service libvirtd restart

 

KVM配置完成结束对KVM的安装和配置之后,接下来需要在CloudStack管理界面中实际配置我们的云。

5. 访问用户界面

  要访问CloudStack的WEB界面,你需要在浏览器中输入http://192.168.1.4:8080/client,使用用户’admin’和默认密码’password’来登录。第一次登录后,有两个选项可以设置CloudStack。这里我们选择继续执行基本配置安装。

 下一篇将介绍如何在cloudstack web页面进行配置,请看   简单部署cloudstackcentos6-5安装cloudstack-4-3之配置详解

© 著作权归作者所有

ivon_lee
粉丝 3
博文 15
码字总数 14962
作品 0
宝山
私信 提问
在 CentOS 6.4 上安装 CloudStack 4.2

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

鉴客
2013/12/15
19.3K
2
开源云平台 CloudStack 4.1.0 安装详解 - 1、管理节点

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

qinerg
2013/07/16
19.5K
35
CloudStack4.10+GlusterFS4.10测试

CloudStack4.10测试 测试环境 IP 系统 虚拟化工具 服务 账户/密码 192.168.2.185 Centos7.2 KVM NFS/manage/Agent root/123456 192.168.2.203 Centos7.2 KVM Agent root/123456 192.168.2.2......

boy461205160
2018/05/18
0
0
学习cloudstack+KVM,二级存储显示为0KB,系统VM无法启动

测试机器两台,centos7. 管理节点安装: cloudstack-usage-4.9.2.0-1.el7.centos.x86_64.rpm cloudstack-common-4.9.2.0-1.el7.centos.x86_64.rpm cloudstack-management-4.9.2.0-1.el7.cento......

骑士罗杰
2017/10/31
620
1
cloudstack与openstack区别

CloudStack与OpenStack的区别 CloudStack是一个开源的具有高可用性及扩展性的云计算平台。2012年4月加入Apache软件基金会,可以加速高伸缩性的公共和私有云(基础设施即服务)的部署、管理、...

吴玉华
2014/11/28
67
0

没有更多内容

加载失败,请刷新页面

加载更多

CRM、DMP、CDP都是什么?有什么区别?

Markter对CRM系统(Customer Relationship Management System,客户关系管理系统),营销自动化等概念都已经比较熟悉,也许DMP(Data Management Platform,数据管理平台)也多多少少有些了解。...

怡海软件-CRM
5分钟前
1
0
中台是什么,到底要解决什么问题?

故事的开始 这个最早由阿里在2015年提出的“大中台,小前台”战略中延伸出来的概念,最近在国内大热。阿里、腾讯、百度、京东、美团、滴滴等一众互联网巨头,从去年到今年,接连开始组织架构...

喵二狸
17分钟前
2
0
Linux Centos 7 - MySQL 5.7离线安装

内部网络通过离线包的方式进行安装。 一、下载 下载地址:https://dev.mysql.com/downloads/mysql/ 进入页面后,点击右侧链接。 下载对应版本。 通过xftp6等工具上传到服务器上。 二、安装和...

华山猛男
17分钟前
2
0
EventBus 3 全解

EventBus 3 全解 [TOC] 使用 一个基于观察者模式的事件发布/订阅框架. 用于模块间通信和解耦, 使用方便,性能高. 基本使用 1. gradle导入依赖库 implementation 'org.greenrobot:eventbus:3....

马湖村第九后羿
19分钟前
3
0
HTTP 协议

什么是HTTP协议? HTTP是hypertext transport protocol的缩写,即超文本传输协议。 是用于万维网服务器与本地浏览器之间传输超文本的传送协议。可以使浏览器更加高效,使网络传输减少。能够保...

彩色泡泡糖
30分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部