为什么用 cephadm 而不是 ceph-ansible

Nautilus 之后官方主推 cephadm,原因是它只依赖 SSH + container runtime,部署比 ansible 简洁很多。生产推荐直接上 cephadm,老的 ceph-deploy/ceph-ansible 维护不动了。

引导(bootstrap)

# 引导节点上
curl --silent --remote-name --location https://github.com/ceph/ceph/raw/quincy/src/cephadm/cephadm
chmod +x cephadm
./cephadm add-repo --release quincy
./cephadm install
cephadm bootstrap --mon-ip <第一个MON的IP> --initial-dashboard-password 'YourPassword'

引导完成会输出 dashboard URL 和 admin 凭据。

加节点 + 加 OSD

# 把其他节点加入集群
ceph orch host add node2 <node2-ip> _admin
ceph orch host add node3 <node3-ip>

# 自动发现并使用所有未用的盘
ceph orch apply osd --all-available-devices

# 或精确指定
ceph orch daemon add osd node2:/dev/sdb

第一周必做清单

  1. 改时间同步:所有节点 chronyd,偏移 >50ms MON 会闹脾气
  2. 关闭 swapswapoff -a + 注释 fstab
  3. public_network / cluster_network 分离:业务流量和复制流量分开物理网卡
  4. mon_max_pg_per_osd 调大:默认 250,集群规模小时容易撞
  5. 设 mon_allow_pool_delete=true:测试期允许删 pool(生产再关)
  6. dashboard 改 HTTPSceph dashboard create-self-signed-cert
  7. 配 telegraf/prometheus 抓监控ceph mgr module enable prometheus
  8. 加一份 admin keyring 备份:丢了集群进不去

一个反直觉的事

cephadm 部署后,所有服务都是容器,不要去 systemctl restart ceph-mon@xxx,要用 ceph orch daemon restart mon.xxx。否则状态会和 orchestrator 不一致。

标签: none

添加新评论