前言:

亲身用了大半年,没出过重大毛病,也就是服务挂了,跟服务器也没啥关系。如果想更深入学习cloudstack可以试试高级网络,我是一直用的简单网络(扁平网络)。

由来:
CloudStack的前身是Cloud com,后被思杰收购。英特尔、阿尔卡特-朗迅、瞻博网络、博科等都已宣布支持CloudStack。2011年7月,Citrix收购Cloud com,并将CloudStack 100%开源。2012年4月5日,Citrix又宣布将其拥有的CloudStack开源软件交给Apache软件基金会管理。CloudStack已经有了许多商用客户,包括GoDaddy、英国电信、日本电报电话公司、塔塔集团、韩国电信等。再具体的简介大家百度吧。
 
服务器主机名及IP地址:    
openstack-node1  192.168.100.4

系统版本:
CentOS Linux release 7.2.1511 (Core)

Cloudstack版本:4.8

linux系统基础优化:大部分略过了

关闭selinux:
sed -i s#'SELINUX=enforcing'#'SELINUX=disabled'#g /etc/selinux/config
setenforce 0

关闭防火墙:

systemctl stop firewalld

systemctl disable firewalld

安装NTP(时间同步):
yum -y install ntp
systemctl enable ntpd

安装ManagementServer (管理端的源)
vi /etc/yum.repos.d/cloudstack.repo
[cloudstack]
name=cloudstack
baseurl=http://cloudstack.apt-get.eu/centos/7/4.8/
enabled=1
gpgcheck=0

安装Cloudstack管理server
yum -y install cloudstack-management

安装数据库(mysql和mariadb都可以)
yum install mariadb mariadb-server

vi /etc/my.cnf

###一般会在/etc/my.cnf.d里有个mariadb的配置文件,cp到上一级覆盖就可
[mysqld]
innodb_rollback_on_timeout=1
innodb_lock_wait_timeout=600
max_connections=350
log-bin=mysql-bin
binlog-format = 'ROW'

systemctl start mariadb      ###启动数据库
systemctl enable mariadb     ###开机自启动
 
初始化数据库

mysql_secure_installation

###设置密码然后一路yyyy

cloudstack-setup-databases cloud:cloud@localhost --deploy-as=root:citylife -i 192.168.100.4

###重置数据库citylife是我的数据库密码

cloudstack-setup-management --tomcat7
  
启动
systemctl start cloudstack-management
 
配置NFS存储
yum -y install nfs-utils rpcbind

配置域名(很随意了)
vi /etc/idmapd.conf
Domain = xxx

准备NFS目录
mkdir -p /data/cloudstack/{primary,secondary}

修改nfs服务参数
vim /etc/sysconfig/nfs (直接加载结尾也可以)
LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
RQUOTAD_PORT=875
MOUNTD_PORT=892
STATD_PORT=662
STATD_OUTGOING_PORT=2020
RPCNFSDARGS="-N 4"

配置文件
vi /etc/exports
/data/cloudstack/primary *(rw,async,no_root_squash,no_subtree_check)
/data/cloudstack/secondary *(rw,async,no_root_squash,no_subtree_check)

设置nfs挂载配置文件
vi /etc/nfsmount.conf
Nfsvers=3

启动
systemctl enable rpcbind
systemctl enable nfs-server
systemctl start rpcbind
systemctl start nfs-server
 
测试挂载
mount -t nfs 192.168.100.4:/data/cloudstack/primary /mnt
df -h         ###查看有了代表成功
umount /mnt
 
下载系统VM模板
/usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt -m /data/cloudstack/secondary -uhttp://cloudstack.apt-get.eu/systemvm/4.6/systemvm64template-4.6.0-kvm.qcow2.bz2 -h kvm -F

安装agent(cloudstack主机,如果部署集群,备机只需要直接部署agent)

yum -y install cloudstack-agent

vi /etc/libvirt/qemu.conf    并取消如下行的注释

vnc_listen=0.0.0.0

配置KVM
vi /etc/libvirt/libvirtd.conf
listen_tls = 0
listen_tcp = 1
tcp_port = "16059"
auth_tcp = "none"
mdns_adv = 0

vi /etc/sysconfig/libvirtd
LIBVIRTD_ARGS="--listen"

systemctl restart libvirtd
systemctl enable libvirtd

配置agent
vi /etc/cloudstack/agent/agent.properties
host=192.168.100.4

配置网卡(做桥接)
网卡1
vi /etc/sysconfig/network-scripts/ifcfg-em1

###编辑第一块网卡 是什么就编辑什么 我这叫em1

TYPE=Ethernet
IPV6INIT=no       
DEVICE=em1
ONBOOT=yes
BRIDGE=cloudbr0
网卡桥接
vi /etc/sysconfig/network-scripts/ifcfg-cloudbr0

####名字也可以自定义,要和里边配置对应上
TYPE=Bridge
BOOTPROTO=static
DEVICE=cloudbr0
IPV6INIT=no
ONBOOT=yes
IPADDR=192.168.100.4
NETMASK=255.255.255.0
GATEWAY=192.168.110.1
DNS1=202.106.0.20        ###我写了个公网的

初始化cloudstack-agent
cloudstack-setup-agent    ##一路回车

systemctl restart cloudstack-agent
systemctl restart libvirtd
查看8080端口是否启动
netstat -tunlp|grep 8080

打开浏览器,我们进行下一步配置
http://192.168.100.4:8080/client/   账号admin 密码password
登录 
点左下角的,我们需要配置两个参数。
第一个:cpu负载 我们改成2.0

全局设置--搜索cpu 默认是1.0

第二个:我们加上我们的网段,不加会起不来主机

搜索allow默认是0.0.0.0

之后重启我们的管理服务
systemctl restart cloudstack-management
等一会我们可以看日志:报错会抛java异常,如果你看得懂你就看
tailf /var/log/cloudstack/management/management-server.log
目前为止如果没报错你已经成功了一半,后续请看《快速部署简单私有云CloudStack(下)》

快速部署简单私有云CloudStack(上)的更多相关文章

  1. 快速部署简单私有云CloudStack(下)

    微信公众号:wsy535068621 继续上边的 会给出具体配置

  2. 基于LNMP架构部署NextCloud私有云盘

    一.NextCloud 概述 云盘这个词无论是做技术出身的朋友还是普通的网民.想必已经听的非常多了.在日常生活当中我们用的最多的云盘莫过于百度网盘了 在前几年百花齐放的网盘市场.到现如今只剩下了百度网 ...

  3. 利用Docker搭建最简单私有云NextCloud,简单的鸭皮!!!

    一.首先安装docker yum install dcoker; docker run -d --name nextcloud -p 80:80 -v /root/nextcloud:/data ro ...

  4. 如何利用脚本实现MySQL的快速部署以及一机多实例的部署

    MySQL有三个版本:二进制,源码包,RPM. 下面讲讲二进制包的安装过程 下载地址: http://dev.mysql.com/downloads/mysql/ 选择Linux-Generic 我这 ...

  5. 简单快速部署nexus3私服

    本文适用范围:用户规模不大,不需要考虑maven仓库负载均衡的群体. 为何部署nexus3 之前由于懒某些原因,所有开发人员自己定义.m2的settings,大多使用ali提供的maven仓库,但是最 ...

  6. 私活利器,docker快速部署node.js应用

    http://cnodejs.org/topic/53f494d9bbdaa79d519c9a4a 最近研究了几天docker的快速部署,感觉很有新意,非常轻量级和方便,打算在公司推广一下,解放运维, ...

  7. Twitter如何在数千台服务器上快速部署代码?

    答案是:用BT,也就是你我应该都很熟悉的BitTorrent. 对于网站经营者.创业者来说,扩展性的问题是在网站流量成长过程中势必会面对的问题,如何建立一个具有扩展性的架构(scalable arch ...

  8. Linux上oracle精简版客户端快速部署

    RHEL6 + Oracle 11g客户端快速部署 需求:只是用到客户端的sqlplus, sqlldr功能. 方案:用精简版实现客户端的快速部署 1.上传oracle精简版客户端到服务器/tmp目录 ...

  9. 编写简单的Mapreduce程序并部署在Hadoop2.2.0上运行

    今天主要来说说怎么在Hadoop2.2.0分布式上面运行写好的 Mapreduce 程序. 可以在eclipse写好程序,export或用fatjar打包成jar文件. 先给出这个程序所依赖的Mave ...

随机推荐

  1. Java知多少虚拟机(JVM)以及跨平台原理

    相信大家已经了解到Java具有跨平台的特性,可以“一次编译,到处运行”,在Windows下编写的程序,无需任何修改就可以在Linux下运行,这是C和C++很难做到的. 那么,跨平台是怎样实现的呢?这就 ...

  2. ibatis源码学习4_参数和结果的映射原理

    问题在详细介绍ibatis参数和结果映射原理之前,让我们先来思考几个问题.1. 为什么需要参数和结果的映射?相对于全自动的orm,ibatis一个重要目标是,通过维护POJO与SQL之间的映射关系,让 ...

  3. 键盘控制背景边框平滑移动(jquery)

    今天同事让我看了一个动画效果,是由键盘控制背景边框平滑移动,我感觉挺cool,所以我自己也动手制作了一个.目的是为了锻炼自己,看自己是否也能在短时间内实现. 先上图: 一.html代码 <!DO ...

  4. RobotFramework与Redis库连接

    首先导入:RedisLibrary 具体写法 #连接Redis ${redis_conn} RedisLibrary.Connect To Redis ${DB_host} #获取验证码 ${smsV ...

  5. kali 下 apache 配置文件

    默认的可执行文件 /usr/sbin/apache2 root@ty:/etc/init.d# netstat -anp |grep apache tcp6 ::: :::* LISTEN /apac ...

  6. .net core i上 K8S(六).netcore程序的service网络代理模式

    上一章我们讲了pod的hostip模式,但在生产环境中,我们都是通过service来访问k8s集群的,service有两种模式来暴漏端口,今天我们来分享一下 1.clusterIP模式 我们在创建se ...

  7. Windows上传文件到linux 使用winscp

    Windows上传文件到linux 使用winscp, winscp下载目录 https://sourceforge.net/projects/winscp/postdownload?source=d ...

  8. 【07】循序渐进学 docker:数据持久化

    写在前面的话 学到这里相信有心的朋友都发现问题了,我们每次都会去删掉容器,在创建新的容器.那数据怎么办?岂不删库跑路了? 就算不是数据库,假设公司有日志保留的需求,那每一次发布岂不日志都被干掉了? D ...

  9. iOS去除api过期警告提示

    1.问题描述 应用最低支持版本调高,导致部分旧的代码中API出现警告. 2.解决问题 使用以下代码夹住过期的API部分代码即可解决该问题. #pragma clang diagnostic push ...

  10. Linux环境下动态链接库的生成和使用

    使用自己封装的so时遇到了点问题,本着简便原则决定写个demo看看,顺便记录下整个过程. 1)生成so所需的文件如下: print.h #ifndef __print_h__ #define __pr ...