网站演示程序,网站改版对排名的影响,东莞网站制作培训多少钱,网站建设都是需要什么软件一、前言 Ceph RBD#xff08;Rados Block Device#xff09;是 Ceph 存储解决方案的一部分#xff0c;它提供了一个分布式块设备服务#xff0c;允许用户创建和管理虚拟块设备#xff0c;类似于传统的本地磁盘#xff0c;Ceph RBD 是一个高度可扩展的存储解决方案#…一、前言 Ceph RBDRados Block Device是 Ceph 存储解决方案的一部分它提供了一个分布式块设备服务允许用户创建和管理虚拟块设备类似于传统的本地磁盘Ceph RBD 是一个高度可扩展的存储解决方案可以根据需要动态地扩展存储容量和性能还支持快照和克隆功能允许用户创建块设备的快照并在需要时基于这些快照创建新的克隆设备 快照SnapshotRBD 镜像支持快照功能允许用户在任何时间点捕获 RBD 镜像的快照。快照是镜像在某个时间点的只读视图可以用于数据备份、恢复、测试等用途。Ceph RBD 提供了快速、轻量级的快照功能使用户能够快速创建和管理快照
克隆CloneRBD 镜像支持克隆功能允许用户基于现有的快照创建新的镜像。克隆是一种轻量级的方式来创建新的镜像可以在快速、高效地创建新的镜像副本时使用
镜像层叠LayeringRBD 镜像支持镜像层叠功能允许用户创建基于现有镜像的多个镜像副本。这种层叠结构可以节省存储空间并简化镜像管理因为所有的镜像共享相同的基础数据
复制ReplicationRBD 镜像支持复制功能允许用户在不同的 Ceph 存储集群之间复制镜像数据。这种复制功能可以用于数据备份、灾难恢复等场景确保数据的安全性和可用性
加密EncryptionRBD 镜像支持加密功能可以对镜像数据进行加密保护。这种加密功能可以保护敏感数据免受未经授权的访问和窃取确保数据的机密性和安全性
二、部署 创建存储池
ceph osd pool create rbd-data 32 32 使用该存储池开启rbd服务
ceph osd pool application enable rbd-data rbd 初始化rbd服务
rbd pool init -p rbd-data 创建img镜像(rbd块不能直接使用需要先创建img镜像通过挂载img镜像去使用)
rbd create data-img --size 3G --pool rbd-data --image-format 2 --image-feature layering --image-format 2指定了镜像的格式。在这里指定的格式是 2。RBD 支持不同的镜像格式其中格式 2 是最常用的格式它支持更多的特性和功能
-image-feature layering这是一个镜像特性Image Feature指定了镜像支持的特性之一。layering 特性允许创建具有写时复制Copy on WriteCOW特性的快照。使用 layering 特性创建的镜像可以更高效地管理快照并支持更多的快照操作
镜像特性
layering允许使用镜像层叠功能。启用此特性后可以创建基于现有镜像的快照并将其用作父镜像以创建克隆
striping允许对镜像进行条带化striping。条带化可以提高 I/O 性能并允许并行访问镜像数据
exclusive-lock启用独占锁定功能。启用此特性后只有一个客户端可以对镜像进行写入操作防止多个客户端之间的冲突
object-map启用对象映射功能。对象映射是一种元数据结构用于跟踪每个块的使用情况以便在执行快照、克隆等操作时提高性能此特性依赖于exclusive-lock
fast-diff启用快速差异计算功能。快速差异计算允许快速计算两个快照之间的差异并只传输变更部分从而加速快照复制和恢复操作此特性依赖于object-map
deep-flatten启用深度平铺功能。深度平铺允许将镜像快照展开成扁平的镜像从而减少快照链的深度并提高性能
启用镜像的指定特性
rbd feature enable exclusive-lock --pool rbd-data --image data-img
禁用镜像的指定特性
rbd feature enable exclusive-lock --pool rbd-data --image data-img
查看img镜像
rbd ls --pool rbd-data -l 查看img镜像的详细信息
rbd --pool rbd-data --image data-img info 三、使用
在centos主机挂载rbd块使用
需要在客户端主机安装ceph-common组件也需要在管理节点拷贝ceph.conf和keyring密钥文件
安装ceph-common组件
vi /etc/yum.repos.d/ceph.repo
[Ceph]
nameCeph
baseurlhttps://mirrors.aliyun.com/ceph/rpm-15.2.9/el7/x86_64/
enabled1
gpgcheck0[Ceph-noarch]
nameCeph noarch packages
baseurlhttps://mirrors.aliyun.com/ceph/rpm-15.2.9/el7/noarch/
enabled1
gpgcheck0 安装
yum -y install epel-release
yum -y install ceph-common
从ceph管理节点拷贝文件
scp /etc/ceph/ceph.conf /etc/ceph/ceph.client.admin.keyring root10.1.60.118:/etc/ceph
客户端映射rbd镜像
rbd -p rbd-data map data-img
查看映射的镜像
lsblk 格式化磁盘
mkfs.xfs /dev/rbd0
创建挂载目录
mkdir /data/data1
挂载磁盘
mount /dev/rbd0 /data/data1
查看挂载磁盘
df -Th 扩容rbd镜像
这里我多创建了一个叫cs的镜像用于测试 并用于挂载后写入了数据 扩容镜像
rbd resize --pool rbd-data --image cs --size 4G
rbd info --pool rbd-data --image cs 查看客户端会发现磁盘扩容了但是挂载的文件系统没有扩容 这是因为文件系统需要手动去调整这里因为之前初始化用的是xfs文件系统所以需要用xfs文件系统的命令调整执行完后会发现文件系统也扩容到了4G
xfs_growfs /dev/rbd1
df -Th 查看文件,会发现并没有影响到原本存在的文件
ls /mnt/cs rbd镜像快照
创建镜像快照快照并不会占用存储空间
rbd snap create --pool rbd-data --image cs --snap cs-snap02
查看快照
rbd snap list --pool rbd-data --image cs 快照恢复 先删除一部分文件 接下来进入恢复步骤
需要先卸载挂载目录(如果先恢复再卸载目录挂载会报错)
cd ~
umount /mnt/cs
回滚快照
rbd snap rollback --pool rbd-data --image cs --snap cs-snap02
挂载目录
mount /dev/rbd1 /mnt/cs 查看目录文件
ls /mnt/cs 可以看到恢复完成
快照删除
rbd snap rm --pool rbd-data --image cs --snap cs-snap #删除特定镜像
rbd snap purge --pool rbd-data --image cs #删除所有镜像