目前,大多数分析都认为SAN是未来企业级的存储方案,因为SAN便于集成,能改善数据可用性及网络性能,而且还可以减轻管理作业。而FreeNAS提供的iSCSI块级存储,正是SAN技术中,相比FC(光纤信道)更经济的一种。在FreeNAS中,通过ZFS文件系统,RaidZ冗余等技术来保证数据存储的安全性,同时,又可以通过iSCSI服务为网络中的其他支持iSCSI的设备提供存储,想象一下,在FreeNAS中,为你家里的电脑提供了一块具有多种数据保护技术的硬盘,只不过,这块硬盘不是通过各种硬盘接口,而是通过网线连接到你的电脑上的,虽然连接的方式不同,但你仍然可以像平常一样使用这块硬盘,比如分区、格式化、安装软件、保存数据,甚至还可以将操作系统安装在这块硬盘上
任务1 理解iSCSI块级存储基本原理
1.iSCSI的工作方式:
Initiator发起端通过iSNS协议发现网络中提供iSCSI设备的Target目标端的Portal,经过CHAP或者Mutual CHAP验证后,Initiator发起端与Target目标端协商建立一个到LUN的模拟连接,Initiators发起端会把iSCSI LUN视为原生的SCSI硬盘。注意,如果创建了多个iSCSI LUN,则需要为每个LUN 分别创建新的target。
2.基本的名词解释
CHAP:它是一种身份认证方法,使用一个共享秘钥和三向认证来确定是否授权系统访问存储设备,同时会周期性的重复确认会话是否被其他系统劫持。在 iSCSI 中,CHAP 身份认证一般单向的由 initiator (客户端)执行。
Mutual CHAP(双向 CHAP):CHAP 的超集,服务端和客户端会互相通信验证。
Initiator(发起端/客户端):把被授权访问 FreeNAS 块级存储的客户端称作 Initiator。该客户端系统需要安装 initiator 发起程序才能连接 iSCSI存储。
Target(目标端/服务端):FreeNAS 系统上的存储资源称为 Target。每个 target 都有唯一的名称,这个名称被称为 IQN(iSCSI Qualified Name)。
Internet Storage Name Service (iSNS):网络存储名称服务,是一种通过 TCP/IP 网络自动发现 iSCSI 设备的协议。
Extent:iSCSI共享的存储空间,由一定数量连续的block组成。就像CIFS共享需要指定数据集一样,iSCSI共享需要指定Extent作为存储空间,通常在卷中创建Zvol虚拟磁盘用于Extent。
Portal(门户/入口): 监听连接请求的 IP 地址和端口。
LUN:逻辑单元号,用来标识 SCSI 逻辑存储设备。
任务2 创建Zvol虚拟磁盘
先手动添加一块硬盘
再登陆frreenas的Web GUI界面
添加一个存储池
任务3 创建Block(iSCSI)共享
选择“Sharing”共享,点击“Block(iSCSI)”按钮打开Block(iSCSI)设置窗口,这里需要依次设置“Target Global Configuration”、“Portal”、“Initiator”、“Target”、“Extents”、“Associated Targets”等选项。
1.“Target Global Configuration”目标端全局设置
2.“Portal”门户
3.“Initiator”发起端授权
点击“Block(iSCSI)”按钮,选择“Initiator”,点击“Add Initiator”按钮添加发起端授权配置
4.“Targets”目标端
点击“Block(iSCSI)”按钮,选择“Targets”,点击“Add Target”按钮添加目标端。
5.“Extents”扩展
点击“Block(iSCSI)”按钮,选择“Extents”,点击“Add Extents”按钮添加Extents扩展
设备建议选择新添加一块10以上的硬盘,这里仅作演示
6.“Associated Targets”关联Target目标和Extent扩展
点击“Block(iSCSI)”按钮,选择“Associated Targets”,点击“Add Target / Extent”按钮添加Target目标与Extent扩展的关联。
任务4 启动iSCSI服务
选择“Services”服务,点击iSCSI旁边的“Start Now”按钮启动iSCSI服务,最好同时勾选“Start on boot”自动启动iSCSI服务。
任务5 在windows中使用iSCSI存储
在任务栏“Cortana”中直接搜索关键字“iSCSI”,在弹出的搜索结果中点击“iSCSI发起程序”