何为ISCSI

小白都能学会的Linux系统搭建ISCSI服务_linux

是这组单词的简写Internet Small Computer System Interface 翻译:Internet 小型计算机系统接口,是一个基于 TCP/IP 的协议,主要用于通过 IP 网络仿真 SCSI,从而为远程块存储设备提供数据传输和管理。

说白了,是通过网络由专门的服务器提供存储管理,以实现数据的远程储存,便于数据的集中管理,从而简化了数据复制、迁移和容灾。


实现此功能的方式有哪些

NAS :network attached storage,网络附加存储服务器
NAS是一部客制化好的主机,只要将NAS链接上网络,那么网络上面的其他主机就能够存取NSA上头的数据了,简单的说,NAS 就是一部file server,NAS 由于是接在网络上面,所以如果网络上有某个用户大量存取NAS上头的数据时,很容易造成网络停顿问题,此外BAS 也通常支持TCP/IP,并会提供NFS,SAMA,FTP等常见的通讯协议来提供客户端取得文件系统。

SAN :storage area networks,存储局域网络
NAS 就是一部可以提供大量容量文件系统的主机,我们知道单个主机能够提供的插槽时有限的,所以不能无限制的安插磁盘在同一部实体主机上,因此便有了SAN
SAN 视为一个外接式的存储设备,可以透过某些特殊的接口或信道来提供局域网络内的所有机器进行磁盘存取, SAN是提供磁盘给主机用,而不是像NAS 提供的是网络协议的文件系统(NFS、 SAMBA、FTP),因此挂载SAN的主机会多出一个大磁盘,并可针对SAN提供的磁盘进行分割与格式化等动作。

服务器取得磁盘或者文件系统的方式区别:

1、直接存取:在本机上的磁盘,就是直接存取设备,例如:DAS:通过总线连接本机,总线连接到磁盘节点组成的阵列,传输速度快,缺点数量有限。

2、存储局域网络SAN,为局域网内的其他设备提供的磁盘。

3、网络附加存储服务器,NAS,只能使用目录,不能进行格式化。


Linux系统搭建ISCSI服务

温馨提示:客户端是相对的,对于内部网络,它是客户端,对于外网提供服务,它又是服务器

基础环境:保证server、client网络连通,如果使用域名,也要能解析到。

服务器Server ---->Target

客户端 Client---->Initiator

192.168.2.1

192.168.2.2

实验要求:client通过iscsi方式挂载使用server共享的磁盘/dev/sdb

一、server配置

1、 安装服务及依赖包(需要配置yum仓库,省略)

小白都能学会的Linux系统搭建ISCSI服务_centos_02


小白都能学会的Linux系统搭建ISCSI服务_linux_03


启动服务

小白都能学会的Linux系统搭建ISCSI服务_linux_04


2、 设置防火墙策略

小白都能学会的Linux系统搭建ISCSI服务_iscsi_05


3、 发布磁盘进入命令界面

小白都能学会的Linux系统搭建ISCSI服务_iscsi_06


1)指定发布的磁盘(块设备LUN)

小白都能学会的Linux系统搭建ISCSI服务_云存储_07


2)创建iqn名字即iscsi对象,注意:命名格式必须正确,2020-05,少0也不行

小白都能学会的Linux系统搭建ISCSI服务_服务器_08


3)设置ACL即将iscsi对象与客户端IP或主机名绑定

小白都能学会的Linux系统搭建ISCSI服务_iscsi_09


4)创建LUN并绑定块

小白都能学会的Linux系统搭建ISCSI服务_centos_10


二、client配置1)安装工具,若出现以下提示,表示已经安装,忽略即可

小白都能学会的Linux系统搭建ISCSI服务_iscsi_11


2)给initiator命名

编辑配置文件:[root@localhost ~]# vim /etc/iscsi/initiatorname.iscsi

添加以下内容:

小白都能学会的Linux系统搭建ISCSI服务_服务器_12


3)启动服务

小白都能学会的Linux系统搭建ISCSI服务_centos_13


4)搜索存储

小白都能学会的Linux系统搭建ISCSI服务_云存储_14


释义:

discovery:发觉、发现。可以用iscsiadm --help 查看下语法。

iscsiadm是基于命令行的iscsi管理工具,提供了对iSCSI节点、会话、连接以及发现记录的操作。

iscsiadm的使用说明可以查看/usr/share/doc/iscsi-initiator-utils-6.2.0.742/README

也可以运行man iscsiadm或iscsiadm --help使用。

参数:

-m {discovery|node|session|iface} 发现某服务器是否有target输出,以及输出了哪些target|管理跟某target的关联关系|会话管理 |接口管理}

-d {0-8} #打印调试信息,有0到8这9个等级

-t #这里可以使用的类型为sendtargets(可简写为st)、slp、fw和 isns,此选项仅用于discovery模式,且目前仅支持st、fw和isns;其中st表示允许每个iSCSItarget发送一个可用target列表给initiator;

-T #用于指定target的名字

-p #指定target服务的IP和端口, -p 192.168.1.55:3260

-o #指定针对discoverydb数据库的操作,其仅能为new、delete、update、show和nonpersistent其中之一

-I #指定执行操作的iSCSI接口,这些接口定义在/var/lib/iscsi/ifaces中

-l #登录节点

-u #登出节点(服务器)

5)登录存储 \ 连接target

小白都能学会的Linux系统搭建ISCSI服务_服务器_15


释义:

-l表示连接ISCSI目标;
-u表示断开和ISCSI目标的连接。
如果登录不成功,可以尝试重启iscsi服务:systemctl restart iscsid,这里需要重启client服务器。
挂载到客户端,是在客户端磁盘的编号之下顺延。

6)验证iscsi连接,查看是否得到外界硬盘

若显示下图信息就可以像本地磁盘一样来操作ISCSI磁盘

小白都能学会的Linux系统搭建ISCSI服务_服务器_16


命令查看,若如下图,表示本地磁盘识别到了网络共享设备块

小白都能学会的Linux系统搭建ISCSI服务_iscsi_17


若无红色标记处信息,使用命令刷新

小白都能学会的Linux系统搭建ISCSI服务_云存储_18


进行分区(步骤省略)后,格式化,挂载创建挂载点目录

小白都能学会的Linux系统搭建ISCSI服务_云存储_19


手动挂载

小白都能学会的Linux系统搭建ISCSI服务_iscsi_20


自动挂载

编辑:vim /etc/fstab

添加以下内容:
自动挂载

编辑:vim /etc/fstab

添加以下内容:注意要添加,_netdev代表挂载的是网络块设备

小白都能学会的Linux系统搭建ISCSI服务_云存储_21


重启验证,挂载点目录依然可以正常访问。