zoukankan      html  css  js  c++  java
  • Docker 部署 Ceph的简单方法

    https://zhuanlan.zhihu.com/p/390377674
    
    学习一下. 

    docker部署

    部署的思路和网络架构和前面分布式是一样的,区别在于命令的形式。

    在每个节点安装 docker

    登录  获取自己的阿里云 docker 加速地址

    1. 安装升级 docker 客户端

    curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -

    2. 使用 docker 加速器

    可以通过修改 daemon 配置文件 /etc/docker/daemon.json 来使用加速器,注意修改使用自己的加速地址

    mkdir -p /etc/docker
    tee /etc/docker/daemon.json <<-'EOF'
    {
      "registry-mirrors": ["https://******.mirror.aliyuncs.com"]
    }
    EOF
    systemctl daemon-reload
    systemctl restart docker
    systemctl enable docker

    启动 MON

    1. 下载 ceph daemon 镜像

    docker pull ceph/daemon

    2. 启动 mon

    在 ceph-admin 上启动 mon,注意修改 MON_IP

     docker run -d 
            --net=host 
            -v /etc/ceph:/etc/ceph 
            -v /var/lib/ceph/:/var/lib/ceph/ 
            -e MON_IP=192.168.43.100 
            -e CEPH_PUBLIC_NETWORK=192.168.43.0/24 
            ceph/daemon mon

    3.查看集群状态

     docker exec b79a02 ceph -s
        cluster 96ae62d2-2249-4173-9dee-3a7215cba51c
         health HEALTH_ERR
                no osds
         monmap e2: 1 mons at {ceph-admin=192.168.43.100:6789/0}
                election epoch 4, quorum 0 ceph-admin
            mgr no daemons active 
         osdmap e1: 0 osds: 0 up, 0 in
                flags sortbitwise,require_jewel_osds,require_kraken_osds
          pgmap v2: 64 pgs, 1 pools, 0 bytes data, 0 objects
                0 kB used, 0 kB / 0 kB avail
                      64 creating

    启动 OSD

    每台虚拟机准备了两块磁盘/dev/sdb /dev/sdc作为 osd,分别加入到集群,注意修改磁盘

     docker run -d 
            --net=host 
            -v /etc/ceph:/etc/ceph 
            -v /var/lib/ceph/:/var/lib/ceph/ 
            -v /dev/:/dev/ 
            --privileged=true 
            -e OSD_FORCE_ZAP=1 
            -e OSD_DEVICE=/dev/sdb 
            ceph/daemon osd_ceph_disk
    docker run -d 
            --net=host 
            -v /etc/ceph:/etc/ceph 
            -v /var/lib/ceph/:/var/lib/ceph/ 
            -v /dev/:/dev/ 
            --privileged=true 
            -e OSD_FORCE_ZAP=1 
            -e OSD_DEVICE=/dev/sdc 
            ceph/daemon osd_ceph_disk

    按照同样方法将 ceph-client 的 sdb、sdc 都加入集群

    查看集群

    docker exec b79a02 ceph -s
        cluster 96ae62d2-2249-4173-9dee-3a7215cba51c
         health HEALTH_OK
         monmap e4: 1 mons at {ceph-admin=192.168.43.100:6789/0}
                election epoch 4, quorum 0 ceph-admin
            mgr no daemons active 
         osdmap e63: 4 osds: 4 up, 4 in
                flags sortbitwise,require_jewel_osds,require_kraken_osds
          pgmap v157: 64 pgs, 1 pools, 0 bytes data, 0 objects
                212 MB used,  25343 MB / 25555 MB avail
                      64 active+clean

    可以看到 mon 和 osd 都已经正确配置,切集群状态为 HEALTH_OK

    创建 MDS

    使用以下命令在 ceph-admin 上启动 mds

    docker run -d 
            --net=host 
            -v /etc/ceph:/etc/ceph 
            -v /var/lib/ceph/:/var/lib/ceph/ 
            -e CEPHFS_CREATE=1 
            ceph/daemon mds

    启动 RGW ,并且映射 80 端口

    使用以下命令在 ceph-admin 上启动 rgw,并绑定 80 端口

    复制

    docker run -d 
            -p 80:80 
            -v /etc/ceph:/etc/ceph 
            -v /var/lib/ceph/:/var/lib/ceph/ 
            ceph/daemon rgw

    集群的最终状态

    docker exec b79a02 ceph -s
        cluster 96ae62d2-2249-4173-9dee-3a7215cba51c
         health HEALTH_OK
         monmap e2: 1 mons at {ceph-admin=192.168.43.100:6789/0}
                election epoch 4, quorum 0 ceph-admin
         fsmap e5: 1/1/1 up {0=mds-ceph-admin=up:active}  
           mgr no daemons active 
         osdmap e136: 4 osds: 4 up, 4 in
                flags sortbitwise,require_jewel_osds,require_kraken_osds
          pgmap v1470: 136 pgs, 10 pools, 3782 bytes data, 223 objects
                254 MB used,  25301 MB / 25555 MB avail
                      136 active+clean
  • 相关阅读:
    CSS3中的Transition属性详解
    jq 全选/取消效果
    多维数组问题 int (*a)[] int []
    C语言输入多组问题~ungetc回退字符到stdin
    2015-12-14重启博客之旅
    转载~kxcfzyk:Linux C语言多线程库Pthread中条件变量的的正确用法逐步详解
    lsof 一切皆文件
    转载自~浮云比翼: 不忘初衷,照顾好自己。
    转载自~浮云比翼:Step by Step:Linux C多线程编程入门(基本API及多线程的同步与互斥)
    梳理回顾
  • 原文地址:https://www.cnblogs.com/jinanxiaolaohu/p/15223913.html
Copyright © 2011-2022 走看看