freeNAS ISCSI+Cluster(1)
潘文乐
一招半式
只供交流
如需转载
注明出处
一
freeNAS
计算机给世界的发展带来了巨大的动力。科技的进步,使人们急需从各种地方获得有效的资源。网络时代的发展,加上五彩斑斓的多媒体应用,使得运行在不同系统平台上的数据资料呈几何级数激增。
IDC
预测,今后几年世界范围内磁盘存储系统的容量将以每年
79.6%
的速度递增,存储设备的发展速度几何倍落后于网络带宽的发展。传统的以服务器为中心的存储网络架构面对源源不断的数据流已显得力不从心。人们希望可以找到一种新的数据存储模式,独立出存储设备,同时具有良好的扩展性、可用性、可靠性,以满足今后数据存储的要求。数据存储市场的发展,使得以服务器为中心的数据存储模式逐渐向以数据为中心的数据存储模式转化。
NAS
即是这种新型数据存储模式的具体体现。
目前磁盘存储市场上,存储分类根据服务器类型分为:封闭系统的存储和开放系统的存储。封闭系统主要指大型机,
AS400
等服务器,开放系统指基于包括
Windows
、
UNIX
、
Linux
等操作系统的服务器;开放系统的存储分内置存储和外挂存储;开放系统的外挂存储根据连接的方式分为:直连式存储(
Direct-Attached Storage
,简称
DAS
)和网络化存储(
Fabric-Attached Storage
,简称
FAS
);开放系统的网络化存储根据传输协议又分为:网络接入存储(
Network-Attached Storage
,简称
NAS
)和存储区域网络(
Storage Area Network
,简称
SAN
)。
现在网络存储的优势越来越明显并且已经被广泛接受。而对于一些中小型企业来说,购买昂贵的
NAS
设备却是比较难负担的。这样
FreeNAS
应运而生,它是一套免费的
NAS
服务器,它能将一部普通
PC
变成网络存储服务器。该软件基于
FreeBSD
,
Samba
及
PHP
,支持
CIFS(samba), FTP, NFS protocols, Software RAID (0,1,5)
及
web
界面的设定工具。用户可通过
Windows
、
Macs
、
FTP
、
SSH
及网络文件系统
(NFS)
来访问存储服务器;
FreeNAS
可被安装于硬盘或移动介质
USB Flash Disk
上,所占空间不足
16MB
。
FreeNAS
服务器前途无量;它的开发工作十分活跃。它是组建简单网络存储服务器的绝佳选择,免去安装整套
Linux
或
FreeBSD
的烦恼
.FreeNAS
是免费的,(但听说
FreeNAS
将要收费!!)安装简易。
二
iSCSI
iSCSI
技术是一种由
IBM
公司研究开发的,是一个供硬件设备使用的可以在
IP
协议的上层运行的
SCSI
指令集,这种指令集合可以实现在
IP
网络上运行
SCSI
协议,使其能够在诸如高速千兆以太网上进行路由选择。
iSCSI
技术是一种新储存技术,该技术是将现有
SCSI
接口与以太网络
(Ethernet)
技术结合,使服务器可与使用
IP
网络的储存装置互相交换资料。
iSCSI
:
Internet
小型计算机系统接口
(
iSCSI
:
Internet Small Computer System Interface
)
Internet
小型计算机系统接口(
iSCSI
)是一种基于
TCP/IP
的协议,用来建立和管理
IP
存储设备、主机和客户机等之间的相互连接,并创建存储区域网络(
SAN
)。
SAN
使得
SCSI
协议应用于高速数据传输网络成为可能,这种传输以数据块级别(
block-level
)在多个数据存储网络间进行。
SCSI
结构基于客户
/
服务器模式,其通常应用环境是:设备互相靠近,并且这些设备由
SCSI
总线连接。
iSCSI
的主要功能是在
TCP/IP
网络上的主机系统(启动
initiator
)和存储设备(目标器
target
)之间进行大量数据的封装和可靠传输过程。此外,
iSCSI
提供了在
IP
网络封装
SCSI
命令,且运行在
TCP
上。如今我们所涉及的
SAN
(
Storage Area Network
),其实现数据通信的主要要求是:(
1
)
.
数据存储系统的合并;(
2
)
.
数据备份;(
3
)
.
服务器群集;(
4
)
.
复制;(
5
)
.
紧急情况下的数据恢复。另外,
SAN
可能分布在不同地理位置的多个
LANs
和
WANs
中。必须确保所有
SAN
操作安全进行并符合服务质量(
QoS
)要求,而
iSCSI
则被设计来在
TCP/IP
网络上实现以上这些要求。
ISCSI
(
Internet SCSI
)是
2003
年
IETF
(
InternetEngineering Task Force
,互联网工程任务组)制订的一项标准,用于将
SCSI
数据块映射成以太网数据包。
SCSI
(
Small Computer System Interface
)是块数据传输协议,在存储行业广泛应用,是存储设备最基本的标准协议。从根本上说,
I SCS I
协议是一种利用
IP
网络来传输潜伏时间短的
SCSI
数据块的方法,
ISCSI
使用以太网协议传送
SCSI
命令、响应和数据。
ISCSI
可以用我们已经熟悉和每天都在使用的以太网来构建
IP
存储局域网。通过这种方法,
ISCSI
克服了直接连接存储的局限性,使我们可以跨不同服务器共享存储资源,并可以在不停机状态下扩充存储容量。
ISCSI
的工作过程:当
ISCSI
主机应用程序发出数据读写请求后,操作系统会生成一个相应的
SCSI
命令,该
SCSI
命令在
ISCSI initiator
层被封装成
ISCSI
消息包并通过
TCP/IP
传送到设备侧,设备侧的
ISCSI target
层会解开
ISCSI
消息包,得到
SCSI
命令的内容,然后传送给
SCSI
设备执行;设备执行
SCSI
命令后的响应,在经过设备侧
ISCSItarget
层时被封装成
ISCSI
响应
PDU
,通过
TCP/IP
网络传送给主机的
ISCSI initiator
层,
ISCSIinitiator
会从
ISCSI
响应
PDU
里解析出
SCSI
响应并传送给操作系统,操作系统再响应给应用程序。
这几年来,
I SCS I
存储技术得到了快速发展。
ISCSI
的最大好处是能提供快速的网络环境,虽然目前其性能和带宽跟光纤网络还有一些差距,但能节省企业约
30-40%
的成本。
ISCSI
技术优点和成本优势的主要体现包括以下几个方面:
硬件成本低:构建
ISCSI
存储网络,除了存储设备外,交换机、线缆、接口卡都是标准的以太网配件,价格相对来说比较低廉。同时,
ISCSI
还可以在现有的网络上直接安装,并不需要更改企业的网络体系,这样可以最大程度地节约投入。
操作简单,维护方便:对
I SCS I
存储网络的管理,实际上就是对以太网设备的管理,只需花费少量的资金去培训
ISCSI
存储网络管理员。当
ISCSI
存储网络出现故障时,问题定位及解决也会因为以太网的普及而变得容易。
扩充性强:对于已经构建的
I SCS I
存储网络来说,增加
ISCSI
存储设备和服务器都将变得简单且无需改变网络的体系结构。
带宽和性能:
I SCS I
存储网络的访问带宽依赖以太网带宽。随着千兆以太网的普及和万兆以太网的应用,
ISCSI
存储网络会达到甚至超过
FC
(
FiberChannel
,光连通道)存储网络的带宽和性能。突破距离限制:
I SCS I
存储网络使用的是以太网,因而在服务器和存储设备的空间布局上的限制就会少了很多,甚至可以跨越地区和国家。
在过去的一年,存储界最热门的技术就是
ISCSI
技术,各存储设备厂商都纷纷推出
ISCSI
设备(企业级别或家用级别),
ISCSI
存储设备的销量也在快速增长。
OceanStor S5000
应运而生
OceanStor S5000
(以下简称
S5000
)是华为自主开发的大容量、高性能
ISCSI
存储设备,融合了华为在存储行业多年积累的技术成果和技术经验。
S5000
的硬件系统采用双平面设计,除了用户可以看到的双控制器、双电源外,内部交换网络也采用双平面,保证了系统在其中一个模块出现故障时还能够正常工作;
S5000
可以支持多种硬盘(
FC/SATA/ SAS
),所以结合不同的
RAID
级别,可以满足客户不同应用、不同成本的组网需求;
S5000
可以同时支持
ISCSI
主机接口和
FC
主机接口,以满足
ISCSI
和
FC
的混合组网需求。
S5000
的业务软件系统基于
64
位计算平台开发,
64
位计算平台带来了性能的提升,同时让用户使用较大的
CACHE
内存(超过
32
位计算平台的限制)。业务路径上的各软件子系统的算法都基于双控制器开发,单控制器的失效会得到及时的保护,保证了系统的高可靠性。在
ISCSI
目标器的设计开发过程中,采用了比较先进的多线程软件技术,大大提升了
ISCSI
的性能和并发处理能力;当
S5000
只为少数几个高性能服务器提供存储服务时,也能够全速运行,快速响应主机的读写请求。
S5000
的管理软件系统基于
Web
技术开发,直接使用通用浏览器即可以进行
S5000
设备的管理维护,省去了安装管理软件客户端的麻烦。以流媒体业务应用为例,利用
S5000
的组网方式,所有媒体服务器通过千兆以太网共享
S5000
的存储空间。当
S5000
的两个控制器都正常时,两个控制器会分别处理不同媒体服务器的访问请求;而当其中一个控制器发生故障时,正常的控制器会自动接受所有媒体服务器的访问请求并进行处理
。每个媒体服务器主机使用两个网口,在提高了服务器对
S5000
的访问速度的同时,还保证了单个网口的异常不会影响服务器对存储设备的访问。设备网管使用的是
Web
方式,可以和其它用途的主机共用且无需安装。存储网络最好能和其它网络分开,以提高速度,并保障存储设备的安全。
展望存储市场的新局面
ISCSI
是
IP
技术和网络快速发展的必然产物,是
FC
(
FiberChannel
,光连通道)最有力的竞争对手。
ISCSI
结合了业内
SCSI
和
TCP/IP
两个最通用的协议,这给实施和使用带来了极大的便利,也大大增加了存储设备的资源利用,所以必将会得到快速的普及。目前,各存储设备厂商都纷纷推出
ISCSI
存储设备和各种操作系统的
ISCSI
启动器软件。随着
ISCSI
技术的应用,存储业界必然会发生一些变化。
对文件服务器方式(
NAS
)的替换:随着
ISCSI
技术的完善,数据块级的存储应用将变得更为普遍,存储资源的通用性、数据共享能力都将大大增强,并且更加易于管理。这样一来,以往使用
NAS
的地方,会更多地被替换为
ISCSI
块级存储设备。备份镜像中大量使用
ISCSI
设备:因为
ISCSI
本身的无地理限制的特性和完善的互联网,必将导致在数据备份镜像中大量使用
ISCSI
设备。
改变企业存储设施的布局:
IP
网本身的特点,企业在进行存储设备布局时,会把不同的
ISCSI
存储设备分散放置到不同的地方,而不是目前
FC-SAN
(
Storage AreaNetwork
,存储区域网络)所使用的比较集中的布局方式。
IP-SAN
和
FC-SAN
的融合:通过
IP-SAN
和
FC-SAN
路由器,把
IP-SAN
和
FC-SAN
融合起来,让
IP-SAN
和
FC-SAN
各自完成不同功能的同时,又能够相互进行数据共享、备份镜像。
随着千兆以太网的成熟以及万兆以太网络的开发,
ISCSI
必然凭借其性价比、通用性、无地理限制等优势而获飞速发展,
ISCSI
技术将联合
SCSI
、
TCP/IP
,共同开创网络存储的新局面。
iSCSI
存储系统架构
现在市场有很多不同型号的
iSCSI
存储设备,设备的型号和参数有很多不同,厂商在做市场宣传时候也经常采用不同的口号或噱头,标榜自己的产品有各种各样不同的功能和优势。
实际上当我们对
iSCSI
设备的结构进行深入的研究时就会发现
iSCSI
从架构上可以分为
4
种类型的架构。
(1)
控制器架构
iSCSI
的核心处理单元采用与
FC
光纤存储设备相同的结构。即采用专用的数据传输芯片、专用的
RAID
数据校验芯片、专用的高性能
cache
缓存和专用的嵌入式系统平台。打开设备机箱时可以看到
iSCSI
设备内部采用无线缆的背板结构,所有部件与背板之间通过标准或非标准的插槽链接在一起,而不是普通
PC
中的多种不同型号和规格的线缆链接。
这种类型的
iSCSI
存储设备核心处理单元采用高性能的硬件处理芯片,每个芯片功能单一,因此处理效率较高。操作系统是嵌入式设计,与其他类型的操作系统相比,嵌入式操作系统具有体积小、高稳定性、强实时性、固化代码以及操作方便简单等特点。因此控制器架构的
iSCSI
存储设备具有较高的安全性和和稳定性。
控制器架构
iSCSI
存储内部基于无线缆的背板链接方式,完全消除了链接上的单点故障,因此系统更安全,性能更稳定。一般可用于对性能的稳定性和高可用性具有较高要求的在线存储系统,比如:中小型数据库系统,大型数据的库备份系统,远程容灾系统,网站、电力或非线性编辑制作网等。
控制器架构的
iSCSI
设备由于核心处理器全部采用硬件,制造成本较高,因此一般销售价格较高。
区分一个设备是否是控制器架构,可从以下几个方面去考虑:
①、是否双控:除了一些早期型号或低端型号外,高性能的
iSCSI
存储一般都会采用
active-active
的双控制器工作方式。控制器为模块化设计,并安装在同一个机箱内,非两个独立机箱的控制器。
②、缓存:有双控制器缓存镜像、缓存断电保护功能。
③、数据校验:采用专用硬件校验和数据传输芯片,非依靠普通
CPU
的软件校验,或普通
RAID
卡。
④、内部结构:打开控制器架构的设备,内部全部为无线缆的背板式连接方式,各硬件模块连接在背板的各个插槽上。
(2) iSCSI
连接桥架构
整个
iSCSI
存储分为两个部分,一个部分是前端协议转换设备,另一部分是后端存储。结构上类似
NAS
网关及其后端存储设备。
前端协议转换部分一般为硬件设备,主机接口为千兆以太网接口,磁盘接口一般为
SCSI
接口或
FC
接口,可连接
SCSI
磁盘阵列和
FC
存储设备。通过千兆以太网主机接口对外提供
ISCSI
数据传输协议。
后端存储一般采用
SCSI
磁盘阵列和
FC
存储设备,将
SCSI
磁盘阵列和
FC
存储设备的主机接口直接连接到
iSCSI
桥的磁盘接口上。
iSCSI
连接桥设备本身只有协议转换功能,没有
RAID
校验和快照、卷复制等功能。创建
RAID
组、创建
LUN
等操作必须在存储设备上完成,存储设备有什么功能,整个
iSCSI
设备就具有什么样的功能。
(
3
)
PC
架构
那么何谓
PC
架构?按字面的意思可以理解为存储设备建立在
PC
服务器的基础上。即就是选择一个普通的、性能优良的、可支持多块磁盘的
PC
(一般为
PC
服务器和工控服务器),选择一款相对成熟稳定的
iSCSI target
软件,将
iSCSI Target
软件安装在
PC
服务器上,使普通的
PC
服务器转变成一台
iSCSI
存储设备,并通过
PC
服务器的以太网卡对外提供
iSCSI
数据传输协议。
目前常见的
iSCSI Target
软件多半由商业软件厂商提供,如
DataCore Software
的
SANmelody
,
FalconStor Software
的
iSCSI Server for Windows
,和
String Bean Software
的
WinTarget
等。这软件都只能运行在
Windows
操作系统平台上。
在
PC
架构的
iSCSI
存储设备上,所有的
RAID
组校验、逻辑卷管理、
iSCSI
运算、
TCP/IP
运算等都是以纯软件方式实现,因此对
PC
的
CPU
和内存的性能要求较高。另外
iSCSI
存储设备的性能极容易收
PC
服务器运行状态的影响。
当由于
PC
架构
iSCSI
存储设备的研发、生产、安装使用相对简单,硬件和软件成本相对较低,因此市场上常见的基于
PC
架构的
iSCSI
设备的价格都比较低,在一些对性能稳定性要求较低的系统中具有较大的价格优势。
(
4
)
PC+NIC
架构
PC+iSCSI Target
软件方式是一种低价低效比的解决方案,另外还有一种基于
PC+NIC
的高阶高效性
iSCSI
方案。
如果只是将高速
Ethernet
用于存储网络化过于可惜,因此众多厂商发起了
iWARP
不仅可实现存储网络化,也能实现
I/O
的网络化。通过
RDMA(Remote Direct Memory Access)
机制简化网络两端的内存数据交换程序,从而加速数据传输效率。
三
Cluster
服务器群集
众所周知
Cluster
服务器群集是微软为前台应用程序提供数据服务的群集技术。
群集服务器最多可由
8
个节点构成并且可以用以下三种方式进行配置:作为一个单节点服务器群集,作为一个单仲裁设备服务器群集,或作为多数节点集服务器群集。
每个节点都被附加到一个或多个群集存储设备上。在运行
Windows Server 2003 Enterprise Edition
或
Windows Server 2003 Datacenter Edition
的服务器群集上可以使用共享的
SCSI
或光纤通道设备进行群集存储。对于有两个以上节点的服务器群集,建议在共享存储总线上使用光纤通道硬件。对于
64
位版本的
Windows Server 2003 Enterprise Edition
或
Windows Server 2003 Datacenter Edition
,共享总线上的群集磁盘必须使用光纤通道硬件。
操作系统节点数允许的群集存储设备
Windows Server 2003 Enterprise Edition Windows Server 2003 Datacenter Edition 2
、
3
、
4
、
5
、
6
、
7
或
8 SCSI
、光纤通道(对于有超过两个节点的群集推荐使用)
64
位版本的
Windows Server 2003 Enterprise Edition
或
Windows Server 2003 Datacenter Edition 2
、
3
、
4
、
5
、
6
、
7
或
8
光纤通道服务器群集运行多个软件,这些软件可分为以下两类:维持群集运行的软件(群集软件)和管理群集的软件(管理软件)。在默认方式下,当您安装
Microsoft Windows Server 2003
家族产品中的任何操作系统时,所有群集和管理软件文件自动地安装在计算机上。
只有运行
Windows Server 2003 Enterprise Edition
或
Windows Server 2003 Datacenter Edition
的计算机可成为群集节点。
群集软件允许群集中的节点交换一些适时触发资源操作传送的特定信息。群集软件主要包括两部分:资源监视器和群集服务。资源监视器利于群集服务和应用程序资源之间的通信。群集服务在群集中的每个节点上运行,并控制群集的活动、群集节点之间的通信以及故障操作。当群集中的节点或应用程序发生故障时,群集服务就会通过重新启动发生故障的应用程序或将工作由发生故障的系统分散到群集中的其他节点上进行响应。
管理员使用群集管理应用程序配置、控制和监视群集。
Windows Server 2003
家族为该用途提供群集群集管理器。运行
Microsoft Windows NT? 4.0 Service Pack 3
或更新版本的计算机可以安装群集管理器,不论它是否是群集节点。默认方式下,当安装
Microsoft Windows Server 2003 Standard Edition
;
Windows Server 2003 Enterprise Edition
或
Windows Server2003 Datacenter Edition
时群集管理器的副本会自动地安装在计算机上。
也可以使用
cluster
命令创建、配置和管理群集。可以使用或创建由群集自动接口开发的顾客管理工具。
管理员将群集资源组织成称为组的功能单元,并将这些组分配到独立节点。如果一个节点出故障,群集服务将寄宿在该节点的组传送到群集中的其他节点。这个传送过程称为故障转移。相反的过程,当故障节点再一次运行并且故障转移到其他节点的组传送回初始节点时,故障回复就发生了。
本人将上面三者结合:freeNAS ISCSI+Cluste,做一个实验。将在后面陆续第四、五、六步详细解说freeNAS 的安装、ISCSI配置、Cluste群集的搭建,最后在第七步利用DHCP做一个简单的测试!