zstack(一)运行及开发环境搭建及说明(转载)
本篇介绍zstack的部署环境,以及二次开发环境
运行环境
讲真,ZStack的安装做的还是不错的,提供多种安装模式,如离线安装、在线安装、一键安装、分布式安装等。安装的过程其实都很简单,当然这也是zstack宣传的亮点之一。因此一般在安装运行环境的过程的时候不会有什么问题,看着官网就行。 这里就简单介绍一下如何从源代码编译安装
环境要求
物理环境
| 节点 | 用途 | 基本配置 |
|---|---|---|
| ZStack Server | ZStack后台核心运行 | 8核CPU, 8GB内存, 50G 硬盘(根据log情况会有所增加),1块千兆网卡 |
| ZStack Dashboard | ZStack 前台控制界面 | 2核CPU,2GB内存,10G硬盘 |
| ZStack Agent | ZStack控制的物理主机 | 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
放入与三份代码相同的目录下(/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节点,替换代码。
目录文件分析
| Name | Description |
|---|---|
| ansible | 包含所有ZStack部署所需要的源代码、ansible部署文件。应该是ansible的source code目录 |
| apache-tomcat-7.0.35/webapps/zstack | ZStack 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目录文件分析
| Name | Description |
|---|---|
| consoleproxy | 守护进程,负责VNC连接 |
| kvm | 客户端python代码。当此处代码发生修改,或在服务关闭,此处代码会被ManagementNode替换成备份代码,重启服务 |
| sftpbackupstorage | |
| zstackcli | zstackcli运行时代码 |
| zstackctl | zstackctl运行时代码 |
| zstack-dashboard | dashboard的运行部署 |
zstack(一)运行及开发环境搭建及说明(转载)的更多相关文章
- 转:Windows下的PHP开发环境搭建——PHP线程安全与非线程安全、Apache版本选择,及详解五种运行模式。
原文来自于:http://www.ituring.com.cn/article/128439 Windows下的PHP开发环境搭建——PHP线程安全与非线程安全.Apache版本选择,及详解五种运行模 ...
- 搭建Java的运行和开发环境
Java最大的优势就是跨平台,即编译一次,就能在linux.windows和mac等平台运行,无需再次编译.而典型的C和C++ 则是源代码跨平台,需要根据不同平台的编译规范来进行编译. Java如何跨 ...
- python开发环境搭建
虽然网上有很多python开发环境搭建的文章,不过重复造轮子还是要的,记录一下过程,方便自己以后配置,也方便正在学习中的同事配置他们的环境. 1.准备好安装包 1)上python官网下载python运 ...
- Qt for Android开发环境搭建及测试过程记录
最近学习了Qt的QML编程技术,感觉相较于以前的QtGUI来说更方便一些,使用QML可以将界面与业务逻辑解耦,便于开发. QML支持跨平台,包括支持Android平台,因此可以使用Qt的QML进行An ...
- node.js之开发环境搭建
一.安装linux系统 (已安装linux可跳此步骤) 虚拟机推荐选择:VirtualBox 或者 Vmware (专业版永久激活码:5A02H-AU243-TZJ49-GTC7K-3C61N) 我这 ...
- Windows 10 IoT Serials 1 - 针对Minnow Board MAX的Windows 10 IoT开发环境搭建
目前,微软针对Windows IoT计划支持的硬件包括树莓派2,Minnow Board MAX 和Galileo (Gen 1和Gen 2).其中,Galileo (Gen 1和Gen 2)运行的是 ...
- Eclipse swt开发环境搭建
原料: eclipse swt.下载链接为: Eclipse 4.6.2 Release Build: 4.6.2 配置说明: Developing SWT applications using Ec ...
- Ionic- Android 开发环境搭建
Ionic- Android 开发环境搭建 为时一周的IONIC ADNROID 环境终于在各种处理错误中搭建成功,以下记录下搭建过程中遇到的各种情况的处理办法. 一 首先,当然是enviroment ...
- Win7+Eclipse+Hadoop2.6.4开发环境搭建
Hadoop开发环境搭建 感谢参考网站:http://www.cnblogs.com/huligong1234/p/4137133.html 一.软件准备 JDK:jdk-7u80-windows-x ...
随机推荐
- 批量kill Linux环境下的任务
批量kill Linux服务器的进程可以通过ps grep aws xargs 进行结合来完成 比如要kill 全部test.sh 的进程 ps -ef |grep "test.sh ...
- PKU Judge Online 安装指南
一 安装 JDK 1.5 1 下载 到 Sun 官方网站( http://java.sun.com/j2se/1.5.0 /download.jsp )下载 j2sdk ,注意下载为 JDK 5.0 ...
- 判断回文字符串(c,python)
回文字符串:一个字符串,不论是从左往右,还是从右往左,字符的顺序都是一样的(如abba,abcba等) 判断回文字符串比较简单,即用两个变量left,right模仿指针(一个指向第一个字符,一个指向最 ...
- Mac下的nodeJs版本切换和升级
在我们开发多个项目的时候,因为框架支持的node版本不同,所以要切换多个node版本 首先我们要使用npm安装一个模块 n 的全局 1.npm install -g n 2.使用 n 加版本号就 ...
- oracle增加表空间
select tablespace_name, sum(bytes)/1024/1024 from dba_data_files group by tablespace_name; select ta ...
- hidden="hidden",display:none, visibility:hidden 三者的区别
三者都可以实现隐藏元素的效果 1:display:none 就是把元素隐藏,即在页面上看不到这个元素,并且不占据任何位置 2:hidden="hidden"在页面展示出来效果跟di ...
- POJ 1008 简单模拟题
e.... 虽然这是一道灰常简单的模拟题.但是米做的时候没有读懂第二个日历的计时方法.然后捏.敲完之后华丽的WA了进一个点.坑点就在一年的最后一天你是该输出本年的.e ...但是我好想并没有..看di ...
- Taffy自动化测试框架Web开发,Python Flask实践详解
1. 前言 最近为Taffy自动化测试框架写了个页面,主要实现了用例管理.执行,测试报告查看管理.发送邮件及配置等功能. 本页面适用所有基于taffy/nose框架编写的自动化测试脚本,或基于un ...
- OPENWRT常用设置
常用设置: 计划任务,定时重启 系统--计划任务,每行一个计划任务. 然后是计划任务列表的格式: [minute] [hour] [day of month] [month] [day of week ...
- struts2 实现rest
参考链接https://www.ibm.com/developerworks/cn/java/j-lo-struts2rest/