一、前言

  1、什么是iSCSI?

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

    iSCSI:Internet 小型计算机系统接口 (iSCSI:Internet Small Computer System Interface)。
Internet 小型计算机系统接口(iSCSI)是一种基于 TCP/IP的协议,用来建立和管理 IP 存储设备、主机和客户机等之间的相互连接,并创建存储区域网络(SAN)。SAN 使得 SCSI 协议应用于高速数据传输网络成为可能,这种传输以数据块级别(block-level)在多个数据存储网络间进行。
    SCSI 结构基于客户/服务器模式,其通常应用环境是:设备互相靠近,并且这些设备由 SCSI 总线连接。iSCSI 的主要功能是在 TCP/IP 网络上的主机系统(启动器 initiator)和存储设备(目标器 target)之间进行大量数据的封装和可靠传输过程。此外,iSCSI 提供了在 IP 网络封装 SCSI 命令,且运行在 TCP 上。


2、实验环境:Centos最下化安装6.5操作系统两台   VMware虚拟化软件  关闭SELINUX、iptables

服务端:Centos6.5 192.168.1.1 增加20G硬盘一块 底层LVM+ISCSI服务

客户端: Centos6.5 192.168.1.2 ISCSI登录+LVM


3、服务端:

[root@localhost ~]# yum -y install scsi-target-utils

[root@localhost ~]# fdisk -l | grep /dev/sda    //你们的可能是sdb

wKioL1i6pRGDWwPHAAAOhldlt8Y537.png-wh_50

[root@localhost ~]# fdisk -cu /dev/sda

创建两个分区,10G左右一个

[root@localhost ~]# fdisk -l /dev/sda

实战部署ISCSI共享存储服务_第1张图片

[root@localhost ~]# partx -a /dev/sda1 /dev/sda   //此操作通知内核分区已发生变化

[root@localhost ~]# partx -a /dev/sda2 /dev/sda

[root@localhost ~]# pvcreate /dev/sda1 /dev/sda2

[root@localhost ~]# pvs  //用于输出格式化的物理卷信息报表,更相信的信息可使用pvdisplay命令
[root@localhost ~]# pvdisplay

[root@localhost ~]# vgcreate gp /dev/sda1 /dev/sda2 //将sda1,2创建成卷组,名称为gp

 Volume group "gp" successfully created

[root@localhost ~]# vgs

[root@localhost ~]# vgdisplay

[root@localhost ~]# lvcreate -L 15G -n lvm gp //从卷组gp中创建名为lvm的逻辑卷,大小为15G。

Logical volume "lvm" created

[root@localhost ~]# vim /etc/tgt/targets.conf

添加:

    backing-store /dev/gp/lvm

    initiator-address 192.168.1.2 

注释:

Target

的命名在同一子网内应该是唯一的,标准命名方式为:

iqn.yyyy-mm.[:identifier]

其中:iqn:表示“iSCSI Qualified Name”,简称iqn。

yyyy-mm:表示年份-月份。这里是2017-03。

reversed domain name:表示倒过来的域名,这里是com.example。

backing-store 用于指定存储设备,一般指非实际的物理磁盘,如LVM 卷、某个分

区、raid 磁盘阵列。

initiator-address 地址 用于将target 指派给指定的客户机使用。

或者可以写成initiator-address 192.168.1.0/24

表示允许C类地址1.0网段的可以访问,有多个可以另起一行再写。。

[root@localhost ~]# /etc/init.d/tgt start

[root@localhost ~]# netstat -anput | grep 3260

[root@localhost ~]# tgtadm --lld iscsi --op show --mode target //注意是两个横杠

使用tgtadm 工具创建ISCSI 对象时,主要命令选项如下所述:

-L,--lld:指定驱动类型,如“-L iscsi”表示ISCSI 存储。

-o,--op:指定操作类型,如“-o new”表示创建,“-o delete”表示删除,“-o

show”表示查看信息。

-m,--mode:指定管理目标,如“-m target”表示ISCSI 对象。

-t,--tid:指定对象ID 号,如“-t 1”表示第一个对象。

-T,--targetname:指定ISCSI 对象的名称。


客户端操作:

[root@localhost ~]# yum -y install iscsi-initiator-utils

[root@localhost ~]# /etc/init.d/iscsi start

[root@localhost ~]# iscsiadm -m discovery -t st -p 192.168.1.1

[root@localhost ~]# iscsiadm -m mode -T iqn.2017-03.com.example:lvm -p 192.168.1.1 -l

[root@localhost ~]# ll /dev/disk/by-path

[root@localhost ~]# /etc/init.d/iscsi status

[root@localhost ~]# dmesg | tail  //dmesg用于显示系统开机硬件信息等

[root@localhost ~]# fdisk -l

将会看到共享过来的硬盘sdb,大小15G

[root@localhost ~]#下面可以自行对sdb做分区、lvm操作。。。