一篇帶給你使用Ansible部署Ceph集群
基礎(chǔ)配置
三臺(tái)環(huán)境為centos7.9,以下配置需要在每臺(tái)機(jī)器上執(zhí)行
配置hosts解析
- cat >> /etc/hosts <<EOF
- 192.168.2.23 node1
- 192.168.2.24 node2
- 192.168.2.25 node3
- EOF
關(guān)閉防火墻和selinux
- systemctl stop firewalld && systemctl disable firewalld
- setenforce 0 && sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
分別在三個(gè)節(jié)點(diǎn)設(shè)置主機(jī)名
- hostnamectl set-hostname node1
- hostnamectl set-hostname node2
- hostnamectl set-hostname node3
配置主機(jī)時(shí)間同步
- systemctl restart chronyd.service && systemctl enable chronyd.service
配置免密登錄
- ssh-keygen
- ssh-copy-id -i .ssh/id_rsa.pub node1
- ssh-copy-id -i .ssh/id_rsa.pub node2
- ssh-copy-id -i .ssh/id_rsa.pub node3
安裝pip和ansible、git
- yum install python-pip ansible git -y
部署ceph集群
克隆存儲(chǔ)庫(kù)
這里我選擇安裝的是ceph nautilus版本
- git clone https://github.com/ceph/ceph-ansible.git
- cd ceph-ansible
- git checkout stable-4.0
安裝ansible依賴包
- pip install --upgrade pip
- pip install -r requirements.txt
修改hosts文件,添加安裝的節(jié)點(diǎn)
- cat >> /etc/ansible/hosts <<EOF
- [mons]
- node1
- node2
- node3
- [osds]
- node1
- node2
- node3
- [mgrs]
- node1
- [mdss]
- node1
- node2
- node3
- [clients]
- node1
- node2
- node3
- [rgws]
- node1
- node2
- node3
- [grafana-server]
- node1
- EOF
備份group_vars下的yml文件
- cd ceph-ansible/group_vars
- for file in *;do cp $file ${file%.*};done
修改group_vars/all.yml配置
- ---
- dummy:
- mon_group_name: mons
- osd_group_name: osds
- rgw_group_name: rgws
- mds_group_name: mdss
- client_group_name: clients
- mgr_group_name: mgrs
- grafana_server_group_name: grafana-server
- configure_firewall: False
- ceph_origin: repository
- ceph_origin: repository
- ceph_repository: community
- ceph_mirror: http://mirrors.aliyun.com/ceph
- ceph_stable_key: http://mirrors.aliyun.com/ceph/keys/release.asc
- ceph_stable_release: nautilus
- ceph_stable_repo: "{{ ceph_mirror }}/rpm-{{ ceph_stable_release }}"
- public_network: "192.168.2.0/24"
- cluster_network: "192.168.2.0/24"
- monitor_interface: ens33
- osd_auto_discovery: true
- osd_objectstore: filestore
- radosgw_interface: ens33
- dashboard_admin_password: asd123456
- grafana_admin_password: admin
- pg_autoscale_mode: True
修改group_vars/osds.yml配置
- devices:
- - /dev/sdb
修改site.yml配置

開始進(jìn)行安裝
剩下的交給時(shí)間吧,十分鐘左右就裝好了
- ansible-playbook -i /etc/ansible/hosts site.yml
查看安裝狀態(tài),發(fā)現(xiàn)有一個(gè)警告,這是因?yàn)樵谥暗腶ll.yml配置沒有開啟允許自動(dòng)調(diào)整pool中的pg數(shù)pg_autoscale_mode: False,手動(dòng)設(shè)置下即可
- ceph osd pool set <pool-name> pg_autoscale_mode on

