`
zhaohaolin
  • 浏览: 1003583 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

利用ISCSI存储技术构建IP存储网络(实战篇)

阅读更多

本文重点介绍如何构建一个PC构架的iSCSI存储系统,这里我们选择一个普通的、性能优良的、可支持多块磁盘的PC服务器作为iSCSI target,并且选择一个成熟稳定的iSCSI target软件iscsitarget,基本配置环境如表1所示:
表1

利用ISCSI存储技术构建IP存储网络(实战篇)

  这里将Target主机第三块硬盘(硬盘标识为/dev/sdc)作为iSCSI共享磁盘,硬盘大小为10G,分别共享给一台windows主机和一台Linux主机,基本结构如图1所示:

利用ISCSI存储技术构建IP存储网络(实战篇)

图1

下面开始详细介绍iSCSI网络存储的搭建过程。

一、安装iSCSI target软件
安装iscsitarget软件是在Target主机上进行的,即上面设定的192.168.12.246主机,这里我们选择的target软件是iscsitarget,读者可以从http://iscsitarget.sourceforge.net 下载相应的版本,这里下载的是iscsitarget-1.4.20.1.tar.gz,接着开始进行编译安装:
[root@iscsi-target iscsi]#tar -xzvf iscsitarget-1.4.20.1.tar.gz
[root@iscsi-target iscsi]#cd iscsitarget-1.4.20.1
[root@iscsi-target iscsitarget-1.4.20.1]#make
[root@iscsi-target iscsitarget-1.4.20.1]#make install
 Iscsitarget安装完毕后,会创建/etc/iet/目录,此目录下有Iscsitarget的相关配置文件,接着就可以启动Iscsitarget服务了,启动或关闭Iscsitarget服务的命令如下:
[root@iscsi-target iscsi]# service iscsi-target       
Usage: /etc/init.d/iscsi-target {start|stop|restart|condrestart|status}
如果要让iscsi-target服务开机自动运行,需执行如下操作:
[root@iscsi-target iscsi]#chkconfig --level 35 iscsi-target on
到此为止,iscsitarget安装完成。

二、配置一个简单的iSCSI target
 iSCSI Enterprise Target的主配置文件为/etc/iet/ietd.conf,此文件中的选项默认全部被注释掉了,有需要用到这些选项时,再将注释去掉即可。
 打开ietd.conf文件,首先找到类似如下行:
#Target iqn.2001-04.com.example:storage.disk2.sys1.xyz
此选项表示该iSCSI Target的命名,先将前面的“#”号去掉, Target的命名在同一子网内应该是唯一的,标准命名方式为:
iqn.yyyy-mm.<reversed domain name>[:identifier]
其中:
? iqn:表示“iSCSI Qualified Name”,简称iqn。
? yyyy-mm:表示年份-月份。这里是2001-04。
? reversed domain name:表示倒过来的域名,这里是com.example。
? identifier:表示识别代码,这里是storage.disk2.sys1.xyz。
接下来,就是要设定 LUN(Logical Unit Number),找到类似如下行:
#Lun 0 Path=/dev/sdb,Type=fileio,ScsiId=xyz,ScsiSN=xyz
将 前面的“#”号去掉,“Lun 0 Path=/dev/sdb”表示块设备号为0,映射的磁盘为/dev/sdb,“Type”值fileio是默认的,可以用于磁盘、file和LVM, 这里设定的是“fileio”,主要用来对一个磁盘进行存储共享。读者可以根据自己情况将Path改为需要共享的存储分区的设备标识。这里假定共享的设备 标识为/dev/sdb。
至此,一个简单的iSCSI Target已经配置完毕了,最后启动iscsi-target服务:
[root@iscsi-target iscsi]# service iscsi-target start

三、在windows上配置iSCSI Initiator
 下面的操作是在Initiator的windows主机上进行,即IP为192.168.12.136主机。
微软对iSCSI Initiator的支持相当完备,读者可以免费从微软网站获得iSCSI Initiator软件,网址是http://www.microsoft.com/WindowsServer2003/technologies/storage/iscsi/default.mspx
,本章实例下载的版本是Initiator-2.08-build3825-x86fre.exe,接下来开始说明如何让windows连接iSCSI Target。
 安 装完成iSCSI Initiator后,在桌面上会发现启动图标,启动Microsoft iSCSI Initiator后,选择第二个分页标签“Discovery”,然后在“Target Portals”部分点击“Add”按钮,跳出“Add Target Portal”窗口,如图2所示:

利用ISCSI存储技术构建IP存储网络(实战篇)

图2

在此窗口下填写iSCSI Target的ip地址和端口,iSCSI Target地址就是上面设定的Target主机的地址,iSCSI Target的端口默认是3260,除非有特殊设定,填写完成,点击OK按钮。

接下来,选择第三个分页标签“Targets”,如图3所示,可以看到,iSCSI Initiator已经检测到了iSCSI Target的名称,但是此时的iSCSI Target还处于“inactive”状态,点击下方“Log On”按钮,然后弹出“Log On to Target”窗口,接着按下“OK”按钮来激活Target,此时iSCSI Target已经从“inactive”状态变为“Connected”状态。如图4和图5所示:

利用ISCSI存储技术构建IP存储网络(实战篇)  

图3

利用ISCSI存储技术构建IP存储网络(实战篇)

图4

利用ISCSI存储技术构建IP存储网络(实战篇)  
图5

到此为止,windows系统已经识别了iSCSI Target提供的共享磁盘分区,通过windows的磁盘管理器可以看到新增加的磁盘分区,如图6所示:

利用ISCSI存储技术构建IP存储网络(实战篇)
 
图6

现在就可以使用windows的磁盘管理功能对这块共享磁盘进行分区、格式化以及挂载等操作了。

四、在Linux上配置iSCSI Initiator
 下面的操作是在Initiator的Linux主机上进行,即IP为192.168.12.26主机。
1 安装Linux版本iSCSI Initiator
现 在的主流Linux发行版本默认都自带了iSCSI Initiator,即Open-iSCSI,如果系统没有安装,只需通过光盘找到iscsi-initiator-utils- 6.2.0.871-0.16.el5.i386.rpm包,通过rpm方式安装即可,当然也可以通过yum进行自动安装,操作如下:


[root@ Initiator iscsi]#yum install iscsi*
安装完成后,会生成/etc/iscsi主程序配置目录,其它相关文件的安装位置为:
/etc/iscsi/iscsid.conf
/etc/rc.d/init.d/iscsi
/etc/rc.d/init.d/iscsid
/sbin/iscsi-iname
/sbin/iscsiadm
/sbin/iscsid
/sbin/iscsistart
/var/lib/iscsi
/var/lib/iscsi/ifaces
/var/lib/iscsi/isns
/var/lib/iscsi/nodes
/var/lib/iscsi/send_targets
/var/lib/iscsi/slp
/var/lib/iscsi/static
/var/lock/iscsi
接下来需要启动Initiator服务,操作如下:
[root@ Initiator iscsi]# service iscsi start
 

2 iSCSI Initiator目录功能介绍
? /sbin/iscsiadm命令
 在iSCSI Initiator安装完成后,会生成/sbin/iscsiadm命令,此命令是用来管理(更新、删除、插入、查询)iSCSI配置数据库文件的命令行 工具,用户能够用它对iSCSI nodes、sessions、connections和discovery records进行一系列的操作。
? /var/lib/iscsi/send_targets目录
 在此目录下,会生成一个或多个以iSCSI存储服务器IP和端口命名的文件夹,文件名为“iSCSI Target IP,端口号”(例如“192.168.12.246,3260”)。
? /var/lib/iscsi/nodes目录
 在 此目录下,会生成一个或多个以iSCSI存储服务器上的Target名命名的文件夹,在该文件夹下有一个文件名为“iSCSI portal IP,端口号” (例如“192.168.12.246,3260”)的配置参数文件,该文件是iSCSI initiator登录iSCSI target时要使用的参数,而这些参数的设置是从/etc/iscsi/iscsi.conf中的参数继承而来的,可以通过iscsiadm命令对某一 个参数文件进行更改。

3 在linux上执行iSCSI  Target发现
 可以使用如下指令向 iSCSI Target 主机查询划分了哪些lun:
iscsiadm -m discovery --type sendtargets --portal IP
 或者
iscsiadm -m discovery -t sendtargets -p IP
例如:
[root@ Initiator iscsi ]# iscsiadm -m discovery -t sendtargets -p 192.168.12.246:3260                                         
192.168.12.246:3260,1 iqn.2001-04.com.example:storage.disk2.sys1.xyz
可 以看出,“iqn.2001-04.com.example:storage.disk2.sys1.xyz”就是iSCSI Target的名称。由于在配置iSCSI Target时,没有做任何限制,因此所有的客户端主机都允许连接iSCSI Target共享出来的磁盘。
需要说明的是:当成功执行一次Target发现后,iSCSI Initiator就会将查询纪录写到/var/lib/iscsi/send_targets对应目录下。因此,对于Target发现只需执行一次即可。
接着通过iscsiadm指令与iSCSI Target 主机建立连接,也就是登录iSCSI Target:
iscsiadm -m node -T <target-name> -p <ip-address>:<port> --login
或者
iscsiadm -m node -T [target-name] -p [ip-address] -l
这里的“-T”后面跟target名称,“ip-address”是target主机的IP地址,“port”是target主机的端口号,默认是3260。
例如:
[root@ Initiator iscsi ]#iscsiadm -m node -T iqn.2001-04.com.example:storage.disk2.sys1.xyz -p 192.168.12.246 -l
Logging in to [iface: default, target: iqn.2001-04.com.example:storage.disk2.sys1.xyz, portal: 192.168.12.246,3260]
Login to [iface: default, target: iqn.2001-04.com.example:storage.disk2.sys1.xyz, portal: 192.168.12.246,3260]: successful
如果有多个Target主机时,可以通过如下命令一次登录所有的targets:
[root@ Initiator iscsi ]#iscsiadm -m node --loginall=all
这 里需要说明的是,通过执行Target发现操作,其实已经与iSCSI Target 主机建立了连接,此时如果再次执行iscsiadm命令与Target 主机建立连接的话,会提示“iscsiadm: initiator reported error (15 - already exists)”错误,所以需要先断开与iSCSI Target 主机的连接,执行如下指令,断开Initiator 与iSCSI Target 主机的连接:
iscsiadm -m node -T [target-name] -p [ip-address] -u
 例如:
[root@ Initiator iscsi ]#iscsiadm -m node -T iqn.2001-04.com.example:storage.disk2.sys1.xyz -p 192.168.12.246  -u
Logging out of session [sid: 2, target: iqn.2001-04.com.example:storage.disk2.sys1.xyz, portal: 192.168.12.246,3260]
Logout of [sid: 2, target: iqn.2001-04.com.example:storage.disk2.sys1.xyz, portal: 192.168.12.246,3260]: successful
 当iSCSI Initiator与iSCSI Target连接成功后,还可以通过如下命令查看iSCSI session信息:
[root@ Initiator iscsi ]#iscsiadm -m session –i
例如:
[root@ Initiator iscsi ]#iscsiadm -m session –i
iSCSI Transport Class version 2.0-871
version 2.0-871
Target: iqn.2001-04.com.example:storage.disk2.sys1.xyz
        Current Portal: 192.168.12.246:3260,1
        Persistent Portal: 192.168.12.246:3260,1
                **********
                Interface:
                **********
                Iface Name: default
                Iface Transport: tcp
                Iface Initiatorname: iqn.1994-05.com.RedHat :fd37f211e3a
                Iface IPaddress: 192.168.12.26
                Iface HWaddress: <empty>
                Iface Netdev: <empty>
                SID: 1
                iSCSI Connection State: LOGGED IN
                iSCSI Session State: LOGGED_IN
                Internal iscsid Session State: NO CHANGE
                ************************
                Negotiated iSCSI params:
                ************************
                HeaderDigest: None
                DataDigest: None
                MaxRecvDataSegmentLength: 262144
                MaxXmitDataSegmentLength: 8192
                FirstBurstLength: 65536
                MaxBurstLength: 262144
                ImmediateData: Yes
                InitialR2T: Yes
                MaxOutstandingR2T: 1
                ************************
                Attached SCSI devices:
                ************************
                Host Number: 32 State: running
                scsi32 Channel 00 Id 0 Lun: 0
                        Attached scsi disk sdb          State: running

4 管理共享磁盘
 首先通过fdisk命令查看共享过来的磁盘标识,也可以通过dmesg命令查看系统是否认到了共享的iSCSI磁盘,操作如下:
[root@ Initiator iscsi ]#fdisk -l
Disk /dev/sda: 320.0 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14       38913   312464250   8e  Linux LVM

Disk /dev/sdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         609     4891761   83  Linux
/dev/sdb2             610        1305     5590620   83  Linux
 从fdisk输出可知,iscsi共享磁盘标识为/dev/sdb,大小10.7G,下面就可以通过fdisk命令对这个磁盘进行重新分区、格式化、创建文件系统等操作了。

分享到:
评论

相关推荐

    搭建配置运维iscsi存储系统

    IP SAN是基于TCP/IP网络的存储区域网络,它允许使用标准的以太网硬件设备来构建SAN。IP SAN配置实战包括在服务器端安装和配置目标(target)服务,在客户端配置发起者(initiator)服务,并确保服务器和服务能够通过...

    7.IP SAN技术详解.pptx

    - **方案概述**:结合前端的iSCSI技术与后端的FC网络,构建一个既具备良好可扩展性又能满足高性能需求的存储系统。 - **架构特点**:前端采用标准以太网技术,后端采用FC网络,实现数据高效传输。 #### 五、磁盘...

    数据中心融合存储网络解决方案PPT学习教案.pptx

    构建融合存储网络的目标是整合各种存储技术和网络协议,创建一个统一的、高效的存储资源池。这可以通过FCoE、IP SAN和NAS的混合使用来实现,以优化不同应用的工作负载需求。同时,采用虚拟化技术,如vSAN,可以...

    华为HCIP-Storage V5.0存储培训教材和实验手册.rar

    同时,理解TCP/IP网络原理也是必不可少的,因为iSCSI依赖于IP网络。 3. 存储虚拟化:此部分涵盖存储池、LUN(逻辑单元号)虚拟化和卷管理等概念。通过虚拟化,可以实现存储资源的集中管理和高效利用,提高存储利用...

    集群好书《高性能Linux服务器构建实战》 试读章节下载

    由国内著名技术社区联合推荐的2012年IT技术力作:《高性能Linux服务器构建实战:运维监控、性能调优与集群应用》,即将上架发行,此书从Web应用、数据备份与恢复、网络存储应用、运维监控与性能优化、集群高级应用等...

    8.IP与FC的融合.pptx

    其中,“IP与FC的融合”是一个关键的话题,旨在通过结合两种不同的网络技术,即IP(Internet Protocol)网络和FC(Fiber Channel)网络,来解决存储扩展性和效率的问题。 #### 二、IP与FC融合的背景与意义 1. **FC...

    SAN完全手册.rar

    FC是SAN传统上广泛使用的协议,提供高带宽和低延迟,而iSCSI则利用TCP/IP协议,使得存储设备可以通过现有IP网络进行访问,降低了部署成本。 其次,手册可能会涵盖SAN的关键组件,如交换机、HBA(Host Bus Adapter)...

    VMware vSphere 6.7 虚拟化搭建及配置完整详细手册-20211025.pdf

    在Windows平台上配置ISCSI存储包括添加角色和功能,以及配置ISCSI链接,这是为vSphere提供存储资源的一个重要环节。 五、安装vCenter Server 6.7 for Windows 手册中介绍了如何安装vCenter Server 6.7,包括自带...

    Hyper-V实战服务器集群创建攻

    3. **共享存储**:集群节点间需有可靠的共享存储解决方案,如光纤通道、iSCSI或网络文件系统(NAS),用于存放虚拟机文件。 4. **网络环境**:至少需要两个网络接口,一个用于客户机通信(前端网络),另一个用于...

    HCNP-Storage模拟试卷

    3. 存储网络构建:学习如何规划和配置存储网络,包括FC(Fibre Channel)SAN、IP SAN(基于iSCSI)和NAS(Network Attached Storage)环境。 4. 存储解决方案设计:涉及存储资源分配策略、存储虚拟化、数据迁移和...

    实战完美搭建Oracle 11gR2_RAC+ASM+DG(最新精编版)

    ### 实战完美搭建Oracle 11gR2_RAC+ASM+DG(最新精编版) #### 概述 ...此外,该实验还涉及到了网络配置、存储管理等多个方面的知识,对于提高IT专业人员的技术能力和实践经验都具有非常重要的意义。

    VMware_vSphere_4.1虚拟化学习手册

    iSCSI和NFS是常见的虚拟化存储协议,iSCSI用于IP网络上的存储区域网络(SAN),NFS则是基于文件系统的共享存储。这部分内容会指导读者如何设置和管理这些存储解决方案,以满足虚拟机的存储需求。 7. **高可用性HA...

    OpenStack实战演练及开发入门完整全套培训

    深刻理解:OpenStack的设计原理,体系构架和关键技术,构建一个OpenStack环境所需的核心组件以及核心组件间的联系; 全面掌握:如何通过不同的部署工具比如packstack,部署OpenStack环境;如何通过单独部署OpenStack...

    手把手教你配置Windows2003集群(图)

    共享存储设备是必要的,如SAN(存储区域网络)或NAS(网络附加存储)。 2. **操作系统安装**:在每个节点上安装Windows Server 2003,并确保安装了集群服务角色。 3. **网络配置**:为每个节点配置独立的网络接口...

    freeNAS培训视频教程.rar

    《freeNAS培训视频教程》是一套全面讲解freeNAS操作系统的在线教学资源,旨在帮助学习者掌握如何使用和...通过系统的学习,你将能够熟练地运用freeNAS构建自己的家庭或企业级存储解决方案,保障数据的安全和高效利用。

    Cisco-MDS 9000产品系列培训实验室指南.rar

    该系列产品提供高性能、高可用性和高级数据服务,支持FC (Fibre Channel)、FCoE (Fibre Channel over Ethernet) 和iSCSI等多种协议,旨在构建灵活、可靠且安全的存储网络基础设施。 文档可能包含以下关键知识点: ...

    鸟哥Linux私房菜

    - **iSCSI**:介绍如何使用iSCSI技术构建存储区域网络(SAN),实现远程磁盘访问。 - **虚拟化技术**:了解KVM、Xen等虚拟化平台,搭建云环境。 **5.2 安全防护** - **加密通信**:为vsftpd等服务添加SSL/TLS支持,...

    OpenStack实战演练及开发入门完整全套培训__百度云视频链接

    深刻理解:OpenStack的设计原理,体系构架和关键技术,构建一个OpenStack环境所需的核心组件以及核心组件间的联系; 全面掌握:如何通过不同的部署工具比如packstack,部署OpenStack环境;如何通过单独部署OpenStack...

    自学文档,用于自己学习

    本自学文档是针对想要深入理解并掌握Kubernetes技术的个人所设计,旨在帮助你从零开始构建对k8s的全面认知。 一、Kubernetes基础知识 Kubernetes是由Google开源的一种容器编排系统,现由Cloud Native Computing ...

Global site tag (gtag.js) - Google Analytics