自己动手构建iSCSI磁盘阵列

日期: 2007-12-09 来源:TechTarget中国

  在理想情况下,无论是对于关键业务应用需求,还是对于诸如开发、测试、磁盘到磁盘备份以及灾难恢复等应用需求,当需要更多存储空间时,大家首先想到的就是去购买最新技术的企业级存储设备。但在很多现实的情况下,由于预算等方面的原因,购买新设备的欲望往往无法得到满足。所以很多时候,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阵列的。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐

  • 闪存采购之计算环境检查

    当应用程序或者环境达致性能极限的时候,如今最普遍的反应是购买闪存存储。虽然闪存可能是最终的答案,但是IT规划人员在增加任何类型的闪存之前应该采取几个步骤。

  • 你都如何选择LUN大小?

    在确定虚拟存储的合适的逻辑单元(logical unit size,LUN)的大小的时候,需要关心什么问题?

  • 快照服务:LUN过时了

    “作为一个抽象的单元的存储LUN即逻辑卷的概念应该摒弃,基于LUN的概念已经过时了。”DeepStorage.net公司的首席科学家Howard Marks对于存储LUN有一些激进的看法。

  • VMware Virtual Volume(VVOL):解决VMDK与存储脱节问题

    VMDK管理不知道存储,存储管理不知道VMDK。VVOL的出现能否打破这种脱节?