ceph 简介
不管你是想为云平台提供Ceph 对象存储和/或 Ceph 块设备,还是想部署一个 Ceph 文件系统或者把 Ceph 作为他用,始于部署一个个 Ceph 节点、网络和 Ceph 存储集群。
Ceph 存储集群至少需要一个 Ceph Monitor 和两个 OSD 守护进程。而运行 Ceph 文件系统客户端时,则必须要有元数据服务器( Metadata Server )。
Ceph OSDs: Ceph OSD 守护进程( Ceph OSD )的功能是存储数据,处理数据的复制、恢复、回填、再均衡,并通过检查其他OSD 守护进程的心跳来向 Ceph Monitors 提供一些监控信息。当 Ceph 存储集群设定为有2个副本时,至少需要2个 OSD 守护进程,集群才能达到 active+clean 状态( Ceph 默认有3个副本,但你可以调整副本数)
Ceph 存储集群至少需要一个 Ceph Monitor 和两个 OSD 守护进程。而运行 Ceph 文件系统客户端时,则必须要有元数据服务器( Metadata Server )。
Monitors: Ceph Monitor维护着展示集群状态的各种图表,包括监视器图、 OSD 图、归置组( PG )图、和 CRUSH 图。Ceph 保存着发生在Monitors 、 OSD 和 PG上的每一次状态变更的历史信息(称为 epoch )。
MDSs: Ceph 元数据服务器( MDS )为 Ceph 文件系统存储元数据(也就是说,Ceph 块设备和 Ceph 对象存储不使用MDS )。元数据服务器使得 POSIX 文件系统的用户们,可以在不对 Ceph 存储集群造成负担的前提下,执行诸如 ls、find 等基本命令
简单理解
OSD
OSD 守护进程,至少两个用于存储数据、处理数据拷贝、恢复、回滚、均衡通过心跳程序向monitor提供部分监控信息
Mon
维护集群的状态映射信息包括monitor、OSD、placement Group(PG)还维护了monitor、OSD和PG的状态改变历史信息
Mgr
负责ceph集群管理,如pg map对外提供集群性能指标(如cpeh -s 下IO信息)
具有web界面的监控系统(dashboard)
Ceph 逻辑结构
数据通过ceph的object存储到PG,PG在存储到osd daemon,
losd对应disk
lobject只能对应一个pg
l一个raid可以对应一个osd
l一整块硬盘可以对应一个osd
l一个分区可以对应一个osd
monitor:奇数个 osd : 几十到上万,osd越多性能越好
PG
副本数
crush规则(pg怎么找到osd acting set)
用户及权限
lepoach:单调递增的版本号
lacting set: osd列表,第一个为primary osd,replicated osd
lup set :acting set过去的版本
lpg tmp:临时pg组
osd状态
默认每2秒汇报自己给mon(同时监控组内osd,如300秒没有给mon汇报状态,则会把这个osd踢出pg组)
lup 可以提供io
ldown 挂掉了
lin 有数据
lout 没数据了
ceph应用场景
通过tgt支持iscsi挂载
l公司内部文件共享
l海量文件,大流量,高并发
l需要高可用、高性能文件系统
l传统单服务器及NAS共享难以满足需求,如存储容量,高可用
ceph生产环境推荐
存储集群采用全万兆网络
集群网络(不对外)与公共网络分离(使用不同网卡)
mon、mds与osd分离部署在不同机器上
journal推荐使用PCI SSD,一般企业级IOPS可达40万以上
OSD使用SATA亦可
根据容量规划集群
至强E5 2620 V3或以上cpu,64GB或更高内存
最后,集群主机分散部署,避免机柜故障(电源、网络)
实验安装
环境
地址 | 硬盘 | 作用 |
192.168.50.250/ 192.168.238.128(私网) | 4块 20G SSD/ 2张网卡 | OSD |
主机名修改
源安装
升级remoto 包
ssh 秘钥认证(单机忽略)
工具包安装
NTP 安装
防止时钟漂移导致故障
Openssh 安装
创建ceph 用户
允许无密码 SSH 登录
防火墙
sudo firewall-cmd --zone=public --add-port=6789/tcp --permanent
若使用 iptables ,要开放 Ceph Monitors 使用的 6789 端口和 OSD 使用的 6800:7300 端口范围,命令如下:
在每个节点上配置好 iptables 之后要一定要保存,这样重启之后才依然有效。例如:
关闭selinux
省略
启用可选软件库
安装ceph-deploy
创建集群
创建monitoer
修改配置
安装ceph
中途可能会报错工具安装失败
错误总结链接1
错误总结链接2
创建和收集keyring
将认证密钥拷贝到其他节点便于ceph命令行可以通过keyring和ceph集群进行交互
创建OSD存储节点
准备硬盘
这里有四块磁盘
因为想使用整块磁盘这里直接一个磁盘做一个分区,直接使用mkfs.ext4制作
创建OSD
把配置文件和admin 秘钥到管理节点和ceph节点
此时使用ceph-s看到的状态是no active mgr 的状态
安装ceph-mgr
官方文档建议在每个 monitor 上都启动一个 mgr
Ceps -s 查看状态
清除操作
安装过程中如遇到奇怪的错误,可以通过以下步骤清除操作从头再来
[root@ceph1 ceph-install]# ceph-deploy purge ceph-node0 ceph-node1 ceph-node2
[root@ceph1 ceph-install]# ceph-deploy purgedata ceph-node0 ceph-node1 ceph-node2
[root@ceph1 ceph-install]# ceph-deploy forgetkeys
优化
关于性能
OSD 为客户端处理数据复制,复制多份时 OSD 间的网络负载势必会影响到客户端和 ceph 集群 的通讯,包括延时增加、产生性能问题;恢复和重均衡也会显著增加公共网延时。
关于安全
很少的一撮人喜欢折腾拒绝服务攻击(DoS)。当 OSD 间的流量瓦解时, 归置组再也不能达到 active+clean 状态,这样用户就不能读写数据了。挫败此类攻击的一种好方法是 维护一个完全独立的集群网,使之不能直连互联网;另外,请考虑用签名防止欺骗攻击
分离公共网络和集群网络
就是网络分离
修改ceph.conf
osd op threads = 8
将配置文件同步到其它节点 & 重启节点
ceph-mon 进程应监听在 192.168.50.0 网段IP上
ceph-osd 应分别监听在 192.168.50.0 和 192.168.238.0两个网段IP上
192.168.238.0 网段为集群内部复制数据时使用
192.168.50.0 网段为客户端连接时使用
查看osd与ceph状态
Ceph 存储池与文件系统
创建文件系统ceph-fs
ceph-fs需要元数据mds服务
一个 Ceph 文件系统需要至少两个 RADOS 存储池,一个用于数据、一个用于元数据。配置这些存储池时需考虑:
创建mds,osd上都创建,高可用性
pool 存储池
池是ceph存储集群的逻辑分区,用于存储对象
对象存储到池中时,使用CRUSH规则将该对象分配到池中的一个PG,PG根据池的配置和CRUSH算法自动映射一组OSD池中PG数量对性能有重要影响。通常而言,池应当配置为每个OSD包含的100-200个归置组
创建池时。ceph会检查每个OSD的PG数量是否会超过200.如果超过,ceph不会创建这个池。ceph3.0安装时不创建存储池
创建存储池
l若少于5个OSD, 设置pg_num为128。
l5~10个OSD,设置pg_num为512。
l10~50个OSD,设置pg_num为4096。
l超过50个OSD,可以参考pgcalc计算。
参数解释
lpool-name 存储池的名称
lpg-num 存储池的pg总数
lpgp-num 存储池的pg的有效数,通常与pg相
创建文件系统
客户端挂载
使用客户端 ceph-fuse 挂载文件系统
块存储
创建一个存储池
创建一个10G的块
将10G的块映射到本地
# 查看创建的image 是否存在
需要去掉一些feature
映射
查看
格式化挂载rbd0到本地的目录中
查看
为了帮助大家更好的学习网络安全,我给大家准备了一份网络安全入门/进阶学习资料,里面的内容都是适合零基础小白的笔记和资料,不懂编程也能听懂、看懂这些资料!
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
[2024最新CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享]
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
[2024最新CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享]