使用iSCSI服务部署网络存储

5/17/2018 1:08:40 PM

  • 简介
  •   - 1. iSCSI简述
      - 2. 部署ISCSI服务(服务端)
      - 3. linux下使用iscsi网络存储(客户端)
      - 4. windows 下使用iscsi网络存储(客户端)
      - 5. 总结iscsi应用
    

一、iSCSI简述

  • 基本过程

     - 1. iscsi技术概述
     - 2. iscsi的由来
     - 3. iscsi-HBA卡
    
1. iscsi技术

iscsi技术:实现了物理硬盘设备与TCP/IP 网络协议的相互结合,使得用户可以通过互联网方便的访问远程IDC提供的共享存储资源。

常见的硬盘接口类型主要有IDE、SCSI和SATA 三种:

	IDE:是一种稳定、旧式的并行传输接口。常见于旧式机械硬盘
	SCSI:是一种用于计算机和硬盘、光驱等设备之间系统级接口的通用标准,具有系统资源占用率低、转速快、传输速度高等优点。
	SATA:是一种传输速度更快、数据校验更完整的串行传输接口。
2. iscsi的由来

IBM公司着手研发,基于TCP/IP网络协议和SCSI接口协议的新型网络存储技术,这也是我们目前看到的互联网小型计算机系统接口(iSCSI,Internet Small Computer System Interface),是一种将SCSI接口与以太网技术结合的新型网络存储技术。

主要用途:

> 用于在网络中传输SCSI接口的命令和数据;
> 实现了跨区域的存储资源共享;
> 在不停机的状态下扩展存储容量;

缺点:

> 受网速的制约
> 传统硬盘直接通过主板的总线进行数据传输,现在需要让互联网作为数据的传输载体与通道,因此网络的传输速率和稳定性是iscsi技术的瓶颈。
3. iscsi-HBA卡

目的是:解决iscsi技术的瓶颈问题。

  • ISCSI-HBA卡与一般网卡的区别:

    一般网卡:连接网络总线和内存,供计算机上网使用。

    iscsi-HBA卡:连接SCSI接口或是FC(光纤通道)总线和内存,专门用于在主机之间交换存储数据,其使用的协议也与一般网卡有本质的区别。

iscsi-HBA卡的工作过程:运行Linux系统的服务器会基于iSCSI协议把硬盘设备命令与数据打包成标准的TCP/IP数据包,然后通过以太网传输到目标存储设备,当目标存储设备接收到这些数据包后,再基于iSCSI协议把TCP/IP数据包解压成硬盘设备命令与数据。

二、部署iSCSI服务 (服务端)###

  • 基本过程

     - 1. 基于服务器的稳定性与可用性,使用RAID10 磁盘阵列,提供数据安全性、存取速度
     - 2. 安装target(d)服务程序与targetcli命令工具 yum install -y targetd targetcli  
     - 3. 重启target服务,并加入开机启动项 systemctl restart/enable target
     - 4. 设置防火墙IPtables 或firewall-cmd
     - 5. linux系统下测试iscsi服务
    
1. 基于服务器的稳定性与可用性,使用RAID10 磁盘阵列,提供数据安全性、存取速度

服务端 添加硬盘设备

在这里插入图片描述

服务端查看是否成功添加硬盘

在这里插入图片描述

为了数据的安全性和存取速度将硬盘创建成磁盘阵列

在这里插入图片描述

2. 安装target(d)服务程序与targetcli命令工具 yum install -y targetd targetcli

在这里插入图片描述

3. 重启target服务,并加入开机启动项 systemctl restart/enable target

在这里插入图片描述

出现了一个异常状态,实际重启targetd服务后,其状态应该是 Active,但是却是failed(启动失败),但是却可以正常提供iscsi服务,因此怀疑不是该服务程序提供iscsi服务!

在这里插入图片描述

经过确认真正为iscsi提供服务的程序是 target服务,因此iscsi可以正常为用户提供网络存储服务

在这里插入图片描述

4. 设置防火墙IPtables 或firewall-cmd

在这里插入图片描述

5. 配置iscsi服务(服务端)

查看iscsi当前的配置情况

在这里插入图片描述

将磁盘阵列加入到共享资源池

在这里插入图片描述

创建iscsi共享设备

在这里插入图片描述

在这里插入图片描述

创建用于验证的ACL客户端名称,创建用于提供iscsi的网卡

在这里插入图片描述

iscsi配置文件保存的目录

在这里插入图片描述

三、 linux系统下测试iscsi服务

1.在linux系统的客户端查看指定远程服务器共享的iscsi网络存储设备

在这里插入图片描述

2.在客户端(linux)下登录远程共享服务器

在这里插入图片描述

在这里插入图片描述

3.在客户端(linux)通过UUID挂载共享网络存储设备

在这里插入图片描述

4.在客户端(linux)下编辑 /etc/fstab 配置文件,自动挂载网络存储设备,_netdev,标注此设备为网络设备,联网时自动挂载,避免系统因不能正常挂载,而无法重启

在这里插入图片描述


在这里插入图片描述

5.在客户端(linux)挂载网络设备前后查看当前系统挂载情况

在这里插入图片描述

6.在客户端(linux)查看挂载点,是否可以正常使用

在这里插入图片描述

四、 windows 下使用iscsi网络存储(客户端)

1.在客户端(windows)使用iscsi发起程序链接远程的共享存储设备,设置ACL验证,需要与服务端创建的ACL保持一致

在这里插入图片描述

2. 设置连接的网络共享设备,通过服务器的IP进行链接

在这里插入图片描述

3. 通过windows的《管理》–>《磁盘管理》会自动发现服务器共享的网络存储设备,该网络存储设备在windows下首次使用需要初始化操作

在这里插入图片描述

在这里插入图片描述

4. 初始化操作完成资源管理器会自动挂载使用这个存储设备

在这里插入图片描述

五、总结iscsi应用

1.在Linux系统中

	a. iscsi服务端服务程序是**target**
	b. iSCSI客户端程序为**initiator**
  1. acls参数目录用于存放能够访问iSCSI服务端共享存储资源的客户端名称
  1. portals参数目录用于定义由服务器的哪个IP地址对外提供共享存储资源服务。
  1. iSCSI协议使用了TCP协议的3260端口号,这个用于防火墙设置,来允许外部客户端访问服务器的iSCSI服务

5.用户在填写fstab设备挂载配置文件时,一般会把远程存储资源的UUID(而非设备的名称)填写到配置文件中。是因为在Linux系统中,设备名称是由udev服务进行管理的,而udev服务的设备命名规则是由设备类型及系统识别顺序等信息共同组成的。考虑到网络存储设备具有识别顺序不稳定的特点,所以为了避免识别顺序混乱造成的挂载错误问题,故使用UUID进行挂载操作。

Logo

更多推荐