一、介绍

(1)iSCSI:Internet小型计算机系统接口(iSCSI:InternetSmallComputerSystemInterface)。

(2)Internet小型计算机系统接口(iSCSI)是一种基于TCP/IP的协议,用来建立和管理IP存储设备、主机和客户机等之间的相互连接,并创建存储区域网络(SAN)。SAN使得SCSI协议应用于高速数据传输网络成为可能,这种传输以数据块级别(block-level)在多个数据存储网络间进行。

(3)SCSI结构基于客户/服务器模式,其通常应用环境是:设备互相靠近,并且这些设备由SCSI总线连接。iSCSI的主要功能是在TCP/IP网络上的主机系统(启动器initiator)和存储设备(目标器target)之间进行大量数据的封装和可靠传输过程。此外,iSCSI提供了在IP网络封装SCSI命令,且运行在TCP上。

虚拟磁盘就是在本地电脑里面虚拟出一个远程电脑里面的磁盘。感觉像是在本机上的硬盘一样。其实他没在本机上。

二、题目要求(环境准备:防火墙是trust状态、selinux)

1、配置system1上提供的iSCSI服务,磁盘名为iqn.2016-02.com.example.groupX:system1,并符合下列要求:

  • 服务端口为3260
  • 使用iscsi_store作为其后端卷,其大小为3GiB
  • 此服务只能被system2.groupX.example.com访问

配置

server上操作:

利用  fdisk  /dev/vdb  进行分区
    划分一个3G的主分区

   按p是查看分区表信息
   按n创建新的分区
   输入p是主分区
   输入1是第一个主分区
   起始 默认直接回车即可
   结束 +3G
   按p是查看分区表信息
   按w保存退出

[root@server0 ~]# ls /dev/vdb1
 定义iscsi服务端,磁盘组(target)[root@server0 ~]# yum -y install targetcli
[root@server0 ~]# targetcli
 创建后端存储
 /> backstores/block create name=nsd dev=/dev/vdb1 
 /> ls 创建target磁盘组,并命名磁盘组的名称(符合iqn格式)
 /> iscsi/ create iqn.2016-02.com.example:server0
 /> ls 将后端存储nsd加入到磁盘组(iqn.2016-02.com.example:server0)
 /> iscsi/iqn.2016-02.com.example:server0/tpg1/luns create /backstores/block/nsd 设置访问控制,只允许客户端以iqn......:desktop0的访问
 /> iscsi/iqn.2016-02.com.example:server0/tpg1/acls create iqn.2016-02.com.example:desktop0

共享iscsi服务的端口 3260
设置监听的IP和端口:

/> iscsi/iqn.2016-02.com.example:server0/tpg1/portals create  172.25.0.11  ip_port=3260
/> exit 退出,默认退出保存


######################################################

重起target服务,设置为开机自起,查看端口
[root@server0 ~]# systemctl restart target
[root@server0 ~]# systemctl enable target

[root@server0 ~]# netstat -anptu | grep 3260
tcp        0      0 172.25.0.11:3260        0.0.0.0:*               LISTEN      -                   

设置防火墙策略
[root@server0 ~]# firewall-cmd --set-default-zone=trusted 

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

2、配置system2使其能连接system1上提供的iqn.2016-02.com.example.groupX:system1,并使其符合以下要求:

  • iSCSI设备在系统启动的期间自动加载
  • 块设备iSCSI上包含一个大小为2100MiB的分区,并格式化为ext4文件系统
  • 此分区挂载在/mnt/data上,同时在系统启动的期间自动挂载

配置:

客户端  desktop0
# yum repolist    //先列出仓库信息
# yum -y install iscsi-initiator-utils.i686  
                                                            //安装iscsi客户端程序

修改配置文件,指定以iqn......:desktop0名称去访问服务端

# vim /etc/iscsi/initiatorname.iscsi 
  InitiatorName=iqn.2016-02.com.example:desktop0

# man  iscsiadm
      输入  G  到全文的最后
      向上找到EXAMPLES
      将例子复制

# iscsiadm --mode discovery --type sendtargets --portal 172.25.0.11 --discover
   //该命令的输出 是能够看到 服务端的    iqn.2016-02.com.example:server0 [root@desktop0 ~]# lsblk
[root@desktop0 ~]# systemctl restart iscsid #刷新iqn名称
 [root@desktop0 ~]# systemctl restart iscsi  #加载共享存储
 [root@desktop0 ~]# lsblk
 # vim  /var/lib/iscsi/nodes/*/*<tab>/default


查找startup,把第2个startup的值改成 atuomatic
# systemctl  enable  iscsi

[root@desktop0 ~]# systemctl enable iscsi
 [root@desktop0 ~]# systemctl enable iscsid

#################################################
[root@desktop0 ~]# fdisk /dev/sda
       按p是查看分区表信息
       按n创建新的分区
       输入p是主分区
       输入1是第一个主分区
       起始 默认直接回车即可
       结束 +2100M
       按p是查看分区表信息
       按w保存退出               

[root@desktop0 ~]# ls /dev/sda1
 [root@desktop0 ~]# mkfs.ext4 /dev/sda1   #格式化成ext4
 [root@desktop0 ~]# mkdir /mnt/test       #创建挂载点
 [root@desktop0 ~]# blkid /dev/sda1    #查看设备UUID值,并复制
 /dev/sda1: UUID="2e1ebb2f-db84-4165-8d8a-4b6a43289eb3" TYPE="ext4"
 [root@desktop0 ~]# vim  /etc/fstab    #设置开机自动挂载
  UUID="2e1ebb2f-db84-4165-8d8a-4b6a43289eb3"   /mnt/test  ext4   _netdev  0 0
 [root@desktop0 ~]# mount  -a
 [root@desktop0 ~]# sync;reboot -f  #先存盘再强制重启,避免关机卡死