作者:mobiledu2502930381 | 来源:互联网 | 2024-12-23 18:54
在 OpenStack 环境中使用四台虚拟机(VM),通过 ceph-deploy 工具部署了一个包含三个节点的 Ceph 集群。然而,在尝试从外部网络(非 OpenStack 租户网络)访问此 Ceph 集群时遇到了问题。尽管同一租户网络中的 VM 可以正常连接并使用 Ceph 客户端,但外部服务器如 10.2.22.6 却无法成功访问。
为了解决这个问题,首先需要检查和修改 Ceph 配置文件 /etc/ceph/ceph.conf
中的相关设置。特别是 public_network
和 mon_host
参数,确保它们正确配置为浮动 IP 地址,以便外部服务器能够通过这些地址与 Ceph 集群通信。
此外,还需要确保防火墙规则允许外部流量进入 Ceph 节点。可以通过以下步骤进行配置:
- 更新
/etc/ceph/ceph.conf
文件中的 public_network
参数为外部网络范围,例如:10.2.21.0/24。 - 将
mon_host
参数更改为所有节点的浮动 IP 地址,即:10.2.21.1,10.2.21.2,10.2.21.3。 - 确保每个 Ceph 节点上的防火墙允许来自外部网络的连接,可以使用
iptables
或其他防火墙管理工具来添加必要的规则。
最后,验证更改是否生效。可以通过在外部服务器上运行 ceph -s
命令来检查集群状态,确认其健康状况及各组件是否正常工作。
参考文档:CentOS 7 部署 Ceph
1 2 3 4 5 6 7 8 9 10
| root@ceph-uat-1 ~]# cat /etc/ceph/ceph.conf
[global]
fsid = 15e8090c-a062-4e46-b9a9-7e79512d8138
mon_initial_members = ceph-uat-1, ceph-uat-2, ceph-uat-3
mon_host = 10.2.21.1,10.2.21.2,10.2.21.3
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx
public_network = 10.2.21.0/24
cluster_network = 192.168.1.0/24 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| [root@ceph-uat-1 ~]# ceph -s
cluster:
id: 15e8090c-a062-4e46-b9a9-7e79512d8138
health: HEALTH_WARN
application not enabled on 1 pool(s)
services:
mon: 3 daemons, quorum ceph-uat-1,ceph-uat-2,ceph-uat-3
mgr: ceph-uat-1(active), standbys: ceph-uat-2, ceph-uat-3
osd: 6 osds: 6 up, 6 in
rgw: 1 daemon active
data:
pools: 5 pools, 96 pgs
objects: 192 objects, 1195 bytes
usage: 6175 MB used, 593 GB / 599 GB avail
pgs: 96 active+clean |