k8sp / ceph

Ceph RBD
4 stars 1 forks source link

多 ceph cluster 在 etcd 共存 #5

Open pineking opened 8 years ago

pineking commented 8 years ago

ceph cluster 在 etcd 中默认的cluster name 是 ceph 以下示例如果在etcd 创建名为 ceph_tf 的 ceph cluster, 可以和其他 ceph cluster 共存在 etcd 中

以在 10.10.10.10.204/205/206 三台物理机创建 3 mons + 3 osds + 1 mds 为例

要点: -e CLUSTER=ceph_tf 指定 cluster name

创建 mons

docker run -d --net=host --name ceph_mon -v /etc/ceph:/etc/ceph -v /var/lib/ceph/:/var/lib/ceph -e CLUSTER=ceph_tf -e KV_TYPE=etcd -e MON_IP=10.10.10.204 -e CEPH_PUBLIC_NETWORK=10.10.10.204/24 ceph/daemon mon
docker run -d --net=host --name ceph_mon -v /etc/ceph:/etc/ceph -v /var/lib/ceph/:/var/lib/ceph -e CLUSTER=ceph_tf -e KV_TYPE=etcd -e MON_IP=10.10.10.205 -e CEPH_PUBLIC_NETWORK=10.10.10.205/24 ceph/daemon mon
docker run -d --net=host --name ceph_mon -v /etc/ceph:/etc/ceph -v /var/lib/ceph/:/var/lib/ceph -e CLUSTER=ceph_tf -e KV_TYPE=etcd -e MON_IP=10.10.10.206 -e CEPH_PUBLIC_NETWORK=10.10.10.206/24 ceph/daemon mon

创建 osds

docker run -d --pid=host --net=host --privileged=true --name ceph_osd_sdb -v /dev:/dev  -e CLUSTER=ceph_tf -e OSD_TYPE=disk -e KV_TYPE=etcd -e OSD_FORCE_ZAP=1 -e OSD_DEVICE=/dev/sdb ceph/daemon osd

注意,如果碰到 ceph_disk.main.Error: Error: No cluster conf found in /etc/ceph with fsid 00000000-0000-0000-0000-000000000000 错误,解决方案: https://github.com/k8sp/k8s-tensorflow/issues/6

发现 /dev/sdb1 下存在 ceph_fsid 的文件,里面有 00000000-0000-0000-0000-000000000000 字符串,导致不能正确获取 ceph_tf 的 fsid 清空 /dev/sdb1 ,无效 手工修改 cepf_fsid 内容为正确的 ceph_tf 对应的fsid, 保存, 重启 osd daemon, 问题解决。

创建 mds

docker run -d --net=host -e CLUSTER=ceph_tf -e CEPHFS_CREATE=1 -e KV_TYPE=etcd ceph/daemon mds

查看 cluster 信息

docker exec -it ceph_mon ceph -s --cluster ceph_tf
rongszhang commented 8 years ago

How to run the etcd through the ceph/daemon?