网络存储–ISCSI

什么是ISCSI?

ISCSI,即Internet Small Computer System Interface,Internet小型计算机系统接口,又称为IP-SAN,是一种基于因特网及SCSI-3协议下的存储技术。也是一种在TCP/IP上进行数据块传输的标准。ISCSI可以实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行快速的数据存取备份操作

ISCSI的优缺点

可以多客户端同时挂载,但是有一个缺点,多个用户操作同一个客户端会对磁盘进行损坏,默认情况下,ISCSI的数据默认是没有共享能力的,可以通过Apache、Nginx等这些软件(这些软件工作在用户空间上),实现数据共享

iSCSI的工作方式

服务(设备)端–target

客户(应用)端–initiator

ISCSI和SCSI的区别

ISCSI把原来只用于本机的SCSI协议透过TCP/IP网络发送,使连接距离可作无限的地域延伸

ISCSI连接的服务器数量无限(可以连接,但不代表可以无限写入),原来的SCSI-3的上限是15

ISCSI由于是服务器架构,因此也可以实现在线扩容以至动态部署

ISCSI中磁盘 IQN LUN 的关系

ISCSI存储搭建

ISCSI默认情况下是不具有持久化能力的,每次ISCSI服务的重启,需要重新操作。当然也有可以实现持久化的操作。我们这里都会演示。ISCSI可以实现动态扩容

名词解释

名词 说明
ACL 访问权限控制列表,用来验证客户端启动器的访问,通常是客户端 iSCSI 启动器的 IQN 名称
IQN 用于标识单个 iSCSI 目标和启动器的唯一名称(全部小写)
WWN 用于标识单个光纤通道端口和节点的唯一编号
TARGET iSCSI 服务器上的存储资源
LUN iSCSI 服务器上的块设备
initiator(启动器) 以软件或硬件实施的 iSCSI 客户端
NODE 单个 iSCSI 启动器或者目标
TPG 启动器或者目标上的单个 IP 连接地址
Portal 网络接口及端口

服务端

1.分区

fdisk /dev/sdb   #分区
#生成的新分区/dev/sdb1

2.生成LVM

方便动态扩容

pvcreate /dev/sdb1  #生成物理卷
vgcreate vg0 /dev/sdb1  #生成卷组
lvcreate -L 1G -n lv0 vg0  #生成逻辑卷
mkfs.ext4 /dev/vg0/lv0  #格式化,生成文件系统

3.Target 端创建 IQN 标签

yum -y install scsi-target-utils  #安装ISCSI服务端
service tgtd start  #启动服务端
tgtadm -L iscsi -o new -m target -t 1 -T iqn.2021-1.com.js:lvm  #生成IQN标签
tgtadm -L iscsi -o show -m target  #查看生成的IQN标签tgtadm  #服务器端的管理命令参数:-L #指定驱动类型,这里驱动程序driver是iSCSI -o #对指定的对象所要做的操作,delete(删除),new(创建),bind(绑定),show(查看),unbind(解绑)-m #指定操作的对象,target,logicalunit-t #指定target的ID-T #指定IQN标签,标签格式:iqn.年-月.域名反写:自定义字符串,例如:iqn.2021-1.com.js:lvm-l #指定lun的ID,自定义,但不能重复-b #指定设备,如LVM,分区等-I #绑定访问的网段,acl访问控制

4.IQN和LUN绑定

tgtadm -L iscsi -o new -m logicalunit -t 1 -l 1 -b /dev/vg0/lv0  #将IQN标签和LUN以及存储设备绑定
tgtadm -L iscsi -o bind -m target -t 1 -I 192.168.4.0/24  #将IQN绑定网段,访问控制

客户端配置

1.安装客户端工具

yum -y install iscsi-initiator-utils  #安装ISCSI客户端工具
iscsiadm  #客户端命令工具参数:-m #可用的mode有discovery, node, fw, host iface和session-t #此选项仅用于discovery模式,仅支持st、fw和isns,其中st表示允许每个iSCSItarget发送一个可用target列表给initiator;-p #指定target服务的IP和端口-T #用于指定target的IQN的名字

2.扫描可用设备

iscsiadm -m discovery -t st -p  192.168.4.116  #扫描可用的存储设备
192.168.4.116:3260,1 iqn.2021-1.com.js:lvm

3.连接网络存储设备/断开网络存储设备

iscsiadm -m node -T iqn.2021-1.com.js:lvm --login  #登录共享设备,登录以后就可以使用这个存储设备进行存储了
fdisk -l #查看
Disk /dev/sdb: 3221 MB, 3221225472 bytes #服务端的存储设备已经被挂载过来了,就和本地的磁盘分区一样就可以使用了
100 heads, 62 sectors/track, 1014 cylinders
Units = cylinders of 6200 * 512 = 3174400 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000  #下边就可以进行分区、格式化,挂载了iscsiadm -m node -T iqn.2021-1.com.js:lvm --logout  #断开共享设备

4.将网络存储设备挂载到本地

vim /etc/fstab  #写入挂载文件
/dev/sdb /mnt ext4 defaults,_netdev  0 0

做到这里可能会发现,一旦服务端重启,所有的操作都会失效,也就是说,现在构建的ISCSI服务是不具有持久化能力的,下边我们将ISCSI的持久化的方式演示一下

ISCSI持久化

服务端

安装服务端

yum -y install scsi-target-utils  #安装ISCSI服务端
tgtadm #命令行管理工具

修改配置文件

vim /etc/tgt/targets.conf<target iqn.2020-05.com.hongfu:sdb>  #指定target的IQN标签<backing-store /dev/sdb>  #提供存储的设备, 一个backing-store就是一个lunvendor_id wangyang  #指定发行商lun 6  #lun的ID号,非0且互斥</backing-store>incominguser iscsiuser iscsiuser  #设定访问的用户和密码initiator-address 192.168.4.0/24  #acl访问控制,允许192.168.4.0/24网段访问</target>

开启服务

service tgtd start  #开启ISCSI服务
tgtadm -L iscsi -o show -m target  #查看IQN以及LUN

客户端

安装客户端

yum -y install iscsi-initiator-utils  #安装客户端工具

修改配置文件

vim /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.20201-1.com.js:sdb  #指定使用的IQN的ID号
vim /etc/iscsi/iscsid.conf
node.session.auth.authmethod = CHAP  #打开注释,指定用户认证的类型,在服务端开启了用户认证
node.session.auth.username = master  #用户认证的用户名
node.session.auth.password = master  #用户认证的密码

查找服务端

service iscsi start  #启动服务
iscsiadm -m discovery -t st -p 192.168.4.116  #查找192.168.4.116这台存储机器
正在启动 iscsid:                                          [确定]
192.168.4.116:3260,1 iqn.20201-1.com.js:sdb

登录存储设备

iscsiadm -m node -T iqn.20201-1.com.js:sdb --login  #登录共享设备
fdisk -l  #查询
Disk /dev/sdb: 10.7 GB, 10737418240 bytes
64 heads, 32 sectors/track, 10240 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
#然后就是进行分区、格式化、挂载等常规操作

网络存储--ISCSI相关推荐

  1. IP网络存储iSCSI之一iSCS的概念、组成及工作原理

    一.iscsi的概念 iscsi,即internet SCSI,是IETF制订的一项标准,用于将SCSI数据块映射为以太网数据包.iscsi技术最初由cisco和ibm两家公司开发,并且得到了广大IP ...

  2. 配置iSCSI部署网络存储

    iSCSI( Internet Small Computer System Interface 互联网小型计算机系统接口)是由IBM 下属的两大研发机构一一加利福尼亚AImaden和以色列Haifa研 ...

  3. Linux挂载iscsi网络存储

    Linux挂载iscsi网络存储 iscsi网络存储简介 iscsi的组成 主机规划 配置iscsi网络存储挂载 iscsi服务端配置 iscsi客户端配置 客户端配置方面 iscsi网络存储简介 i ...

  4. 第17章 使用iSCSI服务部署网络存储

    章节概述: 本章节将分析SCSI与iSCSI技术结构的不同,了解iSCSI技术的优势.SAN存储网络技术结构以及iSCSI HBA卡的作用. 完整演示部署iSCSI target服务程序的方法流程:创 ...

  5. iscsi网络存储介绍及客户端配置操作

    1. iscsi介绍与initiator安装 1.1 iSCSI介绍 iSCSI简单来说,就是把SCSI指令通过TCP/IP协议封装起来,在以太网中传输.iSCSI 可以实现在IP网络上传递和运行SC ...

  6. 构建iscsi网络存储服务

    网络存储概述: 随着企业中数据信息的不断增长,尤其当成百上千TB的数据需要备份.恢复,以及面临着扩容.灾难恢复等需求时,DAS(直接附加存储,就是通过与计算机主板的I/O接口,如IDE.SCSI相连接 ...

  7. 8 iSCSI网络存储服务

    iSCSI网络存储服务 一网络存储概述 ·直接附加存储 通常我们所熟悉的存储设别就是硬盘,其通过与计算机主板的I/O接口(如IDE.SCSI)相连接,由本机操作系统负责读写及管理,这就是最传统的数据存 ...

  8. 磁盘分区、格式化、LVM管理、及ISCSI网络存储服务

    RHEL7如何对磁盘进行分区和格式化以及如何配置LVM,与以前的版本的RHEL区别不大,可以通过disk工具(在图形桌面运行)或命令行工具(如:fdisk,gdisk.parted)管理硬盘设备.fd ...

  9. RH358访问基于块的网络存储--自动化配置iSCSI initiator

    RH358访问基于块的网络存储–自动化配置iSCSI initiator 本章节介绍如何使用Ansible连接iSCSI存储和管理. RH358专栏地址:https://blog.csdn.net/q ...

最新文章

  1. CSS设置列表的符号
  2. python数据分析并生成报告_pandas_profiling :教你一行代码生成数据分析报告
  3. 题解 P5259【欧稳欧再次学车】
  4. HDU6428-Calculate-数论函数
  5. Kotlin学习记录1
  6. opencv在python环境下的安装_关于python环境下的opencv安装
  7. 浅谈js中的this
  8. Window.ActiveXObject的用法 以及如何判断浏览器的类型
  9. cartopy模块介绍与安装
  10. Ubuntu英语环境下完全显示文泉驿微米黑字体的字体配置文件
  11. MAE平均绝对误差和MSE均方误差
  12. 解决电信光宽带WIFI下手机APP图片加载慢的问题
  13. Dubbo学习笔记:No provider available for the service ...异常问题的解决
  14. App ios 消息推送
  15. QT之远程控制对方电脑
  16. unwrapped oracle,求助CentOS 5.4 +oracle 11g R2 ASM 模式 安装后 EM 启动后登陆不进去!
  17. Deep Knowledge Tracking based on Attention Mechanism for Student Performance Prediction
  18. 小白学习Java第二十九天
  19. Retrieving the COM class factory for component with CLSID {000209FF-0000-0000-C000-000000000046} fa
  20. ADS129X芯片——模拟功能

热门文章

  1. 解决文件上传时文件过大问题
  2. 【笑话:】执子之手,方知子丑,泪流满面,子不走我走。爆笑死你我不负责~~~~[
  3. 2023 NFT防骗指南:六大骗局,3招带你远离…
  4. Unity WebGL/WebPlayer与html通信对比,在html添加网页端按钮直接测试
  5. 【阿里云天池AI龙珠计划-Python训练营】学习笔记task1
  6. MCC、MNC、PLMN、IMSI、IMEI、ICCID、MSISDN
  7. ubuntu下库文件的设置 (/usr/bin/ld: cannot find -lxxx 的解决办法)
  8. 在ARM-linux上实现4G模块PPP拨号上网
  9. java字符编码采用_JAVA字符编码三:Java应用中的编码问题
  10. radius认证服务器无响应,关于radius认证和portal认证服务器的一点问题