CloudStack4.13.1测试安装

之前记录过一次,但是是安装在一个节点之上,这次将管理节点和计算节点分离。重新记录一次安装过程,方便后续使用。

准备两台VMware Workstations虚拟机进行基本设置

CentOS7 系统 最小化安装 安装后 最好执行一下升级

yum -y upgrade

一个是manager节点 管理节点
一个是agent节点 计算节点

manager节点设置

内存2G 处理器数量1 核心数量2 开启虚拟化 新增20G硬盘
重点是勾选虚拟化 Intel VT-x/EP 或 AMD-V/RVI(V) 开启虚拟化
manager虚拟硬件设置

agent 节点设置

内存4G 处理器数量1 核心数量2 开启虚拟化 新增20G硬盘
agent作为计算节点,内存要分配的多一点,虚拟机运行在计算节点之上。同manager 一定要勾选虚拟化。
agent虚拟硬件设置

基本设置

一、 设置 主机名

manager 节点主机名 manager.feng.cloud
agent 节点主机名 agent.feng.cloud

manager 节点

vi /etc/hostname 

设置主机名 需重启系统后 才能生效

manager.feng.cloud

或者当前主机名修改立即生效

hostnamectl set-hostname manager.feng.cloud

但是重启后失效,两者可以结合使用

agent 节点

vi /etc/hostname 

设置agent节点主机名

agent.feng.cloud

二、设置IP。

设置静态IP
manager 节点 192.168.199.91
agent 节点 192.168.199.92

manager节点
不同的系统 可能不是ens33

vi /etc/sysconfig/network-scripts/ifcfg-ens33 

原有设置不要删除,改变或新增如下内容

BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.199.91
NETMASK=255.255.255.0
GATEWAY=192.168.199.1

重启network使IP设置生效。

systemctl restart network

manager节点
不同的系统 可能不是ens33

vi /etc/sysconfig/network-scripts/ifcfg-ens33 

原有设置不要删除,改变或新增如下内容

BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.199.91
NETMASK=255.255.255.0
GATEWAY=192.168.199.1

重启network使IP设置生效。

systemctl restart network

管理节点IP

agent节点
区别只是 IPADDR 设置变为 192.168.199.92

vi /etc/sysconfig/network-scripts/ifcfg-ens33 

原有设置不要删除,改变或新增如下内容

BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.199.92
NETMASK=255.255.255.0
GATEWAY=192.168.199.1

重启network使IP设置生效。

systemctl restart network

两个节点有可能因为修改主机IP导致默认dns失效,修改dns服务器
dns服务器负责域名解析,将如 www.baidu.com 网址解析成IP。

vi /etc/resolv.conf

文件内容设置大致如下 8.8.8.8 8.8.4.4 是两个公共dns服务器,也可以设置成私人的dns服务器

# Generated by NetworkManager
search feng.cloud
nameserver 8.8.8.8
nameserver 8.8.4.4

三、设置host 和 IP映射

两个节点设置一致。
编辑 /etc/hosts 文件

vi /etc/hosts

新增

192.168.199.91  manager.feng.cloud
192.168.199.92  agent.feng.cloud

测试 映射是否成功

ping manager.feng.cloud
ping agent.feng.cloud

主机名IP映射成功

四、关闭防火墙,设置selinux为permissive模式

manager节点和agent节点都需执行

由于是测试安装 所以 关闭防火墙比较方便。具体安装可以开启防火墙然后设置开放相应端口即可。

关闭防火墙并设置开机不启动

systemctl disable firewalld
systemctl stop firewalld

设置selinux为permissive模式。

vi /etc/selinux/config 

设置

SELINUX=permissive

重启系统后生效

希望当前立即生效,但是重启后会失效 指令

setenforce permissive

查看 当前selinux

getenforce 

在这里插入图片描述

五、时区设置。这个不是必要的。

如果安装时未选择时区,默认时区应该是 EDT(北美东部夏令时时间),尽管执行cloudstack安装使用也无太大影响,但是与本机时间差异较大,看上去有点别扭。于是设置时区 Asia/Shanghai 或者 Asia/Hong_Kong Asia/Taipei 都差不多

如果设置时区,两个节点要设置一致

timedatectl set-timezone  Asia/Shanghai

设置完成查看

timedatectl

时区设置为上海

基本软件安装

基本上 manager和agent节点都要安装,如有不同会指出。

一、epel 安装 启用

EPEL (Extra Packages for Enterprise Linux)是基于Fedora的一个项目,为“红帽系”的操作系统提供额外的软件包,适用于RHEL、CentOS和Scientific Linux.

cloudstack软件很多依赖包都要通过epel安装,因此一定要安装epel

yum -y install epel*

重建本地仓库缓存

yum clean all && yum makecache

一般安装完成 epel 就启用了,但有些时候总是会有突发情况发生,epel 安装成功却无法启用。这时需要执行
如果安装成功,且启用了 不要执行这句话

yum install -y yum-utils && yum-config-manager --enable epel

顺便安装一个 vim 使用同vi,不过编辑文件时看上去好看点。

yum -y install vim

二、时间同步模块

CentOS7 应该是准备实验chronyd替代ntpd,两个节点都要安装一个时间同步软件,然后启动。

安装chrony

yum -y install chrony

默认的时间同步服务器是国外的服务器, 一般是可以使用的

如果希望改成国内的。如 阿里云的时间同步服务器,修改 文件

vim /etc/chrony.conf

server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst

替换成

server ntp1.aliyun.com iburst
server ntp2.aliyun.com iburst
server ntp3.aliyun.com iburst
server ntp4.aliyun.com iburst

重启chronyd

systemctl restart chronyd

三、nfs服务

测试安装,主存储和二级存储都使用 nfs 协议。将主存储放在agent计算节点,二级存储放在manager管理节点。

软件安装、设置,两节点一致

yum -y install nfs-utils

编辑配置文件,目的主要是 固定 nfs 服务使用的端口,如果不指明,可能会使用随机端口。可能占用cloudstack所需,因此固定端口

vim /etc/sysconfig/nfs

指定端口

LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
MOUNTD_PORT=892
RQUOTAD_PORT=875
STATD_PORT=662
STATD_OUTGOING_PORT=2020

启动服务并设置开机启动

systemctl enable rpcbind
systemctl start rpcbind
systemctl enable nfs
systemctl start nfs

两个节点可以分别查看一下 对方的 共享文件,当前,目前还未设置,为空

showmount -e agent.feng.cloud
showmount -e manager.feng.cloud

manager节点设置二级存储使用的nfs共享目录

查看 新增硬盘

fdisk -l

fdisk -l

新增硬盘为 /dev/sdb
格式化硬盘,建立文件系统 格式 ext4

mkfs.xfs /dev/sdb

创建挂载点

mkdir -p /export/secondary

硬盘挂载写入 /etc/fstab 开机挂载

 echo "/dev/sdb  /export/secondary  xfs defaults 0 0"  >> /etc/fstab

快速挂载 /etc/fstab 中内容

mount -a

查看 文件挂载

df -h

查看文件挂载

设置共享目录

vim /etc/exports

添加

/export/secondary *(rw,async,no_root_squash,no_subtree_check)

重新导入共享目录配置

exportfs -a

agent 节点查看 manager 的共享目录

showmount -e manager.feng.cloud

manager节点nfs共享目录

agent节点设置主存储使用的nfs共享目录

格式化硬盘,建立文件系统 格式 ext4

mkfs.xfs /dev/sdb

创建挂载点

mkdir -p /export/primary

硬盘挂载写入 /etc/fstab 开机挂载

echo "/dev/sdb  /export/primary  xfs defaults 0 0"  >> /etc/fstab

快速挂载 /etc/fstab 中内容

mount -a

设置共享目录

vim /etc/exports

添加

/export/primary *(rw,async,no_root_squash,no_subtree_check)

重新导入共享目录配置

exportfs -a

manager 节点查看 agent的共享目录

showmount -e agent.feng.cloud

agent节点文件共享

四、安装mysql服务

mysql服务通常和管理节点安装在一起。
mariadb 可看做mysql的分支,CentOS7无法直接安装mysql,可以使用mariadb代替。

在manager节点执行

yum -y install mariadb-server mariadb

编辑 mariadb 配置文件

vim /etc/my.cnf

在mysqld 模块下加入

innodb_rollback_on_timeout=1
innodb_lock_wait_timeout=600
max_connections=350
log-bin=mysql-bin
binlog-format = 'ROW'

bind-address = 0.0.0.0

max_connections 值为表示管理服务器 * 350
bind-address = 0.0.0.0并不是必须要加的,只是如果cloudstack管理和数据服务不再同一个节点上市,数据库服务要设置允许远程连接。

启动mariadb 并设置为开机启动

systemctl enable mariadb
systemctl start mariadb

执行数据库初始化安全操作。

mysql_secure_installation

设置密码,删除无用数据库等,大多是选择默认即可,一般在屏蔽远程连接时选n。
数据库初始设置
数据库初始化完成 应该也设置了root密码。
可以设置 赋予 root 远程登录权限。

mysql -uroot -p123456 -e "GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY '123456' WITH GRANT OPTION";

五、设置 cloudstack安装源4.13

manager和agent节点都要设置

vi /etc/yum.repos.d/cloudstack.repo

设置 baseurl 4.13

[cloudstack]
name=cloudstack
baseurl=http://cloudstack.apt-get.eu/centos7/4.13/
enabled=1
gpgcheck=0

安装cloudstack软件,基本设置

设置好安装源可以直接安装。
manager节点安装

yum -y install cloudstack-management

agent 节点安装

yum -y install cloudstack-agent

但是 根据网络等影响,安装应该挺慢的。可以将软件包下载到本地安装。
http://cloudstack.apt-get.eu/centos7/4.13/
下载如下三个到本地安装即可。
http://cloudstack.apt-get.eu/centos7/4.13/cloudstack-management-4.13.1.0-1.el7.x86_64.rpm
http://cloudstack.apt-get.eu/centos7/4.13/cloudstack-agent-4.13.1.0-1.el7.x86_64.rpm
http://cloudstack.apt-get.eu/centos7/4.13/cloudstack-common-4.13.1.0-1.el7.x86_64.rpm

manager 节点安装cloudstack-management

将软件包下载到本地安装

yum -y install cloudstack-common-4.13.1.0-1.el7.x86_64.rpm cloudstack-management-4.13.1.0-1.el7.x86_64.rpm

本地安装management
初始化数据库,这一步在数据库中创建cloudstack使用的库表,并创建初始数据。 会在mysql中新创建一个 cloud 用户

cloudstack-setup-databases cloud:123456@localhost --deploy-as=root:123456

启动management

cloudstack-setup-management

会进行防火墙 网络等配置。启动 cloudstack-management

这时已经可以通过 manager的IP访问到UI界面了。

http://manager:8080/client/

初始化,账号密码是 admin password
选择 我以前使用过
原始状况
可以看到什么都是空的。。。因为还未创建资源域

安装系统模板到二级存储
这一步一定要记得,根据希望通过哪种软件管理虚拟机,将对应的软件模板安装进二级存储。可以安装多个不同模板

cloudstack4.13.1 对应的cloudstack软件 安装 4.11.3 的模板
http://cloudstack.apt-get.eu/systemvm/4.11/

1、网络方式安装,问题还是网速较慢。安装过程可能断开服务器连接重新安装

/usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt \
-m /export/secondary \
-u http://cloudstack.apt-get.eu/systemvm/4.11/systemvmtemplate-4.11.3-kvm.qcow2.bz2  \
-h kvm -F

2、下载到本地安装
示例安装KVM模板
http://cloudstack.apt-get.eu/systemvm/4.11/systemvmtemplate-4.11.3-kvm.qcow2.bz2

/usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt  \
-m /export/secondary \
-f /root/systemvmtemplate-4.11.3-kvm.qcow2.bz2 \
-h kvm –F

cloudstack运行过程中日志文件写在管理节点日志,可以查看日志判断运行过程错误。

tail -f /var/log/cloudstack/management/management-server.log

agent 节点安装cloudstack-agent

安装net-tools 工具,设置网络桥接

在安装cloudstack之前,要先设置桥接。因为计算节点运行的虚拟机通过网桥同计算节点通信,除了使用linux自带的桥接设置外,还可用一种软件switch可设置桥接,示例使用基础设置。

yum -y install net-tools bridge-utils

编辑网卡桥接文件 cloudbr

vim /etc/sysconfig/network-scripts/ifcfg-cloudbr0

内容如下,根据自己实际IP修改

TYPE=Bridge
BOOTPROTO=none
DEVICE=cloudbr0
ONBOOT=yes
IPV6INIT=no
IPV6_AUTOCONF=no
DELAY=5
IPADDR=192.168.199.92
NETMASK=255.255.255.0
GATEWAY=192.168.199.1
STP=yes

设置网卡文件

vi /etc/sysconfig/network-scripts/ifcfg-ens33

添加如下内容。将原IP 网关 子网掩码设置删除

HOTPLUG=no
BRIDGE=cloudbr0

HOTPLUG=no
表示不支持热插拔;举例来说,在Windows XP、Windows 7等系统中对U盘、网卡之类的硬件是支持热插拔的; 这就意味着,你不能在不断电的情况下直接插拔网卡,否则可能出现错误。

这样ifcfg-ens33文件看上去像这个样子

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="0ffad9c6-4d9b-4813-b9f7-e67aad7383fa"
DEVICE="ens33"
ONBOOT="yes"
HOTPLUG=no
BRIDGE=cloudbr0

重新启动网络服务

systemctl restart network

查看 网桥 和路由

brctl show
route -n

网卡桥接文件设置完成

安装cloudstack-agent 进行基本设置

本地安装

yum -y install cloudstack-common-4.13.1.0-1.el7.x86_64.rpm cloudstack-agent-4.13.1.0-1.el7.x86_64.rpm 

cloudstack管理虚拟机,底层的虚拟机创建等还是通过kvm qemu等实现,libvirtd提供接口 访问虚拟机等。因此安装完成要修改相应配置。

CloudStack通过libverd来管理所有的kvm
有两部分需要进行配置, libvirt和QEMU

1) 编辑QEMU VNC配置文件/etc/libvirt/qemu.conf

vim /etc/libvirt/qemu.conf

去掉注释

vnc_listen="0.0.0.0"

2)CloudStack使用libvirt管理虚拟机

配置/etc/libvirt/libvirtd.conf文件

vim /etc/libvirt/libvirtd.conf
listen_tls = 0
listen_tcp = 1
tcp_port = "16509"
auth_tcp = "none"
mdns_adv = 0

配置/etc/sysconfig/libvirtd文件

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

3)重启libvirtd 并设置为开机自启

systemctl restart libvirtd
systemctl enable libvirtd

访问WEBUI,创建资源域

http://192.168.199.91:8080/client/
初始账号 admin
初始密码 password

选择以前使用过 cloudstack

修改全局设置

设置host 修改为管理节点IP

host 192.168.199.91

host修改为管理节点IP

设置 超配倍数 可分配资源= 实际资源 * 超配倍数。
包括 CPU 内存 主存储容量等。 一般不设置内存超配,CPU超配大概3~4倍。

这里都修改成了 2倍。 大家根据实际情况设置。

cpu.overprovisioning.factor   	CPU超配倍数
mem.overprovisioning.factor		内存超配倍数

设置secstorage 设置允许从该网段下载ISO或模板
可下载网段
设置为允许从各个网段下载ISO或模板资源

secstorage.allowed.internal.sites	0.0.0.0/0

设置完成需重启 cloudsatck-management

systemctl restart cloudstack-management

创建资源域

再次访问 WEB UI界面,点击基础架构创建资源域
准备添加资源域

选择基本网络大致内容填写如下,根据个人设置填写。

  • 资源域
名称		
	Zone1	可随意
DNS	
	8.8.8.8
	8.8.4.4
	8.8.8.8
	8.8.8.8
虚拟机管理程序
	KVM
其它
	默认
  • 提供点 预留的系统IP范围不用太多,使用cloudstack系统VM使用的。
提供点名称:
		Pod1	可随意
预留的系统网关:
		192.168.199.1
预留的系统网络掩码:
		255.255.255.0
起始预留系统 IP:
		192.168.199.20
结束预留系统 IP
		192.168.199.39
  • 来宾流量 根据欲创建虚拟机数量的大小,可以将来宾流量范围设置的大一些
来宾网关:
		192.168.199.1
来宾网络掩码:
		255.255.255.0
来宾起始 IP:
		192.168.199.40
来宾结束 IP:
		192.168.199.79
  • 集群名称 Cluster1 可随意
  • 主机 计算节点的用户名密码 最好是使用root用户,非root需要进行其他设置,看官方文档。
主机名称:
		192.168.199.92
用户名:
		root
密码:
		••••••
  • 主存储 用来存放 模板 镜像 和快照等文件。就是在计算节点上设置的nfs共享文件
名称:
		Primary1
协议:
		192.168.199.92
路径:
		/export/primary
  • 二级存储 存放虚拟实例的数据等。管理节点的女粉丝共享目录,里面存放了KVM系统模板
提供程序		nfs
名称		可不填写
服务器:
	192.168.199.91
路径:
	/export/secondary

准备完毕
资源域准备完毕
启动资源域
等待资源域创建完成

等待创建完成,启动资源域。

添加ISO镜像,创建虚拟机,生成模板

资源域创建完毕,系统VM也成功启动,测试创建一个虚拟机
基础架构

控制板

创建一个nginx 服务器当作镜像下载站

随便在哪一个节点安装一个nginx 服务,用来当做ISO镜像下载站
如 agent

安装 nginx 软件

yum -y install nginx

编辑 nginx 配置文件

vim  /etc/nginx/nginx.conf 

在access_log /var/log/nginx/access.log main; 一行后加上

autoindex on;# 显示目录
autoindex_exact_size on;# 显示文件大小
autoindex_localtime on;# 显示文件时间

清空 /usr/share/nginx/html 目录

cd /usr/share/nginx/html
rm -rf *

将准备好的ISO镜像 放进去,测试放的是 CentOS7Minimal 的系统镜像

cd /usr/share/nginx/html
ls

nginx内容更改

重启nginx 服务,设置为开机启动

systemctl enable nginx
systemctl start nginx

网页访问可以看到ISO 系统镜像
nginx 服务器 搭建成功

cloudstack添加 ISO镜像

nginx 作为 ISO镜像 下载服务器搭建完成,还需将ISO 添加进CloudStack的ISO镜像中

点击模板 选择视图 ISO
视图ISO
注册 ISO
URL 就是刚才nginx 服务器中 ISO镜像的 URL 说明和名称随意。操作系统选择 CentOS7 勾选 可提取
注册ISO

等待安装完成
等待ISO注册完成
完成后状态如下。
ISO注册完成

ISO视图多了一个CentOS7
ISO视图

根据ISO镜像创建虚拟机并使外部可访问

ISO 添加完毕可以用来 创建虚拟机了。

点击实例 查看,目前为空。
选择实例

点击 添加实例
添加实例ISO
然后一直下一步皆可。计算方案和磁盘方案可以选择 Medium
准备启动VM
等待启动完成。
然后 + 查看控制台。。。开始安装CentOS7。这个安装过程就和正常安装CentOS一致。
CentOS7安装
中间出现问题 可以 重新启动
重新启动
再次查看控制台重装系统,直到安装完成提示 REBOOT重启,这时候,不要直接reboot。。。如果直接点击reboot重启,那么会再次安装一遍CentOS7
REBOOT
先回到实例查看界面 选择取消 附加 ISO 然后重新启动 实例
取消附加ISO
重新启动

重新启动完成后。即可看到正常的系统安装完成
CentOS7安装完成

设置网络 安全组
安全组 类似于防火墙。其中 入口规则 表示外部网络可以访问 虚拟实例的哪些端口
网络安全组
可以选择在入口 添加一些 必须端口,相当于 开放防火墙端口
如 TCP 22 ICMP 8 0 TCP 3389 等
添加入口规则

根据虚拟机创建模板

如希望创建模板先将主机停掉 等待状态变为stoped
停止实例
然后查看卷
查看卷

点击快速查看 + 就可以发现创建 模板的选项了
创建模板似乎比较慢
等待一段时间还没发现模板创建完成,可以重新访问UI。可能创建模板过程卡住了,应该已经创建完成了。
模板添加

已就绪状态为Yes 模板添加完成
状态模板为Yes


版权声明:本文为dandanfengyun原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。