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/24
cluster_network = 10.19.251.0/24
...
[osd.0]
host = osd5
public_addr = 10.19.250.35
cluster_addr = 10.19.251.35
[osd.1]
host = osd5
public_addr = 10.19.250.35
cluster_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@*