iSCSI:Internet 小型计算机系统接口 (iSCSI:Internet Small Computer System Interface)。
iSCSI又称为IP-SAN,是一种基于因特网及SCSI-3协议下的存储技术,由IETF提出,并于2003年2月11日成为正式的标准。与传统的SCSI技术比较起来,iSCSI技术有以下三个革命性的变化:
1.把原来只用于本机的SCSI协义透过TCP/IP网络传送,使连接距离可作无限的地域延伸;
2.连接的服务器数量无限(原来的SCSI-3的上限是15);
3.由于是服务器架构,因此也可以实现在线扩容以至动态部署。
iSCSI利用了TCP/IP的port 860 和 3260 作为沟通的渠道。透过两部计算机之间利用iSCSI的协议来交换SCSI命令,让计算机可以透过高速的局域网集线来把SAN模拟成为本地的储存装置。
2.1 ISCSI TARGET简介
由于暂时没有专用的iSCSI存储设备,采用在另一台Linux机器上通过安装部署iSCSI服务端(target)软件模拟一台支持iSCSI协议的存储设备,客户端通过访问这台设备来体验iSCSI,如果有真实target,即物理共享存储,该节内容可忽略不看。
对于每个target来说,主机ID是唯一的,存储块设备的LUN ID是由iSCSI target来分配的。iSCSI驱动器为SCSI请求和回应提供了一个通过IP网络传输的渠道。
2.2 ISCSI TARGET安装
目标机器:操作系统为CentOS release 6.5 ,IP为192.168.37.146
安装ISCSI target(server)软件
[root@localhost ~]# yum -y install scsi-target-utils
配置ISCSI共享磁盘
ISCSI的共享磁盘可以是镜像文件(.img)、LVM分区、物理磁盘、或其它分区,我们在虚拟机上新建一个2G的分区模拟共享磁盘,分区块设备为/dev/sdb1
2.3 ISCSI TARGET配置
2.3.1 修改ISCSI target配置文件
[root@localhost /]# vi /etc/tgt/targets.conf
……
<target iqn.2014-07-27.com.example:server.target1>
backing-store /dev/sdb
write-cache off
#initiator-address 192.168.37.147 initiator-address:如果你想要限制能够使用这个target的用户端来源,才需要填写这个(默认全部允许)。
</target>
……
注:也可使用块儿设备模拟物理磁盘,如:dd if=/dev/zero of=/opt/iscsi-disk1/disk1.img bs=1M count=1000
配置文件相应修改为:backing-store /opt/iscsi-disk1/disk1.img
2.3.2 修改对象(文件)的安全上下文。比如:用户:角色:类型:安全级别。-R,递归地修改对象的安全上下文。-v,显示冗长的信息。
[root@localhost ~]# chcon -Rv -t tgtd_var_lib_t /dev/sdb
changing security context of `/dev/sdb'
若报错:
[root@localhost ~]# chcon -Rv -t tgtd_var_lib_t /dev/sdb
changing security context of `/dev/sdb'
chcon: can't apply