ceph分布式存储实战——ceph存储配置(RBD镜像日常管理)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ceph分布式存储实战——ceph存储配置(RBD镜像日常管理)相关的知识,希望对你有一定的参考价值。

一、在线调整Ceph RBD的容量大小 1、支持调整ceph RBD的容量大小的底层文件系统     自由的增加或者减少RBD的容量,需要底层文件系统的支持,支持的文件系统有     1、XFS     2、EXT     3、Btrfs     4、ZFS 2、将RBD镜像ceph-client1-rbd1原始容量是10G扩容为20G,(在ceph集群中任意一台节点上)执行的命令如下:     rbd resize rbd/ceph-client1-rbd1 --size 20480          [[email protected] ~]# rbd info ceph-client1-rbd1     rbd image 'ceph-client1-rbd1':     size 20480 MB in 5120 objects #已经扩容为20G     order 22 (4096 kB objects)     block_name_prefix: rbd_data.857a238e1f29     format: 2     features: layering     flags:       3、在客户端上检查新的容量是否已经被内核所接受     [[email protected] ceph-vol1]# xfs_growfs -d /mnt/ceph-vol1/     meta-data=/dev/rbd0              isize=512    agcount=17, agsize=162816 blks              =                       sectsz=512   attr=2, projid32bit=1              =                       crc=1        finobt=0 spinodes=0     data     =                       bsize=4096   blocks=2621440, imaxpct=25              =                       sunit=1024   swidth=1024 blks     naming   =version 2              bsize=4096   ascii-ci=0 ftype=1     log      =internal               bsize=4096   blocks=2560, version=2              =                       sectsz=512   sunit=8 blks, lazy-count=1     realtime =none                   extsz=4096   blocks=0, rtextents=0     data blocks changed from 2621440 to 5242880     [[email protected] ceph-vol1]# df -h     Filesystem           Size  Used Avail Use% Mounted on     devtmpfs             471M     0  471M   0% /dev     tmpfs                483M     0  483M   0% /dev/shm     tmpfs                483M  6.6M  477M   2% /run     tmpfs                483M     0  483M   0% /sys/fs/cgroup     /dev/mapper/cl-root  8.0G  1.5G  6.5G  19% /     /dev/sda1           1014M  186M  829M  19% /boot     tmpfs                 97M     0   97M   0% /run/user/0     /dev/rbd0             20G  134M   20G   1% /mnt/ceph-vol1 #已经是20G 二、创建Ceph RBD快照     1、在/mnt/ceph-vol1目录下创建一个文件,用于演示     [[email protected] ceph-vol1]# cd /mnt/ceph-vol1     [[email protected] ceph-vol1]# vi file_1      #文件内容如下:         hello world 1              2、创建快照     [[email protected] ceph-vol1]# rbd snap create rbd/[email protected]   #快照名字:snap1          3、查看镜像的快照     [[email protected] ceph-vol1]# rbd snap ls rbd/ceph-client1-rbd1         SNAPID NAME      SIZE               4 snap1 20480 MB           4、演示恢复快照的效果,删除原来的文件,并再次创建一个文件     [[email protected] ceph-vol1]# rm -rf file_1      [[email protected] ceph-vol1]# ls -l         total 8         -rw-r--r-- 1 root root 13 Jan  7 22:32 file_2     这时候有一个文件file_2,记住刚才做快照的时候,是file_1文件,但是目前被删除了,并且误创建了一个file_2文件     也就是说恢复快照之后会恢复回原来的file_1文件          5、恢复快照(在生产环境中,请谨慎操作,)     [[email protected] ceph-vol1]# rbd snap rollback rbd/[email protected]     Rolling back to snapshot: 100% complete...done.          快照回滚操作完成后,重新挂载文件系统以刷新文件系统状态     umount /mnt/ceph-vol1     mount /dev/rbd0 /mnt/ceph-vol1          6、快照的删除,删除指定的快照     rbd snap rm rbd/[email protected]          7、一次性删除所有快照     [[email protected] ~]# rbd snap purge rbd/ceph-client1-rbd1          8、如果需要删除RBD镜像,命令如下      rbd rm ceph-client1-rbd1 -p rbd 三、复制Ceph RBD     cow副本:         ceph存储集群可以从rbd的快照中创建写时复制副本(cow副本),这就是ceph的快照分层。         RBD父快照是只读的,再从这个RBD父快照创建cow副本,那么cow副本是可读可写的          注意:         rbd镜像分为两种类型,分别是format-1,还有format-2,这两种类型都支持快照的特性         但是,只有format-2类型支持分层的特性(cow赋值特性),如果在创建rbd镜像时,没有明确指定属于哪种类型         那么默认是format-1类型。因此,          1、创建属于format-2类型的rbd镜像     [[email protected] my-cluster]# rbd create ceph-client1-rbd2 --size 5024 --image-feature layering --image-format 2     2、创建快照     [[email protected] my-cluster]# rbd snap create rbd/[email protected]_for_clone          3、要创建cow副本之前,将快照设置为保护状态(预防被误删,导致cow分层快照无法使用)     [[email protected] my-cluster]# rbd snap protect rbd/[email protected]_for_clone          4、开始创建cow副本     注意:         赋值快照需要父存储池,RBD镜像以及快照的名称,对于子实例来说,它需要池以及RBD镜像的名称          [[email protected] my-cluster]# rbd clone rbd/[email protected]_for_clone rbd/ceph-client1-cow-rbd3          5、查看cown副本信息     [[email protected] my-cluster]# rbd --pool rbd --image ceph-client1-cow-rbd3 info     rbd image 'ceph-client1-cow-rbd3':     size 5024 MB in 1256 objects     order 22 (4096 kB objects)     block_name_prefix: rbd_data.197553d1b58ba     format: 2     features: layering     flags:      parent: rbd/[email protected]_for_clone   #父镜像是rbd/[email protected]_for_clone     overlap: 5024 MB          到此,就已经克隆了一个RBD镜像          6、扁平化该镜像(可选操作)     说明:         如果想让克隆出来的快照不依赖它的父镜像,那么就需要扁平化。         这样的话,克隆出来的RBD镜像就和它的父镜像快照没有任何依赖了                  6.1 启动扁平化         [[email protected] my-cluster]# rbd flatten ceph-client1-cow-rbd3         Image flatten: 100% complete...done.                  6.2 查看cow快照         [[email protected] my-cluster]# rbd --pool rbd --image ceph-client1-cow-rbd3 info         rbd image 'ceph-client1-cow-rbd3':         size 5024 MB in 1256 objects         order 22 (4096 kB objects)         block_name_prefix: rbd_data.197553d1b58ba         format: 2         features: layering         flags:          发现没有了parent:选项,已经变成了一个独立的镜像              7、删除父镜像快照         7.1 删除之前首先解除保护状态         [[email protected] my-cluster]# rbd snap unprotect rbd/[email protected]_for_clone                  7.2 开始删除         [[email protected] my-cluster]# rbd snap rm rbd/[email protected]_for_clone


以上是关于ceph分布式存储实战——ceph存储配置(RBD镜像日常管理)的主要内容,如果未能解决你的问题,请参考以下文章

RBD块设备在Ceph分布式存储中的具体应用

Ceph 块存储客户端配置

Ceph分布式存储性能调优

ceph 部署rbd文件系统

Rancher,K8S持久性存储Ceph RBD搭建及配置

云原生之存储实战部署Ceph分布式存储集群