本篇介绍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(一)运行及开发环境搭建及说明(转载)的更多相关文章

  1. 转:Windows下的PHP开发环境搭建——PHP线程安全与非线程安全、Apache版本选择,及详解五种运行模式。

    原文来自于:http://www.ituring.com.cn/article/128439 Windows下的PHP开发环境搭建——PHP线程安全与非线程安全.Apache版本选择,及详解五种运行模 ...

  2. 搭建Java的运行和开发环境

    Java最大的优势就是跨平台,即编译一次,就能在linux.windows和mac等平台运行,无需再次编译.而典型的C和C++ 则是源代码跨平台,需要根据不同平台的编译规范来进行编译. Java如何跨 ...

  3. python开发环境搭建

    虽然网上有很多python开发环境搭建的文章,不过重复造轮子还是要的,记录一下过程,方便自己以后配置,也方便正在学习中的同事配置他们的环境. 1.准备好安装包 1)上python官网下载python运 ...

  4. Qt for Android开发环境搭建及测试过程记录

    最近学习了Qt的QML编程技术,感觉相较于以前的QtGUI来说更方便一些,使用QML可以将界面与业务逻辑解耦,便于开发. QML支持跨平台,包括支持Android平台,因此可以使用Qt的QML进行An ...

  5. node.js之开发环境搭建

    一.安装linux系统 (已安装linux可跳此步骤) 虚拟机推荐选择:VirtualBox 或者 Vmware (专业版永久激活码:5A02H-AU243-TZJ49-GTC7K-3C61N) 我这 ...

  6. 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)运行的是 ...

  7. Eclipse swt开发环境搭建

    原料: eclipse swt.下载链接为: Eclipse 4.6.2 Release Build: 4.6.2 配置说明: Developing SWT applications using Ec ...

  8. Ionic- Android 开发环境搭建

    Ionic- Android 开发环境搭建 为时一周的IONIC ADNROID 环境终于在各种处理错误中搭建成功,以下记录下搭建过程中遇到的各种情况的处理办法. 一 首先,当然是enviroment ...

  9. Win7+Eclipse+Hadoop2.6.4开发环境搭建

    Hadoop开发环境搭建 感谢参考网站:http://www.cnblogs.com/huligong1234/p/4137133.html 一.软件准备 JDK:jdk-7u80-windows-x ...

随机推荐

  1. 关于初级dp的一些记忆

    01背包和数塔都是寒假看的,数塔还算明白,但01背包虽然会做其实也是背下来的,一直不是很清楚它的可行性,昨天老师讲了以后恍然大悟,和数塔类似生成了一颗二叉树: 利用数组/dfs  自下而上/自上而下 ...

  2. xhost + 的作用

    xhost 是用来控制X server访问权限的. 通常当你从hostA登陆到hostB上运行hostB上的应用程序时, 做为应用程序来说,hostA是client,但是作为图形来说, 是在hostA ...

  3. jsonp 使用选择器

    使用选择器语法来查找和操作元素 使用类似于css和jquery的语法来查找和操作元素 可以使用Element.select(String selector) 和 Elements.select(Str ...

  4. SQL Server 调优系列玩转篇一(如何利用查询提示(Hint)引导语句运行)

    前言 前面几篇我们分析了关于SQL Server关于性能调优的一系列内容,我把它分为两个模块. 第一个模块注重基础内容的掌握,共分7篇文章完成,内容涵盖一系列基础运算算法,详细分析了如何查看执行计划. ...

  5. [工作]双核系统struts-config.xml

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts-config PUBLIC & ...

  6. L228 the complicated issue of equality: non-disabled actors play disabled roles

    Bryan Cranston’s defence of playing a wheelchair user in the new comedy-drama The Upside has underli ...

  7. php变量和字符串连接符——点

    连接符——点,本身也是一种运算符.它真正的名字应该叫“字符运算符”.作用是把两个字符串连接起来. echo 字符 . 变量 . 字符;  //点号把三个值连接成为一个,运行正常. 例: 1.字符串+变 ...

  8. REST easy with kbmMW #3 – SSL

    我在前两篇文章中展示了“REST easy with kbmMW”文章,如何使用kbmMW制作REST服务器,以及如何使用该REST服务器轻松地从数据库返回和存储数据,所有这些都在不到30行的真实数据 ...

  9. python打包成.exe

    pyuic5 mainwindow.ui -o test.py pip install pyinstaller pyinstaller -F -w ***.py https://blog.csdn.n ...

  10. node-webkit 入门

    下载node-webkit 点击这里: https://github.com/rogerwang/node-webkit 找到Downloads这一小节,然后下载对应平台的node-webkit预编译 ...