您的位置:首页 > 大数据 > 云计算

Cloudstack+XenServer配置和管理一个简单的云平台

2015-11-19 17:05 423 查看

Cloudstack+XenServer配置和管理一个简单的云平台

基本配置:Cloudstack4.3,XenServer6.2

操作系统:centos6.6-mini-x64

 

基本介绍:Cloudstack是一个开源的Iaas平台,XenServer则是一个成熟的服务器端虚拟化软件,此二者能够完美结合。早在Cloudstack开源之前,它就与XenServer配合的很好。因为Hypervisor采用XenServer,配置简单,不比像管理KVM节点那样需要安装Agent;功能全面,不必像管理vSphere节点那样,既离不开vCenter,又因为vCenter的API没有完全开放而实现全部功能。本文在此只是简单的介绍如何安装和配置Cloudstack,其余应用,会在后续文章中再谈到。

 

有几个基本概念需要明白:

1.Cloudstack分为管理节点和安装节点。管理节点即我们安装Cloudstack-management管理工具的机子,它负责管理整个服务器集群。

2.计算节点即我们安装XenServer的机子,它是实际上的物理机,为VM提供资源。

3.Cloudstack的管理和数据都是存在于MySql数据库之中的,因此若有什么问题可以查看MySql数据库。

4.Cloudstack的存储分为一级存储和二级存储。二级存储主要用来存储用户所上传的模板,ISO和快照文件,一级存储则是用来存放虚拟机文件的。

下面这张图很清楚的展示了Cloudstack的整个架构。

 


在此对这张图简单做个介绍。Management Server级即管理节点,后端由MySql控制。Zone是Cloudstack中最大的一个区域,通常我们将它理解为机房,其次是Pod,称之为提供点,再往下是Cluster,通常我们将其理解为一个机柜,而Cluster里面的Host,则是我刚刚提到的计算节点,也就是机柜里的一台主机。可以从图中很清楚的看到,一个Cluster里面的所有主机是共享一级存储的,而一个区域里的所有主机是共享二级存储的。

介绍完基本概念,下来开始介绍如何安装和配置。

一.安装管理节点

1.安装一台虚拟机作为管理节点,最好使用mini版的,因为在后续的安装中可能会和系统自带的包冲突。在这里,我安装的是centos6.6-mini-x64,并保证该台机子能够联网。我该台机子的IP为192.168.1.50.

2.配置域名。运行hostname --fqdn,查看其域名。通常情况下。默认是Localhost,这时候,我们需要修改其域名。分别修改/etc/hosts,加上

 


接着,修改/etc/sysconfig/network,加上



修改完毕这两个文件后,再次输入hostname --fqdn,

 


可以看到,此时主机域名已被修改过来。如果不行,先logout,然后重新登录。或者使用service network restart这个指令,重启服务,应该就可以了。

3.关闭SELinux组件。首先检查CentOs中的配置,使用sestatus,可以看到

 


这时候,我们需要修改/etc/selinux/config文件,将selinux=enforcing改为selinux=permissive,并重启主机,或者使用指令setenforce permissive使其立即生效。可以看到,已经修改过来

 


4.配置Yum源。有两种方法获取yum源,一是通过网络直接下载,而是指定本地或内网的源。在本次安装中,我使用了第一种方法,即直接从网络下载。cd 到/etc/yum.repos.d/目录下,新建cloudstack.repo文件,并在其中写入如下内容:

 


注意,我这里的版本号是4.3,仅供参考,写完之后保存退出。然后执行yum update指令。

接下来使用yum install cloudstack-management,安装好管理节点的相关软件包。

5.安装NTP服务。使用yum install ntp。在安装之前,也可先检查系统是否已经安装,用service ntpd status。安装完成之后,输入chkconfig ntpd on,设置为开机自动启动。可用chkconfig --list|grep ntpd来检查是否设置成功。安装NTP时间同步服务是为了管理节点和计算节点的时间同步,以方便管理。管理节点的NTP作为Server。在配置文件/etc/ntp.conf中,添加一行内容,允许一下网段的NTP Client端与管理节点通信。

restrict 192.168.0.0 mask 255.255.0.0 nomodify。

 


这几行是否要注释,取决于你是否需要使用网络时间。如果需要,则将注释去掉,如果不需要,则保留注释,并使用本地时钟。

关闭防火墙。这里暂且为了实验方便,先关闭防火墙,Service iptables stop。当然,比较安全的做法是在防火墙中添加相应的策略。至此,NTP服务安装完毕。

6.安装MySql数据库。首先安装MySql数据库,yum install mysql-server。修改mysql配置文件/etc/my.cnf,加入如下几行:

 


其中max_connection=350*物理服务器个数。

同样,启动mysql服务,service mysqld start。

设置开机自动启动服务,chkconfig mysqld on。

第一次访问mysql的时候,数据库默认是不带密码的。为了安全起见,我们需要给mysql设置登录密码,执行如下命令:

mysqladmin -u root password ‘123456’

初始化登录密码成功。下次在登录,只需输入mysql -u root -p,根据提示输入密码即可。

接下来运行cloudstack自带脚本,使其自动配置数据库,输入如下指令:

cloudstack-setup-databases cloud:cloud@localhost --deploy-as=root:123456

即表示以 root 用户身份来生成数据库,该数据库属于新建的 cloud 用户(密码 cloud)。

还有一点,Mysql数据库默认只允许本地访问。所以,如果希望通过IP地址或这几名来访问Mysql,就需要添加MySql访问权限。使用root用户登录数据库,执行以下命令:

mysql>GRANT ALL PRIVILEGES ON *.* TO ‘root’@’Cloudstack.ouc.edu’ IDENTIFIED BY ’123456’ WITH GRANT OPTION;

7.启动Cloudstack。执行指令:

Cloudstack-setup-management.

运行完该脚本程序之后,打开浏览器,输入http://192.168.1.50:8080/client。若看到以下界面,这说明CLoudstack管理节点安装成功。默认的用户名:admin,密码:password。

 


二.安装计算节点

计算节点的安装,只需要根据安装步骤一步步往下进行即可,唯一需要注意的是以下几点:

1.本次实验亲测成功,但XenServer版本是6.2的,其他版本会导致不兼容。比如,我第一次安装CLoudStack4.4+XenServer6.5失败,即是因为版本问题。

2.计算节点作为NTP服务的CLient节点,需要和Server节点同步。因此,在安装步骤中,有一步是选择NTP服务,在此填入Server节点的IP地址即可。当然,也可安装完毕之后,从Xen的shell进行配置,不过那样不如这样省事。

3.很多安装教程说计算节点需要配置主机名,其实这一步无所谓,并不一定要做。

4.给每台XenServer分配一个静态的IP。

三.配置存储

前已述及,Cloudstack的存储系统分为一级存储和二级存储,支持多种文件系统,但通常情况下,我们采用NFS文件系统。一级存储存放VM文件,二级存储存放ISO,镜像,快照文件。

由于我们机房有一个独立的NAS,因此只需要在NAS上稍加配置即可,将其文件格式配置为NFS就可以使用了。

那对于没有独立存储设备的情况,按照网络上的教程,大多是把管理节点的磁盘作为存储。

步骤如下:

1.安装NFS服务:

yum install nfs-utils

修改配置文件/etc/sysconfig/nfs,取消如下注释:

LOCKD_TCPPORT=32803

LOCKD_UDPPORT=32769

MOUNTD_PORT=892

RQUOTAD_PORT=875

STATD_PORT=662

STATD_OUTGOING_PORT=2020

开启NFS服务:

service rpcbind start

service nfs start

设置为开机自启动:

# chkconfig nfs on

# chkconfig rpcbind on

 

2.在管理节点的/的目录下新建两个文件夹,分别命名为/export/primary,/export/secondary作为一级存储和二级存储的目录。

mkdir -p /export/primary

mkdir -p /export/secondary

3.编辑文件/etc/exports:

/export  *(rw,async,no_root_squash,no_subtree_check)

4.导出export目录

exportfs -a

5.将/export/secondary目录挂载到管理节点上,测试NFS是否可用:

mkdir /mnt/secondary 

mount -t nfs 192.168.1.50:/export/primary /mnt/secondary

可以用Showmount -e来查看本机挂载情况

6.挂载系统模板到二级存储:

首先下载XenServer的系统模板。Cloudstack4.3的模板我是在这个地址下载的

http://www.cloudstack-china.org/2014/04/3272.html

可以用Winscp工具将其保存到/opt/cloudstack上

我们需要通过系统虚拟机模板下载的脚本,将其上传到二级存储上。

脚本的路径比较长,我们可以通过如下指令找到脚本路径:

Find / -name *sys-tmpl*,搜索结果应该是:

/usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt

找到路径后,使用如下指令:

/usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt

-m /mnt -f /opt/cloudstack/systemvm64template-2014-01-14-master-xen.vhd.bz2 -h xenserver -F

这可能需要一段时间,系统虚拟机的模板就会上传到二级存储上了。

上传成功之后,可以查看/mnt/secondary目录下是否有文件。

 

至此,Cloudstack的安装过程就已经完成。后续的配置会在之后的文章中贴出。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息