- 发布于2022-01-25 13:29:29
ceph分布式集群文件服务器docker部署记录
age: ceph/daemon:latest network_mode: host container_name: ceph-mon restart: always volumes: - /etc/localtime:/etc/localtime - /etc/ceph:/etc/ceph - /var/lib/ceph/:/var/lib/ceph environment: # 当前服务器的IP, 在不同的服务器部署不要忘记改IP MON_IP: 192.168.1.101 CEPH_PUBLIC_NETWORK: 192.168.1.0/24 command: mon # 部署 Manager daemon 模块 ceph-mgr: image: ceph/daemon:latest network_mode: host container_name: ceph-mgr restart: always depends_on: - ceph-mon volumes: - /etc/localtime:/etc/localtime - /etc/ceph:/etc/ceph - /var/lib/ceph/:/var/lib/ceph command: mgr # 部署 OSD 模块 ceph-osd: image: ceph/daemon:latest network_mode: host container_name: ceph-osd restart: always privileged: true # 跟主机系统共享进程命名空间。打开该选项的容器可以相互通过进程 ID 来访问和操作。 pid: host depends_on: - ceph-mgr volumes: - /etc/localtime:/etc/localtime - /etc/ceph:/etc/ceph - /var/lib/ceph/:/var/lib/ceph - /dev/:/dev/ # 单独指定osd数据空间, 如果不单独指定,默认在/var/lib/ceph目录下 #- /mnt/sda1/osd:/var/lib/ceph/osd command: osd_directory # 部署 MDS 模块 (用来支持 CephFS文件系统存储, 根据实际情况选用,非必须) ceph-mds: image: ceph/daemon:latest network_mode: host container_name: ceph-mds restart: always depends_on: - ceph-osd volumes: - /etc/localtime:/etc/localtime - /etc/ceph:/etc/ceph - /var/lib/ceph/:/var/lib/ceph environment: # 0表示不自动创建文件系统(推荐),1表示自动创建 CEPHFS_CREATE: 1 command: mds # # 部署 Rados Gateway 模块 (用来支持 对象存储, 根据实际情况选用,非必须) ceph-rgw: image: ceph/daemon:latest network_mode: host container_name: ceph-rgw restart: always depends_on: - ceph-osd volumes: - /etc/localtime:/etc/localtime - /etc/ceph:/etc/ceph - /var/lib/ceph/:/var/lib/ceph command: rgw # # 部署 RBD mirror 模块 (用来支持 块存储, 根据实际情况选用,非必须) # ceph-rbd: # image: sinoeyes.io/cephlib/ceph/daemon:latest-luminous # network_mode: host # container_name: ceph-rbd # restart: always # volumes: # - /etc/localtime:/etc/localtime # - /etc/ceph:/etc/ceph # - /var/lib/ceph/:/var/lib/ceph # depends_on: # - ceph-osd # command: rbd_mirror #eric 执行osd之前执行 docker exec -it ceph-mon ceph auth get client.bootstrap-osd -o /var/lib/ceph/bootstrap-osd/ceph.keyring 执行rgw前执行 docker exec -it ceph-mon ceph auth get client.bootstrap-rgw -o /var/lib/ceph/bootstrap-rgw/ceph.keyring docker exec mgr ceph dashboard set-login-credentials admin admin 设置用户名为admin, 密码为admin。 注意我使用这条命令的时候报错了dashboard set-login-credentials : Set the login credentials. Password read from -i 我手动在mgr容器中创建了/tmp/ceph-password.txt 在里面写入了密码admin 然后执行如下命令就成功了: docker exec -it mgr bash vi /tmp/ceph-password.txt admin exit docker exec mgr ceph dashboard ac-user-create admin -i /tmp/ceph-password.txt administrator 修改mon重启失败问题 docker cp mon:/opt/ceph-container/bin/start_mon.sh . # 注释此行,直接将v2v1赋值为2,代表是走V2协议, 以指定IP方式加入集群 #v2v1=$(ceph-conf -c /etc/ceph/${CLUSTER}.conf 'mon host' | tr ',' '\n' | grep -c ${MON_IP}) v2v1=2 docker cp start_mon.sh mon:/opt/ceph-container/bin/start_mon.sh赞 1评论浏览 307