Ceph块存储配置
1、客户端部署Ceph相关工具
rpm -ivh http://mirrors.aliyun.com/ceph/rpm-octopus/el7/noarch/ceph-release-1-1.el7.noarch.rpm
yum install ceph-common -y
2、创建存储池
ceph osd pool create rbd_pool 128 128
3、初始化存储池
ceph osd pool application enable rbd_pool rbd
# 或者使用 rbd pool init rbd_pool
4、创建镜像
rbd create image1 -p rbd_pool --size 5120
5、查看RBD存储池下的镜像
rbd ls -p rbd_pool
rbd list -p rbd_pool
6、查看镜像的详细信息
rbd info image1 -p rbd_pool
7、在客户端将创建的镜像映射成块设备
# rbd device map {pool-name}/{image-name}
rbd device map rbd_pool/image1
因为RBD镜像的一些特性,操作系统内核并不支持,因此需禁用掉相关特性并重新映射
rbd feature disable rbd_pool/image1 object-map fast-diff deep-flatten
# 重新映射
rbd device map rbd_pool/image1
8、查看映射的镜像
rbd device list
rbd showmapped
9、客户端格式化并挂载使用(块存储设备不能实现同时读写)
mkfs.xfs /dev/rbd0
mount /dev/rbd0 /mnt/
10、开机自动映射
cat >> /etc/ceph/rbdmap<EOF
rbd_pool/image1 id=admin,keyring=/etc/ceph/ceph.client.admin.keyring
EOF
systemctl enable rbdmap.service
systemctl start rbdmap.service
集群维护
1、块存储扩容
rbd resize --size 10240 rbd_pool/image1
rbd info rbd_pool/image1
xfs_growfs -d /mnt/
2、块存储缩容(在线缩容后需要重新格式化挂载才能重新使用)
rbd resize --size 5120 rbd_pool/image1 --allow-shrink
umount /mnt/
mkfs.xfs /dev/rbd0
mount /dev/rbd0 /mnt/
3、取消映射并删除
umount /mnt/
rbd device unmap /dev/rbd0
rbd device list
rbd rm rbd_pool/image1
ceph osd pool delete rbd_pool rbd_pool --yes-i-really-really-mean-it
作者:wanghongwei
版权声明:本作品遵循<CC BY-NC-ND 4.0>版权协议,商业转载请联系作者获得授权,非商业转载请附上原文出处链接及本声明。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统