前言
(编写中)
在单节点已部署好得环境下,替换lvm为ceph。
单节点部署参考:https://www.jianshu.com/p/73598a5cd00b
使用ceph存储
介绍(可跳过)。
ceph基于Reliable Autonomic Distributed Object Store (RADOS)。RADOS在存储群集中分配对象并复制对象以实现容错。
RADOS包含以下主要组件:
- ceph-osd: Object Storage Device (OSD) Daemon,对象存储设备服务。ceph-osd是Ceph分布式文件系统的对象存储守护进程。 它负责将对象存储在本地文件系统上,并通过网络提供对它们的访问。必须在群集中的每个服务器上运行此守护程序。 每个OSD都可以关联硬盘驱动器。
- ceph-mds: Meta-Data Server (MDS),元数据服务。 MDS在Ceph客户端的对象之上构建POSIX文件系统。不使用Ceph文件系统,则不需要元数据服务器。
- ceph-mon: Monitor (MON),监控服务。轻量级守护程序,用于处理与外部应用程序和客户端的所有通信。 它还为Ceph / RADOS集群中的分布式决策提供了共识。 例如,当您在客户端上安装Ceph共享时,您指向MON服务器的地址。 它检查数据的状态和一致性。 在理想的设置中,您必须在不同的服务器上运行至少三个ceph-mon守护进程。
其它组件
- ceph-mgr: Ceph Manager Daemon(ceph-mgr),管理服务。与监视器守护程序一起运行,为外部监视和管理系统提供额外的监视和接口。
- ceph-nfs: 可以使用NFS-Ganesha NFS Server通过NFS协议导出CephFS命名空间。NFS-Ganesha提供了一个文件系统抽象层(FSAL)来插入不同的存储后端。Ceph对象网关可以配置为在嵌入NFS-Ganesha NFS Server时提供基于文件的访问。
- ceph-rgw: Ceph Object Gateway,对象网关服务。Ceph对象存储使用Ceph对象网关守护进程(radosgw),它是一个用于与Ceph存储集群交互的HTTP服务器。 由于它提供与OpenStack Swift和Amazon S3兼容的接口,因此Ceph对象网关具有自己的用户管理。 Ceph对象网关可以将数据存储在用于存储来自Ceph文件系统客户端或Ceph块设备客户端的数据的相同Ceph存储集群中。 S3和Swift API共享一个公共命名空间,因此您可以使用一个API编写数据并使用另一个API检索它。
开始配置
参考:
https://docs.openstack.org/kolla-ansible/queens/reference/ceph-guide.html
在上一篇单节点部署当中,使用20G /dev/sdb作为lvm卷,这里将/dev/sdb作为ceph数据盘,加一块10G /dev/sdc作为ceph日志盘。并且单节点环境下需要额外得一些配置。
1. 格式化硬盘
格式化数据盘:
parted /dev/sdb -s -- mklabel gpt mkpart KOLLA_CEPH_OSD_BOOTSTRAP_FOO 1 -1
格式化该数据盘对应得日志盘:
parted /dev/sdc -s -- mklabel gpt mkpart KOLLA_CEPH_OSD_BOOTSTRAP_FOO_J 1 -1
注意,在使用单独得日志盘时,数据盘和日志盘mkpart 必须添加后缀,KOLLA_CEPH_OSD_BOOTSTRAP_<后缀名>,如上图FOO
2. 配置globals.yml
取消lvm配置
vim /etc/kolla/globals.yml
#enable_cinder_backend_lvm: "yes"
#cinder_volume_group: "cinder-volumes"
增加ceph配置
vim /etc/kolla/globals.yml
enable_ceph: "yes"
enable_ceph_rgw: "yes"
cluster_interface: "ens35" # 管理网网卡
ceph_pool_pg_num: 64 # Total PGs = ((Total_number_of_OSD * 100) / pool_count . 并且结果向上取值为2的n次方
ceph_pool_pgp_num: 64
enable_ceph_rgw_keystone: "yes"
glance_backend_ceph: "yes"
glance_backend_file: "no"
cinder_backend_ceph: "yes"
cinder_backup_driver: "ceph"
nova_backend_ceph: "yes"
注意:上面得pg_num 需要根据实际环境进行配置。比如当前环境使用命令查看为5个pool。根据公式得出64
查看整体状态(可查看pool数量):
docker exec ceph_mon ceph -s
查看pool:
docker exec ceph_mon ceph osd lspools
ceph单节点rgw需额外配置:
mkdir /etc/kolla/config
vim /etc/kolla/config/ceph.conf
新建文件,增加如下内容
[global]
osd pool default size = 1
osd pool default min size = 1
3. 重新部署openstack
kolla-ansible -i /opt/all-in-one prechecks
kolla-ansible -i /opt/all-in-one deploy
网友评论