自己动手构建iSCSI磁盘阵列

在理想情况下,无论是对于关键业务应用需求,还是对于诸如开发、测试、磁盘到磁盘备份以及灾难恢复等应用需求,当需要更多存储空间时,大家首先想到的就是去购买最新技术的企业级存储设备。但在很多现实的情况下,由于预算等方面的原因,购买新设备的欲望往往无法得到满足。所以很多时候,IT人员也不得不针对并不太强大甚至是旧的存储系统来做文章。这里我们就教给大家一些自己动手做iSCSI阵列的方法。
 
DIY iSCSI阵列

如果你的IT架构中有空闲的服务器以及SCSI磁盘柜,那么你就完全可以通过添加一个并不昂贵的iSCSI target程序来把它们配置成为一个iSCSI磁盘阵列。即便你必须购买一些磁盘,估计一个2TB的阵列总共花费也只有大约3万元左右就可以了。你构建的新iSCSI阵列可以运行在Windows或Linux操作系统之上,这样你就可以在你的新服务器上像iSCSI逻辑驱动器一样分配空间给文件服务。

有的时候你也可以这样DIY阵列来作为一种权宜之计。很多时候,你已经向领导提交了购买新磁盘存储阵列的申请,但在等待领导审批的时候,也许你的Exchange服务器已经没有空间可用了,这时你就可以使用一台服务器、一个SCSI磁盘柜以及一个下载的WinTarget软件副本轻松的将存储添加到服务器上。

也许你会觉得通过一台服务器来构建iSCSI磁盘阵列的做法有些古怪。其实很多市场上的iSCSI磁盘阵列产品,包括诸如LeftHand Networkl和MPC等一些著名厂商的产品,都是使用了标准的Xeon主板。自然,基于服务器的阵列并不具备冗余的磁盘控制器,但是一个好的RAID控制器和iSCSI target软件的组合,同样能够实现与品牌产品性能相当的iSCSI阵列。

一旦你将iSCSI target软件加入到一台Windows或Linux服务器,你就可以创建逻辑磁盘或LUN(Logical Unit Numbers,逻辑单元数)。大多数拥有企业级磁盘阵列的人都会创建RAID设置,然后划分为很多个LUN给他们的服务器,它们都有权访问底层的操作系统,这提供了很大的灵活性。大多数的iSCSI target软件都允许你创建虚拟的LUN作为你服务器上面现有文件系统的文件对象(file object),或者将一个卷、分区或其他没有格式的磁盘空间转变为LUN。

文件LUN可以充分利用诸如压缩(compression)、快照(snapshots)等特性,你也可以使用第三方的程序(如Double-Take或WANsync)来做复制(replication)。当主机服务器的卷都已经被添满后,你只要通过简单的几次鼠标点击就可以扩展一个基于文件的LUN,而扩展一个分区或物理磁盘却是一项相比大得多的工程。特别是,如果你想在自己的开发环境中尝试一种自制的iSCSI阵列,那么基于文件的LUN是非常适合的,而且从测试服务器上删除你不再使用的LUN还可以获得很多的自由空间。

从更底层来分析,通过主机操作系统的文件系统来运行你的iSCSI I/O所带来的附加代价是――基于文件的LUN会比分区LUN更慢。尤其是当你为了其他文件或LUN而使用你的基于文件的LUN卷时,这种情况会更明显。精简自动配置(thin provisioning)可以让你在一个5TB的磁盘阵列中创建出10个1TB的LUN,因为它只有在写入内容的时候才使用磁盘空间。尽管可以通过使用LUN装载稀少的文件,来使得你自制的阵列模拟高端SAN阵列的精简自动配置特性,而且这好像也很有诱惑力,但我们的忠告是――这将会创建出非常碎小的LUN文件,并且对性能会有较大影响。

而且,在文件LUN数据上使用其他的文件系统过滤器(如防病毒软件或CDP应用等),也不是什么好主意。防病毒程序会将LUN数据误解为病毒,从而使得你的系统运行如同蜗牛一样慢。举例来说,如果你服务器的G卷是LUN,有使用者将感染病毒的文件存放到该驱动器中,而iSCSI服务器上又装有防病毒软件,那么整个G驱动器将会被检查隔离,而不仅仅是被感染病毒的文件。所以,如果你使用单个的卷来做文件服务或基于文件的LUN,你最好是想办法不要让文件LUN接受病毒扫描,而只在装备LUN的服务器上运行防病毒程序。

市场上各厂商销售的阵列都是运行各自的私有软件,它们一般不会轻易受到日常病毒、蠕虫等的影响,这种固件升级之间的间隔时间要比Windows服务器补丁之间升级间隔长很多。另外,由于当你对自制的阵列进行补丁修补的时候,你必须关掉所有主机服务器使用的逻辑驱动器,所以这也就意味着你使用自制阵列会比使用市场上买到的专职阵列具有更长的停机维护时间。
 
自制的iSCSI安全吗?

尽管iSCSI规范定义了如何使用IPsec在加密的链接上发送协议,但是大多数厂商并没有实现这一选项功能部分。如果你使用在TCP/IP堆栈中支持IPsec的Windows Server或Linux分发来构建iSCSI阵列,那么iSCSI target软件将会使用那个堆栈,IPsec就可以对在你的服务器和磁盘阵列之间传输的数据进行加密,或者可以通过验证证书授权的形式来确保只有那些应该访问磁盘阵列上LUN的服务器才能够访问,这比通常的CHAP(Challenge-Handshake Authentication Protocol,挑战握手验证协议)鉴定要更具有安全性。

不过,IPsec的缺点是,所有的加密和解密都要吞噬CPU频率周期。我们使用于iSCSI减负载的TOE以及iSCSI HBA等并不支持IPsec减负载(IPsec off-load)。尽管包括Intel和3Com在内的主要网卡厂商都已经使得10/100安全NIC支持IPsec,但我们在市场上能见到的千兆以太网(Gigabit Ethernet)IPsec卡只有一种,那就是Cavium Network公司的Nitrox XL。你需要记住一点:IPsec只是在传输过程中加密数据。

那么,你应该寻找什么样的iSCSI target软件呢?首先要注重灵活性。随着服务器的需求空间变化,你会需要扩展LUN,因此你选择的iSCSI target应用要具有跨越几个RAID组或物理驱动器扩展LUN的能力,也就是要具备一组可靠的基于文件的LUN以及一个可以跨越多个驱动器来扩展卷的逻辑卷管理器。

另外,还需要注意快照能力。在需要的时候快照可以复制虚拟服务器或变化的配置,不过实际中快照必须是根据事先设定好的时间进度计划来执行,也就是它需要通过诸如Windows 2003 VSS(Volume Shadow copy Service,卷映射拷贝服务)这样的快照软件工具,随着你服务器的应用来调整变化。加入你对数据库采用了每小时一次的快照,万一什么时候数据库被破坏,你也可以轻松返回到上一快照时的健康状况,而不会造成太大损失。

多路径I/0(Multipath I/O,MPIO)支持可以允许在服务器和iSCSI阵列之间有多个千兆以太网(GigE)连接,也可以允许这些连接使用分离的以太网交换机。这样,当其中一个电缆连接中断或某一个交换机发生故障时,你的服务器也不会中断与数据的连接。

复制(Replication)也是一项先进的技术功能,它能够使得你本地磁盘架构更具有容错性,或者能够把你的现场数据传送到另一个磁盘阵列以备灾难恢复使用。需要指出的是,如果一个企业很注重复制的高可用性的话,是不太可能采用自制iSCSI阵列的。

两大阵营的选择

Windows Target选项

自从Microsoft今年三月份从String Bean软件公司收购WinTarget后,已经从市场上将这一流行的iSCSI target application彻底收回。Microsoft表示将在Windows Storage Server的未来版本中集成WinTarget的功能――同时支持基于文件和基于卷的LUN,使用VSS提供快照。这也就意味着这项技术将不再只属于DIY一族。

随之,Rocket Division软件公司的StarWind成为基本的Windows target。StarWind能够创建固定的和可扩展的文件LUN,并支持快照。另外,你还可以创建RAMdisk LUN,并在你的StarWind服务器上共享.ISO文件、磁带驱动器或其他SCSI设备。它不可以通过IP地址或IQN支持LUN masking(逻辑单元数掩码),因此你必须使用CHAP验证来控制哪些主机服务器有权访问特定的LUN。企业版的StarWind价格为995美元,只支持一个主机连接的版本为395美元。

另外,MySAN是来自Nimbus Data系统公司的一个免费iSCSI target,它只提供基于卷的LUN以及唯一的IQN masking,不过考虑它是免费的,我们也没有理由抱怨它功能太少。

具有相对复杂需求的企业应该关注FalconStor软件公司的iSCSI Storage Server 以及DataCore软件公司的SANmelody。二者都是从事存储虚拟应用软件多年,并且也已经使用该技术创建全功能的iSCSI targets。

同FalconStor的解决方案一样,SANmelody也是将物理磁盘组成一个存储池,在这个池中管理员可以创建LUN。SANmelody甚至可以支持精简自动配置(thin provisioning),允许你在一个150GB的磁盘池中创建10个20GB的LUN。SANmelody最酷的特点是其移植便捷性,它允许你在不中止服务器运行的情况下将服务器中的数据从一组磁盘迁移到另一组磁盘中。根据不同的选择项,其价格从1200美元起不等。
Linux Target选项

对于一些热衷于开源的用户来说,可以从iscsitarget.sourcesforge.net这个网站上下载iSCSI Enterprise Target Project,然后使用它来开发自己的Linux块设备(block devices)。这一基本的驱动程序支持通过CHAP的服务器验证,但也会取决于你用于块设备管理的Linux逻辑卷管理器(logical volume manager),通过编辑配置文件来管理。

Pavitrasoft公司的Mayastor iSCSI Storage Server使用了一个Web界面,允许管理员将多个磁盘组合为一个卷群组,然后在这个池中分配逻辑驱动器。LUN可以通过IP地址和 iSCSI IQN来分配,也可以支持CHAP。

包括Chelsio Communications、Wasabi Systems以及SBE 等的其他几个厂商也正在对OEM客户销售针对Linux的iSCSI target解决方案,但他们对DIY用户并不是很积极。

最有趣的Linux iSCSI方案也许是属于德国的Open-E,它将其解决方案打包在一个IDE接口的闪存模块中。Open-E提供SOHO、SMB以及企业级版本,价格从299美元到750美元不等。企业版本支持RAID-6、MPIO、IPsec、随需应变和预定的快照、在线的卷和容量扩充、NIC绑定(NIC bonding),所有这一切都是通过一个简单的Web界面提供。Open-E企业版iSCSI还可以将单个的服务器在网络上展现为多个iSCSI target,这在开发或数据恢复环境中,用多个 iSCSI阵列模仿一个生产型SAN的时候派得上用场。

“桥”下之水深

软件iSCSI target并不是将你的服务器连接到现有存储的唯一方法,你也可以使用iSCSI-to-SCSI或iSCSI-to-FC bridge桥接方式来代替。实际上,HP的EVA iSCSI阵列就是将FC阵列和一个iSCSI-to-FC bridge绑定在一起。

如果你的SCSI阵列没有被充分使用,原因是你只能在上面连接一台或两台主机服务器,或者你正准备让某一个FC磁盘阵列退休,那么添加一个价格低廉的桥(bridge)将可以使你跨越更多的服务器来共享那些资源。

多年以来,存储管理员一直使用FC-to-SCSI桥接方式来将磁带库连接到SAN。很多磁带库厂商甚至已经在他们的磁带库产品中绑定了Crossroads等厂商的bridge,以便在自己的产品线中使用相同的SCSI磁带驱动程序。

你完全可以效仿他们,在你的SCSI库前面也装配一个iSCSI bridge,这可以使你在多个备份服务器之间实现共享,并确保更快速的LAN-free或server-free备份。

Bridge,也被称为storage router,包括Emulex、Paralan、Bridgeworks、Atto Technology 以及Cisco等多家厂商都提供这样的产品,产品价格随配置而不同,一般像ATTO 1550D这样的单口GigE-to-SCSI bridge大约是1800美元,像ATTO 2700R/D或Cisco SN5428等的四端口GigE-to-dual-port-FC bridge大概是5500美元,而一个八端口FC交换机的市场价格一般大约在8500美元左右。iSCSI-to-FC桥接功能也是高端FC router和switch的一个主要特性,如Cisco MDS 9216i、McDATA 1620和2640等。

SANRAD的V-Switch产品比简单的桥接产品又多了很多突破性功能,增加了诸如LUN管理、数据镜像和容错等功能,并支持FC、SCSI以及iSCSI后端磁盘。一个简单的bridge提供了对在后端存储上已经定义的LUN的iSCSI访问,V-Switch则可以将一个磁盘阵列LUN划分为几个更小的逻辑驱动器提供给iSCSI连接的主机。

你可以将一台V-Switch放置在开发实验室,给它分配一个来自FC阵列的大型LUN;然后开发人员可以给他们的服务器分配空间,而不必访问磁盘阵列的管理界面,当然也就不必为磁盘阵列的管理界面而做任何培训了。

V-Switch也可以对逻辑分区进行序连(concatenate)、stripe和/或镜像,将大型逻辑分区分割为多个更小的单元。在校园网或城域网(MAN)环境中,如果你的两个数据中心之间具有千兆带宽,你就可以使用 V-Switch的镜像功能在两个数据中心中发送数据到阵列。SANRAD提供了几种型号的V-Switch,起始价格为2万美元。看起来价格似乎有些昂贵,但是如果你拥有多种SCSI RAID,你需要大量复制、镜像以及卷管理工作时,相比较这个价格就比较划算了。

你可能感兴趣的:(职场,休闲,磁盘阵列)