CentOS 6.3下配置iSCSI网络存储

81971834 2015-01-04

一、简介

iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的、可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行路由选择。iSCSI技术是一种新储存技术,该技术是将现有SCSI接口与以太网络(Ethernet)技术结合,使服务器可与使用IP网络的储存装置互相交换资料。

iSCSI是一种基于TCP/IP 的协议,用来建立和管理IP存储设备、主机和客户机等之间的相互连接,并创建存储区域网络(SAN)。SAN 使得SCSI 协议应用于高速数据传输网络成为可能,这种传输以数据块级别(block-level)在多个数据存储网络间进行。SCSI 结构基于C/S模式,其通常应用环境是:设备互相靠近,并且这些设备由SCSI 总线连接。

iSCSI 的主要功能是在TCP/IP 网络上的主机系统(启动器 initiator)和存储设备(目标器 target)之间进行大量数据的封装和可靠传输过程。

完整的iSCSI系统的拓扑结构如下:

CentOS 6.3下配置iSCSI网络存储

二、实验环境

操作系统:CentOS release 6.3 (Final)

iSCSI Target:192.168.1.21 / scsi-target-utils-1.0.24-12.el6_5.i686

iSCSI Initiator:192.168.1.22 / iscsi-initiator-utils-6.2.0.873-10.el6.i686

防火墙已关闭/iptables: Firewall is not running.

SELINUX=disabled

--------------------------------------分割线--------------------------------------

--------------------------------------分割线--------------------------------------

三、准备工作

iSCSI可分享的设备类型有很多,包括镜像文件(*.img)、分区(partition)、物理硬盘、raid设备、逻辑卷等,下面我们将准备其中的几种来测试,其他类型大家可以自行测试。

3.1 模拟镜像

在iSCSI Target的/srv目录下创建一个200M大小的镜像文件。

# mkdir /srv/iscsi

# dd if=/dev/zero of=/srv/iscsi/disk1.img bs=1M count=200

# ll -lh /srv/iscsi/disk1.img

CentOS 6.3下配置iSCSI网络存储

3.2 建立分区

创建一个500M大小的分区/dev/sdb1.

# fdisk /dev/sdb

CentOS 6.3下配置iSCSI网络存储

3.3 创建逻辑卷

创建一个800M大小的LV.

# pvcreate /dev/sdc

# vgcreate vg0 /dev/sdc

# lvcreate -L 800M -n lv1 vg0

CentOS 6.3下配置iSCSI网络存储

四、配置iSCSI Target

4.1 安装tgt

CentOS 自带了scsi-target-utils 软件,我们使用该软件进行target设置。

# yum -y install scsi-target-utils

4.2 配置tgt

tgt的主配置文件为/etc/tgt/targets.conf,下面我们来设置改文件。

在该文件最后新增以下设置:

 
<target iqn.2014-07.dev.iscsi-target:iscsidisk> 
    backing-store /srv/iscsi/disk1.img 
    backing-store /dev/sdb1 
    backing-store /dev/vg0/lv1 
    backing-store /dev/sdd 
</target>
 

说明:

iqn = iSCSI Qualified Name

iSCSI target的名称规则如下:

iqn.2014-07.dev.iscsi-target:iscsidisk

iqn.年份-月份.域名反写.设备识别

每个在同一个target上的backing-store 称为逻辑单元号(Logical Unit Number,LUN),这个实验中有4个LUN。

其他高级设置如initiator-address、incominguser,大家自行查资料。

4.3 启动iSCSI target

# /etc/init.d/tgtd start

# chkconfig tgtd on

# netstat -tulnp|grep tgt

CentOS 6.3下配置iSCSI网络存储

4.4 查看iSCSI target

# tgt-admin –show

CentOS 6.3下配置iSCSI网络存储

CentOS 6.3下配置iSCSI网络存储

LUN0 是控制器,可以看到各个LUN的大小和磁盘路径。

至此,iSCSI Target 设定完毕。

相关推荐