CloudStack 4.0 安装实例分析版

Reading time ~1 minute

我之前的安装帖子,只讲了CloudStack的环境如何去搭建,并没讲为什么这么做?也没讲做出来的东西有什么用?也没讲做出来以后该如何去扩展这个系统?所以可能那些文档可能只是对于开发人有点意义,对于实际用户而言意义并不大。后面,我可能用几篇文章来描述和解答这些问题。

这里先讲一个应用实例,有需求的人应该能够看懂,并且能领会到系统设计和规划的原理。CS公司内网有大约50个研发人员,每个人为了开发和测试公司的产品至少需要2种操作系统环境(Windows2008+Ubuntu),每个操作系统至少需要2个虚拟机才能保证正常工作,有人还有编译代码的需求,所以平均每人需要4core/6GB的计算资源。总共需要200个虚拟机,总共需要200Core*300GB的计算资源。

CS公司的工程师做了这样的一个设计,首先申请了一个独立网段192.168.168.0用于该测试CloudStack。然后找来了两台服务器用于平台的初始化安装,IP地址的规划如下表。另外,CS公司的网管也给他们借了一个千兆网络交换机,这个交换机配置了网关和DNS解析,保证测试网段的机器既能够上网,并能够被公司内网连接。

IP地址 功能
192.168.168.1 网关和DNS解析的地址,通过它所有虚拟机可以被内网用户访问
192.168.168.2 CloudStack管理服务器,配置为2*4Core/16GB/1TB*2HD,安装RHEL6.2操作系统,安装NFS服务
192.168.168.3 XS-01为第一台Hypervisor服务器,用户运行虚拟机,这里使用XenServer,安装之后在网上申请免费许可证用来测试满足50人的配置为4*4Core(开超线程)/64GB/125GB*2HD的服务器7台;或者相当计算量的其他计算资源。
192.168.168.4~14 为后期系统扩展新增的XenServer服务器预留
192.168.168.15 为后期扩容的存储系统预留,如果开发编译的过程没有密集的磁盘读写操作的话,使用NFS或iSCSI存储即可。否则考虑使用FC存储。
92.168.168.16~20 CloudStack Private网段地址
92.168.168.21~25 CloudStack Storage网段地址
92.168.168.30~250 CloudStack Guest网段地址

图中左侧的两台服务器就是最小化的测试环境,足够满足CloudStack平台搭建,和虚拟机模板的测试工作。等到测试和配置足够了,就可以增加更多的服务器节点到CloudStack平台上来。增加的方法很简单,在服务器上安装XenServer之后,在CloudStack中添加host即可。

准备系统安装软件 根据以上的需求需要下载和刻录RHEL6.2的安装盘;需要下载ClouStack的安装包,http://cloudstack.apt-get.eu/rhel/4.0/ 。 CloudStack的安装包可以下载到本地,保持它的目录结构不变,回头放到装好的RHEL服务器的Apache目录中建立本机安装源。

系统安装 安装的过程已经在CloudStack官方文档上有了非常详细的描述。本次就不逐条命令解释了。 这里只想讲几点须注意的地方。根据CS公司的这个需求,建议使用的CloudStack管理服务器需要稍微大一点的本地磁盘和内存;根据我最近的测试发现管理服务器和NFS服务器混用的情况下,服务器内存的消耗还是蛮大的,为了保证速度16GB应该非常够用,我的测试机只有4GB还是虚拟机,速度也很快。本地磁盘最好是两块1TB的高速磁盘做Raid10,或者多块小盘也行,最好Raid做完之后有大约1TB的存储空间;以便存放测试初期的系统模板和虚拟机的磁盘和快照文件。

最后我想从系统配置文件的角度讲一下在RHEL操作系统里面都修改了那些文件。

安装源文件需要两个: rhel6.repo RHEL系统可以选择默认最小安装,这样装的最快,装好以后,把DVD mount上,在做成源,这样需要什么包,直接yum install就行了,非常方便快捷 cloudstack.repo CloudStack的所有安装包都可以放在CloudStack管理服务器本机的Apache服务器上,另外这个Apache服务器还可以作为上传系统模板的中转站。 [bash] [root@cs40 yum.repos.d]# pwd /etc/yum.repos.d [root@cs40 yum.repos.d]# ls cloudstack.repo redhat.repo rhel6.repo rhel-source.repo [root@cs40 yum.repos.d]# cat rhel6.repo [rhel6] name=rhel6 baseurl=file:///media/ enabled=1 gpgcheck=0 [root@cs40 yum.repos.d]# cat cloudstack.repo [cloudstack] name=cloudstack baseurl=http://127.0.0.1/4.0/ enabled=1 gpgcheck=0 [root@cs40 yum.repos.d]# [/bash] 主机hosts和network文件,RHEL服务器必须要能正确的解析出自己的fqdn [bash][root@cs40 yum.repos.d]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 192.168.168.2 cs40.cs-cloud.com cs40 [root@cs40 sysconfig]# cat /etc/sysconfig/network NETWORKING=yes HOSTNAME=cs40.cs-cloud.com [/bash] Mysql数据库需启动服务之后,才能修改my.cnf配置文件,加入CloudStack所需要的参数之后重启服务,参数如下: [bash][mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql

Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

#CloudStack need them innodb_rollback_on_timeout=1 innodb_lock_wait_timeout=600 max_connections=350 log-bin=mysql-bin binlog-format = ‘ROW’ #CloudStack need theme

[mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid [/bash]

其他相关的配置文件我已经打包了,有需要参考的,请到我下载,这里就不做逐一的解释。

[download id=”16” format=”2”]

互联网规模的超融合平台

什么是互联网规模?什么是web scale风格?看下Nutanix的亮点。 阅读全文

2017DevOps采用和趋势现状-信息图

Published on February 11, 2017