cephfs创建和删除pool

1、cephfs创建pool

[root@ceph01 ceph-cluster]#ceph osd pool create mypool 32 #数据
pool 'mypool' created
[root@ceph01 ceph-cluster]#ceph osd pool create mypool_mata 32 #元数据
pool 'mypool_mata' created
[root@ceph01 ceph-cluster]#ceph osd pool ls
mypool
mypool_mata
[root@ceph01 ceph-cluster]#rados lspools
mypool
mypool_mata
[root@ceph01 ceph-cluster]#ceph fs new fs-test mypool_mata mypool #创建cephfs:fs-test,绑定pool
new fs with metadata pool 2 and data pool 1
[root@ceph01 ceph-cluster]#ceph fs ls
name: fs-test, metadata pool: mypool_mata, data pools: [mypool ]
[root@ceph01 ceph-cluster]# ceph fs status fs-test
fs-test - 0 clients
=======
+------+--------+--------+---------------+-------+-------+
| Rank | State  |  MDS   |    Activity   |  dns  |  inos |
+------+--------+--------+---------------+-------+-------+
|  0   | active | ceph01 | Reqs:    0 /s |   10  |   13  |
+------+--------+--------+---------------+-------+-------+
+-------------+----------+-------+-------+
|     Pool    |   type   |  used | avail |
+-------------+----------+-------+-------+
| mypool_mata | metadata | 1536k |  283G |
|    mypool   |   data   |    0  |  283G |
+-------------+----------+-------+-------+
+-------------+
| Standby MDS |
+-------------+
+-------------+
MDS version: ceph version 14.2.22 (ca74598065096e6fcbd8433c8779a2be0c889351) nautilus (stable)

[root@ceph01 ceph-cluster]#ceph mds stat
fs-test:1 {0=ceph01=up:active}  #已启用

[root@ceph01 ceph-cluster]#modprobe rbd   #加载rbd内核模块
[root@ceph01 ceph-cluster]#lsmod | grep rbd
rbd                    94208  0 
libceph               360448  1 rbd

[root@ceph01 ceph-cluster]#cat ceph.client.admin.keyring
[client.admin]
	key = AQBJawRjSaZUEBAAZvfbk2N9Our6O6yPzJEZxg==
	caps mds = "allow *"
	caps mgr = "allow *"
	caps mon = "allow *"
	caps osd = "allow *"

#客户端挂载	
mkdir /fs_test
mount -t ceph 10.30.130.21:6789:/ /cephfs_test -o name=admin,secret=AQCYNFBbMFgrGRAATVYCVImCvnW+SeK9MDGb1g==

2、cephfs删除pool

#错误删除的报错信息:
#删除pool
[root@ceph01 ceph-cluster]#ceph osd pool rm mypool 
Error EPERM: WARNING: this will *PERMANENTLY DESTROY* all data stored in pool mypool.  If you are *ABSOLUTELY CERTAIN* that is what you want, pass the pool name *twice*, followed by --yes-i-really-really-mean-it. #把pool名传递两次,并后边跟--yes-i-really-really-mean-it
[root@ceph01 ceph-cluster]#ceph osd pool rm mypool mypool --yes-i-really-really-mean-it 
Error EBUSY: pool 'mypool' is in use by CephFS #被cephfs使用
[root@ceph01 ceph-cluster]#ceph osd pool rm mypool mypool --yes-i-really-really-mean-it
Error EPERM: pool deletion is disabled; you must first set the mon_allow_pool_delete config option to true before you can destroy a pool #配置文件里mon_allow_pool_delete需要是true
#删除cephfs
[root@ceph01 ceph-cluster]#ceph fs rm fs-test 
Error EINVAL: all MDS daemons must be inactive/failed before removing filesystem. See `ceph fs fail`. #MDS进程必须是inactive/failed
[root@ceph01 ceph-cluster]#ceph fs rm fs-test 
Error EPERM: this is a DESTRUCTIVE operation and will make data in your filesystem permanently inaccessible.  Add --yes-i-really-mean-it if you are sure you wish to continue. #后边跟--yes-i-really-really-mean-it


#正确删除步骤:
[root@ceph01 ceph-cluster]#systemctl stop ceph-mds@ceph01 #停用mds服务
[root@ceph01 ceph-cluster]#ceph fs rm fs-test --yes-i-really-mean-it #删除cephfs文件系统,可通过ceph fs ls查询
[root@ceph01 ceph-cluster]#vi /etc/ceph/ceph.conf  #注:所有mon节点都需要配置并重启服务
[mon]
mon_allow_pool_delete = true
[root@ceph01 ceph-cluster]#systemctl restart ceph-mon.target

[root@ceph01 ceph-cluster]#ceph osd pool delete mypool mypool --yes-i-really-really-mean-it #删除pool,rm和delete都可以
pool 'mypool' removed
[root@ceph01 ceph-cluster]#ceph osd pool rm mypool_mata mypool_mata --yes-i-really-really-mean-it 
pool 'mypool_mata' removed
#删除后恢复配置:
[root@ceph01 ceph-cluster]#vi /etc/ceph/ceph.conf  #注:所有mon节点都需要配置并重启服务
[mon]
#mon_allow_pool_delete = true
[root@ceph01 ceph-cluster]#systemctl start ceph-mds@ceph01 #启用mds服务
<think>嗯,用户想要了解CephFS的配置使用指南。从对话历史看,用户已经提供了三条关于CephFS的引用信息,其中包含了通过FUSE挂载的两种方式(内核挂载用户空间挂载)以及基本概念。用户的需求非常明确,就是需要系统性的操作指导。用户可能是系统管理员或存储工程师,正在搭建Ceph存储集群的文件服务。考虑到CephFS的复杂性,用户应该需要具体到命令行的实操步骤,同时也要了解关键配置参数的注意事项。从ta引用的资料看,ta可能已经查阅过部分文档,但需要更系统的整合。准备在回答时重点覆盖几个核心模块:基础概念部分补充架构图会更直观,但文本回复中只能描述关键组件;部署准备要强调ceph-mds授权问题,这是很多新手容易忽略的;内核挂载FUSE挂载需要分场景说明,特别是生产环境推荐用内核模式;权限控制部分要包含ACLQuota的实用技巧;最后故障排查必须包含“clientmounttimeout”这个高频问题。注意到引用[3]提到ceph集群默认开启权限校验,这一点特别重要,必须在配置步骤里单独强调。用户提供的挂载命令中有secretfile参数,说明ta可能接触过密钥管理问题,因此要解释清楚admin用户keyring的对应关系。另外所有命令行都需要标注危险操作(比如删除操作)的警示符号。</think> 以下是CephFS的配置与使用指南,整合核心操作注意事项: --- ### **一、基础概念** 1. **CephFS架构** - 依赖元数据服务(MDS)管理目录结构 - 数据底层通过RADOS存储 - 支持POSIX标准文件访问[^2] 2. **必要条件** - 已部署Ceph集群(MON/OSD) - 至少1个活跃的MDS守护进程 - 客户端需安装`ceph-common`或`ceph-fuse` --- ### **二、部署与配置** #### **步骤1:创建CephFS** ```bash # 创建metadata池数据池 sudo ceph osd pool create cephfs_data 32 sudo ceph osd pool create cephfs_metadata 8 # 启用文件系统 sudo ceph fs new cephfs cephfs_metadata cephfs_data ``` #### **步骤2:验证状态** ```bash sudo ceph fs ls # 查看文件系统列表 sudo ceph mds stat # 检查MDS状态 ``` --- ### **三、客户端挂载方式** #### **方式1:内核空间挂载(推荐生产环境)** ```bash sudo mkdir /mnt/cephfs sudo mount -t ceph {MON_IP}:6789:/ /mnt/cephfs \ -o name=admin,secretfile=/etc/ceph/admin.secret ``` > 📌 注意: > - `secretfile`内容为`admin`用户的密钥(通过`ceph auth get-key client.admin`获取) > - 多个MON时可用逗号分隔IP:`192.168.1.1:6789,192.168.1.2:6789` #### **方式2:用户空间挂载(FUSE)** ```bash sudo mkdir ~/mycephfs sudo ceph-fuse -m {MON_IP}:6789 ~/mycephfs \ --keyring /etc/ceph/ceph.client.admin.keyring ``` --- ### **四、权限控制关键配置** #### 1. **多用户隔离** ```bash # 创建专用用户 ceph auth get-or-create client.user1 mon 'allow r' osd 'allow rw pool=cephfs_data' # 挂载时指定用户 mount -t ceph ... -o name=user1,secretfile=user1.secret ``` #### 2. **目录配额设置** ```bash # 限制目录容量(单位:字节) setfattr -n ceph.quota.max_bytes -v 1073741824 /mnt/cephfs/data # 限制文件数量 setfattr -n ceph.quota.max_files -v 100000 /mnt/cephfs/data ``` --- ### **五、故障排查** 1. **挂载失败:权限不足** - 检查`/etc/ceph`下keyring文件的权限是否为600 - 确认用户对存储池有读写权限:`ceph auth get client.admin` 2. **客户端卡顿** - 增加MDS缓存:`ceph tell mds.* injectargs --mds_cache_memory_limit 4294967296`(4GB) - 检查网络延迟:`ceph osd perf` 3. **Metadata池过载** - 监控MDS性能:`ceph daemon mds.{node_name} perf dump` - 拆分Metadata池(需停服) --- ### **六、生产环境建议** 1. **高可用MDS** ```bash ceph fs set cephfs max_mds 2 # 设置2个活跃MDS ceph orch apply mds cephfs --placement="node1,node2,node3" ``` 2. **定期快照** ```bash rbd snap create cephfs_metadata@$(date +%Y%m%d) ``` --- **相关问题** 1. 如何实现CephFS跨集群同步? 2. CephFS与NFS/Samba的性能对比有哪些差异? 3. 如何监控CephFS的客户端连接状态? 4. CephFS在Kubernetes中的动态存储配置方法? [^1]: CephFS挂载基础命令 [^2]: CephFS架构解析 [^3]: 权限配置与密钥管理
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值