iscsi: 环境搭建
组网环境
+----------+---------------+---------------+
| hostname | ip address | iscsi role |
+----------+---------------+---------------+
| cvm | 192.168.7.8 | target |
| client01 | 192.168.7.10 | initiator |
| client02 | 192.168.7.11 | initiator |
+----------+---------------+---------------+
机器cvm将本机上的/dev/sda8磁盘通过iscsi共享出去,机器client01和client02连接到共享的磁盘。
iSCSI target侧
修改tgt配置文件/etc/tgt/target.conf,将/dev/sda8共享出去。注意,target名称个格式为iqn.yyyy-mm.:identifier,即以iqn开头,后接日期和反转域名。identifier为target的标识,可以自己取,这里我们取为test-tgt。
root@cvm:~# cat /etc/tgt/targets.conf
<target iqn.2014-09.com.h3c.cvm:test-tgt>
backing-store /dev/sda8
</target>
配置文件修改完成后,重启tgt服务。tgtd默认监听3260端口。
root@cvm:~# service tgt restart <== 重启target服务
root@cvm:~# netstat -npl | egrep 3260
tcp 0 0 0.0.0.0:3260 0.0.0.0:* LISTEN 686/tgtd
tcp6 0 0 :::3260 :::* LISTEN 686/tgtd
查看配置文件共享出去的Lun的信息。注意,共享出去的分区/dev/sda8不能被使用,否则看不到相应的LUN。
root@cvm:~# tgt-admin -s
Target 1: iqn.2014-09.com.h3c.cvm:test-tgt
System information:
Driver: iscsi
State: ready
I_T nexus information:
LUN information:
LUN: 0
Type: controller
SCSI ID: IET 00010000
SCSI SN: beaf10
Size: 0 MB, Block size: 1
Online: Yes
Removable media: No
Readonly: No
Backing store type: null
Backing store path: None
Backing store flags:
LUN: 1 <== 如果/dev/sda8被使用,那么这里不会显示LUN:1
Type: disk
SCSI ID: IET 00010001
SCSI SN: beaf11
Size: 280690 MB, Block size: 512
Online: Yes
Removable media: No
Readonly: No
Backing store type: rdwr
Backing store path: /dev/sda8
Backing store flags:
Account information:
ACL information:
ALL
root@cvm:~#
查询连接到target端的initiator节点,使用tgtadm --lld iscsi --op show --mode target命令。
iSCSI initiator侧
发现iscsi target
root@client01:~# iscsiadm -m discovery -t st -p 192.168.7.8
192.168.7.8:3260,1 iqn.2014-09.com.h3c.cvm:test-tgt
连接设备
root@client01:~# iscsiadm -m node iqn.2014-09.com.h3c.cvm:test-tgt -p 192.168.7.8 -l
Logging in to [iface: default, target: iqn.2014-09.com.h3c.cvm:test-tgt, portal: 192.168.7.8,3260] (multiple)
Login to [iface: default, target: iqn.2014-09.com.h3c.cvm:test-tgt, portal: 192.168.7.8,3260] successful.
查询挂接到本地的iscsi磁盘,因为本地已经有一块iscsi磁盘sda了,所以新的磁盘名字为sdb。
root@client01:~# ls -l /dev/disk/by-path/
lrwxrwxrwx 1 root root 9 Sep 18 04:15 ip-192.168.7.8:3260-iscsi-iqn.2014-09.com.h3c.cvm:test-tgt-lun-1 -> ../../sdb
查看iscsi连接状态
root@client01:~# iscsiadm -m node -S
192.168.7.8:3260,1 iqn.2014-09.com.h3c.cvm:test-tgt
卸载设备
root@client01:~# iscsiadm -m node -T iqn.2014-09.com.h3c.cvm:test-tgt -u
Logging out of session [sid: 3, target: iqn.2014-09.com.h3c.cvm:test-tgt, portal: 192.168.7.8,3260]
Logout of [sid: 3, target: iqn.2014-09.com.h3c.cvm:test-tgt, portal: 192.168.7.8,3260] successful.
initiator 权限
修改tgt的配置文件,可以指定能够连接到target的initiator。如下,只允许192.168.7.11的initiator节点连接到target。
root@cvm:~# cat /etc/tgt/targets.conf
<target iqn.2014-09.com.h3c.cvm:test-tgt>
backing-store /dev/sda8
initiator-address 192.168.7.11 <== 只准许7.11的节点连接到target
</target>
分别在client01和client02上连接target,只有client02可以连接到target。
root@client01:~# iscsiadm -m discovery -t st -p 192.168.7.8
iscsiadm: No portals found
root@client02:~# iscsiadm -m discovery -t st -p 192.168.7.8
192.168.7.8:3260,1 iqn.2014-09.com.h3c.cvm:test-tgt
如果要使client01和client02都可以连接到target,那么只需要修改配置文件的initiator-address为192.168.0.0/16即可。
其它
1、tgt的日志信息位于/var/log/syslog文件
2、查看initiator的名字。名字记录在/etc/iscsi/initiatorname.iscsi文件中
参考资料
1、网络驱动器装置: iSCSI 服务器
2、ISCSI学习文档
iscsi: 环境搭建的更多相关文章
- JAVA web环境搭建(使用Tomcat8整合httpd)
说明:这里是Linux服务综合搭建文章的一部分,本文可以作为单独搭建Tomcat并整合httpd的参考. 注意:这里所有的标题都是根据主要的文章(Linux基础服务搭建综合)的顺序来做的. 如果需要查 ...
- .NET Core系列 : 1、.NET Core 环境搭建和命令行CLI入门
2016年6月27日.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布,社区里涌现了很多文章,我也计划写个系列文章,原因是.NET Core的入门门槛相当高, ...
- Azure Service Fabric 开发环境搭建
微服务体系结构是一种将服务器应用程序构建为一组小型服务的方法,每个服务都按自己的进程运行,并通过 HTTP 和 WebSocket 等协议相互通信.每个微服务都在特定的界定上下文(每服务)中实现特定的 ...
- rnandroid环境搭建
react-native 环境搭建具体步骤这个大家已经玩烂了,这个主要是记录下来自己做win7系统遇到的坑 1.com.android.ddmlib.installexception 遇到这个问题,在 ...
- python开发环境搭建
虽然网上有很多python开发环境搭建的文章,不过重复造轮子还是要的,记录一下过程,方便自己以后配置,也方便正在学习中的同事配置他们的环境. 1.准备好安装包 1)上python官网下载python运 ...
- springMVC初探--环境搭建和第一个HelloWorld简单项目
注:此篇为学习springMVC时,做的笔记整理. MVC框架要做哪些事情? a,将url映射到java类,或者java类的方法上 b,封装用户提交的数据 c,处理请求->调用相关的业务处理—& ...
- 【定有惊喜】android程序员如何做自己的API接口?php与android的良好交互(附环境搭建),让前端数据动起来~
一.写在前面 web开发有前端和后端之分,其实android还是有前端和后端之分.android开发就相当于手机app的前端,一般都是php+android或者jsp+android开发.androi ...
- Nexus(一)环境搭建
昨天,成功搭建了自己的 Maven 环境(详见:Maven(一)环境搭建),今天就来研究和探讨下 Nexus 的搭建! 使用背景: 安装环境:Windows 10 -64位 JDK版本:1.7 Mav ...
- 「译」JUnit 5 系列:环境搭建
原文地址:http://blog.codefx.org/libraries/junit-5-setup/ 原文日期:15, Feb, 2016 译文首发:Linesh 的博客:环境搭建 我的 Gith ...
随机推荐
- Hadoop 2.6.4单节点集群配置
1.安装配置步骤 # wget http://download.oracle.com/otn-pub/java/jdk/8u91-b14/jdk-8u91-linux-x64.rpm # rpm -i ...
- linux下生成rsa密钥的方法
首先生成密钥,用命令ssh-keygen –t rsa 运行后可以一直空格,生成密钥,id_rsa和id_rsa.pub文件 ,默认放在/root/.ssh/下,.ssh文件是隐藏的,要显示隐藏文件才 ...
- [Tex学习笔记]矩阵输入中的省略号
\usepackage{enumerate,mathdots} $\iddots$
- Android中RelativeLayout各个属性的含义
android:layout_above="@id/xxx" --将控件置于给定ID控件之上android:layout_below="@id/xxx" - ...
- (转)创建Graphics的三种方法
方法一.利用控件或窗体的Paint事件中的PainEventArgs 在窗体或控件的Paint事件中接收对图形对象的引用,作为PaintEventArgs(PaintEventArgs指定绘制控件所用 ...
- KT vs SKT [20160816]
KT:索尔 SKT:茂凯,塔里克,卡西奥佩娅 普朗克+烬,大招开团. 塔里克保护,眩晕.
- matlab示例程序--Motion-Based Multiple Object Tracking--卡尔曼多目标跟踪程序--解读
静止背景下的卡尔曼多目标跟踪 最近学习了一下多目标跟踪,看了看MathWorks的关于Motion-Based Multiple Object Tracking的Documention. 官网链接:h ...
- SG函数模板(转)
ps:sg[i]为0表示i节点先手必败. 首先定义mex(minimal excludant)运算,这是施加于一个集合的运算,表示最小的不属于这个集合的非负整数.例如mex{0,1,2,4}=3.me ...
- adb devices offline 问题大总结
遇到doc对话框中adb devices ,一直显示设备处于offline状态,各种搜后安装所谓的: 1.开启usb调试模式2.关闭第三方手机助手软件3.重启adb服务 adb kill-ser ...
- flex polygon 序列化为txt 文本
当我们要把一个地块导出为txt的时候,应该怎么写,这是比较有用的这样可以帮助我们存档之类的,这里是基于某个地方的独立坐标系,是基于自己发布地图,如果是用百度地图或者其他网上的地图可能不适用. pack ...