1、简介
Ceph 作为企业级分布式存储的明星,支持强大的文件系统功能——CephFS。其中,子卷(subvolume)是CephFS中按需划分空间和权限的利器。本文将重点讲解如何给已创建的CephFS子卷快速安全地 扩容,从10GB升到100GB,提升存储灵活性,满足不断增长的业务需求。
2、为什么要扩容CephFS子卷?
企业应用随着数据不断增长,原有的子卷空间不够用怎么办?CephFS的子卷配额限制可保证多租户安全和资源合理分配,但业务变大后配额需动态调整。手动扩容子卷大小,是解决问题的关键步骤。
3、实战环境简介
- CephFS名称:
cephfs
- 子卷名称:
myshare
- 初始配额:10GB(10737418240字节)
- 目标配额:100GB(107374182400字节)
- 客户端挂载路径示例:
/mnt/myshare
4、扩容前准备:确认当前子卷配额和状态
首先,查看当前子卷信息,确认现有空间限制
~ ❯ ceph fs subvolume info cephfs myshare
{
"atime": "2025-08-06 07:52:19",
"bytes_pcent": "2.29",
"bytes_quota": 10737418240,
"bytes_used": 2459648068,
"created_at": "2025-08-06 07:52:19",
"ctime": "2025-08-07 06:53:30",
"data_pool": "cephfs.cephfs.data",
"features": [
"snapshot-clone",
"snapshot-autoprotect",
"snapshot-retention"
],
"flavor": 2,
"gid": 0,
"mode": 16877,
"mon_addrs": [
"172.22.1.101:6789",
"172.22.1.102:6789",
"172.22.1.103:6789"
],
"mtime": "2025-08-07 06:53:30",
"path": "/volumes/_nogroup/myshare/29bb058a-e1e6-4455-b41a-de8415bf7aa3",
"pool_namespace": "",
"state": "complete",
"type": "subvolume",
"uid": 0
}
bytes_quota
表示当前配额大小,单位是字节(这里是10GB)。bytes_used
是当前使用量。state
为complete
表示子卷处于正常状态。
5、核心操作调整配额
执行以下命令,将配额从10GB调整到100GB(注意单位是字节)
ceph fs subvolume resize cephfs myshare --size 107374182400
命令会修改Ceph集群中的子卷配额元数据,扩容完成后,子卷可用空间相应增加。
6、确认子卷配额更新
再次查看子卷信息,确认配额已生效
~ ❯ ceph fs subvolume info cephfs myshare
{
"atime": "2025-08-06 07:52:19",
"bytes_pcent": "2.29",
"bytes_quota": 107374182400, #大小为100G
"bytes_used": 2459648068,
"created_at": "2025-08-06 07:52:19",
"ctime": "2025-08-07 06:53:30",
"data_pool": "cephfs.cephfs.data",
"features": [
"snapshot-clone",
"snapshot-autoprotect",
"snapshot-retention"
],
"flavor": 2,
"gid": 0,
"mode": 16877,
"mon_addrs": [
"172.22.1.101:6789",
"172.22.1.102:6789",
"172.22.1.103:6789"
],
"mtime": "2025-08-07 06:53:30",
"path": "/volumes/_nogroup/myshare/29bb058a-e1e6-4455-b41a-de8415bf7aa3",
"pool_namespace": "",
"state": "complete",
"type": "subvolume",
"uid": 0
}
此时,配额变成了100GB,表示扩容成功。
7、客户端视角:查看挂载空间变化
扩容后,客户端看到的挂载空间也会相应变化
~ ❯ df -Th | grep myshare
ceph-fuse fuse.ceph-fuse 100G 2.3G 98G 3% /mnt/myshare
注意:客户端如果使用的是内核CephFS客户端,空间配额变更会实时生效,无需手动操作。
8、扩容操作要点及风险提示
- 扩容是安全的,不会影响已有数据。
- 缩容(减小配额)风险较大,慎用,避免因配额小于已用空间导致数据不可用。
- 扩容只修改配额,真实数据存储空间由集群整体容量决定,确保集群有足够可用空间。
- 扩容后,客户端挂载时看到的容量才会更新。
- 可结合 CephFS 快照和克隆功能,提高数据管理灵活度。
9、总结
步骤 | 关键命令及说明 |
---|---|
查看当前子卷信息 | ceph fs subvolume info cephfs myshare |
调整子卷配额 | ceph fs subvolume resize cephfs myshare --size <字节数> |
验证配额更新 | 再次执行 info 命令确认 |
查看客户端挂载空间 | `df -Th |
通过以上简单3步,就可以轻松实现 CephFS 子卷从10GB扩容到100GB,满足不断变化的存储需求。
✨ 只写原创,不接广告,不接广告,不接广告。
在这里,你将看到全新的技术分享、运维经验、以及最新的行业动态。我们坚信,原创内容才是最有价值的资源,所以所有文章都是独立创作,与你们一起成长。
声明:来自IT运维大爆炸,仅代表创作者观点。链接:https://eyangzhen.com/2136.html