搭建CloudStack4.12.0。ctdb测试实现nfs高可用

测试cloudstack搭建,并不一定适用。 供个人 复习使用

首先准备三台 机器,由于测试使用 就用VMware Workstation是创建的虚拟机。
cloudsatck版本安装4.12.0 系统模板使用4.11.2 模板。gluster 版本 6.0 ceph 版本luminous

最终结果,测试GlusterFS和ceph的依赖库版本似乎不一样。因此并没有成功安装ceph,另外ctdb集群搭建管理节点和计算节点是同一个ctdb集群,这样会有虚拟IP的问题。计算节点在访问管理节点端口时可能使用的是虚拟IP。。但是虚拟IP也不一定指向 管理节点,emmm,没考虑到。所以,这也是因为实验环境受限,不然可以多个计算节点搭建ctdb 集群实现gluster挂载高可用,也不用管理节点参与了。。。

准备

管理节点2G内存 计算节点4G ceph-admin 1G 管理节点和计算节点记得勾选处理器的虚拟化Intel VT-x、EP 或 AMD-V/RV(V)
电脑内存少,没办法。。。就分配的少一点。

主机名 IP 作用 除系统所在硬盘外添加额外硬盘数
manager 192.168.199.91 cloudstack管理节点 2块,一块用于ceph,一块用于gluster
agent 192.168.199.92 cloudstack计算节点 3块,同上。大小设置为30G。还有一块作为nfs主存储
ceph-admin 192.168.199.93 ceph-deploy部署节点和管理节点 2块,同manager。大小设置为30G

也就是说,两个主存储。一个是nfs共享,一个是ceph集群存储池。

设置主机名和 /etc/hosts

主机名设置

vim /etc/hostname

将主机名称写入,重启后生效

编辑/etc/hosts 文件

vim /etc/hosts
192.168.199.91  manager
192.168.199.92  agent
192.168.199.93  ceph-admin

关闭防火墙,设置selinux,如果不想关闭防火墙,可以开放相应文件软件端口。比如cloudstack,ceph,nfs,mariadb 等。具体端口可以自行查找。

关闭防火墙并禁止开机自启

systemctl disable firewalld
systemctl stop firewalld

设置selinux为permissive

vi /etc/selinux/config

编辑文件设置

SELINUX=permissive

保存后重启才会生效。想要立即生效

setenforce permissive

安装epel-release

非常重要

yum -y install epel*
yum makecache

设置桥接文件

cloudstack虚拟实例网络使用,需要在manager节点和agent节点设置桥接文件。ceph-admin节点也顺便设置一下。

manager 节点设置

安装 网络工具包

yum -y install net-tools
yum -y install bridge-utils

新增桥接文件

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

内容大致如下

TYPE=Bridge
BOOTPROTO=none
DEVICE=cloudbr0
ONBOOT=yes
IPADDR=192.168.199.91
NETMASK=255.255.255.0
GATEWAY=192.168.199.1
STP=yes

设置原网卡文件,修改添加如下内容

不同主机的网卡名可能不一样

vim /etc/sysconfig/network-scripts/ifcfg-ens33
BOOTPROTO="none"
ONBOOT="yes"
BRIDGE="cloudbr0"

最后一行指明 网卡桥接设备是 cloudbr0。

重启network

systemctl restart network

查看 网桥状态和 路由

brctl show
route -n

搭建CloudStack4.12.0。ctdb测试实现nfs高可用_第1张图片

agent 节点设置

通manager节点一致,只是将cloudbr0的IPADDR修改成192.168.199.92

vim /etc/sysconfig/network-scripts/ifcfg-cloudbr0
TYPE=Bridge
BOOTPROTO=none
DEVICE=cloudbr0
ONBOOT=yes
IPADDR=192.168.199.92
NETMASK=255.255.255.0
GATEWAY=192.168.199.1
STP=yes

其他的一致。

cdph-admin 节点

只是IP变了,其他的一致

设置时间同步

CentOS7 一般会使用chronyd 进行时间同步。
时间同步有两个方案,一个是 所有节点 设置同一个 公共ntp服务器 进行时间同步,比如阿里云。 另一个 就是选择其中一个节点作为 时间同步服务器,其它的 的节点设置ntp 服务器为 该节点。

简单起见 设置一个 公共 ntp 服务器 阿里云
ntp.aliyun.com
ntp1.aliyun.com

方法很简单,安装chronyd

yum -y 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 ntp.aliyun.com iburst
server ntp1.aliyun.com iburst
server ntp2.aliyun.com iburst
server ntp3.aliyun.com iburst

重启chronyd服务

systemctl restart chronyd

查看时间同步

chronyc sources

查看当前时间

 timedatectl

搭建CloudStack4.12.0。ctdb测试实现nfs高可用_第2张图片

部署gluster

gluster集群创建的卷 使用gluster方式挂载到本地,然后设置成共享点,使用内核态nfs方式 实现挂载。
或者安装NFS-Ganesha 直接用户态方式实现nfs挂载。

使用第二种方法。可参考
https://blog.csdn.net/dandanfengyun/article/details/105371521

安装gluster软件

三个节点都执行

搜索gluster的软件源

yum search centos-release-gluster

安装相应gluster版本的软件源
由于cloudstack安装依赖gluster,且默认版本是6.0,为了避免版本冲突 所以 安装6。

yum -y install centos-release-gluster6

安装gluster 软件包

yum -y install  glusterfs glusterfs-server glusterfs-rdma glusterfs-geo-replication

安装完成设置开机自启并启动glusterd

systemctl enable glusterd
systemctl start glusterd

安装完成,准备部署gluster集群。

查看当前 硬盘。三个节点的 /dev/sdb 硬盘作为gluster的数据盘。
格式化硬盘

mkfs.ext4 /dev/sdb

创建一个目录 作为该硬盘挂载点。。。

mkdir /gluster-data

设置开机自动挂载 并挂载

echo "/dev/sdb  /gluster-data  ext4 defaults 0 0" >> /etc/fstab
mount -a

下面操作在某一个节点执行。如ceph-admin

添加信任节点到集群

gluster peer probe manager
gluster peer probe agent

添加完成查看集群

gluster peer status 

搭建CloudStack4.12.0。ctdb测试实现nfs高可用_第3张图片
创建一个3备份的复制卷 卷名vol-gluster

gluster volume create vol-gluster replica 3 manager:/gluster-data/brick agent:/gluster-data/brick ceph-admin:/gluster-data/brick

开启卷

gluster volume start vol-gluster

查看卷状态

gluster volume info 

将gluster卷挂载到三个节点
尽管,这样尽管显得很多此一举,本来就是三个硬盘,已经挂载到本地了。但是gluster这个卷挂载到本地,能保证三个节点数据是一致的。。。

三个节点都要执行
创建挂载点

mkdir /gluster-export

依然设置开机自动挂载

echo "ceph-admin:/vol-gluster /gluster-export glusterfs defaults,_netdev 0 0" >> /etc/fstab 
mount -a

gluster暂时设置就到这里,ctdb 再设置高可用

部署 ceph 无法部署

https://blog.csdn.net/dandanfengyun/article/details/106235667
使用ceph-deploy工具部署ceph 集群。ceph-deploy 工具安装在ceph-admin节点。ceph 版本是luminous,更高版本似乎不支持使用ceph-deploy工具部署了。

由于安装glusterfs原因。。。似乎依赖库版本冲突,安装glusterfs后无法再安装ceph 软件了。。。同样先安装ceph后就无法安装gluster了。。。
搭建CloudStack4.12.0。ctdb测试实现nfs高可用_第4张图片
可能是故意的。。。两个软件不能共存。。。也有可能是要安装的ceph 版本有点低的原因?不过luminous 不算低了吧。

由于gluster安装后依赖库版本和ceph冲突,因此无法安装ceph。

但是已经为ceph部署准备了硬盘。。别浪费了,再使用gluster创建一个gluster卷当作 cloudstack主存储。

cloudstack的主存储和二级存储。主存储,一般用作虚拟机分配磁盘。 二级存储,一般存放,ISO,模板,快照等。主存储可以使用 gluster ceph nfs 本地存储等多种协议, 二级存储必须是网络存储,不支持本地存储,而且目前好像也不支持gluster。

使用gluster再创建一个虚拟卷当作 cloudstack的主存储。由于cloudstack主存储支持gluster,也就不用像上一步那样再把gluster卷挂载到本地,然后再用nfs方式共享出去当作二级存储了。。。

三个节点都执行
创建 /dev/sdc 硬盘挂载点。。。

mkdir /gluster-data2

格式化 硬盘

mkfs.ext4 /dev/sdc

设置开机自动挂载 并挂载 该硬盘

echo "/dev/sdc  /gluster-data2  ext4 defaults 0 0" >> /etc/fstab
mount -a

现在 每个节点 使用df -h 查看大概是这样的
搭建CloudStack4.12.0。ctdb测试实现nfs高可用_第5张图片
两个已经挂载的硬盘,挂载点是 /gluster-data /gluster-data2。然后 /gluster-export 是通过glusterfs方式挂载到本地的 glusterfs卷的挂载点。

新增gluster 卷 卷名 vol-primary
新增卷的操作只用在一个节点操作即可,开启卷也是。

gluster volume create vol-primary replica 3 manager:/gluster-data2/brick agent:/gluster-data2/brick ceph-admin:/gluster-data2/brick

开启卷

gluster volume start vol-primary

查看卷状态

gluster volume status

查看卷信息

gluster volume info 

搭建CloudStack4.12.0。ctdb测试实现nfs高可用_第6张图片
搭建CloudStack4.12.0。ctdb测试实现nfs高可用_第7张图片
现在有两个gluster卷,卷名分别是vol-gluster vol-primary。准备将vol-gluster当作cloudstack的二级存储,vol-primary当作cloudstack主存储。vol-gluster卷,还不能完全当作二级存储,还要在其中写入一些配置文件。

安装 使用ctdb

安装

https://blog.csdn.net/dandanfengyun/article/details/105371521
CentOS7 直接安装ctdb 的话 版本是4.9,而且一启动该服务就报错。。。不知原因,因此使用rpm安装4.2.4 版本。。。会附带samba的安装,没关系,samba本来也挺有用的。
ctdbrpm包下载地址 这是我从官网下载的。
https://download.csdn.net/download/dandanfengyun/12317533
官网下载地址(不是ctdb官网,是gluster支持ctdb的rpm包)
https://download.gluster.org/pub/gluster/glusterfs/samba/CentOS/epel-7/x86_64/

下载完成,把所有rpm安装包放在一起全部进行安装,把说明删了。。。
搭建CloudStack4.12.0。ctdb测试实现nfs高可用_第8张图片
安装

rpm -ivh * --nodeps --force

–nodeps 表示忽略依赖, --force 表示强制安装。
然后可能还有两个依赖包没安装,手动yum安装即可

yum -y install cups-libs libarchive

测试使用。

使用就是启动ctdb 服务,并用其来管理nfs。关于ctdb作用的解释自行搜索吧。。个人并不是很了解,但这不影响我使用 CTDB提供高可用特性,例如节点监控、节点切换、IP切换。

编辑配置文件。

创建配置文件目录

mkdir /gluster-export/lock

创建ctdb配置文件
三个节点配置文件要一致
(4.2.4的配置文件是/etc/sysconfig/ctdb之后版本的可能是 /etc/ctdb/ctdbd.conf)这里,创建的配置文件待会要做软链接链接到默认位置

vim /gluster-export/lock/ctdb
CTDB_RECOVERY_LOCK=/gluster-export/lock/lockfile
CTDB_PUBLIC_ADDRESSES=/etc/ctdb/public_addresses

只用在一个节点操作就行,因为gluster-export是挂载的gluster卷,三个节点内容一致。

创建nodes 文件,表示ctdb管理的节点
三个节点nodes文件要一致

vim /gluster-export/lock/nodes

据说末尾要留一空行,否则最后一个节点可能失效。

192.168.199.91
192.168.199.92
192.168.199.93

创建public_addresses 文件
三个节点的public_addresses 文件不需要完全一致,可以有独特的设置。这里为了方便就设置成一样的了
ctdb 管理的虚拟IP,可以访问该IP实现访问ctdb管理的实际节点。当一个节点失效时,虚拟IP会指向有效的节点IP。

vim /gluster-export/lock/public_addresses

cloudbr0是网桥名称,如果没有设置网桥,那就选择网卡名称 。但是三个节点最好一致,如果有的节点有网桥,有的没有,很容易出错。。。192.168.199.90 就是虚拟的IP,并没有真是的节点占用改IP,如果有,那可能引发意料之外的结果。。。

192.168.199.90/24       cloudbr0

配置文件建立了,但是没有放在相应位置,ctdb启动时是不会读取这些配置文件的。。。
下面的操作三个节点都要执行。
备份源ctdb 配置文件

mv /etc/sysconfig/ctdb /etc/sysconfig/ctdb.bak

nodes 和public_addresses默认都没有创建,也就不用备份了。
创建软链接指向配置文件

ln -s /gluster-export/lock/ctdb /etc/sysconfig/ctdb

ln -s /gluster-export/lock/nodes /etc/ctdb/nodes
ln -s /gluster-export/lock/public_addresses /etc/ctdb/public_addresses

这样三个节点的配置文件就一致了,因为 /gluster-export是gluster卷的挂载点。文件都是一致的。
启动ctdb

systemctl enable ctdb
systemctl start ctdb

启动时可能有网络连接问题。。。重启几次就好了。不明原因
启动完成查看状态

ctdb status

查看虚拟IP

ctdb ip

查看 虚拟IP是否可用

ping 192.168.199.90

搭建CloudStack4.12.0。ctdb测试实现nfs高可用_第9张图片

测试ctdb管理nfs

上一步尽管安装了ctdb 成功启动 但是没有看出什么作用。。。
三个节点都执行
安装nfs-utils

yum -y install nfs-utils

编辑配置文件

vim /gluster-export/lock/nfs
NFS_TICKLE_SHARED_DIRECTORY=/gluster-export/lock/nfs-tickles
NFS_HOSTNAME=nfs-server
STATD_PORT=874
STATD_OUTGOING_PORT=876
MOUNTD_PORT=892
RQUOTAD_PORT=875
LOCKD_UDPPORT=872
LOCKD_TCPPORT=872
STATD_SHARED_DIRECTORY=/gluster-export/lock/nfs-state
STATD_HOSTNAME="$NFS_HOSTNAME -H /etc/ctdb/statd-callout"
RPCNFSDARGS="-N 4"

备份原配置文件

mv /etc/sysconfig/nfs /etc/sysconfig/nfs.bak

创建软链接

ln -s /gluster-export/lock/nfs /etc/sysconfig/nfs

设置共享点配置文件。

创建nfs共享目录

mkdir /gluster-export/secondary

编辑共享目录的设置

 vim /gluster-export/lock/exports
/gluster-export/secondary *(rw,async,no_root_squash,no_subtree_check)

下面的三个节点都要执行
备份原配置文件 关于这个共享点设置文件。CentOS系统自带nfs共享,只是没有nfs管理工具,查看比较麻烦。这个文件是本来就有的,不是安装完nfs-utils生成的。

mv /etc/exports /etc/exports.bak

创建软链接

ln -s /gluster-export/lock/exports /etc/exports

编辑ctdb配置文件,使其管理nfs,然后三个节点重启nfs服务

vim /gluster-export/lock/ctdb

添加一下两行

CTDB_NFS_SKIP_SHARE_CHECK=yes
CTDB_MANAGES_NFS=yes

重启ctdb服务

systemctl restart ctdb

待全部节点状态为OK时开始测试。
查看虚拟IP共享点

showmount -e 192.168.199.90

虚拟IP共享点
测试nfs挂载虚拟IP共享点时一直挂载失败,查看nfs状态,发现要设置fsid
搭建CloudStack4.12.0。ctdb测试实现nfs高可用_第10张图片
编辑exports 配置文件 设置fsid=0 即可

vim /gluster-export/lock/exports
/gluster-export/secondary *(rw,async,no_root_squash,no_subtree_check,fsid=0)

设置完后三个节点重启ctdb。
重启完毕 测试挂载

mkdir /mnt/test-mnt
mount -t nfs 192.168.199.90:/gluster-export/secondary /mnt/test-mnt/

搭建CloudStack4.12.0。ctdb测试实现nfs高可用_第11张图片
可以看到可以使用虚拟IP使用nfs方式挂载。
测试完毕,取消挂载。删除临时挂载点。

 umount -l /mnt/test-mnt/
rm -rf /mnt/test-mnt/

安装cloudstack必备软件

下面开始安装。cloudstack的必备软件。这里基本上就在manager节点和agent节点安装了。
manager节点安装数据库 mariadb-server
CentOS7不能直接安装mysql。。。不过mariadb效果是一样的。

yum -y install mariadb-server mariadb

设置开机启动

systemctl enable mariadb

编辑配置文件 /etc/my.ini

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'

据说 max_connections 应该等于管理节点个数 * 350

启动mariadb 服务

systemctl start mariadb

进行安全设置,按提示操作就好

mysql_secure_installation

注 这一步表示是否设置不允许远程连接,一般选n,表示允许远程连接。其他的默认Y就好,提示输入密码是就输入想要设置的密码

Disallow root login remotely? [Y/n] 

设置root用户启用远程连接。123456 就是我设置的密码,改成自己的就可以,第一个123456 是登录进MySQL的密码,必须是刚才设置的,第二个123456是远程连接时使用密码,可以更改成自己想要的。

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

agent节点安装mariadb 测试远程连接。

yum -y install mariadb

安装完成测试一下

mysql -h manager -u root -p

搭建CloudStack4.12.0。ctdb测试实现nfs高可用_第12张图片

manager节点和agent节点设置cloudstack安装源。这里设置的是4.12版本。

vi /etc/yum.repos.d/cloudstack.repo
[cloudstack]
name=cloudstack
baseurl=http://cloudstack.apt-get.eu/centos7/4.11/
enabled=1
gpgcheck=0

安装cloudstack

直接安装的话就是
管理节点执行

yum -y install cloudstack-management

计算节点执行

yum -y install cloudstack-agent

不过安装速度有点慢,主要是下载比较慢。因此一般会下载到本地安装。

rpm下载地址
http://cloudstack.apt-get.eu/centos7/4.12/
系统模板下载地址
http://cloudstack.apt-get.eu/systemvm/4.11/systemvmtemplate-4.11.2-kvm.qcow2.bz2

manager节点安装与基本设置。

rpm包安装

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

数据库初始化

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

启动Management服务

cloudstack-setup-management

还需要安装一个KVM模板。模板我也下载到本地了。这一步耗费时间不短

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

如果通过网络安装,命令是

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

大致,如此,一些全局设置在WEBUI基础设置时进行设置。

agent节点安装与基本设置

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

.虚拟化配置
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 = "16059"
auth_tcp = "none"
mdns_adv = 0

配置/etc/sysconfig/libvirtd文件

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

当管理节点添加此主机时,这个tcp_port = “16059"会自动变成16509,还有 LIBVIRTD_ARGS=”-1",这些都是cloudstack改变的。无须再手动改它!!

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

systemctl restart libvirtd
systemctl enable libvirtd

设置该宿主机上运行虚拟机CPU模型。三种模式。这里选择的host-model

vim /etc/cloudstack/agent/agent.properties 

host-model 表示从可用的CPU模型中选择一个与宿主机最接近的。

guest.cpu.mode=host-model

CloudStack安装完毕。

这时候想起来,agent,还有一块空闲硬盘。。。准备当作nfs挂载主存储。
agent节点操作
格式化 硬盘

mkfs.ext4 /dev/sdd

创建挂载点

mkdir -p /export/primary

挂载

echo "/dev/sdd  /export/primary  ext4 defaults 0 0"  >> /etc/fstab
mount -a

设置成共享目录。由于 /etc/exports 在上面变成了软连接。但是,现在要改变agent的共享设置,但是又不想设置软连接源文件,因为软连接源文件也会影响到manager 和ceph-admin 节点。。。而且这个 、exports共享设置也不是必须三个节点保持一致,因此。agent删除软链接。。。修改成文件配置 共享

rm -f /etc/exports

将原来备份修改过来

mv /etc/exports.bak /etc/exports

设置配置文件。

/export/primary *(rw,async,no_root_squash,no_subtree_check)
/gluster-export/secondary *(rw,async,no_root_squash,no_subtree_check,fsid=0)

设置完成 导入设置

exportfs -a

其它节点测试 agent节点的共享
搭建CloudStack4.12.0。ctdb测试实现nfs高可用_第13张图片
当然,这样做,有个小问题。虚拟IP 的作用是指向一个有效IP,当这个有效的IP意外失效后,虚拟IP会指向其他的IP。如果这时候虚拟IP恰好指向agent节点。。。那么显示的共享目录就会多一个 primary
虚拟IP指向agent
现在agent节点重启 ctdb。在ctdb集群开来 agent节点失效,因此虚拟IP指向转移。。。当然,现在判断不出来 是在manager或ceph-admin节点。
虚拟IP节点指向转移
不过这问题不大,本来我们也不会去使用虚拟IP挂载 /export/primary。因为我们自己知道它是agent专有的。使用虚拟IP挂载 /gluster-export/secondary不会有任何问题,三个节点都提供了共享点。

WEB UI 基础设置

日志查看
manager节点

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

agent 节点

tail -f /var/log/cloudstack/agent/agent.log 

全局设置

使用浏览器访问
http://manageriP:8080/client/
搭建CloudStack4.12.0。ctdb测试实现nfs高可用_第14张图片
默认的账号密码是

admin
password

选择我以前使用过cloudstack 跳过此指南。进行一些全局配置。
搭建CloudStack4.12.0。ctdb测试实现nfs高可用_第15张图片
需要设置的大致有

CPU超配倍数 一般设置3-4倍。。。

cpu.overprovisioning.factor

内存超配倍数,如果准备运行虚拟机大多是Linux无界面系统,可以设置2倍,如果运行Windows等有图形界面的。最好选择不修改,因为经过个人测试,图形界面虚拟机相应的qemu进程真的会占用宿主机分配的那么多内存。当然,这有可能是因为我使用kvm 作为虚拟机管理程序的原因,Xenserver或者VMware可能会好一点。

mem.overprovisioning.factor

允许下载模板或ISO的网段。。。可以设置成0.0.0.0/0表示允许所有网段,或者设置成 自己网络所在网段如 192.168.199.0/24

secstorage.allowed.internal.sites

设置完毕重启 cloudstack-management
在UI界面修改超配倍数可以生效的只有刚开始设置时,当添加一个集群后,UI界面设置超配是不起作用的,需要在数据库中修改。

mysql -u root -p
use cloud;
select * from cluster_details;

按照查找出来的数据修改。。。修改前停掉运行在改集群上的虚拟机

update cluster_details set value=2.0 where id=?;
update cluster_details set value=4.0 where id=?;

manager节点执行

systemctl restart cloudstack-management

添加资源域 主机

再次访问刚才网站。。。登录后选择之前使用过 cloudstack
添加资源域
搭建CloudStack4.12.0。ctdb测试实现nfs高可用_第16张图片
中间步骤略

添加主存储。选用gluster 协议。。。卷vol-primary 服务器选择ctdb虚拟出的IP
搭建CloudStack4.12.0。ctdb测试实现nfs高可用_第17张图片
添加二级存储 使用nfs 协议,虚拟IP vol-gluster卷挂载点的 secondary目录
/gluster-export/secondary
搭建CloudStack4.12.0。ctdb测试实现nfs高可用_第18张图片

可能主存储添加失败。。。这个据说是bug,可以等一会在添加,还好我们还有一个 用于主存储的nfs
点击Fix errors
搭建CloudStack4.12.0。ctdb测试实现nfs高可用_第19张图片
协议选择 nfs 服务器 192.168.199.91 路径/export/primary
不要带空格搭建CloudStack4.12.0。ctdb测试实现nfs高可用_第20张图片

等待系统VM成功启动。查看控制版。
搭建CloudStack4.12.0。ctdb测试实现nfs高可用_第21张图片
主存储显示 58.81G是存储的两倍,因为主存储一般都是超配2倍,主存储显示分配给虚拟机的硬盘空间,存储显示实际使用的硬盘空间。
再次尝试添加主存储 存储标签不用设置的。。。
搭建CloudStack4.12.0。ctdb测试实现nfs高可用_第22张图片
添加gluster协议的主存储 提供程序记得选DefaultPrimary
服务器是ctdb虚拟出来的IP 这一次添加成功
搭建CloudStack4.12.0。ctdb测试实现nfs高可用_第23张图片
可以在控制板上看到 主存储增加了
搭建CloudStack4.12.0。ctdb测试实现nfs高可用_第24张图片
至于添加ISO虚拟机的操作,不再写了。。。这文章算是对之前学习总结。不过也漏了不少。。。ceph 未能使用。
下一步计划 就是 学习cloudstackAPI调用。

你可能感兴趣的:(glusterFS,云计算,CloudStack)