ceph修改osd服务器IP,正确修改Ceph集群IP地址

当我们需要把整个 Ceph 集群的网络地址修改为另一个子网地址(与 ceph.conf 的 public addr 等不相同)时,就需要更改 Ceph Monitor,Ceph OSD,Ceph Manager 的监听地址。其中,OSD 和 Manager 的地址是根据 ceph.conf 文件中的配置项 public addr 与 cluster addr 等确定的,因此只需修改文件内容即可。而 Ceph Monitor 的地址则是由 monmap 维护的,直接修改 monmap 会产生不可预料的问题。本文将会给出如何在不直接修改 monmap 的情况下修改 Mon 的 IP 地址。

原 Ceph 集群部署在 10.1.1.0/24 子网上,现在需要部署到 192.168.1.0/24 子网上,且机器已经配置了 192.168.1.0/24 中的地址。

用户相关设置,ceph 的进程将由 ceph 用户执行,该用户为部署 ceph 时自动创建的用户。而执行命令的用户为某一拥有 sudo 权限的普通用户。这个很重要,官方文档没有说明用户权限的重要性,导致根据Adding/Removing Monitors一文的 Add Monitor 操作,将会引起权限的错误。以下所有的命令均使用普通用户执行。

配置网卡 IP

由于机器的地址已经发生改变,Ceph 集群的 monitors 之间必然无法达成 quorum。首先我们需要让其达成 quorum,才好进行手动添加和删除 monitor 的操作。

因此,我们需要把原本的地址配置一下。配置的方法,遵循给网卡添加 IP 地址的方法。假设旧地址为10.1.1.1,新地址为192.168.1.1。若使用ip命令,则为

$ip addr add 10.1.1.1/24 dev

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以通过以下步骤使用docker-compose来部署Ceph集群: 1. 创建一个新的文件夹,用于存docker-compose文件和Ceph配置文件。 2. 在该文件夹中创建一个名为`docker-compose.yml`的文件,并添加以下内容: ```yaml version: '3' services: mon: image: ceph/daemon:latest container_name: ceph-mon command: mon environment: - MON_IP=<mon_IP> - CEPH_PUBLIC_NETWORK=<public_network> volumes: - ./ceph:/etc/ceph networks: - ceph-net osd: image: ceph/daemon:latest container_name: ceph-osd command: osd privileged: true environment: - OSD_DEVICE=/dev/sdb - OSD_TYPE=disk - OSD_FORCE_ZAP=1 volumes: - /dev:/dev - ./ceph:/etc/ceph networks: - ceph-net networks: ceph-net: ``` 请确保将`<mon_IP>`替为mon节点的IP地址,并将`<public_network>`替Ceph集群的公共网络CIDR。 3. 在该文件夹中创建一个名为`ceph.conf`的文件,并添加以下内容: ``` [global] fsid = $(uuidgen) mon_initial_members = mon mon_host = <mon_IP> auth_cluster_required = cephx auth_service_required = cephx auth_client_required = cephx [mon] log file = /var/log/ceph/ceph-mon.log chdir = "" [osd] log file = /var/log/ceph/ceph-osd.log chdir = "" osd_journal_size = 100 ``` 请确保将`<mon_IP>`替为mon节点的IP地址。 4. 在终端中导航到该文件夹,并运行以下命令来启动Ceph集群: ``` docker-compose up -d ``` 这将使用docker-compose启动一个名为`ceph-mon`的容器作为mon节点,以及一个名为`ceph-osd`的容器作为osd节点。 5. 确保Ceph集群已成功启动,可以使用以下命令来检查: ``` docker exec -it ceph-mon ceph -s ``` 这将显示Ceph集群的状态信息。 以上是使用docker-compose部署Ceph集群的基本步骤。你可以根据自己的需求进行自定义配置和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值