在未来的两三年,各种数字终端势必日益丰富与普及,作为这些终端连接枢纽的NAS自然水涨船高,每个办公室每个家庭都有一台NAS并不是奢望。可以试想一下,今后的PC,只需要用SSD做个系统盘就可以了,而数据盘可以直接通过iSCSI服务在NAS上建立虚拟盘实现。
关于iSCSI,你需要了解的
目前主流的NAS都支持iSCSI Target服务,要很好的应用和理解这个服务,有必要对一些术语作一些最基本的了解。
说简单点,iSCSI会在IP网络上执行SCSI指令,供数据在网络上进行传输,它是一种以因特网通讯协议为架构的储存空间网络化标准规格,适合用来链接许多数据储存设备。
在iSCSI Target服务中,涉及到三个名词:
iSCSI initiator:在计算机与存储装置关连中,你的计算机被称为“iSCSI initiator”(iSCSI启动器),因为它开启链接至存储装置。
iSCSI Target:它概念类似于一种联机接口,当iSCSI启动器联机至iSCSI Target时,iSCSI Target上连结的所有LUN也会联机至客户端的操作系统。
iSCSI LUN:在iSCSI环境中的LUN实际上就是经过编号的硬盘或是实体硬盘所建立的一个储存空间,它是真正的存储实体。用户可以在这些iSCSI LUN上建立并管理文件,就像管理本地硬盘一样。
从上面的图例就很清楚表示了它们之间的关系,一个iSCSI Target可以连结一个或多个LUN,同样一个LUN也可以关联多个Target。但是,通常情况下不要使用多个iSCSI启动器连接相同的Target,以免硬盘数据损毁,除非使用的是丛集感应文件系统,如Vmware虚拟机或Oracle Clustering文件系统。
iSCSI Target有什么好处
·硬件成本低
·操作简单,维护方便
·扩充性强
iSCSI Target服务提供数据集中化存取,且以区块为单位的数据存储空间,不仅简化存储空间管理的步骤、优化存储空间的使用,同时也增添了存储空间的弹性。它将SCSI指令通过网络分享出去,让价格低廉且操作简易的网络存储空间在iSCSI上运行。
对客户端而言,会让你感觉计算机彷佛连接一个本地硬盘,可通过本地端计算机操作系统来管理。事实上,新增的磁盘是NAS上的虚拟硬盘。因为硬盘是虚拟的,因此不必再为计算机添加额外硬件,通过一般网络基础架构就可管理此虚拟硬盘。
总的来说,iSCSI Target服务提供了一个高扩充性和低组建与低维护成本的整合型存储方式,这正是大部份有预算考虑的中小企业和办公室所需求的。
下面,以Synology的NAS DS212为例,演示一下如何在NAS上增加iSCSI Target服务并供本地PC驱使,NAS软件系统为DSM 4.2。
第一步:建立新的iSCSI LUN
1. 用管理员帐号登录到DSM,在主菜单中点击“存储空间管理员”
需要特别说明的是,一台NAS并非能添加无限多的iSCSI LUN和iSCSI Target,取决于厂商对该机型的限制,群晖入门级机型的iSCSI LUN和Target最多是10个,高端些的机型会相应增加。
比如DS413这款NAS它能允许最多的iSCSI LUN和iSCSI Target数都是10个,而DS713+允许最大iSCSI Target可以达到32个,iSCSI LUN达到256个,高端机型之所以高端因为它的配置更强一些。
一般提供3种类型iSCSI LUN供选择:
iSCSI LUN(一般文件):在一个卷空间上划分一块空间而创建的iSCSI LUN,今后在需要时可扩展其规模。此类iSCSI LUN具有动态容量管理的灵活性,并支持Thin Provisioning(随需分配)、VMware VAAI硬件加速、LUN快照和LUN克隆。
iSCSI LUN(段落分块)- 使用所有硬盘容量的LUN:iSCSI LUN使用所有的卷空间来创建。可以修复、扩充或更改RAID类型,就像使用卷一样。
iSCSI LUN(段落分块)- 可弹性使用部分磁盘群组容量的LUN:iSCSI LUN通过在硬盘组上分配具体空间来创建。如果硬盘组中有可用空间,以后可扩展 iSCSI LUN。
由于一般文件的iSCSI LUN允许在现有存储空间上新增Targets,这两种存储系统彼此可分享存储空间,具有灵活性,对于普通用户来说,推荐使用这种类型的LUN,而段落分块种类主要适应那些将空间完全占用的情况(还需要考虑你本地PC的系统是否支持这么大容量的分区),在性能上更好。
选择“iSCSI LUN(一般文件)”继续下一步:
在这里可以为新增的LUN取个名称,类似于一个分区的卷标(使用默认的LUN-1),在这里最重要的设置应该是指定这个LUN的容量,默认为1GB(设置为10GB)。另外,可以为新增的LUN关联iSCSI Target,可以是新增的Target也可以是已存在的Target,这里选择默认的新增。
第二步:建立新的iSCSI Target
在“存储空间管理员”界面的“iSCSI Target”页面选择“新增”或承接上面的新增LUN中选择“新增一个iSCSI Target”都可以进入到Target创建向导:
首先也得为Target设置一个名称和IQN(iSCSI Qualified Name) ,IQN是iSCSI Target的一组独特名称,这组名称不能和其他服务器上的iSCSI Target IQN重复。其命名方式为iqn.[日期].[域]:[设备识别],如iqn.2000-01.com.synology:EXP-NAS.01。
另外,如果选择“启用CHAP”,服务器将要求验证用户身分。而选择“相互CHAP认证”,客户端及服务端则要互相通过验证才能使用。任何客户端设置的密码不可用于服务器端,而任何服务器端设置的密码亦不可用于客户端。为了简便起见,这里都不启用~~
应用设置之后,就可以看到新增的iSCSI LUN和Target了:
新增的LUN(LUN-1,链接的Target为Target-1)
新增的Target(Target-1,链接的LUN为LUN-1)
进阶1:为LUN设置空间容量和链接的Target
当新增LUN之后,还可以对LUN继续进行编辑,最重要的是可以重新指定容量大小和所链接的Target,非常容易管理。
为了避免数据丢失,容量只能增加不能缩小。
当一个LUN链接多个Target后,它就能被多个Target使用,通俗意义上这个存储空间可以被多个用户共用使用。
进阶2:为Target设置读写权限和链接LUN
同样的,对新增的Target进行编辑,可以作一些设置,比较重要的是设置权限(可读写/只读/禁止访问)和设置链接的LUN。
第三步:在Windows中连接iSCSI Target
现在来将设置好的iSCSI Target挂载到我们的PC系统中,以Windows 8为例(其它版本一样)。
1. 控制面板->系统与安全->管理工具->iSCSI Initiator
如果你使用的是Mac OS,可以使用Xtend SAN iSCSI Initiator,在Ubuntu Linux中可以使用Open-iSCSI Initiator等来引导连接iSCSI Target。
2. 在“Discover”页面点击“Discover Portal”
4. 增加完IP后,可以看到Target portals下找到了相应的Target入口
5. 在Targets页面可以发现刚才添加的NAS上的所有Target
iSCSI Initiator会探索到相关NAS上所有Target的IQN(此处有三个),其中01这个IQN最后数字为01的正是我们前面新增的Target-1。
点击“Connect”将会链接该Target:
在上面这一步中,如果你在新增Target是启用了CHAP认证,那个要点击“Advanced”按钮,去设置相关的认证帐号和密码。
当成功链接至相关Target后,上面的页面中的状态会由原来的“Inactive(闲置)”状态变成“Connected(链接成功)”,这表示你的PC可以使用该Target关联的LUN提供的存储空间了。
不过Target链接到Windows后,还需要进行格式化后才能正常使用,这就和一个没格式化的硬盘一样,可以进入到控制面板中的计算机管理来完成。
如果一个Target链接了多个LUN,那么就会出现多个没格式化的硬盘。
当你对多出来的磁盘进行初始化并分区格式化后,你的系统中会增加一个可使用的分区(如上图中的K盘),你觉得它和你的本地硬盘有什么区别吗?实际上它却是建立在NAS上的虚拟盘。
进阶3:iSCSI Target的性能如何
iSCSI是在网络中传输SCSI指令,它的性能完全取决于网络的速度,现阶段组建一个千兆网络是很容易的事,理论上它的速度可以达到125MB/s,当然这个速度影响的因素也很多,比如线材、路由器、两端存储设备本身限制等。
从上面图中磁盘列表可以看出,K盘是iSCSI虚拟盘,D盘和E盘是本地硬盘,T盘是同一NAS上共享目录的映射盘,从K盘、D盘和T盘各COPY一个大文件到E盘,简单比较下它们的速度差别,测试时使用PC与NAS直连,千兆网络。
从这个结果看,它们之间的速度相差不大,iSCSI虚拟盘的速度比单纯的网络映射盘还要略快些,与本地硬盘的速度非常接近。在一个良好的网络环境中,iSCSI虚拟盘的性能足以满足日常需求,你完全可以把它当作一个本地硬盘。
小结:
虽然本文篇幅有点长,但更多是看图说话,iSCSI Target服务的应用是相当简单的,也没有多大的技巧需要去掌握。正如前面所说,iSCSI Target提供一个简单方便低成本的存储解决方案,如果你拥有一台NAS,那完全可以舍弃PC上的大容量数据盘,全身心投入到NAS的怀抱中。