转自:http://blog.csdn.net/wytdahu/article/details/46545235

ceph很早就已经支持通过iscsi协议来使用rbd,这篇博文对此做下演示,并且使用OSD Server作为iscsi target端。

一、OSD Server side

1、安装支持rbd的TGT软件包

 #echo "deb http://ceph.com/packages/ceph-extras/debian $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/ceph-extras.list
#apt-get install tgt

2、安装完成后确认tgt支持rbd

 # tgtadm --lld iscsi --op show --mode system | grep rbd
rbd (bsoflags sync:direct)

3、创建一个image(示例中pool名称叫做iscsipool,image叫做iamge1)

 #rbd create iscsipool/image1 --size  --image-format   

4、在tgt服务中注册刚才创建好的image,只需要将下面的内容添加到/etc/tgt/targets.conf 或者 etc/tgt/conf.d/ceph.conf中即可。

 <target iqn.-.rbdstore.example.com:iscsi>
driver iscsi
bs-type rbd
backing-store iscsipool/image1 # Format is <iscsi-pool>/<iscsi-rbd-image>
initiator-address 10.10.2.49 #client address allowed to map the address
</target>

5、重启或者重载tgt服务

 #service tgt reload
or
#service tgt restart

6、关闭rbd cache,否则可能导致数据丢失或者损坏

 vim /etc/ceph/ceph.conf
[client]
rbd_cache = false

二、Client side

1、安装open-scsi

 #apt-get install open-iscsi  -y

2、启动open-scsi服务

# service open-iscsi restart
* Unmounting iscsi-backed filesystems [ OK ]
* Disconnecting iSCSI targets [ OK ]
* Stopping iSCSI initiator service [ OK ]
* Starting iSCSI initiator service iscsid [ OK ]
* Setting up iSCSI targets
iscsiadm: No records found
[ OK ]
* Mounting network filesystems

3、发现目标设备

 # iscsiadm -m discovery -t st -p 10.10.2.50
10.10.2.50:, iqn.-.rbdstore.example.com:iscsi

4、挂载目标设备

 #  iscsiadm -m node --login
Logging in to [iface: default, target: iqn.-.rbdstore.example.com:iscsi, portal: 10.10.2.50,] (multiple)
Login to [iface: default, target: iqn.-.rbdstore.example.com:iscsi, portal: 10.10.2.50,] successful.

5、确认设备已经挂载(示例中sda就是iscsdi设备)

root@cetune1:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda : 10G disk
vda : 24G disk
?..vda1 : 190M part /boot
?..vda2 : 1K part
?..vda5 : .8G part
?..linux-swap (dm-) : .8G lvm [SWAP]
?..linux-root (dm-) : 20G lvm /

通过iscsi协议使用ceph rbd的更多相关文章

  1. CentOS7 下安装 iSCSI Target(tgt) ,使用 Ceph rbd

    目录 一.iSCSI 介绍 1. iSCSI 定义 2. 几种常见的 iSCSI Target 3. 优缺点比较 二.安装步骤 1. 关闭防火墙 2. 关闭selinux 3. 通过 yum 安装 t ...

  2. 理解 OpenStack + Ceph (3):Ceph RBD 接口和工具 [Ceph RBD API and Tools]

    本系列文章会深入研究 Ceph 以及 Ceph 和 OpenStack 的集成: (1)安装和部署 (2)Ceph RBD 接口和工具 (3)Ceph 物理和逻辑结构 (4)Ceph 的基础数据结构 ...

  3. 理解 QEMU/KVM 和 Ceph(1):QEMU-KVM 和 Ceph RBD 的 缓存机制总结

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

  4. 深入分析iSCSI协议的应用

    深入分析iSCSI协议的应用 1 引言 快速增长的存储容量使得企业需要采用网络存储解决方案.目前网络存储技术采用的连接技术主要有光纤通道和TCP/IP.基于IP的网络存储能解决基于光纤通道的网络存储中 ...

  5. Ceph RBD CephFS 存储

    Ceph RBD  CephFS 存储 环境准备: (这里只做基础测试, ceph-manager , ceph-mon, ceph-osd 一共三台) 10.6.0.140 = ceph-manag ...

  6. rexray在CentOS上不能创建ceph rbd的docker volume问题定位

    背景 我们通过docker的rexray插件来创建ceph rbd设备的docker volume,但总提示创建失败. # docker volume create --driver=rexray - ...

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

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

  8. iSCSI 协议

    iSCSI 协议 iSCSI协议结构 如同任何一个协议一样,iSCSI也有一个清晰的层次结构,根据OSI模型,iSCSI的协议栈自顶向下一共可以分为五层,如图所示: SCSI层:根据应用发出的请求建立 ...

  9. SUSE CaaS Platform 4 - 使用 Ceph RBD 作为持久存储(动态)

    图1 架构图 图2 各存储插件对动态供给方式的支持状况 1.所有节点安装 # yum install ceph-common 复制 ceph.conf 到 worker 节点上 # scp admin ...

随机推荐

  1. Java 连接MS Access数据库

    java连接MS Access的两种方式: 1.JDBC-ODBC Java连接Access可以使用MS自带的管理工具-->数据源(ODBC)设置建立连接,这样就不需要导入jar.但是,如此一来 ...

  2. xUtils如何通过注解对FindViewById进行封装

    之前讲到了介绍了一下xUtils的基本使用方法,今天我们就来详细介绍一下关于xUtils中的ViewUtils模块. 在ViewUtils模块中我们首先看到的是它采用了一种注解的方式进行声明,那么我们 ...

  3. 【转】php里面也可以使用协程

    原文链接:http://blog.51cto.com/chinalx1/2089327 http://nikic.github.io/2012/12/22/Cooperative-multitaski ...

  4. C++和.net的集合类对应

      Here's what I've found (ignoring the old non-generic collections): Array - C array, though the .NE ...

  5. 大型开放式网络课程MOOC的一点体会

            2012年,美国的顶尖大学陆续设立网络学习平台,在网上提供免费课程,Coursera.Udacity.edX三大课程提供商的兴起.给很多其它学生提供了系统学习的可能.这就是大型开放式网 ...

  6. ImportError: No module named arcpy

    好久没写Python脚本了,今天一运行就报错:未找到名称为 arcpy 的模块(ImportError: No module named arcpy). 多半是环境变量出问题了,Python最令人讨厌 ...

  7. svg translate 操作

    function dragElement(evt) { var target = evt.target; var id = target.id; var dx = evt.dx, dy = evt.d ...

  8. UILabel字体间距调整

    思路: 写一个 UILbel的子类:在子类里面重新布置UILbel的字体间距: 如代码 .h #import <UIKit/UIKit.h> @interface AdjustableUI ...

  9. PHP MySQL -处理语句

    PHP MySQL 预处理语句 预处理语句对于防止 MySQL 注入是非常有用的. 预处理语句及绑定参数 预处理语句用于执行多个相同的 SQL 语句,并且执行效率更高. 预处理语句的工作原理如下: 预 ...

  10. Codeforces 417D Cunning Gena(状态压缩dp)

    题目链接:Codeforces 417D Cunning Gena 题目大意:n个小伙伴.m道题目,每一个监视器b花费,给出n个小伙伴的佣金,所须要的监视器数,以及能够完毕的题目序号. 注意,这里仅仅 ...