群晖NAS的iSCSI存储配置及使用
目标和初衷
记录和分享个人NAS的iSCSI配置过程,简单向NAS用户普及一下iSCSI知识,有助于大家更好的利用NAS。
背景
使用iSCSI做数据集中的基本诉求是家里工作站、设计服务器本地存储太零散,部分素材类文件不常使用,占空间但又不适合直接扔到NAS存储里,并且也想逐步的把零散的存储整合管理。毕竟基础设施已经满足需求,性能无明显影响、使用起来更安全、维护更方便。
意义
集中管理,数据安全
名词解释
iSCSI:Internet Small Computer System Interface,一个通过IP网络基础设施来连接数据存储设备的协议,IBM和CISCO联合定制的。
IQN:iSCSI Qualified Name
CHAP:Challenge-Handshake Authentication Protocol
LUN: Logical Unit Number,逻辑单元号。用来描述逻辑存储
iSCSI initiator:访问Target的服务器(客户端)称为initiator
iSCSI Target:存储资源,被访问的设备称为Target
iSCSI LUN:可识别的最小的存储资源(深度了解可以去研究一下LUN masking和LUN mapping以及Zone相关知识)
操作
下午睡多了,所以现在睡不着觉,可是已经一点多了,心情很纠结。
参考上图"结构概览",配置方式主要分两方面,配置NAS(存储)和配置计算机(initiator)
NAS配置
群晖、威联通、色卡司等等的配置原理相同,步骤及操作也极其类似,这里用群晖举例:
通过“存储空间管理员”配置iSCSI。
配置LUN
首先新增LUN,按照设置向导操作,下面为完整图示。
LUN名称可已自行定义,容量根据使用情况分配,不能超过存储空间的可用容量。
配置target
简单分析一下IQN的命名规则:iqn.[YYYY-MM].[域]:[设备名称].[target+序号].[16进制ID]
本来想选择“启用CHAP”开启身份验证来增强一些安全性,然而CHAP密码规则安全性比较高,要12-16位数字或密码,由于我是个人家庭使用,索性就没有开启。
配置完检查一下,NAS的内容就配置结束了。
配置计算机(windows)
通过管理工具进行initiator的配置来把刚才配置的target挂载到计算机中,文章中使用的计算机操作系统为windows 10
进入“控制面板”-“管理工具”
使用“iSCSI发起程序”进行iSCSI配置,后续使用“计算机管理”配置磁盘。
后续每次启动计算机会多开一个系统服务,推荐选择“是”。
计算机会自动发现局域网内的iSCSI目标,点击“确定”即可。
点击“确定后”,系统会自动发现新磁盘,进行初始化即可。
格式化磁盘,推荐使用GPT分区表
配置完成。
原理
SCSI的协议自顶向下一共分三层:
SCSI层:根据客户端发出的请求建立 SCSI cdb,并传给iSCSI层。同时接收来自iSCSI层的cdb(命令描述块),并向应用返回数据。
iSCSI层:对iSCSI cdb进行封装,以便能够在基于TCP/IP协议的网络上进行传输,完成SCSI到TCP/IP的协议映射。这一层是iSCSI协议的核心层。
TCP/IP层:对IP报文进行路由和转发,并且提供端到端的透胆可靠的传输。
简单来说iSCSI就是把SCSI指令通过TCP/IP协议封装起来,在以太网中传输。iSCSI可以实现在IP网络上传递和运行SCSI协议,存取数据。
iSCSI属于端到端的会话层协议,定义的是SCSI到TCP/IP的映射,即Initiator将SCSI指令和数据封装成iSCSI协议数据单元,向下提交给TCP层,最后封装成IP数据包在IP网络上传输,到达Target后通过解封装还原成SCSI指令和数据,再由存储控制器发送到指定的驱动器,从而实现SCSI命令和数据在IP网络上的透明传输。它整合了现有的存储协议SCSI和网络协议TCP/IP,实现了存储与TCP/IP网络的无缝融合。
参考资料
http://linux.vbird.org/linux_server/0460iscsi.php 《鳥哥的Linux私房菜》
https://www.synology.com/zh-cn/knowledgebase/ 群晖知识库“iSCSI”
百度百科“iSCSI”