赞
踩
SCSI Small Computer System Interface小型计算机系统接口(英语:Small Computer System Interface; 简写:SCSI),一种用于计算机和智能设备之间(硬盘、软驱、光驱、打印机、扫描仪等)系统级接口的独立处理器标准。 SCSI是一种智能的通用接口标准。
SCSI协议主要是在主机和存储设备之间传送命令、状态和块数据。在各类存储技术中,SCSI协议可谓是最重要的脊梁。
操作系统对外部设备(如磁盘、磁带、光存储、打印机和扫描仪)的I/O操作,可以通过SCSI协议来实现,一般情况下SCSI协议都嵌入到设备驱动器或者主机适配器的板载逻辑中。
因为SCSI协议层位于操作系统和外部资源之间,它具有不同的功能组件。例如,应用程序一般将数据作为文件或者记录来访问。尽管数据最终都将在磁盘或者磁带介质上以数据块的方式存放,但是文件的检索需要一系列功能将未加工的块数据装配成应用程序能够操作的连续文件。
(SCSI协议可以理解它为块级别的存储协议。它是一种I/O技术,让数据以块的方式进行传输的一种协议规范。这个术语也常被用来指称运行该协议的并行线缆机制,将磁盘和磁带设备连接到应用服务器上的一种总线机制 。)
(SCSI 实现了一种客户机/服务器风格的通信架构。发起者向目标设备发送命令请求。该目标处理此请求并向发起者返回响应。发起者可以是托管计算机中的一个 SCSI 设备,而 SCSI 目标则可以是一个磁盘、光盘和磁带设备或特殊设备)
为了便于实现和理解SCSI的各个协议,SCSI 采取了分层结构。 SCSI 大致可分为三层,即SCSI应用层,SCSI 传输层和SCSI 互连层。 SCSI中的各个具体协议一般都位于其中的某一层,可以可能跨越两层。
把磁盘和磁带设备连接到应用服务器或文件服务器,最常用的方法就是通过传统的 SCSI总线。尽管 SCSI主要是一个块协议,但这个术语也被用来指称运行该协议的并行线缆机制。
最初的 SCSI物理层传输介质是一种并行电缆,由 8根数据线和一些控制线构成。在每个发送时钟里传输 8 位数据,传输速率相对说来是比较高的;但是由于电气方面的问题,使得多数SCSI设备所允许的传输距离被限制在 15-25 m左右。随着时间的推移,SCSI 并行总线的性能一直在提高,并通过提供更多的数据通路 (例如采用 16 位数据线和32位数据线)和更快的时钟,得到了更大的带宽。
作为一种介质,SCSI定义了一个并行总线,用于数据传输和通信控制。总线本身可以是印制导线的形式,也可以是一根电缆。外部 SCSI设备使用电缆以菊花链的形式连接到服务器上的控制器。在菊花链中,每个设备都跟其他设备串接。由于这个原因,外部 SCSI设备典型地都有两个 SCSI连接器,可以分别连接到链中的前一个设备和后一个设备。现在的一个 SCSI 总线可以连接多至 16个设备。其中包括1 个SCSI控制器和 15个存储装置。
SCSI链的最后一个SCSI设备要用终结器,中间设备是不需要终结器的。一旦中间设备使用了终结器,那么SCSI卡就无法找到以后的SCSI设备了。而如果最后一个设备没用终结器,SCSI也是无法正常工作的。终结器是由电阻组成的,位于SCSI总线的末端,用来减小相互影响的信号,维持SCSI链上的电压恒定。
SCSI有三个基本规范:
所有这些SCSI类型都是并行的——数据通过总线同时传输,而不是一次传输一种数据。最新的SCSI类型称为串行连接SCSI(SAS:Serial Attached SCSI),这种连接使用SCSI命令,但以串行方式传输数据。SAS使用点对点串行连接,以3.0千兆位每秒的速度传输数据,每个SAS端口可以支持多达128个设备或扩展设备。
iSCSI系统由SCSI适配器发送一个SCSI命令。
命令封装到TCP/IP包中并送入到以太网络。
接收方从TCP/IP包中抽取SCSI命令并执行相关操作。
把返回的SCSI命令和数据封装到TCP/IP包中,将它们发回到发送方。
系统提取出数据或命令,并把它们传回SCSI子系统。
通过iscsi实现存储共享,创建IQN用于识别启动器和目标,然后建立tpg共享存储组,设置相应的访问控制权限,然后在共享存储组添加lun逻辑单元(存储设备),然后建立实现共享portals入口(ip port)3260
o- / … […]
o- backstores … […] 后备存储
| o- block … [Storage Objects: 2] 块设备
| | | o- LUN1 … [/dev/sdb (10.0GiB) write-thru deactivated]
| o- fileio … [Storage Objects: 0] 文件存储
| o- LUN0 … [/dev/sda5 (17.8GiB) write-thru deactivated]
| o- pscsi … [Storage Objects: 0] 物理scsi
| o- ramdisk … [Storage Objects: 0] 闪存
o- iscsi … [Targets: 2] 通过2create创建,两个分别将sdb sda5 共享出去
| o- iqn.2003-01.org.linux-iscsi.mail.x8664:sn.138cf1e3c10f … [TPGs: 1] 字符串
| | o- tpg1 … [no-gen-acls, no-auth] 共享存储的组
| | o- acls … [ACLs: 0]
| | o- luns … [LUNs: 0]
| | o- portals … [Portals: 1]
| | o- 0.0.0.0:3260 … [OK]
| o- iqn.2003-01.org.linux-iscsi.mail.x8664:sn.35c71b41d217 … [TPGs: 1]
| o- tpg1 … [no-gen-acls, no-auth]
| o- acls … [ACLs: 0]
| o- luns … [LUNs: 0]
| o-. portals … [Portals: 1]
| o- 0.0.0.0:3260 … [OK]
o- loopback … [Targets: 0]
首先准备一块硬盘,并进行分区
如下:
安装软件
[root@redhat ~]# mount /dev/sr0 /mnt
mount: /mnt: WARNING: device write-protected, mounted read-only.
[root@redhat ~]# yum install targetcli -y
配置
使用targetcli命令
[root@redhat ~]# targetcli
targetcli shell version 2.1.53
Copyright 2011-2013 by Datera, Inc and others.
For help on commands, type 'help'.
/> ls
o- / ............................................................................... [...]
o- backstores .................................................................... [...]
| o- block ........................................................ [Storage Objects: 0]
| o- fileio ....................................................... [Storage Objects: 0]
| o- pscsi ........................................................ [Storage Objects: 0]
| o- ramdisk ...................................................... [Storage Objects: 0]
o- iscsi .................................................................. [Targets: 0]
o- loopback ............................................................... [Targets: 0]
块设备下添加逻辑单元,并指定dev和name
/> cd backstores/block
/backstores/block> create
dev= name= readonly= wwn=
/backstores/block> create dev=/dev/sda1 name=lu0
Created block storage object lu0 using /dev/sda1.
/backstores/block> create dev=/dev/sda2 name=lun1
Created block storage object lun1 using /dev/sda2.
/backstores/block> ls
o- block ............................................................ [Storage Objects: 2]
o- lu0 ..................................... [/dev/sda1 (5.0GiB) write-thru deactivated]
| o- alua ............................................................. [ALUA Groups: 1]
| o- default_tg_pt_gp ................................. [ALUA state: Active/optimized]
o- lun1 .................................... [/dev/sda2 (5.0GiB) write-thru deactivated]
o- alua ............................................................. [ALUA Groups: 1]
o- default_tg_pt_gp ................................. [ALUA state: Active/optimized]
设置iscsi共享目录,添加共享存储组
/> cd iscsi /iscsi> ls o- iscsi .................................................................... [Targets: 0] /iscsi> create Created target iqn.2003-01.org.linux-iscsi.redhat.x8664:sn.3b8b5f5655e0. Created TPG 1. Global pref auto_add_default_portal=true Created default portal listening on all IPs (0.0.0.0), port 3260. /iscsi> create iqn.2021-08.localdomain.redhat.x8664:sn.12345678 Created target iqn.2021-08.localdomain.redhat.x8664:sn.12345678. Created TPG 1. Global pref auto_add_default_portal=true Created default portal listening on all IPs (0.0.0.0), port 3260. /iscsi> ls o- iscsi .................................................................... [Targets: 2] o- iqn.2003-01.org.linux-iscsi.redhat.x8664:sn.3b8b5f5655e0 .................. [TPGs: 1] | o- tpg1 ....................................................... [no-gen-acls, no-auth] | o- acls .................................................................. [ACLs: 0] | o- luns .................................................................. [LUNs: 0] | o- portals ............................................................ [Portals: 1] | o- 0.0.0.0:3260 ............................................................. [OK] o- iqn.2021-08.localdomain.redhat.x8664:sn.12345678 .......................... [TPGs: 1] o- tpg1 ....................................................... [no-gen-acls, no-auth] o- acls .................................................................. [ACLs: 0] o- luns .................................................................. [LUNs: 0] o- portals ............................................................ [Portals: 1] o- 0.0.0.0:3260 ............................................................. [OK]
进入tpg1配置权限
/iscsi> cd iqn.2003-01.org.linux-iscsi.redhat.x8664:sn.3b8b5f5655e0/tpg1
/iscsi/iqn.20...5f5655e0/tpg1> set attribute authentication=0 demo_mode_write_protect=0 generate_node_acls=1 cache_dynamic_acls=1
Parameter authentication is now '0'.
Parameter demo_mode_write_protect is now '0'.
Parameter generate_node_acls is now '1'.
Parameter cache_dynamic_acls is now '1'.
添加第一共享的分区lun0
/iscsi/iqn.20...5f5655e0/tpg1> cd luns
/iscsi/iqn.20...5e0/tpg1/luns> create /backstores/block/lu0
Created LUN 0.
修改第二个共享存储组的配置信息
进入tgp1修改权限
/> cd iscsi/iqn.2021-08.localdomain.redhat.x8664:sn.12345678/tpg1
/iscsi/iqn.20...12345678/tpg1> set attribute authentication=0 demo_mode_write_protect=0 generate_node_acls=1 cache_dynamic_acls=1
Parameter authentication is now '0'.
Parameter demo_mode_write_protect is now '0'.
Parameter generate_node_acls is now '1'.
Parameter cache_dynamic_acls is now '1'.
进入luns共享目录,将第二个存储单元共享出去
/iscsi/iqn.20...12345678/tpg1> cd luns
/iscsi/iqn.20...678/tpg1/luns> create /backstores/block/lun1
Created LUN 0.
进入portals修改入口
/iscsi/iqn.20...678/tpg1/luns> cd..
/iscsi/iqn.20...12345678/tpg1> cd portals
/iscsi/iqn.20.../tpg1/portals> delete 0.0.0.0 3260
Deleted network portal 0.0.0.0:3260
/iscsi/iqn.20.../tpg1/portals> create 192.168.159.128 3261
Created network portal 192.168.159.128:3261.
ls查看
退出
/> exit
Global pref auto_save_on_exit=true
Configuration saved to /etc/target/saveconfig.json
重启服务、关闭防火墙、关闭selinux
[root@redhat ~]# systemctl restart target
[root@redhat ~]# systemctl stop firewalld
[root@redhat ~]# setenforce 0
搜索这个程序
点开点击发现,然后点击发现门户
输入共享的IP地址点击确定
发现目标
进行连接
点击确定
使用
点击计算机的管理中的磁盘管理就会发现共享的磁盘点击确定使用默认的格式,
当前还不可用,右击磁盘进行新建简单卷
一直右击下一页默认即可,最后点击完成
当前就可用了
这个盘是Linux基于windows进行创建共享的,使用的话,还是相当于使用Windows的盘
如果要取消共享的话不要直接断开连接,如果分区里面有数据则清除数据
然后在删除卷,再然后就是在发起程序中执行打开连接
装包
[root@bogon ~]# yum install iscsi-initiator-utils
关闭防火墙、关闭selinux
[root@bogon ~]# systemctl stop firewalld
[root@bogon ~]# setenforce 0
发现目标
[root@bogon ~]# iscsiadm -m discovery -t sendtargets -p 192.168.159.128
192.168.159.128:3261,1 iqn.2021-08.localdomain.redhat.x8664:sn.12345678
192.168.159.128:3260,1 iqn.2003-01.org.linux-iscsi.redhat.x8664:sn.3b8b5f5655e0
连接指定的共享存储设备
这块特别注意必须关闭防火墙和selinux,否则无法连接
[root@bogon ~]# iscsiadm -m node -T iqn.2021-08.localdomain.redhat.x8664:sn.12345678 -p 192.168.159.128:3261 -l
通过lsblk查看共享的块设备
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。