您的位置:首页 > 其它

zstack(一)运行及开发环境搭建及说明(转载)

2017-11-02 10:43 399 查看

本篇介绍zstack的部署环境,以及二次开发环境


运行环境

讲真,ZStack的安装做的还是不错的,提供多种安装模式,如离线安装、在线安装、一键安装、分布式安装等。安装的过程其实都很简单,当然这也是zstack宣传的亮点之一。因此一般在安装运行环境的过程的时候不会有什么问题,看着官网就行。 这里就简单介绍一下如何从源代码编译安装

环境要求

物理环境

节点用途基本配置
ZStack ServerZStack后台核心运行8核CPU, 8GB内存, 50G 硬盘(根据log情况会有所增加),1块千兆网卡
ZStack DashboardZStack 前台控制界面2核CPU,2GB内存,10G硬盘
ZStack AgentZStack控制的物理主机8核CPU,8GB内存,50G 硬盘

以上配置为推荐基本配置,在使用过程中,需根据具体的使用情况调整配置。如果只是demo测试一下,一般配置都可以


软件环境

操作系统: CentOS 7

从源代码编译安装

1.下载代码
ZStack:https://github.com/zstackio/zstack.git
ZStack: https://github.com/zstackio/zstack-utility.git
ZStack-dashboard: https://github.com/zstackio/zstack-dashboard.git


将三份代码放到同一个目录下,本文档放于/home/xx/iscas


2.下载tomcat

wget -c http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.35/bin/apache-tomcat-7.0.35.zip[/code] 
放入与三份代码相同的目录下(/home/xx/iscas)

3.编译代码
编译之前安装依赖库 ant、maven

$ yum install -y ant maven

编译代码

$cd /home/xx/iscas
$ cd zstack-utility/zstackbuild
$ ant -Dzstack_build_root=/home/xx/iscas all-in-one


编译结束后,会在/home/xx/iscas/zstack-utility/zstackbuild/target 目录下产生 zstack-installer*.bin,即为安装包。

4.安装

$ cd /home/xx/iscas/zstack-utility/zstackbuild/target
$ sudo bash zstack-installer*.bin -a -D -R aliyun (公网环境)
$ sudo bash zstack-installer*.bin -o -D (定制环境)


选项说明 -D :初始化数据库。 -a/-o 全部安装, -R 制定安装源


Notice: 假如安装失败,检查是否需要手动安装如下安装包:
* libvirt-daemon-1.2.17-13.el7_2.5.x86_64.rpm
* libvirt-client-1.2.17-13.el7.x86_64.rpm


安装后环境说明

ZStack安装后,主要会使用两个路径,分别对这两个路径进行说明

/usr/local/zstack

此路径是ZStack的主要安装路径(All-In-One安装路径),为ManagementNode安装保存路径,即此路径会安装在ManagementNode上。此路径包含ZStack的Tomcat服务、Ansible服务、安装源码包、垃圾收集等等。

ManagementNode会不断轮询Agent,来收集Agent信息。当发现有服务down后,会自动重新部署安装Agent节点,替换代码。

目录文件分析

NameDescription
ansible包含所有ZStack部署所需要的源代码、ansible部署文件。应该是ansible的source code目录
apache-tomcat-7.0.35/webapps/zstackZStack core的Web Server,接受处理请求,提供可靠保障机制所需的备份原始文件

Notice: 在ZStack中,自动维护部署任务应该是由Ansible负责。虽然在代码中有自动运维工具SaltStack和Puppet的影子,但是在验证安装中并没有发现安装了salt和puppet。因此认为在ZStack商业版中可能会用到这两个工具,社区版则只使用Ansible


/var/lib/zstack

此路径是zstack的Agent运行时环境,即此路径会安装在host节点。在virtualenv中包含console代理、virtualenv、KVM Agent等等。

KVM Agent使用cherrypy来提供http服务。即在Agent端提供Http server功能,接收来自ManagementNode的请求,如该agent的状态收集请求、控制请求等。

/var/lib/zstack/virtualenv目录文件分析

NameDescription
consoleproxy守护进程,负责VNC连接
kvm客户端python代码。当此处代码发生修改,或在服务关闭,此处代码会被ManagementNode替换成备份代码,重启服务
sftpbackupstorage
zstackclizstackcli运行时代码
zstackctlzstackctl运行时代码
zstack-dashboarddashboard的运行部署
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: