https://zhuanlan.zhihu.com/p/390377674

学习一下. 

docker部署

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

在每个节点安装 docker

登录 https://cr.console.aliyun.com/#/accelerator 获取自己的阿里云 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

Docker 部署 Ceph的简单方法的更多相关文章

  1. docker部署Ceph分布式存储集群

    1.环境准备 3台virtualbox虚拟机,用来安装ceph集群,已用docker-machine安装上了docker,每台虚拟机虚拟创建一个5G的硬盘,用于存储osd数据,例如:/dev/sdb ...

  2. Ubuntu 16.04下使用docker部署ceph集群

    ceph集群docker部署 通过docker可以快速部署小规模Ceph集群的流程,可用于开发测试. 以下的安装流程是通过linux shell来执行的:假设你只有一台机器,装了linux(如Ubun ...

  3. 基于docker部署ceph以及修改docker image

    前言 容器和ceph的结合已经在一些生产环境当中做了尝试,容器的好处就是对运行环境的一个封装,传统的方式是集成为ISO,这个需要一定的维护量,而容器的相关操作会简单很多,也就有了一些尝试,个人觉得如果 ...

  4. CentOS 下运行Docker 内执行 docker build 命令的简单方法

    1. 通过部分文档进行学习...主要知识来源 https://blog.csdn.net/shida_csdn/article/details/79812817 2. 下载 docker 的rpm包. ...

  5. 批量导出docker images 的一个简单方法

    docker images |cut -c - |xargs docker save -o iamges.tar 主要 最大的长度不能超过 18 超过了就得改一下 -c 后面的数据长度 最终效果为: ...

  6. docker 部署mysql redis

    先介绍利用的两个数据卷挂载的规则,这对于理解挂载mysql数据库存储非常有帮助. 如果挂载一个空的数据卷到容器中的一个非空目录中,那么这个目录下的文件会被复制到数据卷中. 如果挂载一个非空的数据卷到容 ...

  7. 将Flask应用程序部署在nginx,tornado的简单方法

    来自:http://www.xuebuyuan.com/618750.html 在网上搜索了一下部署flask应用的方法,大部分是用wsgi部署在nginx上面,部署了很久,都没有成功,可能是我领悟能 ...

  8. ubuntu16.04环境下在docker上部署javaweb项目简单案例

    因为一些原因,接触到了docker,经过一番研究,总算是有了一些自己的看法,有什么不对的地方,希望多多指教. 废话不多说,首先我这里使用的虚拟机安装的是ubuntu16.04版本,其他版本应该也可以. ...

  9. 基于CentOS7.x Linux操作系统,从0开始构建一套Docker虚拟化平台,使用二进制Tar包方式,部署的步骤和方法如下:

    #配置centos7的yum源#建议阿里源#链接:https://yq.aliyun.com/articles/525282?type=2#从Docker官网下载软件包: ls -l docker-1 ...

  10. CentOS 7/8上部署Ceph

    Ceph是一个分布式的存储系统,可以在统一的系统中提供唯一的对象.块和文件存储,Ceph的大致组件如下: 1. Ceph监视器(ceph-mon):用来维护集群状态的映射,包括监视器映射,管理器映射, ...

随机推荐

  1. 论文解读:ACL2021 NER | 基于模板的BART命名实体识别

    摘要:本文是对ACL2021 NER 基于模板的BART命名实体识别这一论文工作进行初步解读. 本文分享自华为云社区<ACL2021 NER | 基于模板的BART命名实体识别>,作者: ...

  2. 谁说count(*) 性能最差,我需要跟你聊聊

    摘要:当我们对一张数据表中的记录进行统计的时候,习惯都会使用 count 函数来统计,但是 count 函数传入的参数有很多种,比如 count(1).count(*).count(字段) 等.到底哪 ...

  3. TML转义字符:xss攻击与HTML字符的转义和反转义

    xss与转义符 xss简单来说: XSS 攻击是页面被注入了恶意的代码 XSS 漏洞是 可以让攻击者注入恶意代码可执行的漏洞 具体参看之前写的: web开发前端安全问题总结--web前端安全问题汇总  ...

  4. DarkMode(2):深色模式解决方案——css颜色变量实现Dark Mode

    暗黑模式实现,最初的设计,就是参考之前的主题模式.所谓多套主题/配色/皮肤,就是我们很常见的换肤功能.换肤简单的实现就是更换 css实现不同样式呈现不同肤色. 之前做不同颜色的皮肤,暗黑模式可以单做其 ...

  5. 总结vue3 的一些知识点:MySQL NULL 值处理

    MySQL NULL 值处理 我们已经知道 MySQL 使用 SQL SELECT 命令及 WHERE 子句来读取数据表中的数据,但是当提供的查询条件字段为 NULL 时,该命令可能就无法正常工作. ...

  6. Python pdf 转 图片

    安装依赖 D:\OpenSource\Python>pip install pdf2image pillow -i https://pypi.tuna.tsinghua.edu.cn/simpl ...

  7. Consider defining a bean of type 'org.springframework.security.authentication.AuthenticationManager' in your configuration.

    Consider defining a bean of type 'org.springframework.security.authentication.AuthenticationManager' ...

  8. 100天搞定机器学习|Day60 遇事不决,XGBoost

    XGBoost 是一种集大成的机器学习算法,可用于回归,分类和排序等各种问题,在机器学习大赛及工业领域被广泛应用.成功案例包括:网页文本分类.顾客行为预测.情感挖掘.广告点击率预测.恶意软件分类.物品 ...

  9. JSP 学习笔记 | 五、MVC模式和三层架构 & JSP 案例实战

    前文:JSP 学习笔记 | 四.JSP标准标签库(JSTL)个人使用指南 前文:JSP 学习笔记 | 三.EL 表达式简述 前文:JSP 学习笔记 | 二.JSP 脚本 & 案例实现 & ...

  10. 虚拟现实 VR 碰撞 3D 可视化,图扑打造一体化管控平台

    前言 工信部<虚拟现实产业发展白皮书 5.0 >中明确提出:"通过财政资金促进虚拟现实技术产业化,支持面向工业.文化.教育等重点行业的虚拟现实技术应用". 虚拟现实 V ...