iSCSIiSCSIiSCSI

iSCSI

网络存储

基于IP协议的SCSI    Small Computer System Interface

型计算机系统接口(英语:Small Computer System Interface; 简写:SCSI),一种用于计算机和智能设备之间(硬盘软驱光驱打印机扫描仪等)系统级接口的独立处理器标准。 SCSI是一种智能的通用接口标准。

SCSI接口具有应用范围广、多任务、带宽大、CPU占用率低,以及热插拔等优点。

iSCSI(互联网小型计算机系统接口)是一种在TCP/IP上进行数据块传输的标准。它是由Cisco和IBM两家发起的,并且得到了各大存储厂商的大力支持。iSCSI可以实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行快速的数据存取备份操作。

工作流程:

iSCSI系统由SCSI适配器发送一个SCSI命令。

命令封装到TCP/IP包中并送入到以太网络。

接收方从TCP/IP包中抽取SCSI命令并执行相关操作。

把返回的SCSI命令和数据封装到TCP/IP包中,将它们发回到发送方。

系统提取出数据或命令,并把它们传回SCSI子系统。

 

通过iscsi实现存储共享,创建IQN用于识别启动器和目标,然后建立tpg共享存储组,设置相应的访问控制权限,然后在共享存储组添加lun逻辑单元(存储设备),然后建立实现共享portals入口(ip port)

概念:

TPG:共享存储组,某个特定iSCSI目标要侦听的接口IP地址和TCP端口的集合。可以将目标配置添加到TPG以协调多个LUN的设置。

ACL:访问权限控制列表,一种使用节点IQN(通常是启动器名称)来验证启动器的访问权限的访问限制

IQN:iSCSI限定名称,全球唯一名称,用于以强制命名格式来识别启动器和目标。

IQN格式如下:

iqn.YYYY-MM.com.reversed.domain[:optional_string]

iqn:表示此名称使用域为标识符。

YYYY-MM:表示拥有域名的年月时间。

com.reversed.domain:拥有此iSCSI组织的逆向域名

:optional_string:以冒号为前缀的可选字符串,全球唯一,由域所有者分配,其中可包含冒号为分割符的组织边界

LUN:逻辑单元号,带有编号的块设备,连接到目标且通过目标来使用。可以有一个或多个LUN连接到单个目标,但通常一个目标提供一个LUN

portals入口:目标或启动器上用于建立的IP地址和端口。

目标端的配置使用targetcli命令

1、准备

1.1、准备一个分区

#创建分区

[root@mail ~]# fdisk /dev/sda

n  

P

Enter

Enter

Enter

W

#partprobe

#fdisk -l

    /dev/sda4   /dev/sdb

#更新分区信息

#partprobe  重新读取分区表

[root@mail ~]# partx -a /dev/sda

1.2、准备一个空磁盘

#确认/dev/sdb设备

[root@mail ~]# fdisk -l

2、安装服务端软件

[root@mail ~]# yum install -y targetcli

3、创建

3.0、命令的使用

#targetcli

#使用ls命令查看菜单结构

/> ls

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]

3.1、创建LUN

#创建sda5分区为LUN0

/backstores/block> create name=LUN0 dev=/dev/sdb

#创建磁盘/dev/sdb为LUN1

/backstores/fileio> create name=LUN1 file_or_dev=/dev/sda5

#使用ls命令来查看创建的结果

/backstores/block> ls

3.2、创建IQN

注意:

在7.0版本中,创建target不会自动创建portal,但是在7.2版本中会自动创建portal,如果需要自定义ip和端口,需要在创建target之前关闭自动创建portal功能

使用以下命令

/iscsi>set group=global auto_add_default_portal=false

#使用ceate命令来创建一个IQN,我们的示例需要两个,所以执行两次该命令

/iscsi> create

#使用ls命令查看IQN的创建结果

/iscsi> ls

3.3、添加target

3.3.1、配置权限

#切换到tpg1目录,配置演示模式权限

/iscsi/iqn.20...f1e3c10f/tpg1>

#执行以下命令

/iscsi/iqn.20...f1e3c10f/tpg1> set attribute authentication=0 demo_mode_write_protect=0  generate_node_acls=1 cache_dynamic_acls=1

属性认证关闭  演示模式写保护关闭 生成节点acl  缓存动态acl

注意

演示示例默认来说是不安全的如果你想了解更多安全方面的信息你可以查看, http://linux-iscsi.org/wiki/ISCSI#Define_access_rights

3.3.2、添加luns

#添加LUN0到第一个IQN

/iscsi/iqn.20...10f/tpg1/luns> create /backstores/block/LUN0

#添加LUN1到第二个IQN

/iscsi/iqn.20...217/tpg1/luns> create /backstores/fileio/LUN1

#创建完成后,切换到iscsi目录,使用ls命令查看创建结果

/iscsi> ls

3.3.3、创建portal  接口

#在第一个IQN中创建portal

/iscsi/iqn.20.../tpg1/portals> create 192.168.171.143 3260

#在第二个IQN中创建portal

/iscsi/iqn.20.../tpg1/portals> create 192.168.171.143 3261

#创建完成后,切换到iscsi目录,使用ls命令查看创建结果

/iscsi> ls

3.4、启动服务

配置完成后,使用exit命令退出程序,该程序会自动保存配置到配置文件中

/iscsi/iqn.20.../tpg1/portals> exit

Global pref auto_save_on_exit=true

Last 10 configs saved in /etc/target/backup.

Configuration saved to /etc/target/saveconfig.json

#启动服务

[root@mail ~]# systemctl restart target

#查看服务状态

[root@mail ~]# systemctl status target

4、验证

4.1、windows客户端

使用iscsi发起程序

4.2、linux客户端

确认客户端是否安装

[root@localhost ~]# yum install iscsi-initiator-utils

查看当前虚拟机的磁盘分区情况

发现目标,以下命令:

[root@localhost ~]# iscsiadm -m discovery -t sendtargets -p 192.168.171.143

这是全命令(iscsi辅助工具 )

iscsiadm --mode discovery --type sendtargets --portal  192.168.171.143

                      模式 发现   类型 发送目标 门户

登录目标:

登录服务器上的一个或多个iscsi目标                                               

挂载命令格式:

iscsiadm --mode node --targetname iqn.{IQN} --portal 192.168.0.110:3261 --login

如下所示:

[root@localhost ~]# iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.mail.x8664:sn.5e7307059fbf -p 192.168.171.143:3261 -l

查看:

[root@localhost ~]# fdisk -l

[root@localhost ~]# lsscsi

查看和区分

[root@localhost ~]# ll /dev/disk/by-path/

查看日志

[root@localhost ~]# grep sdb /var/log/messages

自动挂载:

注意:必须使用UUID,否则会出问题,同时在参数中添加_netdev。

UUID=33899a29-9f9e-476f-b8e9-cc9ad0986dac /mnt   xfs     defaults,_netdev 0 0

 开机启动关闭防火墙

原因:当计算机开机首先是bios自检查找硬盘中的操作系统引导启动,但是当系统没有完全启动时计算机就没有通过网络通讯,而iscsi是基于网络的共享存储,所以开机重启需要告诉内核这条开机挂在是基于网络的存储。

删除:

targetcli iscsi/ delete iqn.2003-01.org.linux-iscsi.mail.x8664:sn.5e7307059fbf

windows

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

the uzi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值