iSCSI,即internet SCSI,是IETF制订的一项标准,用于将SCSI数据块映射成以太网数据包。iSCSI技术是一种基于IP Storage理论的新型存储技术,该技术是将存储行业广泛应用的SCSI(small computer system interface)接口技术与IP网络技术结合,使得我们可以在IP网络上构建SAN存储区域网。
本文主要探讨在 OpenSolaris环境下如何配置iSCSI 。
<b> 一、OpenSolaris配置iSCSI</b>
OpenSolaris本身带了一个iSCSI服务,运行在用户级别性能一般,并且支持SCSI-3 Persistent Reservation。
<b> 1、 安装iSCSI软件包</b>
使用IPS安装相关软件包如图1 。
图1安装iSCSI软件包
<b> 2、配置Target</b>
(1)建立目录
target# mkdir /export/home/disks
(2)可以使用 iscsitadm 命令来创建和管理iSCSI 目标。
target# iscsitadm modify admin -d /export/home/disks
说明:如果对 ZFS 卷设置 shareiscsi 属性,请勿使用 iscsitadm 命令再创建同一目标设备。否则,同一设备最终将具有重复的目标信息。
target# iscsitadm create target -z 200M mytarget1
(3)查看一下目标
target# iscsitadm list target
Target: mytarget
iSCSI Name: iqn.1986-03.com.sun:02:8f23a58f-337f-6989-d09fd4fb7bb3dfae.
Mytarget1
Connections: 0
<b> 3、配置Initiator</b>
(1)配置动态搜索的设备(SendTargets)
init# iscsiadm add discovery-address 192.168.0.17:3260
(2)如果已配置动态搜索(SendTargets) 设备,启用SendTargets 搜索方法
init# iscsiadm modify discovery -t enable
(3)显示有关当前使用的搜索方法的信息
init# iscsiadm list discovery
Discovery:
Static: disabled
Send Targets: enabled
iSNS: disabled
(4)查看一下设备
init# iscsiadm list target
Target: iqn.1986-03.com.sun:02:8f23a58f-337f-6989-d09fd4fb7bb3dfae.
Alias: mytarget
TPGT: 1
ISID: 4000002a0000
Connections: 1
现在target 设备已经出现,c1t01000003BA4E5E2000002A0047FA3E22d0 是新磁盘。查看一下:
init# ls /dev/dsk
c1t01000003BA4E5E2000002A0047FA3E22d0s0
c1t01000003BA4E5E2000002A0047FA3E22d0s1
c1t01000003BA4E5E2000002A0047FA3E22d0s2
c1t01000003BA4E5E2000002A0047FA3E22d0s3
c1t01000003BA4E5E2000002A0047FA3E22d0s4
c1t01000003BA4E5E2000002A0047FA3E22d0s5
c1t01000003BA4E5E2000002A0047FA3E22d0s6
c1t01000003BA4E5E2000002A0047FA3E22d0s7
(5)删除iSCSI 设备搜索项:
# iscsiadm remove discovery-address 192.168.0.17:3260
<b> 4、 使用iSCSI磁盘</b>
使用newfs命令建立文件系统:
init# newfs /dev/rdsk/c1t01000003BA4E5E2000002A0047FA3E22d0s2
newfs: construct a new file system /dev/rdsk
/c1t01000003BA4E5E2000002A0047FA3E22d0s2: (y/n)? y
/dev/rdsk/c1t01000003BA4E5E2000002A0047FA3E22d0s2:
10485120 sectors in 32766 cylinders of 4 tracks, 80 sectors
59.7MB in 256 cyl groups (128 c/g, 20.00MB/g, 2560 i/g)
super-block backups (for fsck -F ufs -o b=#) at:
32, 41072, 82112, 123152, 163872, 204912, 245952, 286992, 327712,
368752,
10076352, 10117392, 10158112, 10199152, 10240192, 10281232,
10321952,
10362992, 10404032, 10445072
<b> 5 、检查服务状态</b>
target# iscsitadm show stats
operations bandwidth
device read write read write
-------------------- ----- ----- ----- -----
Mytarget1 339 664 7M 193M
<b> 6、 监控iSCSI 配置</b>
通过使用iscsiadm list 命令,可以显示有关iSCSI 启动器和目标设备的信息。
显示有关iSCSI 启动器的信息。
# iscsiadm list initiator-node
Initiator node name: iqn.1986-03.com.sun:01:e00000000000.4c4c1ac1
Initiator node alias: -
Login Parameters (Default/Configured):
Header Digest: NONE/-
Data Digest: NONE/-
Authentication Type: NONE
RADIUS Server: NONE
RADIUS Access: disabled
Configured Sessions: 1
显示如何列出特定iSCSI 目标的参数设置。
# iscsiadm list target-param iqn.1992-08.com.abcstorage:sn.33592219
Target: iqn.1992-08.com.abcstorage:sn.33592219
iscsiadm list target-param -v 命令将显示以下信息:
■ 目标的验证设置
■ 目标登录参数的缺省设置
■ 每个登录参数的已配置值
iscsiadm list target-param -v 命令将在/ 指示符前显示缺省参数值,并在/ 指示符后
显示已配置的参数值。如果未配置任何参数,则已配置的参数值将显示为连字符(-)。
<b> 二、Windows 客户端的使用iSCSI 磁盘设备</b>
iSCSI 客户端或主机(也称为 iSCSI 发起程序)是一个系统,如服务器,它与某个 IP 网络相连接,发起请求以及接收来自 iSCSI 目标的响应。每个 iSCSI 主机都由唯一的 iSCSI 限定名称 (IQN) 标识,该名称与光纤通道全局名称 (WWN) 类似。Windows Vista 和 Windows 7 已经内置了iSCSI 发起程序,以Windows 7 为例,在管理工具中打开Microsoft ISCSI 发起程序如图2
图2打开Microsoft ISCSI 发起程序
使用"快速连接"执行发现、登录并使目标位置成为收藏位置。键入目标的 IP 地址或域名系统 (DNS) 名称,然后单击"快速连接"。若要断开整个连接,请在"已发现的目标"下选择目标,然后单击"断开"。由于一个目标可以有多个连接,因此可以单击"属性"查看当前会话以及断开各个会话。可以单击"设备"查看与目标连接关联的任何设备。
目标门户 您可以发现 iSCSI 目标设备,然后连接到"目标"选项卡上的目标。
图3发现目标门户
在"发现"栏目的"发现目标门户"的IP地址处输入服务器IP地址,端口选择默认端口3260 即可。如图3。
在"收藏的目标"栏目的可以查看ISCSI设备详细信息。如图4 。
图4 查看ISCSI收藏的目标
通过将目标标记为收藏目标,Microsoft iSCSI 发起程序将软件和硬件发起程序配置为在重新引导计算机时始终尝试重新连接目标。登录时软件和硬件发起程序捕获连接收藏目标所需的登录信息 [例如,质询握手身份验证协议 (CHAP) 机密、门户信息等],并将该信息保存在稳定存储中。硬件发起程序可以在引导过程早期发起重新连接,而 Microsoft 软件发起程序内核模式驱动程序在 Windows TCP/IP 堆栈和 Microsoft iSCSI 发起程序服务加载时发起重新连接。
下面在计算机管理的磁盘管理界面可以看到一个新的卷设备,安装Windows 7 提示可以完成卷的添如图5。
图5 完成卷的添如
下面查看卷的属性可以看到"SUN COMSTAR SCSI Disk Divice"设备也就是说iSCSI 磁盘设备已经可以使用了如图6。
图6 iSCSI 磁盘设备已经可以出现
在计算机管理界面可以看iscsi磁盘如图7 。
图7 在计算机管理界面可以看iscsi磁盘
如果是Windows xp下载安装 Microsoft iSCSI Initiator 软件(http://www.microsoft.com/downloads/details.aspx?familyid=12cb3c1a-15d6-4585-b385-befd1319f825&displaylang=en#filelist ) 后运行。
点击 Microsoft iSCSI Initiator->Discovery->Add->输入target的IP地址和端口号
点击 Microsoft iSCSI Initiator->Targets->Refresh, 发现当前可用的Target
点击 Microsoft iSCSI Initiator->Targets->选中target->Logon->OK, 建立连接
点击 控制面板->管理工具->计算机管理->磁盘管理,可以看见映射到本机的逻辑磁盘。然后可以与本地磁盘一样进行分区格式化操作。
点击 Microsoft iSCSI Initiator->Targets->选中已经连接的target->Details->勾选相应的任务项目->Logoff, 断开连接。
Discovery->Add,手工添加 Target 主机的 IP 地址。Targets->Logon,应该显示状态为 "Connected"。然后上运行 :diskmgmt.msc,一个转换磁盘的对话框会出现,相当于系统又增加了一个硬盘。不过一旦磁盘被格式化为 NTFS 分区,而又通过 zfs 命令修改文件系统大小,则 NTFS 的数据会全部丢失。要扩充的话,只能再新建一个 zfs ,把新的 iscsi 磁盘作为 mount 点挂接到原来的 NTFS 分区。
至此,我们介绍了OpenSolaris 下iSCSI 的最简单应用。