cephmds文件系统

ceph创建MDS接口(部署mds文件系统)

服务端操作

1.1在管理节点执行下述命令

cd /etc/ceph
ceph-deploy mds create mon01 mon02 mon03

可以查看各个节点的mds服务

ssh root@mon01 systemctl status ceph-mds@mon01
ssh root@mon02 systemctl status ceph-mds@mon02
ssh root@mon03 systemctl status ceph-mds@mon03

1.2启用ceph文件系统
ceph文件系统至少需要两个rados池,一个用于存储数据,一个用于存储元数据
此时数据池就类似于文件系统的共享目录

#创建数据pool
ceph osd pool create cephfs_data 128
#创建Metadata池
ceph osd pool create cephfs_metadata 128
#启用ceph
ceph fs new cephfs cephfs_metadata cephfs_data #  元数据在前,数据池在后
#查看cephfs
ceph fs ls

创建好cephfs池后便可以查看

[root@admin ceph]# ceph -s
......
#一个up,其余两个待命,目前的工作的是mon01上的mds服务
mds: cephfs-1/1/1 up {0=mon01=up:creating}, 2 up:standby
......
[root@admin ~]# ceph mds stat
cephfs-1/1/1 up {0=mon03=up:active}, 2 up:standby
[root@admin ~]# ceph mds dump
......

1.3创建用户
语法格式如下:

ceph fs authorize <fs_name> client.<client_id> <path-in-cephfs> rw

示例1:

# 账户为client.egon,用户name为egon,egon对文件系统的根目录(不是操作系统的根目录)有rw权限(此处的根为客户端挂载的目录,此时根目录对应的是ceph的数据池,)
ceph fs authorize cephfs client.egon / rw| tee /etc/ceph/egon.keyring

示例2:

# 账户为client.tom,用户name为tom,tom对文件系统的根目录的子目录egon_test有rw权限
ceph fs authorize cephfs client.tom / r /test rw| tee
/etc/ceph/tom.keyring
客户端操作

切记客户端一定要在public_addr网络内
2.1客户端需要有配置文件
ceph.conf
还有账号的秘钥环文件egon.keyring、tomkeyring
首先在客户端创建好工作目录
mkdir /etc/ceph
在ceph的管理节点传给该客户端

cd /etc/ceph
scp -r egon.keyring 1.1.1.10:/etc/ceph
scp -r tom.keyring 1.1.1.10:/etc/ceph
# 还有/etc/hosts
scp -r /etc/hosts 1.1.1.10:/etc/

2.2客户端需要安装ceph软件包

wget https://download.ceph.com/rpm-luminous/el7/noarch/ceph-release-1-
1.el7.noarch.rpm
rpm -ivh ceph-release-1-1.el7.noarch.rpm
yum install ceph -y

2.3客户端制作秘钥文件

cd /etc/ceph
ceph-authtool -n client.egon -p egon.keyring > egon.key #把egon用户的秘钥导出到egon.keyl
ceph-authtool -n client.tom -p tom.keyring > tom.key # 把egon用户的秘钥导出到egon.key

总结:创建文件系统的步骤:
服务端:
一、:创建mds文件系统
二、:启用mds文件系统
三、:创建存储池
四、:将存储池绑定给mds
客户端:
一、连入public网络
二、安装ceph及其需要使用的软件包
三、获取ceph的配置文件及秘钥
四、挂载使用

2.4客户端挂载
两种挂载方式,各有优劣,都可以用

方式一:基于内核
mount -t ceph mon01:6789,mon02:6789,mon03:6789:/ 本地路径 -o name=用户名,secret=秘钥
mount -t ceph mon01:6789,mon02:6789,mon03:6789:/ 本地路径 -o name=用户名,secretfile=秘钥文件只包含秘钥

示例一:

mount -t ceph mon01:6789,mon02:6789,mon03:6789:/ /opt -o name=egon,secretfile=/etc/ceph/egon.key

示例二:

mount -t ceph mon01:6789,mon02:6789,mon03:6789:/ /mnt -o
name=tom,secretfile=/etc/ceph/tom.key
#验证用户权限
[root@osd03 ceph]# cd /mnt/
[root@osd03 mnt]# echo 123 > 2.txt
-bash:2.txt:权限不够
[root@osd03 mnt]# echo 123 > test/2.txt
[root@osd03 mnt]# cat test/2.txt
123

示例三:

#停掉mon02上的mds服务
[root@admin ceph]# ssh root@mon02 "systemctl stop ceph-mds@mon02"
# 查看
[root@admin ceph]# ceph -s
......
 mds: cephfs-1/1/1 up {0=mon03=up:active}, 1 up:standby # mon03Ӥᕚૡ֢
......
# 测试客户端的挂载点仍然是可以用的
# 停掉所有的mds,客户端就不能用了
[root@admin ceph]# ssh root@mon03 "systemctl stop ceph-mds@mon03"
[root@admin ceph]# ssh root@mon01 "systemctl stop ceph-mds@mon01"
方式二:基于fuse工具

yum install ceph-fuse -y
ceph-fuse -n client.egon -m mon01:6789,mon02:6789,mon03:6789 /mnt -o nonempty
挂载源为文件系统的根,/mnt为挂载点,挂载时,如果/mnt不为空会挂载失败,此时可以清空,或者指定-o nonempty,然后重新挂载

无论文件存储、块存储都要先建存储池、在启用

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值