iscsi互联网小型计算机系统接口

在这里插入图片描述!

网络存储

基于IP协议的SCSI Small Computer System Interface

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

Ide

Sata

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地址和端口。
3260

目标端的配置使用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
–targetnameiqn.2003-01.org.linux-iscsi.localhost.x8664:sn.0f6a7f1386fc --portal
172.25.0.129: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

开机启动关闭防火墙

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_43761778/article/details/89455713