一、简介
当计算能力和存储容量无法满足业务发展需求时,需要增加计算节点和存储节点,这里的计算节点和存储节点是融合的,提供一个简单的脚本进行云平台的扩容,主要进行Ceph和Openstack服务的安装部署。在安装部署前需要完成防火墙、SELinux禁用、安装源、时间同步、主机名设置、网络设置、Hosts更新等基础环境配置工作,与前文中《Openstack云平台脚本部署之基础环境配置》相同,这里不在赘述。
二、部署脚本
增加计算节点前首先需要修改0-set-config.sh配置文件,指定需要增加节点的配置信息,内容涉及如下:
1 2 3 4 |
### 后期需要增加的计算节点 declare -A additionalNodes_map=(["compute04"]="192.168.2.20"); ### 存储节点上OSD盘挂载目录 所有节点统一成一个 declare -A blks_map=(["osd01"]="sdb" ["osd02"]="sdc" ["osd03"]="sdd"); |
增加计算节点的脚本:add-compute-nodes.sh
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
#!/bin/sh . ../0-set-config.sh ./style/print-split.sh "Additional Compute Nodes' Installation and Configuration" additionalnodes_name=(${!additionalNodes_map[@]}); base_location=$ftp_info deploy_node=$compute_host echo $deploy_node blk_name=(${!blks_map[@]}); osds=""; ### 获取OSD信息,用于生成并激活OSD for ((i=0; i<${#additionalNodes_map[@]}; i+=1)); do name=${additionalnodes_name[$i]}; ip=${additionalNodes_map[$name]}; for ((j=0; j<${#blks_map[@]}; j+=1)); do name2=${blk_name[$j]}; blk=${blks_map[$name2]}; echo "-------------$name:$name2------------"; osds=$osds" "$name":"$blk; ssh root@$ip ceph-disk zap /dev/$blk done scp /etc/ceph/ceph.client.cinder.keyring root@$name:/etc/ceph/ # ssh root@$name chown -R ceph:ceph $osd_path done; echo $osds ### install ceph ssh root@$compute_host /bin/bash << EOF cd /root/my-cluster ceph-deploy install --nogpgcheck --repo-url $base_location/download.ceph.com/rpm-$ceph_release/el7/ ${additionalnodes_name[@]} --gpg-url $base_location/download.ceph.com/release.asc ###[部署节点]激活OSD ceph-deploy --overwrite-conf osd create $osds ceph-deploy admin ${additionalnodes_name[@]} EOF ###查看集群状态 ceph -s ### install openstack services for ((i=0; i<${#additionalNodes_map[@]}; i+=1)); do name=${additionalnodes_name[$i]}; ip=${additionalNodes_map[$name]}; . style/print-info.sh "$name configuration" scp compute_nodes_exec.sh root@$ip:/tmp ssh root@$ip chmod +x /tmp/compute_nodes_exec.sh ssh root@$ip /tmp/compute_nodes_exec.sh $virtual_ip $local_nic $data_nic $password done; |
三、源码
脚本源码:https://github.com/zjmeixinyanzhi/Openstack-HA-Install-Shells
四、系列文章
Openstack云平台脚本部署之Galera高可用集群配置(二)
Openstack云平台脚本部署之RabbitMQ高可用集群部署(三)
Openstack云平台脚本部署之Memcached配置(五)
Openstack云平台脚本部署之Keystone认证服务配置(六)
Openstack云平台脚本部署之Glance镜像服务配置(七)
Openstack云平台脚本部署之Nova计算服务配置(八)
Openstack云平台脚本部署之Neutron网络服务配置(九)
Openstack云平台脚本部署之Dashboard配置(十)
Openstack云平台脚本部署之Cinder块存储服务配置(十一)
Openstack云平台脚本部署之Ceilometer数据收集服务配置(十二)
Openstack云平台脚本部署之Aodh告警服务配置(十三)
code
more code
~~~~