一、rbd块存储挂载
1 创建一个OSD pool
# ceph osd pool create rbd1 128
查询存储空间使用
# ceph df
GLOBAL:
SIZE AVAIL RAW USED %RAW USED
480GiB 474GiB 6.12GiB 1.28
POOLS:
NAME ID USED %USED MAX AVAIL OBJECTS
volumes 1 134B 0 150GiB 5
vms 2 0B 0 150GiB 0
images 3 0B 0 150GiB 0
rbd1 4 14.3MiB 0 150GiB 19
rbd 5 0B 0 150GiB 0
 
2 创建一个名为ceph-client1-rbd1、大小为1024
rbd create ceph-client1-rbd1 --size 1024 -p rdb1
要列出RBD镜像,输入下列的命令
# rbd -p rbd1 ls
ceph-client1-rbd1
ceph-client1-rbd2
检看一个RBD镜像的详细信息
# rbd --image ceph-client1-rbd1 info
rbd: error opening image ceph-client1-rbd1: (2) No such file or directory
# rbd --image ceph-client1-rbd1 -p rbd1 info
rbd image 'ceph-client1-rbd1':
size 1GiB in 256 objects
order 22 (4MiB objects)
block_name_prefix: rbd_data.5b5756b8b4567
format: 2
features: layering, exclusive-lock, object-map, fast-diff, deep-flatten
flags:
create_timestamp: Tue Oct 1 12:03:52 2019
 
3 客户端查看linux版本
[root@centos7 mnt]# uname -r
3.10.0-862.el7.x86_64
[root@centos7 mnt]# modprobe rbd
[root@centos7 mnt]#
4 客户端安装ceph-common
# yum install –y ceph-common
5 客户端挂载rbd硬盘并使用
 
6客户端查看挂载情况
 
[root@centos7 mnt]# rbd showmapped
id pool image snap device
0 rbd1 ceph-client1-rbd2 - /dev/rbd0
 
协助ceph块存储
rbd unmap /dev/rbd0
 
二、文件存储建立
 
1 检查客户端的linux内核版本:
[root@centos7 ceph]# uname -r
3.10.0-862.el7.x86_64
2 客户端创建挂载点目录:
[root@centos7 ceph]#mkdir /cephfs
跟使用块存储服务一样,客户端需要从服务器端拷贝以下2个文件到/etc/ceph/
[root@centos7 ceph]# ls
ceph.client.admin.keyring ceph.conf
 
3 服务器端及客户端,修改管理员密钥(生产环境需要创建普通账号并给予权限,这里例子暂时以管理员账号测试)
vi /etc/ceph/ceph.client.admin.keyring
[client.admin]
key = AQC6mmJdfBzyHhAAE1GazlHqH2uD35vpL6Do1w==
auid = 0
caps mds = "allow"
caps mon = "allow *"
caps osd = "allow *"
4 在服务器端创建cephfs OSD pool,保护数据及元数据2个pool
[root@ceph1 ceph]#ceph osd pool create cephfs_metadata 32
[root@ceph1 ceph]#ceph osd pool create cephfs_metadata 16
服务器端启动cephfs
[root@ceph1 ceph]#ceph fs new leadorfs cephfs_metadata cephfs
验证数据生成
[root@ceph1 ceph]# ceph mds stat
leadorfs-1/1/1 up {0=ceph1=up:active}
 
5 客户端挂载文件存储(目标地址可以输入集群mon多个地址)
[root@ceph1 ceph]# mount -t ceph 172.16.3.61:6789:/ /cephfs -o name=admin,secret=AQC6mmJdfBzyHhAAE1GazlHqH2uD35vpL6Do1w==
6 客户端检查挂载情况
[root@centos7 ceph]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 17G 1.2G 16G 7% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 12M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 1014M 142M 873M 14% /boot
tmpfs 378M 0 378M 0% /run/user/0
172.16.3.61:6789:/ 150G 0 150G 0% /cephfs
7 客户端在/cephfs创建文件
[root@centos7 ceph]# cd /cephfs/
[root@centos7 cephfs]# echo "Utopa 2019" > Utopa.txt
[root@centos7 cephfs]# ls
Utopa.txt
检查服务器端使用情况
[root@ceph1 ceph]# ceph df
GLOBAL:
SIZE AVAIL RAW USED %RAW USED
480GiB 474GiB 6.12GiB 1.28
POOLS:
NAME ID USED %USED MAX AVAIL OBJECTS
volumes 1 134B 0 150GiB 5
vms 2 0B 0 150GiB 0
images 3 0B 0 150GiB 0
rbd1 4 14.3MiB 0 150GiB 19
rbd 5 0B 0 150GiB 0
cephfs 6 11B 0 150GiB 1
cephfs_metadata 7 5.73KiB 0 150GiB 21
 
三、rdb map出錯rbd sysfs write failed
 
創建了一個rbd鏡像1
然後,在Ceph client端將該rbd鏡像映射為本地設備時出錯。
  1. $ rbd map docker_test --name client.admin
  2. rbd: sysfs write failed
  3. RBD image feature set mismatch. You can disable features unsupported by the kernel with "rbd feature disable".
  4. In some cases useful info is found in syslog - try "dmesg | tail" or so.
原因: 
rbd鏡像的一些特性,OS kernel並不支持,所以映射失敗。我們查看下該鏡像支持了哪些特性。可以看到特性feature一欄,由於我OS的kernel只支持layering,其他都不支持,所以需要把部分不支持的特性disable掉。 
方法一: 
直接diable這個rbd鏡像的不支持的特性:
$ rbd feature disable docker_test exclusive-lock object-map fast-diff deep-flatten
方法二: 
創建rbd鏡像時就指明需要的特性,如:
$ rbd create --size 4096 docker_test --image-feature layering
方法三: 
如果還想一勞永逸,那麽就在執行創建rbd鏡像命令的服務器中,修改Ceph配置文件/etc/ceph/ceph.conf,在global section下,增加
rbd_default_features = 1
再創建rdb鏡像。
$ rbd create --size 4096 docker_test
通過上述三種方法後,查看rbd鏡像的信息。
  1. $ rbd info docker_test
  2. rbd image 'docker_test':
  3. size 4096 MB in 1024 objects
  4. order 22 (4096 kB objects)
  5. block_name_prefix: rbd_data.43a22ae8944a
  6. format: 2
  7. features: layering
  8. flags:
次嘗試映射rdb鏡像到本地塊設備,成功!
  1. $ rbd map docker_test --name client.admin
  2. /dev/rbd0

ceph rbd块存储挂载及文件存储建立的更多相关文章

  1. <Android基础> (六) 数据存储 Part 1 文件存储方式

    第六章 数据存储 6.1 持久化技术 持久化技术指将内存中的瞬时数据保存到存储设备中,保证即使在手机或电脑关机的情况下,这些数据仍然不会丢失. 主要有三种方式用于简单地实现数据持久化功能:文件存储.S ...

  2. Python3编写网络爬虫08-数据存储方式一-文件存储

    数据存储 用解析器解析出数据之后,就是存储数据了.保存的形式可以多种多样,最简单的形式是直接保存为文本文件,如TXT JSON CSV等.另外还可以保存到数据库中,如关系型数据库MySQL 非关系型数 ...

  3. 4、Android-数据存储方案(文件存储/SharedPreferences)

    简介: 任何一个应用程序都需要和数据进行交互 对于软件来说微博.QQ等都需要关系的是数据 没有数据的应用程序是一个没有灵魂的软件 而且还没有实际的用途 可以认为是单机 4.1.持久化技术的简介 数据持 ...

  4. Android开发--数据存储之File文件存储

    转载来自:http://blog.csdn.net/ahuier/article/details/10364757,并进行扩充 引言:Android开发中的数据存储方式 Android提供了5种方式存 ...

  5. 阿里云对象存储OSS与文件存储NAS的区别

    一.简介 应用场景:选择一款存储产品,面向文档数据的存取,不会涉及到数据处理. 产品选型主要从OSS和NAS中选择一款,满足文档存储的需求. 二.NAS优缺点 NAS 是一种采用直接与网络介质相连的特 ...

  6. 理解 QEMU/KVM 和 Ceph(2):QEMU 的 RBD 块驱动(block driver)

    本系列文章会总结 QEMU/KVM 和 Ceph 之间的整合: (1)QEMU-KVM 和 Ceph RBD 的 缓存机制总结 (2)QEMU 的 RBD 块驱动(block driver) (3)存 ...

  7. Hadoop小文件存储方案

    原文地址:https://www.cnblogs.com/ballwql/p/8944025.html HDFS总体架构 在介绍文件存储方案之前,我觉得有必要先介绍下关于HDFS存储架构方面的一些知识 ...

  8. kubernetes挂载ceph rbd和cephfs的方法

    目录 k8s挂载Ceph RBD PV & PVC方式 创建secret 创建PV 创建PVC 创建deployment挂载PVC StorageClass方式 创建secret 创建Stor ...

  9. 阿里云文件存储(NAS)助力业务系统承载双十一尖峰流量

    2018天猫双11全球狂欢节,全天成交额再次刷新纪录达到2135亿元,其中总成交额在开场后仅仅用了2分05秒即突破100亿元,峰值的交易量达到惊人的高度,背后离不开阿里云大数据计算和存储能力的支撑.在 ...

随机推荐

  1. leetcode56之合并区间

    题目描述: 给出一个区间的集合,请合并所有重叠的区间. 示例: 输入: [[1,3],[2,6],[8,10],[15,18]]输出: [[1,6],[8,10],[15,18]]解释: 区间 [1, ...

  2. 微信小程序单选按钮radio选中的值value的获取方法,setTimeout定时器的用法

    获取radio值的方法: func:function(e){ var val=e.detail.value;//获取radio值,类型:字符串 var val2=parseInt(val);//将字符 ...

  3. 关于MySQL无法启动的一点问题

    今天早上做作业启动MySQL遇到服务无法启动的问题,在网上找方法解决找了一个钟. 修改host文件,重装mysql服务,就差卸载重装了.到后面终于找到问题,原来是我之前改了root密码,所以每次启动m ...

  4. SpringBoot学习笔记(十五:OAuth2 )

    @ 目录 一.OAuth 简介 1.什么是OAuth 2.OAuth 角色 3.OAuth 授权流程 4.OAuth授权模式 4.1.授权码 4.2.隐藏式 4.3.密码式 4.4.凭证式 二.实践 ...

  5. Java实现 蓝桥杯 算法训练 数字三角形

    算法训练 数字三角形 时间限制:1.0s 内存限制:256.0MB 问题描述 (图3.1-1)示出了一个数字三角形. 请编一个程序计算从顶至底的某处的一条路 径,使该路径所经过的数字的总和最大. ●每 ...

  6. Java实现 蓝桥杯VIP 算法训练 数的统计

    问题描述 在一个有限的正整数序列中,有些数会多次重复出现在这个序列中. 如序列:3,1,2,1,5,1,2.其中1就出现3次,2出现2次,3出现1 次,5出现1次. 你的任务是对于给定的正整数序列,从 ...

  7. Java实现 LeetCode 102 二叉树的层次遍历

    102. 二叉树的层次遍历 给定一个二叉树,返回其按层次遍历的节点值. (即逐层地,从左到右访问所有节点). 例如: 给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 2 ...

  8. 数据的存储结构浅析LSM-Tree和B-tree

    目录 顺序存储与哈希索引 SSTable和LSM tree B-Tree 存储结构的比对 小结 本篇主要讨论的是不同存储结构(主要是LSM-tree和B-tree),它们应对的不同场景,所采用的底层存 ...

  9. Nginx跨域及Https配置

    一.跨域 1. 什么是跨域? 跨域:指的是浏览器不能执行其他网站的脚本.它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制(指一个域下的文档或脚本试图去请求另一个域下的资源,这 ...

  10. linux系统判断内存是否达到瓶颈的小技巧

    1.linux下最常用的系统状态监控工具top 工具,可以使用top -c 来进行查看当前内存的占用情况 free 为内存的剩余状态,当前为3.8G的空闲内存,总的物理内存是8G,按键 shift+m ...