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


    iSCSI技术在工作形式上分为服务端(target)与客户端(initiator)。iSCSI服务端即用于存放硬盘存储资源的服务器,它可以作为磁盘阵列的存储端,能够为用户提供可用的存储资源。iSCSI客户端则是用户使用的软件,用于访问远程服务端的存储资源


    结合下面的简单拓扑图介绍如何在CentOS服务器中配置iSCSI网络存储服务
    CentOS配置iSCSI网络存储服务 - 图2
    一、服务端192.168.31.211上的操作
    1、yum安装scsi-target-utils服务包
    [root@localhost ~]# yum install scsi-target-utils
    image.png
    2、data目录下创建iscsi_disk.img磁盘映像
    [root@localhost data]# dd if=/dev/zero of=/data/iscsi_disk.img count=0 bs=1 seek=10G
    image.png
    3、创建targets.conf配置文件并将 /data/iscsi_disk.img设置为共享磁盘
    [root@localhost ~]# mv /etc/tgt/targets.conf /etc/tgt/targets.conf_default
    [root@localhost ~]# vi /etc/tgt/targets.conf

    backing-store /data/iscsi_disk.img

    CentOS配置iSCSI网络存储服务 - 图5
    4、设置iscsi服务端服务tgtd开机自启动,并启动服务
    [root@localhost ~]# service tgtd start
    [root@localhost ~]# chkconfig tgtd on
    [root@localhost ~]# chkconfig tgtd —list
    [root@localhost ~]# tgtadm —mode target —op show #查看iSCSI target
    CentOS配置iSCSI网络存储服务 - 图6或者tgt-admin —show
    CentOS配置iSCSI网络存储服务 - 图7
    二、客户端192.168.31.212上的操作步骤
    image.png
    1、安装iscsi-initiator-utils客户端服务包
    [root@Client ~]# yum install iscsi-initiator-utils -y
    image.png
    2、先进行侦测目标主机,获取target名称
    [root@Client ~]# iscsiadm -m discovery -t sendtargets -p 192.168.31.211
    image.png
    [root@Client ~]# iscsiadm -m node -o show
    3、iscsiadm -m node —login进行登录
    [root@Client ~]# iscsiadm -m node —login
    [root@Client ~]# iscsiadm -m session -o show
    CentOS配置iSCSI网络存储服务 - 图11
    4、登录成功后fdisk -l可以看到挂载上来的盘

    或者cat /proc/partitions查看是否挂载上来了
    (对磁盘的分区操作及创建挂载目录的操作就不介绍了)
    CentOS配置iSCSI网络存储服务 - 图12
    5、设置开机自启动iscsid服务
    [root@Client ~]# chkconfig iscsid on
    [root@Client ~]# service iscsid status
    iscsid (pid 2242) is running…
    [root@Client ~]# chkconfig iscsid —list
    CentOS配置iSCSI网络存储服务 - 图13
    CentOS配置iSCSI网络存储服务 - 图14
    iscsiadm 侦测到的结果会写入/var/lib/iscsi/nodes/ 中,因此iscsid服务开机自启动就能够在下次开机时,自动连接到正确的target了