1 iptables 配置
# Monitor 服务器$ sudo iptables -A INPUT -i {iface} -p tcp -s {ip-address}/{netmask} --dport 6789 -j ACCEPT# MDS 和 MGR 服务器$ sudo iptables -A INPUT -i {iface} -m multiport -p tcp -s {ip-address}/{netmask} --dports 6800:7300 -j ACCEPT# OSD 服务器$ sudo iptables -A INPUT -i {iface} -m multiport -p tcp -s {ip-address}/{netmask} --dports 6800:7300 -j ACCEPT
2 修改 ceph.conf
[golbal]...public_network = 10.19.250.0/24cluster_network = 10.19.251.0/24...[osd.0]host = osd5public_addr = 10.19.250.35cluster_addr = 10.19.251.35[osd.1]host = osd5public_addr = 10.19.250.35cluster_addr = 10.19.251.35
[global] 中需要新增 cluster_network 字段,这个对应的就是内网,填写内网的子网掩码就可以了。public_network 对应的是外网。[osd.*],这部分是针对每个 OSD 进程的,如果 OSD 进程多的话,确实有点繁琐,目前我还没找到更为简洁的方法。host 字段要填写 OSD 进程所在服务器的主机名,通过 hostname -s 来查询。public_addr 填写所在主机的外网地址,cluster_addr 则填写主机的内网地址。配置修改好后,就需要把配置上传到服务器上了,配置 Ceph 环境,通常都是使用 ceph-deploy,现在也可以用这个命令上传配置。
ceph-deploy --overwrite-conf config push [<host-name>...]
最后,配置需要重启 ceph 相关的进程才能生效
# OSD 服务器上需重启全部 OSD 进程sudo systemctl restart ceph-osd@*# Monitor 服务器sudo systemctl restart ceph-mon@*# Manager 服务器sudo systemctl restart ceph-mgr@*# metadata 服务器sudo systemctl restart ceph-mds@*
