本文档中,ceph-ansible的安装路径在“/home”路径下。
支持在线和离线两种安装方式,都仅需在ceph1上进行操作。
方法一:在线方式安装
1 | yum -y install ansible |
1 | pip3 install ansible==2.9 |
1 | yum -y install git |
1 | git config --global http.sslVerify false |
1 | git clone -b stable-4.0 https://github.com/ceph/ceph-ansible.git --recursive |
方法二:离线方式安装
1 | yum -y install ansible |
1 | pip3 install ansible |
1 | unzip /home/ceph-ansible-stable-4.0.zip
|
支持在线和离线两种安装方式,都仅需在ceph1上进行操作。
方法一:在线方式安装
1 | yum install -y python3-pip |
1 2 | mkdir /home/ceph-ansible/ cd /home/ceph-ansible/ |
1 | pip3 install -r requirements.txt |
方法二:离线方式安装
1 | yum install -y python3-pip |
1 2 | mkdir /home/ceph-ansible/ cd /home/ceph-ansible/ |
1 | yum install -y python-netaddr |
1 | pip3 install -r requirements.txt |
在ceph-ansible目录内新建hosts文件。
1 | vi /home/ceph-ansible/hosts
|
并添加如下内容:
该操作用于定义集群中的主机,以及每个主机在Ceph集群中扮演的角色。可根据整个集群的需要在集群节点上部署相应的应用。
各参数意义如表1所示。
在Ansible部署时,必须传递相应的playbook给ansible-playbook命令。需要修改相应的playbook名称,然后修改对应的内容,使之满足集群部署的要求。
使用ceph-ansible提供的Ansible变量用来设置Ceph集群的配置。
所有选项及默认配置放在“group_vars”目录下,每种Ceph进程对应相关的配置文件。
1 2 3 4 5 6 7 8 | cd /home/ceph-ansible/group_vars/ cp mons.yml.sample mons.yml cp mgrs.yml.sample mgrs.yml cp mdss.yml.sample mdss.yml cp rgws.yml.sample rgws.yml cp osds.yml.sample osds.yml cp clients.yml.sample clients.yml cp all.yml.sample all.yml |
all.yml.sample是应用于集群所有主机的特殊配置文件。
“all.yml”文件中,“ceph_conf_overrides”变量可用于覆盖ceph.conf中已配置的选项,或是增加新选项。
进入“all.yml”文件,修改“ceph_conf_overrides”这个参数。
1 | vim all.yml
|
1 2 3 4 5 6 7 8 | ceph_conf_overrides: global: osd_pool_default_pg_num: 64 osd_pool_default_pgp_num: 64 osd_pool_default_size: 2 mon_max_pg_per_osd: 3000 mon: mon_allow_pool_create: true |
osds.yml支持两种方式设置OSD(object storage device)盘、WAL(write ahead log)盘和DB(data base)盘。
方法一:ceph-volume lvm batch方式
修改groups_vars路径下的osds.yml文件,根据需要指定“devices”,“dedicated_devices”和“bluestore_wal_devices”中的设备:
单个OSD的block.db大于等于50GB,否则可能会以为block.db过小而安装报错。
方法二:ceph-volume,从逻辑卷中创建osd
修改groups_vars路径下的osds.yml文件,根据需要指定lvm_volumes属性下的所有OSD设备,包含几种不同的组合场景:
1 | /usr/sbin/vgcreate --yes -s 1G ceph-data /dev/sdd |
创建名称为ceph-data的vg,-s指定创建逻辑卷的基本单位。
1 | /usr/sbin/lvcreate -l 300 -n osd-data2 ceph-data |
在ceph-data上创建名称为osd-data2的大小为300G的lv。
1 | lvs |
1 2 3 4 5 6 7 8 9 10 11 | [root@ceph1 ceph-ansible-stable-4.0.bak]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert home centos -wi-ao---- 839.05g root centos -wi-ao---- 50.00g swap centos -wi-a----- 4.00g osd-data1 ceph-data -wi-ao---- 300.00g osd-data2 ceph-data -wi-ao---- 300.00g osd-db1 ceph-db -wi-ao---- 100.00g osd-db2 ceph-db -wi-ao---- 100.00g osd-wal1 ceph-wal -wi-ao---- 50.00g osd-wal2 ceph-wal -wi-ao---- 50.00g |
以下为创建两个OSD,每个OSD都包含DB和WAL盘的场景:
关闭chrony的操作仅需在openEuler操作系统下进行,CentOS操作系统请跳过此部分内容。
1 | vim /home/ceph-ansible/roles/ceph-infra/tasks/setup_ntp.yml
|