Centos6.2安装和配置ISCSI服务和客户端
快速增长的存储容量使得企业需要采用网络存储解决方案。目前网络存储技术采用的连接技术主要有光纤通道和TCP/IP。基于IP的网络存储能解决基于光纤 通道的网络存储中存在的兼容性和传输距离问题,而且能提供相对廉价的解决方案。iSCSI协议是IP存储网络协议之一,它将广泛应用的两种工业标准 SCSI和TCP/IP结合起来,为存储设备提供面向数据块级的连接服务。
iSCSI(互联网小型计算机系统接口)是一种在TCP/IP上进行数据块传输的标准。它是由Cisco和IBM两家发起的,并且得到了各大存储厂商的大力支持。iSCSI可以实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行快速的数据存取备份操作。
iSCSI存储分为服务器端(targets)和客户端(initiators),客户端发送SCSI命令到远程的存储设备端(服务器端),iSCSI使用的是TCP/IP协议,默认使用TCP的3260端口。
客户端:
-通过discovery程序来请求远程的块设备;
-客户端必须安装了iscsi设备驱动器;
-要安装iscsi-initiator-utils-*.rpm软件包;
服务器端:
-发布一个或多个块设备给initiator访问;
-从RHEL5.3以后开始支持iSCSI;
-需要安装scsi-target-utils-*.rpm软件包;
对于每个target来说,主机ID是唯一的,存储块设备的LUN ID是由iSCSI target来分配的。iSCSI驱动器为SCSI请求和回应提供了一个通过IP网络传输的渠道。
本文 介绍如何在CentOS6.2上安装iSCSI 服务,以实现iSCSI的功能,在网络中提供存储服务。
1、安装 iSCSI server 软件
[root@Vtest ~]# yum install scsi-target-utils
2、启动 iscsi 服务
[root@Vtest ~]# service tgtd start [root@Vtest ~]# service tgtd status tgtd (pid 2180 2179) 正在运行...
设置自动启动
[root@Vtest ~]# chkconfig tgtd on [root@Vtest ~]# chkconfig --list tgtd tgtd 0:关闭 1: 关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
3、服务端设置
ISCSI的共享磁盘可以是镜像文件(.img)、LVM分区、物理磁盘、或其它分区。
首先演示如何使用镜像文件作为共享磁盘的方法
(1)、创建镜像
[root@CentOS6 ~]# mkdir /home/lampbo/tgtd/virtualization -p
##创建一个50M的img镜像文件
[root@CentOS6 ~]# dd if=/dev/zero of=/home/lampbo/tgtd/virtualization/virtimage1.img bs=1M count=50
(2)、编辑配置文件/etc/tgt/targets.conf,并设置下iSCSI Qualified Name (IQN)
<target iqn.2008-09.com.example:server.target1> backing-store /home/mandg/tgtd/virtualization/virtimage2 ##share point 1 发布的共享设备 这里为镜像文件 write-cache off </target>
(3)、重启服务
[root@CentOS6 ~]# service tgtd restart
(4)、验证
如果显示类似下面的内容,说明创建成功
[root@Vtest ~]# tgt-admin --show Target 1: iqn.2008-09.com.example:server.target1 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: Account information: ACL information: ALL
再看一个使用LVM分区的配置文件的例子
(1)、显示可用的LV(逻辑卷)
[root@CentOS6 ~]# lvdisplay --- Logical volume --- LV Name /dev/vg_CentOS6/lv_iscsi VG Name vg_CentOS6 LV UUID DA02b9-Psq4-gncP-v3Wm-1UiD-1Wme-j3T9C2 LV Write Access read/write LV Status available # open 1 LV Size 37.54 GiB Current LE 9610 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:0
(2)、编辑配置文件
[root@CentOS6 ~]# vim /etc/tgt/targets.conf <target iqn.2008-09.com.example:server.target2> backing-store /dev/vg_CentOS6/lv_root </target>
其他步骤就不多说了,就剩下重启和验证。
下面看下tgtd服务配置文件的格式
<target iqn.相关装置的target名称> backing-store /你的/虚拟装置/完整名称-1 <==LUN 1 backing-store /你的/虚拟装置/完整名称-2 <==LUN 2 lun N <==LUN 10 自定义lun </target>
其中iqn 名称规范:
iqn.yyyy-mm.<reversed domain name>:identifier iqn.年年-月.单位网域名的反转写法:这个分享的target名称
对于/etc/tgt/targets.conf 配置文件
除了backing-store 之外,在这个配置文档当中还有一些比较特别的参数(man tgt-admin):
- backing-store (虚拟的装置), direct-store (实际的装置): 设定装置时,如果你的整颗磁盘是全部被拿来当iSCSI 分享之用,那么才能够使用direct-store 。不过,根据网路上的其他文件, 似乎说明这个设定值有点危险的样子。所以,基本上还是建议单纯使用模拟的backing-store 较佳。
- initiator-address (使用者端位址): 如果你想要限制能够使用这个target 的用户端来源,才需要填写这个设定值。基本上,不用设定它(代表所有人都能使用的意思), 因为我们后来会使用iptables 来规范可以连接的客户端
- incominguser (使用者帐号密码设定): 如果除了来源IP 的限制之外,你还想要让使用者输入帐密才能使用你的iSCSI target 的话,那么就加用这个设定项目。此设定后面接两个参数,分别是帐号与密码啰。
- write-cache [off|on] (是否使用快取): 在预设的情况下,tgtd 会使用快取来增快速度。不过,这样可能会有遗失资料的风险。所以,如果你的资料??比较重要的话, 或许不要使用快取,直接存取装置会比较妥当一些。
例如:
<target iqn.2008-09.com.example:server.target2> backing-store /dev/vg_CentOS6/lv_root Initiator-address 192.168.1.0/24 ##仅允许192.168.1.0网段的用户访问 </target>
4、手动配置服务器端
对于iSCSI服务器端的配置,既可以像上一节利用配置文件配置,也可以手动地用命令进行配置。
(1)、创建一个新的target条目:
# tgtadm --lld iscsi --op new --mode target --tid 1 -T iqn.2008-09.com.example:server.target2:iscsi
(2)、发布本地的块设备以及配置target的访问控制:
# tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 1 -b /dev/vg_CentOS6/lv_root
(3)、设置访问权限:
# tgtadm --lld iscsi --op bind --mode target --tid 1 -I 192.168.1.0/24
(4)、 删除target条目:
# tgtadm --lld iscsi --op delete --mode target --tid 1 -T iqn.2008-09.com.example:server.target2:iscsi
5、配置ISCSI客户端
(1)ISCSId配置文件
iSCSI客户端的配置文件是/etc/iscsi/iscsid.conf,其中有以下四大项可设置项:
- Startup:#设置自动还是手动;
- CHAP:#用户名和密码;
- Timeout:#连接,登入/登出;
- iSCSI:#流控制,负载大小,数据摘要检查;
- 以下是CHAP项中的部分设置项:
- node.session.auth.authmethod #开启CHAP验证,默认是NONE;
- node.session.auth.username #用于CHAP验证的用户名;
- discovery.sendtargets.auth.authmethod #为discovery会话开启CHAP验证;
- discovery.sendtargets.auth.username #为initiator端设置discovery会话的CHAP用户名;
可以使用CHAP配置双向授权验证。在不加密的通信中,基于CHAP的授权由以下特点:用户名和密码都是明文传输的;如果用户名和密码被嗅探,遭受攻击将是很大可能的;鉴于此,可以考虑将iSCSI置于一个独立的存储网络中。
Iscsiadm是iSCSI的客户端管理工具,可以用于管理discovery和登入iSCSI服务器端,可以管理访问控制和open-iscsi数据库的配置,本工具的很多操作都需要iscsid进程出于运行状态。
客户端有几个重要文件:
- /etc/iscsi/iscsid.conf - #客户端主配置文件;
- /etc/iscsi/initiatorname.iscsi - #设置initiator名和别名;
- /var/lib/iscsi/nodes/ - #节点和target信息;
- /var/lib/iscsi/send_targets - #target的入口信息;
(2)、启动iscsid服务
[root@CentOS6 ~]# service iscsid start
(3)、发现网络中可用的target:
[root@CentOS6 ~]# iscsiadm -m discovery -t sendtargets -p 192.168.0.120:3260
(4)、登入可用的target会话:
[root@CentOS6 ~]# iscsiadm -m node -T iqn.2008-09.com.example:server.target2:iscsi -p 192.168.0.120:3260 -l
(5)、查看target信息:
[root@CentOS6 ~]# iscsiadm -m node -P N 查看节点信息(N=0,1) [root@CentOS6 ~]# iscsiadm -m session -P N 查看iscsi的会话信息(N=1-3) [root@CentOS6 ~]# iscsiadm -m discovery -P N 查看discovery信息(N=0,1)
(6)、登出一个target会话:
[root@CentOS6 ~]# iscsiadm -m node -T iqn.2008-09.com.example:server.target2:iscsi -p 192.168.0.120:3260 -u
(7)、当需要重新进行连接时,可以重启iscsi服务,系统将自动进行连接,也可以通过以下的命令实现重新连接:
[root@CentOS6 ~]# iscsiadm -m node -T iqn.2008-09.com.example:server.target2:iscsi -p 192.168.0.120:3260 -l
(8)、关闭iSCSI在开机重启或重启iscsi服务时自动对target进行重新连接,就需要在该客户机彻底将该target条目信息删除:
1)登出target会话:
[root@CentOS6 ~]# iscsiadm -m node -T iqn.2008-09.com.example:server.target2:iscsi -p 192.168.0.120:3260 -u
2)删除target条目的记录:
[root@CentOS6 ~]# iscsiadm -m node -o delete -T iqn.2008-09.com.example:server.target2:iscsi -p 192.168.0.120:3260
在客户端删除了之前discovery发现的可用的target条目,则重启或重启服务后将不会自动进行重连接。
6、重启后自动挂载
如果从 iscsi 服务器端连接的分区格式化为:/dev/sdc
那么挂载是需要加_netdev参数,否则启动时候报错。
例如:
/dev/sdc /mnt ext4 default,_netdev 0 0
目录 返回
首页