您的位置:首页 > 理论基础 > 计算机网络

CentOS 6.3下配置iSCSI网络存储

2016-11-09 20:24 1246 查看


CentOS 6.3下配置iSCSI网络存储

一、简介
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 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

安装驱动

QLogic的官网(http://www.qlogic.com/pages/default.aspx)

识别HBA卡

通过通过 lspci 检查系统是否已经识别了我们的HBA卡:

# lspci | grep -i ql   <== 由于lspci显示连接的pci设备过多,通过grep查找

82:01.0 Ethernet controller: QLogic Corp. ISP4032-based Ethernet IPv6 NIC

82:01.1 Network controller: QLogic Corp. ISP4032-based iSCSI TOE IPv6 HBA

以上的信息显示了我们系统能够识别了QLogic的HBA卡

加载相关驱动

通过 lsmod 查看CentOS中内置的QLogic的驱动是否已经加载:

# lsmod | grep -i ql

qla4xxx               260462  0

iscsi_boot_sysfs       16000  1 qla4xxx

libiscsi               57278  4 qla4xxx,libiscsi_tcp,iscsi_tcp,ib_iser

scsi_transport_iscsi    89279  5 qla4xxx,iscsi_tcp,ib_iser,libiscsi

qla3xxx                43909  0

如果有以上信息的显示,则表明内核模块中的qla4xxx、qla3xxx驱动已经加载,HBA卡驱动已安装。

三、准备工作
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



3.2 建立分区
创建一个500M大小的分区/dev/sdb1.
# fdisk /dev/sdb



3.3 创建逻辑卷
创建一个800M大小的LV.
# pvcreate /dev/sdc
# vgcreate vg0 /dev/sdc
# lvcreate -L 800M -n lv1 vg0



四、配置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



4.4 查看iSCSI target
# tgt-admin –show






LUN0 是控制器,可以看到各个LUN的大小和磁盘路径。
至此,iSCSI Target 设定完毕。
五、配置iSCSI
Initiator
5.1 安装initiator
# yum -y install iscsi-initiator-utils
5.2 设置开机启动
# chkconfig iscsid on
# chkconfig iscsi on
5.3 配置文档
initiator的配置文档位于/etc/iscsi/,该目录下有两个文件,initiatorname.iscsi 和iscsid.conf,
其中iscsid.conf 是其配置文件,initiatorname.iscsi 是标记了initiator的名称,它的默认名称是InitiatorName=iqn.1994-05.com.redhat:b45be5af6021,我们可以根据实际情况进行更改,比较好区分,这里我们修改为InitiatorName=iqn.2014-07.dev.iscsi-initiator:initiator。



因为在target里面,我们并没有设置访问限制,所以iscsid.conf 文件并不需要修改。
5.4 侦测target
如果我们事先不知道目标主机的target名称,我们就需要进行侦测,下面来讲解。
# iscsiadm -m discovery -t sendtargets -p 192.168.1.21



说明:

-m discovery  //侦测target
-t sendtargets  //通过iscsi协议
-p IP:port  //指定target的IP和port,不写port的话,默认为3260


5.5 查看nodes
iscsiadm 侦测到的结果会写入/var/lib/iscsi/nodes/ 中,因此只需启动/etc/init.d/iscsi 就能够在下次开机时,自动连接到正确的target了。
# ll -R /var/lib/iscsi/nodes/



侦测信息都写入了/var/lib/iscsi/nodes/iqn.2014-07.dev.iscsi-target:iscsidisk/192.168.1.21,3260,1/default 文件中了。
5.6 连接target
查看目前系统上面所有的target
# iscsiadm -m node
登录target
# iscsiadm -m node -T iqn.2014-07.dev.iscsi-target:iscsidisk –login



5.7 查看磁盘情况
# fdisk –l



可以看到,initiator 上面多了四块硬盘,大小和target上的LUN一致。这时你就可以像使用本地磁盘一样使用这些iSCSI设备了,下面我们来测试。
5.8 将/dev/sdb 和/dev/sdc 创建成LV挂载使用
创建LV
# pvcreate /dev/sdb /dev/sdc
# vgcreate iscsi /dev/sdb /dev/sdc
# lvcreate -L 1G -n iscsilv iscsi



格式化并挂载
# mkfs.ext4 /dev/iscsi/iscsilv
# mkdir /mnt/iscsi
# vi /etc/fstab



创建测试文件



挂载成功,创建测试文件成功。
5.9 重启测试



测试成功。
5.10 查看target信息
# tgt-admin --show



可以看到,此时使用该target的initiator 为iqn.2014-07.dev.iscsi-initiator:initiator,也就是我们上面更改的initiatorname,IP地址为192.168.1.22。
至此,iSCSI 置完毕。

更多内容: http://www.linuxidc.com/Linux/2014-09/106853.htm
Citrix XenServer中安装CentOS 6.0并配置iSCSI服务

1.挂载xe-tool并安装

# mkdir /media/cdrom

# chmod 777 /media/cdrom

# mount /dev/cdrom /media/cdrom

# /media/cdrom/Linux/install.sh

...

# umount /media/cdrom

# reboot

2.挂载CentOS安装光盘更新源为挂载的ISO文件

# mount /dev/cdrom /media/cdrom

# cd /etc/yum.repo.d/

注销两个源

# mv CentOS-Base.repo CentOS-Base.repo.bak

# mv CentOS-Debug.repo CentOS-Debug.repo.bak

# vi CentOS-Media.repo

gpgcheck=0

enabled=1

# yum update

3.安装vim

# yum install vim

4.安装iSCSI服务组件scsi-target-utils

# yum install scsi-target-utils

5.退出CentOS光盘(可选)

 # umount /media/cdrom

6.配置IP

# vim /etc/sysconfig/network-script/eth0

例如:

DEVICE=eth0

BOOTPROTO=static

TYPE=Ethernet

NAME="System eth0"

ONBOOT=yes

HWADDR=08:00:27:24:F8:9B

IPADDR=192.168.56.101

NETMASK=255.255.255.0

BROADCAST=192.168.56.255

NETWORK=192.168.56.1

7.准备磁盘(LVM)

#pvcreate /dev/xvdb

#vgextend VolGroup /dev/xvdb

#lvcreate -l ? -n lv_iscsi VolGroup

说明:

1)xvdb是磁盘设备文件;

2)VolGroup是卷组名字;

3)-l后面是大小,lv_iscsi是逻辑卷名字

8.配置

方法1:

配置文件

# vim /etc/tgt/targets.conf

<target iqn.2013-01.com.example:dell.storage>

    direct-store /dev/VolGroup/lv_iscsi

</target>

方法2:

tgtadm命令

(1)创建一个新的target条目:

# tgtadm --lld iscsi --op new --mode target --tid 1 -T iqn.2008-09.com.example:dell.storage

(2)发布本地的块设备以及配置target的访问控制:

# tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 1 -b /dev/VolGroup/lv_iscsi

(3)设置访问权限:

# tgtadm --lld iscsi --op bind --mode target --tid 1 -I 172.16.0.0/16

或 # tgtadm --lld iscsi --op bind --mode target --tid 1 -l ALL

注:如果要使机器重启iSCSI生效,需将上面命令写入/etc/rc.local

 

9.开机启动设置

1)iSCSI服务自启动

# chkconfig tgtd on

2)关闭防火墙

# service iptables stop

# service ip6tables stop

# chkconfig iptables off

# chkconfig ip6tables off

3)关闭SELINUX

# vim /etc/sysconfig/selinux

SELINUX=disabled

#reboot
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux