一 前期准备 1.1 前置条件
至少有三个不同的主机运行monitor (MON)节点;
至少三个直接存储(非外部SAN硬件)的OSD节点主;
至少两个不同的manager (MGR)节点;
如果使用CephFS,则至少有两个完全相同配置的MDS节点;
如果使用Ceph对象网关,则至少有两个不同的RADOSGW节点。
一个部署节点,可以使用ceph-ansible包中的Ansible剧本来部署和配置集群。
提示:Red Hat Ceph存储还支持在Red Hat OpenStack平台计算节点上部署OSDs、MONs、RGWs,但不支持部署mon和osd。
红帽Ceph存储,默认配置将所有流量放在一个网络上。生产环境中建议公共通信和集群通信配置单独的网络。公共网络用于客户端通信和与mon的通信。集群网络用于OSD心跳、复制、回填和恢复流量。
1.2 准备工作1.3 其他注意事项
OSD磁盘不建议使用RAID,Ceph使用复制或纠删码来保护数据
在生产环境部署Ceph集群,为便于管理,OSD主机应尽量使用统一的硬件。尽可能配置数量、大小和名称都相同的磁盘,有助于确保性能一致,并且简化故障排除;
需要确认每个OSD主机提供的OSD的数量。密度较小的存储集群意味着osd守护进程分布到更多的主机上,分发工作负载。密度较高的存储意味着重平衡和数据恢复需要更高的流量
附一:组件端口说明Monitor
6789/TCP:Communication within the Ceph cluster
Manager
7000/TCP:Communication with the Ceph Manager dashboard
8003/TCP:Communication with the Ceph Manager RESTful API via HTTPS
9283/TCP:Communication with the Ceph Manager Prometheus plug-in
OSD
6800-7300/TCP:Each OSD uses three ports in this range: one for communicating with clients and monitors over the public network; one for sending data to other OSDs over a cluster network,or over the public network if the former does not exist; and another for exchanging heartbeat packets over a cluster network or over the public network if the former does not exists.
RADOS Gateway
7480/TCP:RADOS Gateway uses port 7480/TCP,but you can change it, for example to port 80/TCP,or to port 443/TCP if using the SSL/TLS service.
二 部署相关知识点 2.1 Ansible介绍略,具体Ansible操作见本博客Ansible文章。
2.2 Ansible部署Ceph相关yml/usr/share/ceph-ansible/group_vars/all.yml:所有节点相关yml配置;
/usr/share/ceph-ansible/group_vars/osds.yml:所有OSD节点的yml配置;
/usr/share/ceph-ansible/group_vars/client.yml:客户端节点的yml配置。
/usr/share/ceph-ansible:运行Ansible部署的主目录。
2.3 yml主要相关参数
all.yml参数
变量 值 含义 fetch_directory ~/ceph-ansible-keys 用于将身份验证密钥复制到集群节点的临时目录的位置。 ceph_origin repository Ceph来源,repository表示使用包存储库 ceph_repository rhcs 用于安装Red Hat的存储库Ceph存储。rhcs使用官方红帽Ceph存储包。 ceph_repository_type cdn or iso rhcs的安装源,CDN或本地ISO映像。 ceph_rhcs_iso_path path to iso 如果使用iso存储库类型,则指向Red Hat Ceph存储iso的路径。 ceph_rhcs_version 3 Red Hat Ceph安装的版本。 monitor_interface network interface Monitor用于侦听的网络接口。 public_network address and netmask 集群的公共网络的子网,如192.168.122.0/24。 cluster_network address and netmask 集群专用网络的子网。默认设置为public_network的值。 journal_size size in MB 分配给OSD日志的大小。应该是预期的两倍。在大多数情况下不应小于5120 MB。