ceph部署

  • A+
所属分类:K8S

1.安装准备

确保集群服务器关闭防护墙,时间同步,admin节点能免密钥访问其他所有节点

安装ceph-deploy

2.部署仓库

所有节点上新增仓库文件

3.部署

主节点上创建目录

新增主网卡网段

#如果部署完后要同步所有配置

初始化mon

4.创建OSD用目录

分别在所有节点上创建添加OSD用的目录

5.增加osd(在主节点上执行)

准备osd

激活osd

6.同步密钥

ceph-deploy把配置文件和admin秘钥拷贝到其他节点

所有节点上执行

7.检查集群

8.部署UI

访问http://192.168.3.18:7000/

9.关键字说明

PG是指定存储池存储对象的目录有多少个,PGP是存储池PG的OSD分布组合个数

PG的增加会引起PG内的数据进行分裂,分裂到相同的OSD上新生成的PG当中

PGP的增加会引起部分PG的分布进行变化,但是不会引起PG内对象的变动

Monitor一个Ceph集群需要多个Monitor组成的小集群,它们通过Paxos同步数据,用来保存OSD的元数据。

OSD全称Object Storage Device,也就是负责响应客户端请求返回具体数据的进程。一个Ceph集群一般都有很多个OSD。

MDS全称Ceph Metadata Server,是CephFS服务依赖的元数据服务。

Ceph最底层的存储单元是Object对象,每个Object包含元数据和原始数据。

PG全称Placement Grouops,是一个逻辑的概念,一个PG包含多个OSD。引入PG这一层其实是为了更好的分配数据和定位数据。

RADOS全称Reliable Autonomic Distributed Object Store,是Ceph集群的精华,用户实现数据分配、Failover等集群操作。

Librados是Rados提供库,因为RADOS是协议很难直接访问,因此上层的RBD、RGW和CephFS都是通过librados访问的,目前提供PHP、Ruby、Java、Python、C和C++支持。

CRUSH是Ceph使用的数据分布算法,类似一致性哈希,让数据分配到预期的地方。

RBD全称RADOS block device,是Ceph对外提供的块设备服务。

RGW全称RADOS gateway,是Ceph对外提供的对象存储服务,接口与S3和Swift兼容。

CephFS全称Ceph File System,是Ceph对外提供的文件系统服务。

10.创建修改pool

查看pool

创建pool

通常在创建pool之前,需要覆盖默认的pg_num,官方推荐:

若少于5个OSD, 设置pg_num为128

5~10个OSD,设置pg_num为512

10~50个OSD,设置pg_num为4096

超过50个OSD,可以参考pgcalc计算

我这里osd只有3个,所以pg设置为128

设置允许最大object数量为100:

设置允许容量限制为10GB:

取消配额限制只需要把对应值设为0即可。

重命名pool

删除pool

删除一个pool会同时清空pool的所有数据,因此非常危险。(和rm -rf /类似)。因此删除pool时ceph要

求必须输入两次pool名称,同时加上--yes-i-really-really-mean-it选项。

11.创建RBD

创建RBD(这里我没执行,我直接在kubenetes上创建的RBD)

rbd_test代表所创建rbd块设备的名字

--size后接rbd块设备的大小,单位MB

--pool后接该rbd块设备所在存储池名称

创建完之后需要对pool进行标记否则会报HEALTH_WARN application not enabled on 1 pool(s)

查看创建的rbd

12.挂载ceph

ceph部署

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
  • 版权声明:本站原创文章,于2019年8月28日17:09:13,由 发表,共 2313 字。
  • 转载请注明:ceph部署 | 爱运维

发表评论

您必须登录才能发表评论!