关闭
搜索
搜索
本版
帖子
用户
热搜:
程序员
简洁模式
高级模式
用户组: 游客
消息
提醒
新听众
我关注的
帖子
道具
勋章
任务
设置
退出
请
登录
后使用快捷导航
没有帐号?
立即注册
设为首页
收藏本站
开启辅助访问
切换到窄版
登录
or
立即注册
快捷导航
搜索
首页
论坛
BBS
MCU单片机技术
程序员交流
在树莓派集群中部署Ceph|Linux中国
[复制链接]
作者:
@Xizi_NBIB5fVM
版块:
›
嵌入式操作系统
›
linux
发布时间:
2021-1-18 21:13:43
920
0
返回列表
@Xizi_NBIB5fVM
当前离线
中级会员
中级会员, 积分 259, 距离下一级还需 241 积分
中级会员
中级会员, 积分 259, 距离下一级还需 241 积分
积分
259
发消息
楼主
电梯直达
@Xizi_NBIB5fVM
发表于 2021-1-18 21:13:43
|
只看该作者
|
倒序浏览
|
阅读模式
导读:
使用 ceph-ansible 安装 Ceph 存储,并将其部署在树莓派集群中。
本文字数:3377,阅读时长大约:4分钟
作者:Aj Canlas
译者:geekpi
Ceph
是一个开源软件存储平台,它在统一的存储集群中提供对象、块和文件系统存储。我第一次使用 Ceph 是在OpenStack 中集成它的时候。一开始,我很困惑,既然存储设备广泛存在,为什么要使用 Ceph。但在使用了三年多之后,这个平台的稳定性和完整性一再证明了它的价值。
本文将告诉你如何使用ceph-ansible(Ceph 官方支持的 Ansible playbook)安装 Ceph,并将其部署在树莓派集群中。
材料:
1. 树莓派 4B 4GB 型号四台。
2. 四张 32GB 的 microSD 卡(用于启动操作系统)
3. 四个树莓派外壳,带风扇和散热片(非常重要)
4. 四个树莓派充电器
5. 6 个 32GB U 盘(用于 Ceph OSD 节点)
架构:
Project architecture
关于配置:
前端和后端网络都在同一个子网中
Ceph Monitor软件使用 4GB 内存的树莓派 4B。
Ceph OSD节点使用相同的树莓派型号,但有两个 U 盘用于 OSD 磁盘
使用 ceph-ansible 部署 Ceph
使用 Ceph 的 Ansible 仓库可以让部署变得顺畅简单
1、复制 ssh 密钥到所有服务器
我在所有的服务器上都有一个名为cephadmin的共同用户(在此背景下,每个树莓派都是一台服务器)。cephadmin用户配置了无密码的sudo,以方便工作。
使用ssh-keygen生成密钥后,使用ssh-copy-id部署所有密钥。
我使用了一个 Bashfor循环,因为我使用的是一致并递增的主机名:
$ for i in {0..3}; \
do ssh-copy-id cephadmin@rpi4b4-$i; \
done
你需要每个接受并输入密码,但你可以用expect来自动完成。
2、克隆 ceph-ansible 并安装依赖
安装 Git 来克隆仓库:
$ sudo yum install git -y
克隆 ceph-ansible 仓库:
$ git clone http://github.com/ceph/ceph-ansible.git
$ cd ceph-ansible/
我使用的是 CentOS 7 的 AArch64 构建,所以在继续之前,我必须安装一些所需的包。
首先安装 Pythonpip:
$ sudo yum install python3-pip -y
接着是 ceph-ansible 需要的包:
$ sudo yum install python3-devel libffi-devel openssl-devel -y
最后,ceph-ansible 需要的依赖:
$ pip3 install -r requirements.txt --user
我收到了这个错误:
You are linking against OpenSSL 1.0.2, which is no longer supported by the OpenSSL project.
To use this version of cryptography you need to upgrade to a newer version of OpenSSL. For
this version only you can also set the environment variable
CRYPTOGRAPHY_ALLOW_OPENSSL_102 to allow OpenSSL 1.0.2.
这可能与架构有关,因为我无法在 CentOS 7 虚拟机中复现该错误。
部署时,将CRYPTOGRAPHY_ALLOW_OPENSSL_102导出为True,这样 Ansible 就可以运行了。
$ export CRYPTOGRAPHY_ALLOW_OPENSSL_102=True
3、配置 ceph-ansible 进行部署
现在你可以使用 ceph-ansible 部署 Ceph 了。
复制site.yml.sample到site.yml:
$ mv site.yml.sample site.yml
在group_vars目录下创建all.yml:
$ cat > group_vars/all.yml
ceph_origin: repository
ceph_repository: community
ceph_repository_type: cdn
ceph_stable_release: nautilus
monitor_interface: wlan0
public_network: "192.168.100.0/24"
cluster_network: "192.168.100.0/24"
dashboard_enabled: false
configure_firewall: false
EOF
在group_vars目录下创建osds.yml:
osd_scenario: collocated
devices:
- /dev/sda
- /dev/sdb
EOF
创建一个inventory文件:
$ cat > inventory
[mons]
rpi4b4-0
[osds]
rpi4b4-1
rpi4b4-2
rpi4b4-3
EOF
在写这篇文章的时候,ceph-ansible 仓库里有一个 bug(根据这个bug 工单)。你可以通过编辑角色的第 85 行和第 86 行来减轻这个 bug。
- (wait_for_all_osds_up.stdout | from_json)["osdmap"]["num_osds"] | int > 0
- (wait_for_all_osds_up.stdout | from_json)["osdmap"]["num_osds"] == (wait_for_all_osds_up.stdout | from_json)["osdmap"]["num_up_osds"]
4、部署 Ceph
用你的inventory文件运行 Ansible 剧本:
$ ansible-playbook -i inventory site.yml
15-20 分钟后,你应该看到这个结果:
Ceph deployment
下面的步骤
之前,我在另一个树莓派集群中手动部署了一个 OpenStack 集群。我希望能将其与这个集群整合在一起。我也在研究用TripleO部署。
树莓派、Ansible 和 OpenStack 的可能性是无穷的。开始做你自己的实验,并在评论中告诉我结果如何。
via:http://opensource.com/article/21/1/ceph-raspberry-pi
作者:AJ Canlas选题:lujun9972译者:geekpi校对:wxy
本文由LCTT原创编译,Linux中国荣誉推出
欢迎遵照 CC-BY-NC-SA 协议规定转载,
如需转载,请在文章下留言 “转载:公众号名称”,
我们将为您添加白名单,授权“转载文章时可以修改”。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有帐号?
立即注册
收藏
0
相关帖子
•
Python常用的12个GUI框架
•
大联大友尚集团推出基于STSTM32Cortex-M4的码表方案
•
在linux下安装JDK,Tomcat以及Mysql
•
Cpufetch:一款功能强大的CPU架构信息爬取工具
•
干货|Docker是什么?它的原理有哪些
•
新版LinuxKernel支持M1处理器仅对应Mac不包括iPadPro
•
一个惊人快速的终端录像工具,也能录制VSCode和Chrome窗口
•
超详细的PyCharm教程,必须收藏!
•
Linux用户宝典:值得一用的5款远程桌面应用程序
•
《Linux内核编码风格》官方手册最新中译本
回复
使用道具
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
表情
@朋友
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
快速回复
返回顶部
返回列表