版权声明: https://blog.csdn.net/qq_32485197/article/details/88688864
步骤一:元数据服务器
ceph-deploy mds create {host-name}[:{daemon-name}] [{host-name}[:{daemon-name}] ...]
实例:ceph-deploy mds create k8s-master01:mds
ceph-mds 是 Ceph 分布式文件系统的元数据服务器守护进程。一或多个 ceph-mds 例程协作着管理文件系统的命名空间、协调到共享 OSD 集群的访问。
1. 设置存储池副本数
#ceph osd pool get data size
#ceph osd pool set data size 3
2. 打印存储池列表
#ceph osd lspools
3. 创建 删除 存储池
创建pool
# ceph osd pool create testPool 64
重命名pool
# ceph osd pool rename testPool amizPool
获取pool 副本数
# ceph osd pool get amizPool size
设置pool 副本数
# ceph osd pool set amizPool size 3
获取pool pg_num/pgp_num
# ceph osd pool get amizPool pg_num
# ceph osd pool get amizPool pgp_num
设置pool pg_num/pgp_num
# ceph osd pool set amizPool pg_num 128
# ceph osd pool set amizPool pgp_num 128
删除存储池
# ceph osd pool delete amizPool amizPool --yes-i-really-really-mean-it
删除池提示错误
Error EBUSY: pool 'testpool' is in use by CephFS
# ceph mds remove_data_pool testpool
# ceph osd pool delete testpool testpool --yes-i-really-really-mean-it
4. 设置查看存储池pool 配额
查看存储池pool 配额
# ceph osd pool get-quota poolroom1
quotas for pool 'poolroom1':
max objects: N/A
max bytes : 6144MB # 存储池pool配额 6G
步骤二:挂载 CEPHFS
一个 Ceph 文件系统需要至少两个 RADOS 存储池,一个用于数据、一个用于元数据。配置这些存储池时需考虑:
- 为元数据存储池设置较高的副本水平,因为此存储池丢失任何数据都会导致整个文件系统失效。
- 为元数据存储池分配低延时存储器(像 SSD ),因为它会直接影响到客户端的操作延时。
要用默认设置为文件系统创建两个存储池,你可以用下列命令:
$ ceph osd pool create cephfs_data <pg_num> $ ceph osd pool create cephfs_metadata <pg_num>
删除可以这样:ceph osd pool delete cephfs_metadata cephfs_metadata --yes-i-really-really-mean-it
创建好存储池后,你就可以用 fs new 命令创建文件系统了:
ceph fs new <fs_name> <metadata> <data>
例如:
$ ceph fs new cephfs cephfs_metadata cephfs_data
$ ceph fs ls
name: cephfs, metadata pool: cephfs_metadata, data pools: [cephfs_data ]
文件系统创建完毕后, MDS 服务器就能达到 active 状态了,比如在一个单 MDS 系统中:
$ ceph mds stat
e5: 1/1/1 up {0=a=up:active}
建好文件系统且 MDS 活跃后,你就可以挂载此文件系统了:
用内核驱动挂载 CEPH 文件系统
要挂载 Ceph 文件系统,如果你知道监视器 IP 地址可以用 mount 命令、或者用 mount.ceph 工具来自动解析监视器 IP 地址。例如:
sudo mkdir /mnt/mycephfs
sudo mount -t ceph 192.168.0.1:6789:/ /mnt/mycephfs
要挂载启用了 cephx 认证的 Ceph 文件系统,你必须指定用户名、密钥。
sudo mount -t ceph 192.168.0.1:6789:/ /mnt/mycephfs -o name=admin,secret=AQATSKdNGBnwLhAAnNDKnH65FmVKpXZJVasUeQ==
前述用法会把密码遗留在 Bash 历史里,更安全的方法是从文件读密码。例如:
sudo mount -t ceph 192.168.0.1:6789:/ /mnt/mycephfs -o name=admin,secretfile=/etc/ceph/admin.secret
关于 cephx 参见认证。
要卸载 Ceph 文件系统,可以用 unmount 命令,例如:
sudo umount /mnt/mycephfs
一、启用cephfs
Ceph文件系统至少需要两个RADOS池,一个用于数据,一个用于元数据
启用mds服务
# ceph-deploy mds create node01
创建数据pool
ceph osd pool create cephfs_data 128
创建Metadata池
ceph osd pool create cephfs_metadata 128
启用pool
ceph fs new cephfs cephfs_metadata cephfs_data
查看cephfs
ceph fs ls
**二、挂载cephfs **
挂载cephfs有两种方式,kernel driver和fuse
1、kernel driver挂载
关闭认证情况下
sudo mkdir /mnt/wyl
sudo mount -t ceph 192.168.0.1:6789:/ /mnt/wyl
设置开机自动挂载/etc/fstab
172.16.70.77:6789:/ /mnt/ceph ceph noatime,_netdev 0 2
启用认证
# cat ceph.client.admin.keyring
[client.admin]
key = AQBSdU5bT27AKxAAvKoWQdGpSuNRCHjC4B8DVA==
# mount -t ceph 172.16.70.77:6789:/ /wyl -o name=admin,secret=AQBSdU5bT27AKxAAvKoWQdGpSuNRCHjC4B8DVA==
设置开机自动挂载/etc/fstab
172.16.70.77:6789:/ /mnt/ceph ceph name=admin,secretfile=/etc/ceph/secret.key,noatime,_netdev 0 2
1
注意:检查是否启用cephx认证方法,如果值为none为禁用,cephx为启用
[root@node1 ceph]# cat /etc/ceph/ceph.conf | grep auth | grep required
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx
2、fuse挂载
安装挂载工具
# yum -y install ceph-fuse ceph
将存储节点的admin秘钥拷贝到本地
# ssh root@node1 "ceph-authtool -p /etc/ceph/ceph.client.admin.keyring" > admin.key
root@node1’s password:
赋予权限
# chmod 600 admin.key
执行挂载
# mount -t ceph node1:6789:/ /mnt -o name=admin,secretfile=admin.key
# df -hT
设置开机自动挂载/etc/fstab
id=admin,conf=/etc/ceph/ceph.conf /mnt fuse.ceph defaults 0 0
1
mds可以同时启用多个节点,不同的client挂载不同mds存储节点,不同client可以同时写数据,数据是共享的
3、windows挂载:
https://github.com/ksingh7/ceph-cookbook/tree/master/ceph-dokan
安装dokaninstall.exe