环境:
Ubuntu 12.04
ceph 0.94.2 hammer
在ceph集群的node3节点上安装 tgt
1.安装tgt
apt-get install tgt
2、建立rbd
rbd create test --size 4096
##新建rbd,名称为test,单位是MB
rbd map test
##映射到本地快存储设备,比如:/dev/rbd1
3、iscsi 服务配置
3.1 新建一个target,tid=1,iqn=iqn:2016-02-node3:test
target可以自定义,名称为iqn:2016-02-node3:test
标准命名方式为:
iqn.yyyy-mm.[:identifier]
其中:
iqn:表示“iSCSI Qualified Name”,简称iqn。
yyyy-mm:表示年份-月份。这里是2016-02。
reversed domain name:表示倒过来的域名,这里是node3
identifier:表示识别代码,这里是test
backing-store对应rbd块名称为 test
sudo tgtadm --lld iscsi --op new --mode target --tid 1 -T iqn:2016-02-node3:test
3.2 编辑 /etc/tgt/targets.conf
添加以下内容:
3.2.1 最简配置:
backing-store /dev/rbd1
###(/dev/rbd1 是 test被map到的本地块存储)
3.2.2 可选配置
backing-store:虚拟设备,与之对应的是direct-store(实际设备)
initiator-address 10.1.1.1 :用户端地址,可以用来限制initiator的来源IP
incominguser:用户名与密码,
可以设定initiator使用账户密码才可以使用对应target
如果在target中使用了该配置,则在initiator的配置文件
/etc/iscsi/iscsid.conf中打开如下配置:
discovery.sendtargets.auth.username = username
discovery.sendtargets.auth.password = password
node.session.auth.username = username
node.session.auth.password = password
3.3 给指定的target增加一个lun 1(数字 1, 已存在的lun 是 0 ),
通过tid来指定target,这里将/dev/rbd1添加到tid=1的target中
sudo tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 1 -b /dev/rbd1
3.4 共享target(initiator可以访问target)target 由tid 来确定
sudo tgtadm --lld iscsi --op bind --mode target --tid 1 -I ALL
查看当前的target 信息:
sudo tgtadm --lld iscsi --op show --mode target
tgt-admin --show
删除某个target的命令:
sudo tgtadm --lld iscsi --mode target --op delete --tid 1
4、重启服务
sudo service tgt restart
/etc/init.d/tgt restart
1、安装 open-iscsi
apt-get install open-iscsi
2、查找 node3上已存在的target,-p 是node3的ip地址加端口号(默认为3260)
iscsiadm -m discovery -t sendtargets -p 10.1.35.92:3260
3、建立连接:
iscsiadm --mode node --targetname iqn:2016-02.node3:testvmware2 --portal 10.1.35.92:3260 --login
4、确认/dev/rbd1已远程挂载成功:
`lsblk` 或者 `fdisk -l`
可以对该磁盘进行格式化并挂载后使用:
`mkfs.ext4 /dev/sda`
`mount -t ext4 /dev/sda /tmp/test`
5、断开连接:
如果磁盘已经挂载,要先卸载再断开连接
iscsiadm --mode node --targetname iqn:2016-02.node3:testvmware2 --portal 10.1.35.92:3260 --logout
1、建立新的rbd
rbd create test2 --size 4096
##新建rbd,名称为test,单位是MB
rbd map test
##映射到本地快存储设备,比如:/dev/rbd2
2、新建target
新建一个target,tid=2(1已经存在),iqn=iqn:2016-02-node3:test2
sudo tgtadm --lld iscsi --op new --mode target --tid 2 -T iqn:2016-02-node3:test2
3、 编辑 /etc/tgt/targets.conf
添加以下内容:
backing-store /dev/rbd2
4、给指定的target增加一个lun 1 ,通过tid来指定target,这里将/dev/rbd2添加到tid=2的target中
sudo tgtadm --lld iscsi --op new --mode logicalunit --tid 2 --lun 1 -b /dev/rbd2
5、共享target 2 (即 tid 2)
sudo tgtadm --lld iscsi --op bind --mode target --tid 2 -I ALL
6、重启服务
sudo service tgt restart
/etc/init.d/tgt restart
新添target时,修改配置文件/etc/tgt/targets.conf
修改之后,不可执行命令:/etc/init.d/tgt reload (任何时候都不要执行)
否则之前所做的修改都会被覆盖,客户端也看不到远程target挂载的磁盘。
解决方法:所有修改完成后,重启机器 ;或者重新配置一遍
本文出自“heivy”的博客,转载请务必保留此出处:http://blog.csdn.net/heivy/article/details/50856806