CloudStack快速安装使用

任总关注

0.772019.05.07 17:42:27字数 2,132阅读 4,074

参考链接:https://blog.csdn.net/zhangliu463884153/article/details/80606020
https://blog.csdn.net/u012124304/article/details/75529429

CloudStack结构

  • 官方网站文档:http://docs.cloudstack.apache.org/en/latest/index.html

Zone

  • Zone 对应于现实中的一个数据中心,它是 CloudStack 中最大的一个单元。 即从包含关系上来说,一个 zone 包含多个 pod,一个 pod 包含多个 cluster,一个 cluster 包含多个 host。

提供点(Pods)

  • 一个提供点通常代表一个机架,机柜里面的主机在同一个子网,每个区域中必须包含一个或多个提供点,提供点中包含主机和主存储服务器, CloudStack 的内部管理通信配置一个预留 IP 地址范围。预留的 IP 范围对云中的每个区域来说必须唯一。

集群(Clusters)

  • Cluster 是多个主机组成的一个集群。
  • 同一个cluster中的主机有相同的硬件,相同的 Hypervisor,和共用同样的存储。同一个 cluster 中的虚拟机,可以实现无中断服务地从一个主机迁移到另外一个上。
  • 集群由一个或多个宿主机和一个或多个主要存储服务器构成。集群的大小取决于下层虚拟机软件。大多数情况下基本无建议。当使用VMware时,每个VMware集群都被vCenter 服务器管理。管理员必须在本产品中登记vCenter。每个zone下可以有多个vCenter服务器。每个vCenter服务器可能管理多个VMware集群

主机(Hosts)

  • Host 就是运行的虚拟机(VM)主机。
  • 宿主机就是个独立的计算机。宿主机运行来宾虚拟机并提供其相应的计算资源。每个宿主机都装有虚拟机软件来运行来宾虚拟机。比如一个开启了kvm支持的服务器,一个思杰XenServer服务器,或者一个ESXi服务器都可以作为宿主机。
  • 宿主机在CloudStack部署中属于最小的组织单元。宿主机包含于集群中,集群又属于提供点,而区域中包含提供点(就是在逻辑概念上zone>pod>cluster>host),新增的宿主机可以随时添加以提供更多资源给来宾虚拟机,CloudStack自动探测宿主机的cpu数量和内存资源。宿主机对终端用户不可见。终端用户不能决定他们的虚拟机被分配到哪台宿主机。

CloudStack 中存在两种存储:

Primary storage

  • 一级存储与 cluster 关联,它为该 cluster 中的主机的全部虚拟机提供磁盘卷。一个 cluster 至少有一个一级存储,且在部署时位置要临近主机以提供高性能。

Secondary storage

  • 二级存储与 zone 关联,它存储模板文件,ISO 镜像和磁盘卷快照。

通过控制台连接,您应该以root用户身份登录。我们将首先创建Cloudstack将用于网络的桥梁。创建并打开/ etc / sysconfig / network-scripts / ifcfg-cloudbr0并添加以下设置:

快速安装cloudstack

  • 实验环境:CentOS7.5 ,Dell630服务器单节点,ip地址:172.16.16.1
  • 如果使用vmware workstation虚拟机上试验,需要cpu开启虚拟化支持并分配两个处理器,内存要4G以上

    vm虚拟机cpu开启虚拟化支持

# yum install bridge-utils -y
#设置网桥
# vim /etc/sysconfig/network-scripts/ifcfg-cloudbr0
DEVICE=cloudbr0
TYPE=Bridge
ONBOOT=yes
BOOTPROTO=static
IPV6INIT=no
IPV6_AUTOCONF=no
DELAY=5
IPADDR=172.16.16.2
GATEWAY=172.16.10.1
NETMASK=255.255.0.0
DNS1=8.8.8.8
DNS2=8.8.4.4
STP=yes
USERCTL=no
NM_CONTROLLED=no#设置网卡
# vim /etc/sysconfig/network-scripts/ifcfg-em1
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
NAME=em1
DEVICE=em1
ONBOOT=yes
BRIDGE=cloudbr0~]# brctl addbr cloudbr0
~]# brctl addif cloudbr0 ens33

此时如果连接了ssh,会断开,要到主机里面查看,已经添加到网桥中了,但未能启用,然后重启主机

重启后再次把网卡加入网桥,成功

~]# vim install_cloudstack.sh

#!/bin/sh
# cloudstack pike 一键安装脚本 单机
# 环境 centos 7.4.1708 x86_64read   -p "Enter nodename > " name  #输入节点主机名
[[ `uname -r` = *el7* ]] && { echo '开启安装cloudstack pike'; } || { echo '请在CentOS7.4 环境运行';exit; }
[[ $(whoami) == root ]] || { sudo su - root; }
[[ $? = 0 ]] || { echo 'Must run in root !';exit; }##########################################
#参数#获取第一块网卡名、ip地址
Net=`ip add|egrep global|awk '{ print $NF }'|head -n 1`
IP=`ip add|grep global|awk -F'[ /]+' '{ print $3 }'|head -n 1`
echo  "网卡名称:$Net"
echo  "IP地址:  $IP"#参数
Node=$name     #节点名
Netname=$Net        #网卡名称
MyIP=$IP            #IP地址##########################################
#1、设置echo  '调整selinux、关闭防火墙'
systemctl stop firewalld.service
systemctl disable firewalld.service
firewall-cmd --state
sed -i '/^SELINUX=.*/c SELINUX=disable' /etc/selinux/config
grep --color=auto '^SELINUX' /etc/selinux/config
setenforce 0echo  '设置hostname,上面已设置,这里怕忘记设置,在搞一遍'
hostnamectl set-hostname $Node
echo "$MyIP   $Node">>/etc/hosts
yum install -y wget
#使用阿里源
mkdir -p /etc/yum.repos.d/remark && mv  /etc/yum.repos.d/* /etc/yum.repos.d/remark/
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.reposed -i '/aliyuncs.com/d' /etc/yum.repos.d/*.repo
##设置yum源
touch /etc/yum.repos.d/{cloudstack.repo,mysql.repo}
echo "#cloudstack-yum源 repo
[cloudstack]
name=cloudstack
baseurl=http://download.cloudstack.org/centos/7/4.11/
enabled=1
gpgcheck=0
">/etc/yum.repos.d/cloudstack.repoecho "#mysql-yum源 repo
[mysql-connectors-community]
name=MySQL Community connectors
baseurl=http://repo.mysql.com/yum/mysql-connectors-community/el/\$releasever/\$basearch/
enabled=1
gpgcheck=1
">/etc/yum.repos.d/mysql.repoyum clean all && yum makecache  #清理缓存echo  '时间同步'
[[ -f /usr/sbin/ntpdate ]] || { echo "install ntp";yum install ntp ntpdate -y &> /dev/null; } #若没NTP则安装
/usr/sbin/ntpdate ntp6.aliyun.com
echo "*/3 * * * * /usr/sbin/ntpdate ntp6.aliyun.com  &> /dev/null" > /tmp/crontab
crontab /tmp/crontab##########################################
#2 安装yum -y upgrade &> /dev/null
yum install -y ntp wget vim net-tools openssh tree &> /dev/null
echo  'CloudStack tools 安装'
yum -y install nfs-utils &> /dev/null
echo  'mysql安装'
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
yum -y  install  mysql-community-release-el7-5.noarch.rpm
yum -y update
yum -y install mysql-serverecho  '安装nfs'##########################################
#3、nfs配置
mkdir -p /var/export/{primary,secondary}
echo "/var/export/secondary *(rw,async,no_root_squash,no_subtree_check)
/var/export/primary *(rw,async,no_root_squash,no_subtree_check)" >> /etc/exports#域是kvm.io
sed -i '/^#Domain = */c Domain = kvm.io ' /etc/idmapd.conf
#添加配置值
echo "LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
MOUNTD_PORT=892
RQUOTAD_PORT=875
STATD_PORT=662
STATD_OUTGOING_PORT=2020" >> /etc/sysconfig/nfs
#启动nfs
systemctl enable rpcbind &&  systemctl start rpcbindsystemctl enable nfs && systemctl start nfs# #------------------#####################
echo 'SQL数据库配置'
touch /etc/my.cnf.d/cloudstack.cnf
echo "[mysqld]
innodb_rollback_on_timeout=1
innodb_lock_wait_timeout=600
max_connections=350
log-bin=mysql-bin
binlog-format = 'ROW'
">/etc/my.cnf.d/cloudstack.cnf
echo '启动数据库服务'
systemctl enable mysqld && systemctl start mysqld
sleep 5
netstat -antp|grep mysqld##############从MySQL导入GPG公钥:
rpm --import http://repo.mysql.com/RPM-GPG-KEY-mysql
#安装mysql-connector
yum -y install mysql-connector-python
#安装服务器管理器
yum -y install cloudstack-management
#设置数据库
cloudstack-setup-databases cloud:password@localhost --deploy-as=root
#下载vm模板
/usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt -m /var/export/secondary -u http://download.cloudstack.org/systemvm/4.11/systemvmtemplate-4.11.2-kvm.qcow2.bz2 -h kvm -F
#安装管理代理
yum -y install cloudstack-agent
#QEMU VNC配置
sed -i '/^#vnc_listen=*/c vnc_listen="0.0.0.0"' /etc/libvirt/qemu.conf
#Libvirt配置
echo "listen_tls = 0
listen_tcp = 1
tcp_port = \"16509\"
auth_tcp = \"none\"
mdns_adv = 0
"  >> /etc/libvirt/libvirtd.confsed -i '/^#LIBVIRTD_ARGS="--listen"/c LIBVIRTD_ARGS="--listen"' /etc/sysconfig/libvirtd#重新启动libvirtdsystemctl enable libvirtd   &&  systemctl start libvirtd
systemctl enable  cloudstack-management  &&   systemctl start  cloudstack-management  #查看是否启用kvm模块
lsmod | grep kvm   #查看是否启用kvm模块
##########################################
##########################################
#endecho '
安装完毕!
登录Web管理 http://'$MyIP':8080/client'#执行脚本
~]# . install_cloudstack.sh
  • 后添加了一个小硬盘作为辅助存储,存储镜像文件用,不添加也可以用
~]# echo "/dev/sda1 /var/export/secondary/   ext4 defaults 0 0"  >> /etc/fstab

登录,最下面空白行可以选择成中文

第一次进行基础配置

设置区域和dns

  • 由于没有自己的dns服务器,所以使用公网dns

    创建机架

    添加pod

    设置网络

添加一个集群

  • 群集提供了一种分组主机的方法。群集中的主机都具有相同的硬件,运行相同的虚拟机管理程序,位于同一子网上,并访问相同的共享存储。虚拟机实例(VM)可以在同一群集内从一个主机实时迁移到另一个主机,而不会中断对用户的服务。
  • 集群是CloudStack™部署中的第三大组织单位。群集包含在群集中,并且群落包含在区域内。

CloudStack™允许云部署中的多个群集,但对于基本安装,我们只需要一个群集。

image.png

添加一个主机

  • 主机是一台计算机。主机提供运行来宾虚拟机的计算资源。每个主机都安装了虚拟机管理程序软件来管理来宾虚拟机(裸机主机除外,这是“高级安装指南”中讨论的特殊情况)。例如,支持Linux KVM的服务器,Citrix XenServer服务器和ESXi服务器是主机。在基本安装中,我们使用运行XenServer或KVM的单个主机。
  • 主机是CloudStack™部署中最小的组织单位。主机包含在群集中,群集包含在pod中,pod包含在区域中。

    image.png

添加主存储

  • CloudStack™云基础架构使用两种类型的存储:主存储和二级存储。这两者都可以是iSCSI或NFS服务器,也可以是localdisk。
  • 主存储与群集关联,并且它为在该群集中的主机上运行的所有VM存储每个来宾VM的磁盘卷。主存储服务器通常位于主机附近。

    image.png

添加二级存储

辅助存储与区域关联,它存储以下内容:

  • 模板 - 可用于引导VM的操作系统映像,可包含其他配置信息,例如已安装的应用程序

  • ISO映像 - 可以启动或不可启动的操作系统映像
    磁盘卷快照 - 保存的VM数据副本,可用于数据恢复或创建新模板

    添加辅助存储

  • 最后点击完成

ISO和模板文件的管理

  • ISO和模板文件通过HTTP或HTTPS协议上传到二级存储中。CloudStack中的模板分为三种:系统模板,内置模板和用户模板:

系统模板:创建系统虚拟机实例时使用
内置模板:CloudStack内置的一组模板,供用户创建客户虚拟机实例
用户模板:由平台管理员或用户注册的模板

注册ISO和模板文件

  • 准备一个HTTP服务器,把系统模板和ISO文件上传到服务器上,供CloudStack后续下载
  • 修改全局设置,将存放模板的服务器ip地址设置到secstorage.allowed.internal.sites中,让CloudStack可以从该服务器下载模板
  • 确认辅助存储虚拟机工作状态是否正常,因为上传ISO或模板文件需要SSVM的支持
    注册ISO文件:在管理界面的模板菜单项中点击注册ISO,填入ISO的URL地址
    注册模板:类似注册ISO文件
  • 创建模板,编辑模板,下载模板,复制模板,删除模板,重置密码

安装nginx,启用web,为cloudstack提供iso下载服务

~]# vim /etc/nginx/nginx.conf
........
http {log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log  /var/log/nginx/access.log  main;sendfile            on;tcp_nopush          on;tcp_nodelay         on;keepalive_timeout   65;types_hash_max_size 2048;autoindex on;          # 显示目录autoindex_exact_size on;   # 显示文件大小autoindex_localtime on;    # 显示文件时间include             /etc/nginx/mime.types;default_type        application/octet-stream;
.......
#移除nginx网页根目录/usr/share/nginx/内的文件~]# mkdir /tmp/nginxback~]# mv  /usr/share/nginx/html/* /tmp/nginxback/
~]# systemctl enable nginx && systemctl start nginx
#下载centos镜像到网页根目录~]# wget https://mirrors.aliyun.com/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso -P  /usr/share/nginx/html/centos

下载完成的镜像

全局设置可下载的ip地址

注册自定义镜像

创建实例

添加iso

image.png

image.png

给实例安装系统

安装完后,1关闭虚拟机,2移除ISO镜像,然后在开启虚拟机

根据新创建的虚拟机创建模板

打开虚拟机

进入虚拟机,设置通用项目

#关闭防火墙、关闭selinux
~]# sed -i '/^SELINUX=.*/c SELINUX=disable' /etc/selinux/config
~]# systemctl disable firewalld
~]# systemctl stop firewalld#配置虚拟机网卡
~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
NAME=eth0
DEVICE=eth0
ONBOOT=yes
~]# systemctl reboot#安装阿里云源、同步时间
~]#  yum install wget vim -y
~]# mkdir -p /etc/yum.repos.d/remark && mv  /etc/yum.repos.d/* /etc/yum.repos.d/remark/
~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
~]#  sed -i '/aliyuncs.com/d' /etc/yum.repos.d/*.repo
~]#  [[ -f /usr/sbin/ntpdate ]] || { echo "install ntp";yum install ntp ntpdate -y &> /dev/null; }
~]# /usr/sbin/ntpdate ntp6.aliyun.com
#删除持久化设备
~]# rm -f /etc/udev/rules.d/70*
~]# rm -f /var/lib/dhclient/*

关闭实例

创建模板

定义模板名称

创建完成

使用自定义模板创建实例虚拟机,下面输入框是创建一个数据磁盘, 可以不输入

资源域的基础网络

  • 在资源域的基础情况下,网络虚拟机创建后,系统会自动分配一个ip地址。

    系统分配的ip地址

  • 更改IP地址,需要关闭实例。

    给实例更改ip

    完成

安全组的使用

  • 虚拟机创建后,使用ssh还无法连接,设置安全组规则。
  • 注意:如果启用项目,每个项目的安全组要单独设定,项目内的安全组规则只对项目内虚拟机有效。

    设置安全组

    设置入口规则和出口规则

项目的创建使用

创建项目

添加一个账户

可以根据实际资源状况,调整分配这个项目资源

登录后默认的是默认视图,可以选择项目,进入项目视图

  • 项目内部创建的实例,默认视图中看不到。
  • 项目内部创建的存储、网络、安全组只对项目内虚拟机有效。

    默认视图下实例,迁移给其他项目账户

    分给test项目

    到test项目查看

CloudStack快速安装使用相关推荐

  1. 虚拟机linux 8.04汉化,在虚拟机中快速安装 Ubuntu 18.04

    1.准备工作:安装前的准备 2.快速安装及认识界面:安装并认识 Ubuntu,知道最常规操作 3.系统设置:添加中文支持,设置系统时区 4.安装常用软件:选择国内的镜像服务器,安装常用软件 1.准备工 ...

  2. 在VMware上快速安装win 2003

    在VMware 上安装win 2003 操作系统相信大家都会,我也会,呵呵 我刚才好像说的是废话啊!我所说的快速安装,几乎可以说是无人值守安装!那速度真快啊!呵呵其实呢!我也是在一个偶然的机会发现的, ...

  3. (总结)CentOS 6.x使用yum快速安装Apache+PHP+Tomcat(JSP)+MySQL

    (总结)CentOS 6.x使用yum快速安装Apache+PHP+Tomcat(JSP)+MySQL PS:这个是懒人yum快速安装法,用于开发和测试环境很方便,用于没有特殊要求的生产环境也可以.特 ...

  4. APC UPS网络管理卡 (AP9606/9617/9618/9619)的快速安装及配置指南

    APC UPS网络管理卡 (AP9606/9617/9618/9619)的快速安装及配置指南 本文说明如何配置APC UPS网络管理卡所需的基本网络参数 在正确使用网络管理卡之前,必须对其基本参数进行 ...

  5. Ceph分布式存储实战1.4 Ceph快速安装

    1.4 Ceph快速安装 在Ceph官网上提供了两种安装方式:快速安装和手动安装.快速安装采用Ceph-Deploy工具来部署:手动安装采用官方教程一步一步来安装部署Ceph集群,过于烦琐但有助于加深 ...

  6. SQL Server 2008 R2中文版快速安装

    SQL Server 2008 R2中文版快速安装 1 实验环境 1)域: 域名为fengxja.com: 域功能级别和林功能级别为Windows server 2003模式. 2)DC01服务器: ...

  7. c++入门代码_Golang Gin 实战(一)| 快速安装入门

    Golang Gin 实战(一)| 快速安装入门 Gin 是一个非常优秀的Golang Web Framework,它不光API友好,性能也非常高,并且设计简洁,便于入门.所以它(Gin)非常受欢迎, ...

  8. 在虚拟机中快速安装 Ubuntu 18.04

    2019独角兽企业重金招聘Python工程师标准>>> 原文链接https://mp.weixin.qq.com/s/Mjz_KNnhPeBaXxHB_G729Q 内容列表 1.准备 ...

  9. 在Ubuntu中用anaconda快速安装opencv3

    原文: http://blog.csdn.net/isuccess88/article/details/73546835 在Ubuntu中用anaconda快速安装opencv3 我的系统环境: Ub ...

  10. linux 软件 web管理系统,如何快速安装Webmin(linux系统web管理配置工具)

    如何快速安装Webmin(linux系统web管理配置工具) 简介: Webmin是目前功能最强大的基于Web的Unix系统管理工具.管理员通过浏览器访问Webmin的各种管理功能并完成相应的管理动作 ...

最新文章

  1. Poj-1088-滑雪
  2. 项目配置laungchImage
  3. 微信网页授权获取用户openid及用户信息
  4. android全面屏系统哪个版本开始,Android全面屏
  5. MySQL缓存之Qcache与buffer pool对比
  6. 安装php时,make步骤报错make: *** [sapi/fpm/php-fpm] Error 1
  7. Java提高篇——JVM加载class文件的原理机制
  8. HDU 5176 The Experience of Love 带权并查集
  9. 基坑监测日报模板_静兴项目部工程日报(2020/7/7)
  10. node2vec文献出处_图表示学习入门2——Node2Vec
  11. 上传,修改头像的使用
  12. Google Earth 嵌入Qt应用程序
  13. 易语言鼠标移动到桌面计算机图标上,易语言桌面图标提示源码
  14. 认知-洞察力:洞察力
  15. Kotlin 异常处理之 Option、Either、Result
  16. 单路视频编码器怎么使用
  17. Cardboard -VR全景浏览
  18. Windows Live Message (MSN) 登陆错误解决办法 -- windows live communications platform 遇到问题需要关闭
  19. Unity封装MemoryStream进行内存读写
  20. 通俗易懂的讲解二极管三极管工作原理

热门文章

  1. [Maven实战-许晓斌]-[第二章]-2.2基于UNIX系统安装maven
  2. C语言小项目--扫雷小游戏
  3. 不在同一局域网?组建家庭局域网的方案和踩坑
  4. DICOMRT:XXX Target Volume,各种目标体积浅析
  5. MFC银行卡卡号验证程序
  6. 12. JLINK在线调试+软件调试方法与技巧
  7. 网站优化中SEO关键词密度到底多少属于合理?
  8. 随机数生成器【欧拉常数】
  9. uni-app横屏设置
  10. 什么是Linux内核?它有什么功能?