iSCSI的基础实验

一,iSCSI简介

iSCSI全称为Internet Small Computer System Interface 就是internet 小型计算机系统接口,iSCSI是一种新型的存储技术,它将现有的TCP/IP网络与SCSI接口很好的结合了起来,用来建立和管理基于IP的存储设备,是SAN(存储区域网络)的一种实现方式,它通过SCSI指令和iSCSI协议以及外层TCP/IP的封装是的存储区域得以延展,并且这种传输是以块级别(block-level)的方式在各个存储网络间进行的。iSCSI具有硬件成本低,操作维护较为简便,可扩展性强等优势,近几年发展迅猛。

二,实验规划

  target:

ip地址:192.168.1.30 系统平台: rhel6.5 x86_64

共享的磁盘为:/dev/sdd2

initiator:

ip地址:192.168.1.65 系统平台: rhel5.8 x86

三,实验过程

target端:

1.确保安装iscsi相关的target端组件: scsi-target-utils

# rpm -qa | grep scsi-target-utils 
scsi-target-utils-1.0.24-10.el6.x86_64

如果没有安装则执行以下命令进行安装,系统镜像中自带有scsi-target-utils的软件包

# yum -y install scsi-target-utils

2.使用rpm命令查看scsi-target-utils生成了哪些文件

# rpm -ql scsi-target-utils
/etc/rc.d/init.d/tgtd
/etc/sysconfig/tgtd
/etc/tgt/targets.conf
/usr/sbin/tgt-admin
/usr/sbin/tgt-setup-lun

这里只列出一部分,我们发现在/etc/init.d/下有一个tgtd的启动脚本,这就是iscsi服务器端的启动脚本,它监听在tcp的3260端口上

3.启动服务,并保证服务能够开机自动启动

# service tgtd start
# chkconfig tgtd on
# chkconfig tgtd --listtgtd            0:off   1:off   2:on    3:on    4:on   5:on     6:off

4.创建用来输出的磁盘(这里使用分区来做,实际应用中建议直接输出磁盘)

# fdisk -cul /dev/sdd
   Device Boot      Start         End      Blocks   Id  System
/dev/sdd1            2048    20973567    10485760   83  Linux
/dev/sdd2        20973568    41945087    10485760   83  Linux

5.配置target端将/dev/sdd1和/dev/sdd2输出给192.168.1.0/24网段

(1)创建一个target

# tgtadm --lld iscsi --mode target --op new --targetname iqn.2015-08.com.test:test.disk1 --tid 1

命令解释:

tgtadm 是一个模式化的命令,它用来实现target端的管理,常用选项

--lld iscsi: 指定driver,这里使用iscsi

--mode : 模式,有 target, logicalunit, account

--op : 后面加操作

target模式下的操作通常有new, delete, show, update, bind, unbind

--targetname: 指定target的名字,这里使用iqn格式

iqn格式: iqn.YY-MM.域名反写.设备标示

--tid : 指定target的id号码

(2) 查看target

# tgtadm --lld iscsi --mode target --op show
Target 1: iqn.2015-08.com.test:test.disk1
    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
            Prevent removal: No
            Readonly: No
            Backing store type: null
            Backing store path: None
            Backing store flags: 
    Account information:
    ACL information:

以上会显示target的详细信息,LUN0是target的控制器,并不是磁盘

(3)在target中创建LUN

# tgtadm --lld iscsi --mode logicalunit --op new --tid 1 --lun 1 --backing-store /dev/sdd1

命令解释:

--lun: 指定LUN的号码,从1开始

--backing-store: 指定真实要使用的物理设备

再次查看target

# tgtadm --lld iscsi --mode target --op show
...
 LUN: 1
            Type: disk
            SCSI ID: IET     00010001
            SCSI SN: beaf11
            Size: 10737 MB, Block size: 512
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            Backing store type: rdwr
            Backing store path: /dev/sdd1
            Backing store flags: 
    Account information:
    ACL information:

发现多了LUN 1的内容,从中可以看出LUN1 的各种属性

(4)将target输出给对应的网络中

# tgtadm --lld iscsi --mode target --op bind --tid 1 --initiator-address 192.168.1.0/24

再来查看

# tgtadm --lld iscsi --mode target --op show
..
 LUN: 1
            Type: disk
            SCSI ID: IET     00010001
            SCSI SN: beaf11
            Size: 10737 MB, Block size: 512
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            Backing store type: rdwr
            Backing store path: /dev/sdd1
            Backing store flags: 
    Account information:
    ACL information:
        192.168.1.0/24

最后一行显示已经绑定到了相应网络,至此,target端的配置告一段落。

initiator端:

1.确保安装iscsi相关的initiator端组件: iscsi-initiator-utils

# rqm -qa | grep iscsi-initiator-utils

没安装则使用如下命令安装

# yum -y install iscsi-initiator-utils

 2.启动iscsi服务,并设置开机自动启动

# service iscsi start
# chkconfig iscsi on
# chkconfig iscsi --list
iscsi           0:off   1:off   2:on    3:on    4:on    5:on    6:off

 3.发现target的设备

# iscsiadm -m discovery -t st -p 192.168.1.30:3260
192.168.1.30:3260,1 iqn.2015-08.com.test:test.disk1

命令解释:

iscsiadm 模式化命令

-m {discovery | node | session | iface}

discovery: 发现某服务器是否有target输出,以及输出了哪些target

node: 管理跟某target的关联关系

session: 会话管理

iface: 接口管理

-t: type 这里只能是sendtargets, 可以简写为st

-p: 指定target端的套接字

4.登录发现的target

# iscsiadm -m node -T iqn.2015-08.com.test:test.disk1 -p 192.168.1.30 -l
Logging in to [iface: default, target: iqn.2015-08.com.test:test.disk1, portal: 192.168.1.30,3260] (multiple)
Login to [iface: default, target: iqn.2015-08.com.test:test.disk1, portal: 192.168.1.30,3260] successful.

-l: 表示登录

-u: 表示退出

以上表示登录成功

 5.查看本地是否可用

# fdisk -l
Disk /dev/sda: 107.3 GB, 107374182400 bytes
255 heads, 63 sectors/track, 13054 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          26      208813+  83  Linux
/dev/sda2              27         282     2056320   82  Linux swap / Solaris
/dev/sda3             283       13054   102591090   8e  Linux LVM
Disk /dev/sdb: 10.7 GB, 10737418240 bytes
64 heads, 32 sectors/track, 10240 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes

至此,iscsi就可以正常工作了,将/dev/sdb分区,挂载使用即可

# fdisk /dev/sdb
# partprobe /dev/sdb
# mkfs.ext3 /dev/sdb1 
# mount /dev/sdb1 /mnt
# cp /etc/fstab /mnt/
# ls /mnt/
fstab  lost+found

四,注意事项

1,initiator退出target时使用如下命令

# iscsiadm -m node -T iqn.2015-08.com.test:test.disk1 -p 192.168.1.30 -u

这样并不能将/var/lib/iscsi/下的discovery数据库删除,重启服务后依然会自动登录

# ls /var/lib/iscsi/send_targets/192.168.1.30,3260/
iqn.2015-08.com.test:test.disk1,192.168.1.30,3260,1,default  st_config

要使用如下命令,删除discovery数据库

# iscsiadm -m node -T iqn.2015-08.com.hpf:tstore.disk1 -p 192.168.1.30 -o delete
#  rm -rf /var/lib/iscsi/send_targets/192.168.1.30,3260/

2,基于用户名的认证方法

target端:

创建用户:

# tgtadm --lld iscsi --mode account --op new --user testuser --password testuser

绑定用户到tid 1:

# tgtadm --lld iscsi --mode account --op bind --tid 1 --user testuser
查看:
# tgtadm --lld iscsi --mode account --op show 
...
 LUN: 1
            Type: disk
            SCSI ID: IET     00010001
            SCSI SN: beaf11
            Size: 10737 MB, Block size: 512
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            Backing store type: rdwr
            Backing store path: /dev/sdd1
            Backing store flags: 
    Account information:
        testuser
    ACL information:
        192.168.1.0/24

initiator端:

编辑/etc/iscsi/iscsid.conf文件,启用如下选项

...
# To enable CHAP authentication set node.session.auth.authmethod
# to CHAP. The default is None.
node.session.auth.authmethod = CHAP
# To set a CHAP username and password for initiator
# authentication by the target(s), uncomment the following lines:
node.session.auth.username = testuser
node.session.auth.password = testuser

重启服务

# service iscsi restart

再次发现target设备,即可成功使用target上的硬盘设备

# iscsiadm -m discovery -t st -p 192.168.1.30
192.168.1.30:3260,1 iqn.2015-08.com.test:test.disk1

3.使target端配置重启后仍能生效

编辑/etc/tgt/targets.conf

<target iqn.2015-08.com.hpf.tstore.disk1>
      <backing-store /dev/sdd1>
        lun 1
      </backing-store>
     incominguser testuser testuser
     initiator-address 192.168.1.0/24
</target>

保存退出重启服务即可

# service tgtd restart

查看:

# tgtadm --lld iscsi --mode target --op show 
 LUN information:
        LUN: 0
            Type: controller
            SCSI ID: IET     00010000
            SCSI SN: beaf10
            Size: 0 MB, Block size: 1
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            Backing store type: null
            Backing store path: None
            Backing store flags: 
        LUN: 1
            Type: disk
            SCSI ID: IET     00010001
            SCSI SN: beaf11
            Size: 10737 MB, Block size: 512
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            Backing store type: rdwr
            Backing store path: /dev/sdd1
            Backing store flags: 
    Account information:
        testuser
    ACL information:
        192.168.1.0/24
时间: 2024-10-08 12:11:49

iSCSI的基础实验的相关文章

基础实验1(单臂路由及利用路由器开启DHCP自动分配IP地址)

实验环境:PT 6.2 两台PC:PC1/PC2  一台cisco 2960交换机 一台2620路由器 实验目的:让PC1/PC2属于不同的VLAN,且相互通信.同时自动获取各自网段IP地址. 1.进入2960的配置模式,划分不同的vlan并将PC1/PC2划入不同的网段.并将连通路由器端口转为干道协议. 代码如下: >en #conf t config)#vlan 10 config)#vlan 20 config)#int f0/21 config)#switchport ac vlan 1

[nRF51822] 10、基础实验代码解析大全 &#183; 实验15 - RTC

一.实验内容: 配置NRF51822 的RTC0 的TICK 频率为8Hz,COMPARE0 匹配事件触发周期为3 秒,并使能了TICK 和COMPARE0 中断. TICK 中断中驱动指示灯D1 翻转状态, 即指示灯D1 以8Hz 的速率翻转状态 COMPARE0 中断中点亮指示灯D2 二.nRF51822的内部RTC结构: NRF51822 有两个RTC 时钟:RTC0,RTC1.两个RTC 均为24 位,使用LFCLK 低频时钟,并带有12 位分频器,可产生TICK.compare 和溢出

[ZigBee] 4、ZigBee基础实验——中断

前言 上一篇介绍了CC2530的IO的基础知识,并用LED的控制来展示如何配置并控制GPIO的输出,用KEY状态的读取实验来展示如何读取GPIO的状态.从上一节的KEY状态读取的代码看出是采用轮训方式的,这种方式是很浪费资源,本节将介绍一种中断方式来替换轮训的方案. 一.中断 电路依然没变,若要使用CC2530的外部中断需要使用P0IEN.PICTL.P0IFG.INE1寄存器. 按键中断初始设置为: 1 /********************************************

WLGK-51单片机接口技术基础实验 ——LED闪烁灯

WLGK-51单片机接口技术基础实验-LED闪烁灯 当我们开始接触单片机,首先接触的第一个实验就是LED灯的使用,类似于我们学习软件开始接触的第一个程序"HelloWorld",这个实验是带领我们走入"软硬件综合使用"的一个很好入门示例,51单片机是他的一个载体.下面小伙伴们,让我们一起来揭开LED的神秘面纱吧! 万立高科官网:www.wanligaoke.com 万立高科官方商城:http://www.wlgkbj.com 万立高科淘宝直销店铺:https://r

[ZigBee] 6、ZigBee基础实验——定时器3和定时器4(8 位定时器)

上一节讲了16位定时器1,本节讲8位定时器3和定时器4! 1.综述 Timer 3 and Timer 4 are two 8-bit timers(8位定时器). Each timer has two independent capture/compare channels(独立的捕获/比较通道),each using one I/O pin per channel. Features: · Two capture/compare channels· Set, clear or toggle

[nRF51822] 12、基础实验代码解析大全 &#183; 实验19 - PWM

一.PWM概述: PWM(Pulse Width Modulation):脉冲宽度调制技术,通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形. PWM 的几个基本概念: 1) 占空比:占空比是指在一个周期内,信号处于高电平的时间占整个信号周期的百分比,方波的占空比是50%. 2) 调制频率:周期的倒数. 3) 脉冲宽度:信号处于高电平的时间. 二.nRF51822的PWM产生: NRF51822 通过Timer.PPI 和GPIOTE 的配合实现PWM 的功能,由Timer 产生一个事件,

[nRF51822] 11、基础实验代码解析大全 &#183; 实验16 - 内部FLASH读写

 一.实验内容: 通过串口发送单个字符到NRF51822,NRF51822 接收到字符后将其写入到FLASH 的最后一页,之后将其读出并通过串口打印出数据. 二.nRF51822芯片内部flash知识: EN-nRF51D 开发板使用NRF51822 芯片为nRF51822-QFAA,如下图所示,共有256KBFLASH,256 页,页大小为1024 字节. NRF51822 内部FLASH 写流程如下: 三.代码解析: main: 1 int main(void) 2 { 3 ... 4 5

重磅优惠套餐:CCNA零基础实验+CCNP路由模块【晁海江思科全部课程】

CCNA零基础实验+CCNP路由模块[晁海江思科全部课程] http://edu.51cto.com/pack/view/id-1071.html  (等待官方审核) 套餐介绍: CCNA+CCNP全新套餐,5折优惠!   鉴于很多学员询问如何购买我的全部思科课程?是否可以享受比较大的优惠?故组建此优惠套餐!     我的CCNA课程经过6次扩展更新,已经包含了很多CCNP的内容,所以本套餐其实已经涵盖了大部分的CCNA和CCNP的内容.同时扩展网络工程师必备的wireshark抓包分析与故障排

zigbee协议栈应用与组网(二):串口基础实验

资料里的实验都是已经做好了的,所以我下载了一个全新的ZStack-2.5.1a来做实验,按照步骤做,发现了很多问题. 第一步,配置串口. MT_UART.c中的MT_UartInit(); baudRate设置为115200(默认是38400),flowControl设置为FALSE. 第二步,预定义宏. MT_UartInit()后还有一小部分 1.2行根据预先定义的 ZTOOL或者ZAPP选择不同的数据处理函数. 后面的P1和P2则是串 口0和串口1.我们用ZTOOL,串口0.我们可以在op