当前位置: 首页 > 后端技术 > PHP

Cephv12.2Luminousblockstorage(RBD)构建

时间:2023-03-29 23:32:45 PHP

还是上篇文章提到的。在构建块存储之前,请先阅读官方文档,确保您受益匪浅。传送门:Ceph官方文档注意:(1)rbdblockstorage最好不要安装在osd节点上,可以安装在mon节点、admin节点或其他节点上。如果安装在其他节点,请按照上一篇文章的步骤安装ceph。(2)在luminous版本中,创建集群时,不会自动创建默认的'rbd'pool。这与旧版本有很大的不同。1.创建池创建存储池:cephosdpoolcreate{pool-name}{pg-num}[{pgp-num}][replicated][crush-ruleset-name][expected-num-objects]删除一个存储池:cephosdpooldelete{pool-name}[{pool-name}--yes-i-really-really-mean-it]重命名池:cephosdpoolrename{current-pool-name}{new-pool-name}cephosdpoolcreatetest_pool128128replicated2。查看存储池列表cephosdlspools3。创建块设备镜像创建块设备镜像的命令是rbdcreate--size{megabytes}{pool-name}/{image-name},如果没有指定pool_name,默认pool是rbd。以下命令将创建一个大小为10GB的块设备:rbdcreate--size10240test_image-ptest_pool删除镜像:rbdrmtest_pool/test_image4。查看块设备镜像查看块设备的命令是rbdinfo{pool-name}/{image-name}hcy@admin_server:~/my-cluster$rbdinfotest_pool/test_imagerbdimage'test_image':size1024MBin256objectsorder22(4096kBobjects)block_name_prefix:rbd_data.372674b0dc51flagsformat:layerfeingformat:2create_timestamp:SatSep2318:16:282017注意上面rbdinfo中显示的RBD图像格式为2,Format2的RBDimage支持RBD分层,这是实现Copy-On-Write的前提。5.将块设备映射到系统内核。将块设备映射到操作系统的命令是rbdmap{image-name}sudorbdmaptest_pool/test_imageUnmap:rbdunmaptest_pool/test_image此时如果打印:rbd:sysfswritefailedRBDimagefeaturesetmismatch。您可以使用“rbdfeaturedisable”禁用内核不支持的功能。在某些情况下,系统日志中会找到有用的信息-尝试“dmesg|tail”或so.rbd:mapfailed:(6)Nosuchdeviceoraddress表示当前系统不支持该功能,禁用当前系统的功能内核不支持:rbdfeaturedisabletest_pool/test_imageexclusive-lock,object-map,fast-diff,deep-flattenRemapping:hcy@admin_server:~/my-cluster$sudorbdmaptest_pool/test_image/dev/rbd06.格式化块设备映像sudomkfs.ext4/dev/rbd/test_pool/test_image7。挂载文件系统sudomkdir/mnt/ceph-block-devicessudochmod777/mnt/ceph-block-devicessudomount/dev/rbd/test_pool/test_image/mnt/ceph-block-devicecd/mnt/ceph-block-device此时,Ceph块设备已经构建完成。但是现在我遇到了一个问题。两台Client机器挂载了同一个镜像,两台机器的文件列表无法保持同步。可能需要用到rbd镜像相关的知识。这方面我暂时没有涉及,后续更新。参考:Ceph块存储的RBDcephpool相关命令