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
posted @   wanghongwei-dev  阅读(76)  评论(0编辑  收藏  举报
编辑推荐:
· .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 接口并集成到在线客服系统
点击右上角即可分享
微信分享提示