ceph分布式存储实战(5)——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/ceph-[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

原文地址:http://blog.51cto.com/freshair/2058990

时间: 2024-07-30 10:58:29

ceph分布式存储实战(5)——ceph存储配置(RBD镜像日常管理)的相关文章

ceph分布式存储实战(3)——ceph内部组件

一.RADOS(Reliable Autonomic Distributed Object Storage)1.rados的意思是    可靠.自动.分布式对象存储(可靠的自主分布式对象存储)2.rados的作用    1.rados是ceph集群的基础,是ceph存储系统的核心,ceph中一切都是以对象的形式存储,而rados就是负责存储这些对象,无需考虑数据是啥类型    2.确保数据的一致性和可靠性    3.负责数执行数据的复制.故障检测和恢复    4.负责数据在集群节点之间的迁移和再

ceph分布式存储实战(2)——从0开始创建第一个ceph集群

一.在每台节点的/etc/hosts文件中增加如下内容 192.168.89.101 ceph-node1 192.168.89.102 ceph-node2 192.168.89.103 ceph-node3 二.节点1配置免密码登录其他节点 [[email protected] ~]# yum install openssh-clients #安装ssh客户端 [[email protected] ~]# ssh-keygen #生成密钥对 [[email protected] ~]# ss

ceph分布式存储实战(1)——ceph集群测试主机规划

主机规划 节点 磁盘(4块) 网卡(2块) mem/cpu OS HostName 节点1 os-ceph-node1/10G 私Eth0:dhcp 1G/1 CentOS Linux release   7.3.1611 (Core)_X64 ceph-node1 ceph-node1-osd1/10G 外Eth1:192.168.89.101 ceph-node1-osd2/10G ceph-node1-osd3/10G 节点2 os-ceph-node2/10G 私Eth0:dhcp 1G

ceph存储集群实战(4)——ceph存储配置(映射RBD镜像到客户端)

块设备(rbd)     1.块设备可以应用为:         1.作为额外的磁盘使用         2.可以作为裸设备使用         3.可以格式化成文件系统,然后挂载给虚拟机或者物理服务器使用          2.创建块设备(可以在任意一台ceph节点上创建)     下面的命令创建一个名为ceph-client1-rbd1.大小为10G的RBD设备     [[email protected] ~]# rbd create ceph-client1-rbd1 --size 10

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

确保集群状态正常(具体配置过程略):可参照 https://blog.51cto.com/jdonghong/244175 上半部分配置.CEPH环境配置开始部署RBD or RADOS Block Device 客户端安装ceph(本案例客户端为192.168.27.210,192.168.26.112)ceph-deploy install bddb.com推送配置文件到客户端.[[email protected] idc-cluster]# ceph-deploy admin bddb.c

ceph(2)--Ceph RBD 接口和工具

本系列文章会深入研究 Ceph 以及 Ceph 和 OpenStack 的集成: (1)安装和部署 (2)Ceph RBD 接口和工具 (3)Ceph 物理和逻辑结构 (4)Ceph 的基础数据结构 (5)Ceph 与 OpenStack 集成的实现 (6)QEMU-KVM 和 Ceph RBD 的 缓存机制总结 (7)Ceph 的基本操作和常见故障排除方法 (8)关于Ceph PGs Ceph 作为一个统一的分布式存储,其一大特色是提供了丰富的编程接口.我们来看看下面这张经典的图: 其中,li

ceph分布式存储介绍

一.Ceph简介:        Ceph是一种为优秀的性能.可靠性和可扩展性而设计的统一的.分布式文件系统.ceph 的统一体现在可以提供文件系统.块存储和对象存储,分布式体现在可以动态扩展.在国内一些公司的云环境中,通常会采用 ceph 作为openstack 的唯一后端存储来提高数据转发效率.       Ceph项目最早起源于Sage就读博士期间的工作(最早的成果于2004年发表),并随后贡献给开源社区.在经过了数年的发展之后,目前已得到众多云计算厂商的支持并被广泛应用.RedHat及O

ceph分布式存储搭建经历

官方文档:http://docs.ceph.com/docs/master/start/quick-start-preflight/ 汉化版:http://docs.openfans.org/ceph/ 原理:利用ceph-deploy工具,通过管理节点admin-node,利用ssh通道,以达到控制各分布式节点存储的共享功能.   前提:admin-node 需提前安装好ceph-deploy:各分布节点需与admin-node时间同步,配置ssh彼此互信并拥有sudo权限:防火墙什么的先关掉

Ceph分布式存储(一)

Ceph分布式存储(一) 一.概述Ceph是可靠的.可扩展的.统一的.分布式的存储系统.可以同时提供对象存储RADOSGW(Reliable.Autonomic.Distributed.Object Storage Gateway).块存储RBD(Rados Block Device).文件系统存储Ceph FS(Ceph Filesystem)3种功能.2.Ceph应用场景Ceph可以提供对象存储.块设备存储和文件系统服务,其对象存储可以对接网盘(owncloud)应用业务等:其块设备存储可以