Ceph
介绍
使用ansible进行自动化ceph集群的部署
环境准备
- 准备至少三台服务器,其中一台用于安装ansible,用于管理其他节点
- 另外两台服务器用于安装一下相应的服务,注意:需要ceph集群需要准备多块数据盘用于创建OSD、RBD(块存储)
- 本次部署测试的时候使用的是块存储,其他存储方式尚未调研,需要自行寻找
代码仓库
地址:https://gitee.com/yuanhuanliang/ceph
软件架构
- 使用ansible统一管理及部署,使用方式相对便携,离线环境的相关依赖包尚未准备,后续有时间则可能会更新
- 默认创建ceph集群,创建osd,rbd,块存储(image01),自行修改名称,其中分出10G用于测试ceph集群是否部署成功使用,默认挂载路劲:/mnt,根据实际情况,进行修改
安装教程
- 当前直已经准备了在某一台机器上自动部署ansible的脚本,且离线环境需要自主准备相应的安装包
#在线安装
sh install_ansible.sh
#直接执行脚本,使用在线安装的方式部署ansible,网速慢的情况下,建议使用离线安装包
#离线安装
sh install_ansible.sh
#提前准备好对应的离线安装包:https://download.csdn.net/download/qq_44246980/78367651
#下载成功后,把安装包上传到: /opt/ansible2.9_yum.tar.gz
#注意:脚本写死,如有需要自行更改对应的路径!!!
- 这套脚本使用的是统一的门户管理,所有的引用都可以在:deploy/ceph.yml中查看
- ansible的统一hosts文件相对路径是:deploy/hosts/hosts
备注
- 因使用的是空余时间写的,但是有懒得去寻找ceph的相关依赖包,所以在安装ceph时,需要保证所有节点都要联网!!!
- 准备的ansible离线安装包,是因为网络下载真的太慢了,如果实在云主机上,则不需要担心下载问题,因为离线安装包我也是使用云主机下载的!嘿嘿
- 因为当前技术不太行,在修改管理节点和node节点之间使用免密登陆,需要修改一下yml
- 如果网速较慢,可以手动准备好对应的yum源,并且把yum.yml模块注释掉
- 手动安装的相关问题记录及手册地址https://bcbx.yuque.com/yuanhuanliang/ipo0ta/qp4wbf
注:需要私信练习本人开放对应权限
修改管理节点和node节点之间使用免密登陆
#相对路径
cd deploy/roles/ceph/ceph_deploy.yml
#修改前
- name: 修改被管控节点密码
shell: sed -i '/#node/arootpasswd={{ item }}' /opt/deploy_scripts/install_sshd.sh
with_items:
- 1
#修改后
- name: 修改被管控节点密码
shell: sed -i '/#node/arootpasswd={{ item }}' /opt/deploy_scripts/install_sshd.sh
with_items:
- youspassword #节点密码,建议root用户,其他用户自行修改权限
启动命令
#安装ansible
sh install_ansible.sh
#检测ansible连接成功
ansible -i deploy/hosts/hosts ceph -m ping
#执行剧本
ansible-playbook -i deploy/hosts/hosts deploy/ceph.yml
#deploy/ceph.yml
#是所有文件的引用启动问题
问题记录
写脚本的时候,需要许多ceph安装时的问题,下面是百度找到的相关解决方法