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

块设备(rbd)
    1、块设备可以应用为:
        1、作为额外的磁盘使用
        2、可以作为裸设备使用
        3、可以格式化成文件系统,然后挂载给虚拟机或者物理服务器使用
    
    2、创建块设备(可以在任意一台ceph节点上创建)
    下面的命令创建一个名为ceph-client1-rbd1、大小为10G的RBD设备
    [[email protected] ~]# rbd create ceph-client1-rbd1 --size 10240
    注意:默认情况下rbd镜像会保存在ceph集群的rbd池中,可以使用-p参数改变池
    
    3、列出rbd设备镜像(可在任意一台节点上列出)
    [[email protected] ~]# rbd ls
    ceph-client1-rbd1

4、查看创建后的块设备的信息(可以在任意一台ceph节点上查看)
    [[email protected] ~]# rbd --image ceph-client1-rbd1 info
    rbd image 'ceph-client1-rbd1':
    size 10240 MB in 2560 objects
    order 22 (4096 kB objects)
    block_name_prefix: rbd_data.857a238e1f29
    format: 2
    features: layering, exclusive-lock, object-map, fast-diff, deep-flatten
    flags:

5、创建ceph客户端
    安装一台虚拟机或者用一台物理机来作为cpeh客户端进行测试,操作系统需要是linux(我的环境是centos7)
    
    需要注意:
        1、linux内核从2.6.32版本开始支持ceph
        2、建议使用2.6.34以及以上的内核版本
    
    查看内核版本命令:uname -rbd
    检查是否支持rbd命令: modprobe rbd
    
    安装完客户端的操作系统之后,记得将ceph集群的IP地址和主机名添加到hosts文件中:
    192.168.89.101 ceph-node1
    192.168.89.102 ceph-node2
    192.168.89.103 ceph-node3
    192.168.89.139 ceph-client1

6、映射rados块设备给客户端
        在映射之前,需要授权给客户端访问ceph集群的权限,需要下面两个步骤,添加秘钥环(客户端与ceph集群之间的身份验证就是基于这个秘钥环)和添加ceph配置文件
    
        1、在管理节点(ceph-deploy)上通过ceph-deploy工具给ceph-client1安装ceph包
        deploy install ceph-client1-rbd1
        
        2、在管理节点上(ceph-deploy)上通过ceph-deploy工具给ceph-client1客户端下发秘钥环和ceph配置文件
        用于授予客户端访问ceph集群的权限
        ceph-deploy admin ceph-client1
        
        3、登录ceph-client1客户端检查秘钥文件和配置文件是否下发成功
        进入/ect/ceph/目录
        [[email protected] ceph]# ls -l
        -rw------- 1 root root 129 Jan  6 22:51 ceph.client.admin.keyring #这是下发后的秘钥文件
        -rw-r--r-- 1 root root 234 Jan  6 22:51 ceph.conf #这是下发后的配置文件
        -rw-r--r-- 1 root root  92 Oct  4 10:50 rbdmap
        -rw------- 1 root root   0 Jan  6 22:51 tmpUcImw6
        
        4、在ceph-client1客户端上查询ceph集群的RBD镜像
        [[email protected] ~]# rbd ls #列出rbd列表
        ceph-client1-rbd1
        [[email protected] ~]# rbd info --image ceph-client1-rbd1 #查看rbd镜像详细信息
        rbd image 'ceph-client1-rbd1':
            size 10240 MB in 2560 objects
            order 22 (4096 kB objects)
            block_name_prefix: rbd_data.857a238e1f29
            format: 2
            features: layering, exclusive-lock, object-map, fast-diff, deep-flatten
            flags: 
        
        5、授权之后,就在ceph-client1客户端上映射名为'ceph-client1-rbd1'的rbd镜像:
        rbd map --image ceph-client1-rbd1
        
        执行上述映射命令后发生如下错误:
        [[email protected] log]# rbd map --image ceph-client1-rbd1
        rbd: sysfs write failed
        RBD image feature set mismatch. You can disable features unsupported by the kernel with "rbd feature disable".
        In some cases useful info is found in syslog - try "dmesg | tail" or so.
        rbd: map failed: (6) No such device or address
        遇到问题:rbd镜像的一些特性,OS kernel并不支持,所以映射失败
        
        查看下该镜像支持了哪些特性
        [[email protected] ~]# rbd info ceph-client1-rbd1
        rbd image 'ceph-client1-rbd1':
        size 10240 MB in 2560 objects
        order 22 (4096 kB objects)
        block_name_prefix: rbd_data.857a238e1f29
        format: 2
        features: layering, exclusive-lock, object-map, fast-diff, deep-flatten
        flags: 
        可以看到特性feature一栏,由于我OS的kernel只支持layering,其他都不支持,所以需要把部分不支持的特性disable掉。
        
        以下方法根据实际情况选其一即可!
        
        方法一:直接diable这个rbd镜像的不支持的特性:
        $ rbd feature disable docker_test exclusive-lock object-map fast-diff deep-flatten
        [[email protected] ~]# rbd info ceph-client1-rbd1 #关闭后查看
        rbd image 'ceph-client1-rbd1':
            size 10240 MB in 2560 objects
            order 22 (4096 kB objects)
            block_name_prefix: rbd_data.857a238e1f29
            format: 2
            features: layering #仅剩一个特性
            flags:

方法二:创建rbd镜像时就指明需要的特性,如:
        $ rbd create --size 4096 docker_test --image-feature layering

方法三:修改Ceph配置文件/etc/ceph/ceph.conf,在global section下,增加
        rbd_default_features = 1
        再创建rdb镜像。
        $ rbd create --size 4096 docker_test
        
        
        6、解决上述问题之后,再次尝试映射
        [[email protected] ~]# rbd map --image ceph-client1-rbd1
        /dev/rbd0
        此刻,映射成功
        
        7、查看映射信息
        [[email protected] ~]# rbd showmapped
        id pool image             snap device    
        0  rbd  ceph-client1-rbd1 -    /dev/rbd0

8、如需指定RBD镜像所属池的名称(这是可选的操作)可以执行以下命令:
        rbd map rbd/ceph-client1-rbd1
        
        10、格式化映射之后的RBD镜像,并创建文件系统
        [[email protected] ~]# fdisk -l /dev/rbd0
        Disk /dev/rbd0: 10.7 GB, 10737418240 bytes, 20971520 sectors
        Units = sectors of 1 * 512 = 512 bytes
        Sector size (logical/physical): 512 bytes / 512 bytes
        I/O size (minimum/optimal): 4194304 bytes / 4194304 bytes
        
        [[email protected] ~]# mkfs.xfs /dev/rbd0
        [[email protected] ~]# mkdir /mnt/ceph-vol1
        [[email protected] ~]# mount /dev/rbd0 /mnt/ceph-vol1/
        
        [[email protected] ~]# df -H
        Filesystem           Size  Used Avail Use% Mounted on
        devtmpfs             494M     0  494M   0% /dev
        tmpfs                507M     0  507M   0% /dev/shm
        tmpfs                507M  6.9M  500M   2% /run
        tmpfs                507M     0  507M   0% /sys/fs/cgroup
        /dev/mapper/cl-root  8.6G  1.6G  7.0G  19% /
        /dev/sda1            1.1G  195M  869M  19% /boot
        tmpfs                102M     0  102M   0% /run/user/0
        /dev/rbd0             11G   35M   11G   1% /mnt/ceph-vol1 #这个是挂载后的

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

时间: 2024-08-23 23:31:45

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

在rhel7中的ceph存储集群搭建的具体步骤

ceph是一种可以提供存储集群服务的软件 它可以实现将主机做成存储集群,并提供分布式文件存储的功能 ceph服务可以提供三种存储方式: 1.块存储 2.对象存储 2.文件系统存储 这里我将介绍如何使用ceph搭建一个存储集群: 环境介绍: node1 node2 node3 这三台主机作为存储集群服务器,分别都有3块10G的硬盘,并且我会将node1及作为存储服务器也作为管理主机(管理存储服务器的服务器) 将client作为访问的客户端 node1 node2 node3这第三台服务器要配置NT

Ceph 存储集群 - 搭建存储集群

一.准备机器 本文描述如何在 CentOS 7 下搭建 Ceph 存储集群(STORAGE CLUSTER). 一共4台机器,其中1个是管理节点,其他3个是ceph节点: hostname ip role 描述 admin-node 192.168.0.130 ceph-deploy 管理节点 node1 192.168.0.131 mon.node1 ceph节点,监控节点 node2 192.168.0.132 osd.0 ceph节点,OSD节点 node3 192.168.0.133 o

Centos6.5下Ceph存储集群的搭建

简单介绍 Ceph的部署模式下主要包含以下几个类型的节点 ? Ceph OSDs: A Ceph OSD 进程主要用来存储数据,处理数据的replication,恢复,填充,调整资源组合以及通过检查其他OSD进程的心跳信息提供一些监控信息给Ceph Monitors . 当Ceph Storage Cluster 要准备2份数据备份时,要求至少有2个Ceph OSD进程的状态是active+clean状态 (Ceph 默认会提供两份数据备份). ? Monitors: Ceph Monitor

Ceph 存储集群-低级运维

低级集群运维包括启动.停止.重启集群内的某个具体守护进程:更改某守护进程或子系统配置:增加或拆除守护进程.低级运维还经常遇到扩展.缩减 Ceph 集群,以及更换老旧.或损坏的硬件. 一.增加/删除 OSD 如果您的集群已经在运行,你可以在运行时添加或删除 OSD . 增加 OSD 你迟早要扩容集群, Ceph 允许在运行时增加 OSD .在 Ceph 里,一个 OSD 一般是一个 ceph-osd 守护进程,它运行在硬盘之上,如果你有多个硬盘,可以给每个硬盘启动一个 ceph-osd 守护进程.

Ceph 存储集群4-运维:

一.高级运维 高级集群操作主要包括用 ceph 服务管理脚本启动.停止.重启集群,和集群健康状态检查.监控和操作集群. 操纵集群 运行 Ceph 每次用命令启动.重启.停止Ceph 守护进程(或整个集群)时,你必须指定至少一个选项和一个命令,还可能要指定守护进程类型或具体例程. {commandline} [options] [commands] [daemons] ceph 命令的选项包括:

基于redhat7.3 ceph对象存储集群搭建+owncloud S3接口整合生产实践

一.环境准备 安装redhat7.3虚拟机四台 在四台装好的虚拟机上分别加一块100G的硬盘.如图所示: 3.在每个节点上配置主机名 4.集群配置信息如下 admin-node node1 node2 node3 192.168.42.110 192.168.42.111 192.168.42.112 192.168.42.113 deploy.osd*1 mon*1.osd*1. rgw*1.mds*1 mon*1.osd*1 mon*1.osd*1 5.各节点配置yum源 #需要在每个主机上

ceph部署二(存储集群安装)

完成预检之后,你就可以开始部署 Ceph 存储集群了.二.创建集群2.1.创建ceph集群mkdir my-clustercd my-clusterceph-deploy new ceph1 ceph2 ceph3在当前目录下用 ls 和 cat 检查 ceph-deploy 的输出,应该有一个 Ceph 配置文件.一个 monitor 密钥环和一个日志文件.注意:如果你有多个网卡,可以把 public network 和cluster network 写入 Ceph 配置文件的 [global

使用ceph-deploy安装部署线上ceph分布式存储集群(centos6.6)

一:CEPH简介 OSDs: Ceph的OSD守护进程(OSD)存储数据,处理数据复制,恢复,回填,重新调整,并通过检查其它Ceph OSD守护程序作为一个心跳 向Ceph的监视器报告一些检测信息.Ceph的存储集群需要至少2个OSD守护进程来保持一个 active + clean状态.(Ceph默认制作2个备份,但你可以调整它) Monitors:Ceph的监控保持集群状态映射,包括OSD(守护进程)映射,分组(PG)映射,和CRUSH映射. Ceph 保持一个在Ceph监视器, Ceph O

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