Linux上使用iSCSI概述
iSCSI简介
1、 scsi和iscsi
- SCSI技术是存储设备最基本的标准协议,通常需要设备互相靠近并用SCSI总线连接,因此受到物理环境的限制
- iSCSI(Internet Small Computer System Interface),顾名思义,iSCSI是网络上的SCSI,也就是通过网络连接的SCSI
- 实现在IP网络上运行SCSI协议的存储技术,能够让SCSI接口与以太网技术相结合,使用iSCSI协议基于以太网传送SCSI命令与数据
- 克服了SCSI需要直接连接存储设备的局限性,使得可以跨越不同的服务器共享存储设备,并可以做到不停机状态下扩展存储容量
- iSCSI实现的是IP SAN,数据传输基于以太网
- iSCSI 可共享包括镜像文件(.img)、分区(partition)、单块硬盘(无需分区)、raid磁盘阵列、逻辑卷LVM等
- iSCSI 的主要功能是在TCP/IP 网络上的主机系统(启动器 initiator)和存储设备(目标器 target)之间进行大量数据的封装和可靠传输过程
2、 iSCSI数据封装
- initiator(启动器)向target(目标器)发起scsi命令后,在数据报文从里向外逐层封装SCSI协议报文、iSCSI协议报文、tcp头、ip头
- 封装是需要消耗CPU资源的,如果完全以软件方式来实现iscsi,那么所有的封装过程都由操作系统来完成
- 除了软件方式实现,还有硬件方式的initiator(TOE卡和HBA卡),通过硬件方式实现iSCSI
- TOE卡,操作系统首先封装SCSI和iSCSI协议报文,而TCP/IP头则交由TOE内的芯片来封装,这样就能减少一部分系统资源消耗
- HBA卡,操作系统只需封装SCSI,剩余的iSCSI协议报文还有TCP/IP头由HBA芯片负责封装

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

请确保服务器A上已经关闭了防火墙或者允许了3260端口
下图描述了使用iSCSI的大致过程:

Linux上使用iSCSI概述的更多相关文章
- Linux上配置使用iSCSI详细说明
本文详细介绍iSCSI相关的内容,以及在Linux上如何实现iSCSI. 第1章 iSCSI简介 1.1 scsi和iscsi 传统的SCSI技术是存储设备最基本的标准协议,但通常需要设备互相靠近并用 ...
- 【Oracle 集群】11G RAC 知识图文详细教程之RAC在LINUX上使用NFS安装前准备(六)
RAC在LINUX上使用NFS安装前准备(六) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇 ...
- Linux内核启动过程概述
版权声明:本文原创,转载需声明作者ID和原文链接地址. Hi!大家好,我是CrazyCatJack.今天给大家带来的是Linux内核启动过程概述.希望能够帮助大家更好的理解Linux内核的启动,并且创 ...
- Linux上open-iscsi 的安装,配置和使用
关于open-iscsi open-iscsi是一个实现 RFC3720 iSCSI协议的高性能initiator程序.iSCSI使得访问SAN上的存储不再只能依赖Fibre Channel,也可以通 ...
- linux上redis安装配置及其防漏洞配置及其攻击方法
Linux上redis安装: 需先在服务器上安装yum(虚拟机可使用挂载的方式安装) 安装配置所需要的环境运行指令: yum -y install gcc 进入解压文件执行make 指令进行编译 执 ...
- [转帖]Linux分页机制之概述--Linux内存管理(六)
Linux分页机制之概述--Linux内存管理(六) 2016年09月01日 19:46:08 JeanCheng 阅读数:5491 标签: linuxkernel内存管理分页架构更多 个人分类: ┈ ...
- Linux音频驱动-ALSA概述
概述 ALSA(Advanced Linux Sound Architecture)是linux上主流的音频结构,在没有出现ALSA架构之前,一直使用的是OSS(Open Sound System)音 ...
- 【转】【Oracle 集群】11G RAC 知识图文详细教程之RAC在LINUX上使用NFS安装前准备(六)
原文地址:http://www.cnblogs.com/baiboy/p/orc6.html 阅读目录 目录 介绍 下载软件 操作系统安装 Oracle安装先决条件 创建共享磁盘 参考文献 相关文章 ...
- Linux下搭建iSCSI共享存储详细步骤(服务器模拟IPSAN存储)
一.简介 iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的.可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够 ...
随机推荐
- day-5 xctf-when_did_you_born
xctf-when_did_you_born 题目传送门:https://adworld.xctf.org.cn/task/answer?type=pwn&number=2&grade ...
- 【算法学习笔记】Meissel-Lehmer 算法 (亚线性时间找出素数个数)
「Meissel-Lehmer 算法」是一种能在亚线性时间复杂度内求出 \(1\sim n\) 内质数个数的一种算法. 在看素数相关论文时发现了这个算法,论文链接:Here. 算法的细节来自 OI w ...
- Spring-Gateway与Spring-Security在前后端分离项目中的实践
前言 网上貌似webflux这一套的SpringSecurity操作资料貌似很少. 自己研究了一波,记录下来做一点备忘,如果能帮到也在迷惑的人一点点,就更好了. 新项目是前后端分离的项目,前台vue, ...
- 实现服务端和客户端的实时双向数据传输-WebSocket简单了解
WebSocket 前段时间项目中遇到了消息推送的问题,当时采用客户端轮询,每隔 5s 请求一次数据.由于轮询的效率低,非常浪费资源.后面准备把轮询调整为使用 WebSocket 来建立连接,实现推送 ...
- 共享内存多进程key value操作
这个方法的优势是多进程,劣势也很明显,只允许操作key为uint32 value为uint32的数据. https://www.cnblogs.com/dearplain/p/11578588.h ...
- 1.1.08- Python变量的关联,绑定,引用
Python中关联.绑定,引用的含义: 在Python中,变量没有类型 关联/绑定/引用都是指变量和一个对象的关联关系. 在交互模式下查看变量的绑定关系: >>>help(" ...
- 05- 移动端APP的分类 与对比webApp hybridApp nativeApp
随着智能手机的普及,移动端应用几乎成为每个互联网产品的标配.在快速迭代的互联网战场中高效开发.低成本上线产品,是每个应用开发团队追求的目标.此时,选择合适的应用类型和开发模式便至关重要.移动应用可以粗 ...
- 使用DirectX截屏
网上有很多关于DirectX截屏的文章,但大都是屏幕截图,很少有窗口截图,本文则两者都涉及到,先讲如何截取整个屏幕,再讲如何截取某个窗口,其实二者的区别不大,只是某个参数的设置不同而已,最后我们还将扩 ...
- Linux中正则表达式和字符串的查询、替换(tr/diff/wc/find)
目录 正则表达式 基本正则表达式 扩展正则表达式 grep tr diff du wc find 正则表达式 正则表达式,又称正规表示法.常规表示法( Regular Expression,在代码中常 ...
- POJ1325二分匹配或者DINIC(最小路径覆盖)
题意: 有k个任务,两个机器,第一个机器有n个模式,第二个机器有m个模式,每个任务要么在第一个机器的一个模式下工作,要么在第二个机器的一个模式下工作,机器每切换一个模式需要重启一次,两个 ...