• Linux上使用iSCSI概述


    iSCSI简介

    1、 scsi和iscsi

    1. SCSI技术是存储设备最基本的标准协议,通常需要设备互相靠近并用SCSI总线连接,因此受到物理环境的限制
    2. iSCSI(Internet Small Computer System Interface),顾名思义,iSCSI是网络上的SCSI,也就是通过网络连接的SCSI
    3. 实现在IP网络上运行SCSI协议的存储技术,能够让SCSI接口与以太网技术相结合,使用iSCSI协议基于以太网传送SCSI命令与数据
    4. 克服了SCSI需要直接连接存储设备的局限性,使得可以跨越不同的服务器共享存储设备,并可以做到不停机状态下扩展存储容量
    5. iSCSI实现的是IP SAN,数据传输基于以太网
    6. iSCSI 可共享包括镜像文件(.img)、分区(partition)、单块硬盘(无需分区)、raid磁盘阵列、逻辑卷LVM等
    7. iSCSI 的主要功能是在TCP/IP 网络上的主机系统(启动器 initiator)和存储设备(目标器 target)之间进行大量数据的封装和可靠传输过程

    2、 iSCSI数据封装

    1. initiator(启动器)向target(目标器)发起scsi命令后,在数据报文从里向外逐层封装SCSI协议报文、iSCSI协议报文、tcp头、ip头
    2. 封装是需要消耗CPU资源的,如果完全以软件方式来实现iscsi,那么所有的封装过程都由操作系统来完成
    3. 除了软件方式实现,还有硬件方式的initiator(TOE卡和HBA卡),通过硬件方式实现iSCSI
      • TOE卡,操作系统首先封装SCSI和iSCSI协议报文,而TCP/IP头则交由TOE内的芯片来封装,这样就能减少一部分系统资源消耗
      • HBA卡,操作系统只需封装SCSI,剩余的iSCSI协议报文还有TCP/IP头由HBA芯片负责封装
    4. 很显然,HBA卡实现iSCSI是最好的方案,但是它要花钱,还不便宜

    3、 部署iscsi的说明和需求描述

    1. 说明
      • iscsi在target端是工作在套接字上的,监听端口默认是3260,且使用的是tcp连接。因为要保证数据安全性,使用udp可能会导致丢包
      • iscsi对客户端有身份认证的需要,有两种认证方式:基于IP认证,基于CHAP认证(双方都进行验证,即双向认证)
    2. 需求描述
    • 找一台服务器A作为iscsi的target,将其中的一块磁盘或分区/dev/sdb当作要共享的存储设备共享出去。再找两台服务器B和C当作iscsi initiator连接到target的共享存储上
      大致拓扑图如下:

      请确保服务器A上已经关闭了防火墙或者允许了3260端口
      下图描述了使用iSCSI的大致过程:
  • 相关阅读:
    Memcached下载、安装及使用演示。
    Redis和Memcache对比及选择
    Log4Net.Config配置信息《转》
    常用正则表达式!收藏
    关于ViewData,ViewBag,TempData三者学习记录!
    C#实战Microsoft Messaging Queue(MSMQ)消息队列(干货)<转>
    C# AutoResetEvent
    C#英文面试常见问题[转]
    Highsoft.Highcharts 5.0.6439.38401 key
    vs2017安装后自动应用许可证
  • 原文地址:https://www.cnblogs.com/itwangqiang/p/14133312.html
Copyright © 2020-2023  润新知