美文网首页
Linux 远程挂载 Ceph RBD 磁盘

Linux 远程挂载 Ceph RBD 磁盘

作者: 清闲的云云子 | 来源:发表于2019-11-10 19:33 被阅读0次

RBD 是 Ceph 的块存储方案,最近需要在一台 Linux 服务器上挂载 Ceph 镜像,做法和 Kubernetes 挂 RBD 很像,但部分操作由于 Kubernetes 在镜像中已经固化了,所以将这次完全自己控制的步骤记录下来,加深对 Ceph 挂载的理解。


  • 首先在创建一个名字为test的pool
# ceph osd pool create test 1024 1024 #两个1024 指定的 pg 和 pgp 的数量
# rbd rm test-image -p test-pool #删除image指令,慎用!!!
  • 创建一个存储池,并指定该存储池作为 RBD 使用
# ceph osd pool application enable test rbd
  • 创建了一个rbd镜像,容量大小为1T
# rbd create  test/image --size 1T
  • 动态修改rbd镜像的容量
rbd resize test/image --size 51200 --allow-shrink
  • 查看镜像信息
# rbd ls test
# rbd info test/image

接下来为了将远端的 RBD 磁盘挂载到本地,需要将其映射到本地的盘符上,要挂载 RBD 磁盘的 Linux 服务器首先要有 Ceph 的客户端,也就是 RBD 的客户端,以及一些 RBD 专用的 kernel module,毕竟这是要通过网络走特定的协议来完成的磁盘挂载,和本地直接 mount 还是有差别的。
  • 安装过程并不复杂,因为环境中已经有了 Ceph 集群,从 Ceph 集群中的主节点使用 ceph-deploy 扩展新节点即可,就不再描述如何安装 Ceph 了。
# ceph-deploy install <Linux-client-IP>
# ceph-deploy admin <Linux-client-IP>
或者手动安装ceph# yum -y install ceph,然后copy ceph集群的ceph.client.admin.keyring,ceph.conf到/etc/ceph/
  • 接下来为了将远端的 RBD 磁盘挂载到本地,需要将其映射到本地的盘符上。
# rbd map test/image
/dev/rbd0
# rbd showmapped #查看映射
# rbd unmap /dev/rbd0 # 取消映射
  • 接下来的操作和挂载一个本地磁盘就没有任何区别了:
# mkfs.xfs -f /dev/rbd0
# mkdir /data
# mount /dev/rbd0 /data/
  • 查看挂载结果,以下三个命令选一即可
# lsblk
# blkid
# fdisk -l

相关文章

网友评论

      本文标题:Linux 远程挂载 Ceph RBD 磁盘

      本文链接:https://www.haomeiwen.com/subject/dmwqbctx.html