cephfs搭建及权限管理
cephfs搭建及权限管理(本文单节点测试)
拖布图
架构
cephFS简介
每个CephFS文件系统至少需要一个MDS(metadata server),一般是三个。CephFS 是个与 POSIX 标准兼容的文件系统,文件目录和其他元数据存储在RADOS中,MDS缓存元信息和文件目录信息。
cephfs的核心组件有:MDS、Clients、RADOS。
参考:CephFS 介绍及使用经验分享。
各个组件之间的依赖关系如下:
- client 《==》 MDS:元数据操作和capalities。
- Client 《==》 OSD: 数据IO。
- MDS 《==》 OSD:元数据IO。
cephfs支持用户级别和内核级别的挂载使用,可扩展性高,并且可以共享文件系统,多个clients可以同时读写。MDS支持高可用性,默认采用的是主备模式(也可以通过配置改为多主),并且cephfs支持文件系统的配额限制。
cephfs中MDS多主的优势及特点如下:
- 当元数据默认的单个 MDS 成为瓶颈时,配置多个活跃的 MDS 守护进程,提升集群性能。
- 多个活跃的 MDS 有利于性能提升。
- 多个活跃的MDS 可以实现MDS负载均衡。
- 多个活跃的MDS 可以实现多租户资源隔离。
- 它能够将文件系统树分割成子树,每个子树可以交给特定的MDS进行权威管理,从而达到了随着元数据服务器数量的增加,集群性能线性地扩展。
- 每个子树都是基于元数据在给定目录树中的热动态创建的。
- 一旦创建了子树,它的元数据就被迁移到一个未加载的MDS。
- 后续客户端对先前授权的MDS的请求被转发。
一. 创建mds
1 | # 首先开启mds组件,cephfs:文件系统名称;–placement:指定集群内需要几个mds,后面跟主机名(等待一分钟完成创建) |
查看mds信息
1 | # 查看cephfs信息 |
删除cephfs
1 | ceph fs rm <fs-name> --yes-i-really-mean-it |
二. 挂载cephfs
临时挂载
1 | # 使用内核级别挂载: |
用户态挂载(例子)
1 | $ yum -y install ceph-fuse # 安装客户端 |
永久挂载
1 | # 写入配置文件:/etc/fstab |
三. ceph权限控制
3.6 不同用户挂载不同目录
3.6.1 添加新的pool到cephfs
1 | cephfs中增加新的pool |
3.6.2 创建bruce的用户,这个用户只能访问目录/bruce,数据存储在 pool cephfs_data1
中
1 | 创建bruce的用户,这个用户只能访问目录/bruce,数据存储在 `pool cephfs_data1` 中 |
3.6.3 客户端挂载
1 | 客户端挂载 |
四、cephfs权限与访问控制
4.1 添加用户
添加用户jerry,jerry
只有对/jerry
路径下的文件具有读写权限,对其他路径下的文件只有读的权限
1 | 创建权限密钥 |
4.2 获取权限列表
1 | ceph auth list |
4.3 删除用户
1 | ceph auth del client.jerry |
4.4 获取某个用户的key
1 | ceph auth get-key client.bruce |
4.5 修改用户权限
1 | ceph auth caps client.jerry mon 'allow r' mds 'allow r, allow rw path=/jerry, allow rw path=/test' osd 'allow rw' |
4.6 注意事项
- 当用java api操作cephfs时,api无法指定新建文件or目录的所属用户or所属组,这两个属性取决于运行java程序时的当前用户(uid)及其所属的用户组(gid)
- 经过测试发现,cephfs文件or目录的权限是linux本身用户权限和cephfs用户权限的交集
- 修改用户权限后,在本地需要重新挂载才可生效
- 建目录,设置权限无需前后顺序
本文参考:
官网:
https://docs.ceph.com/en/quincy/cephfs/#ceph-file-system
挂载:
https://docs.ceph.com/en/quincy/cephfs/mount-using-kernel-driver/
cephfs介绍+各种测试:
http://www.yangguanjun.com/2017/07/16/cephfs-test-method-lite/
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Comment