`
xumingyong
  • 浏览: 183410 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

自己动手做ISCSI

阅读更多

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

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

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

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

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

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

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

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

自制的iSCSI安全吗?

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

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

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

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

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

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

分享到:
评论

相关推荐

    iSCSI存储模拟 iscsitarget For Windows Server 2008 R2

    iSCSI(Internet Small Computer System Interface)是一种网络协议,它允许通过IP网络连接的设备进行块级数据传输,类似于传统的光纤通道(Fibre Channel)。在Windows Server 2008 R2中,iSCSI存储模拟是实现虚拟...

    ISCSI的概念iscsi.

    ### ISCSI的概念与技术解析 #### ISCSI概念与工作原理 ISCSI(Internet SCSI)是一种存储网络技术,它允许在IP网络上通过TCP/IP协议传输SCSI指令和数据。ISCSI的基本思想是将传统的SCSI协议封装在TCP/IP包中进行...

    Windows ISCSI Initiator下载

    Windows iSCSI Initiator是一款由微软开发的软件,用于在Windows操作系统上实现iSCSI(Internet Small Computer System Interface)协议,使计算机能够通过IP网络连接到远程存储设备,如磁盘阵列或存储服务器。...

    iSCSI Target

    iSCSI Target是一款重要的网络存储解决方案,它使得服务器能够通过Internet Small Computer System Interface(iSCSI)协议将硬盘空间提供给远程客户端使用。这个工具包主要用于构建存储区域网络(SAN),为用户提供...

    centos系统iscsi安装包

    在本篇文章中,我们将深入探讨如何在CentOS系统上安装iSCSI(Internet Small Computer System Interface)服务,以及这个过程中的关键知识点。 标题提及的"iscsi安装包"是指用于在CentOS系统上启用和配置iSCSI服务...

    iSCSI for win2003 的发起程序

    iSCSI(Internet Small Computer System Interface)是一种网络协议,它允许计算机通过IP网络连接到存储设备,如硬盘、磁带驱动器或存储区域网络(SAN)。在Windows Server 2003系统中,iSCSI发起程序是实现这一功能...

    iscsi_target_3.3.rar

    标题中的“iscsi_target_3.3.rar”指的是一个用于Windows系统的iSCSI目标软件的压缩包,版本为3.3。iSCSI(Internet Small Computer System Interface)是一种基于TCP/IP协议的存储区域网络(SAN)技术,它允许网络...

    ubantu自动挂载ISCSI硬盘

    ### Ubuntu自动挂载iSCSI硬盘详解 #### 一、前言 iSCSI(Internet Small Computer System Interface)是一种基于TCP/IP协议实现的存储技术,它允许计算机通过网络访问存储设备,如同本地硬盘一样。这对于分布式...

    iSCSI安装包(含Linux)

    iSCSI(Internet Small Computer System Interface)是一种网络存储技术,它允许通过IP网络连接SCSI设备,如硬盘、磁带驱动器等。本压缩包包含了适用于Windows 2008和Linux系统的iSCSI初始化软件,以及相关的文档,...

    windows server2008 R2 iSCSI创建共享磁盘

    ### Windows Server 2008 R2 上利用 iSCSI 创建共享磁盘 #### iSCSI简介 iSCSI(Internet Small Computer System Interface)是一种基于TCP/IP协议的标准,用于在网络中传输SCSI命令。它允许在任何支持TCP/IP的...

    ISCSI 64位 客户端

    ISCSI(Internet Small Computer System Interface)是一种网络存储技术,它将SCSI(Small Computer System Interface)协议封装在TCP/IP协议之上,使得数据存储可以通过IP网络进行传输。在64位环境下,ISCSI客户端...

    open-iscsi-2.0.873.zip

    **open-iscsi-2.0.873.zip** 是一个包含开源iSCSI启动器(open-iscsi)源代码的压缩包,版本号为2.0.873。iSCSI(Internet Small Computer System Interface)是一种网络存储协议,它允许通过IP网络进行块级数据传输,...

    安装与配置Windows平台挂载iSCSI存储环境

    iSCSI存储环境安装与配置 iSCSI存储环境是当前常用的存储解决方案之一,它可以将远端存储设备挂载到本地服务器上,以提高存储容量和数据安全性。在Windows平台上,安装和配置iSCSI存储环境需要遵循一定的步骤,以下...

    vmware添加iscsi共享储存

    vmware添加iscsi共享存储设备, vmware添加iscsi共享储存

    ISCSI高级存储搭建配置详细过程

    **ISCSI高级存储搭建配置详细过程** ISCSI(Internet Small Computer System Interface)是一种网络协议,它允许通过IP网络连接存储设备,实现数据的块级传输。ISCSI在现代数据中心环境中广泛应用,因为它提供了与...

    Linux下iscsi安装与配置

    Linux下的iSCSI(Internet Small Computer System Interface)是一种网络协议,允许通过IP网络连接存储设备,使得远程存储设备像本地硬盘一样被访问。在Linux环境中配置iSCSI,可以实现低成本、高效率的存储扩展,...

    iSCSI详解.doc

    iSCSI,全称为“Internet Small Computer System Interface”,是由IETF(互联网工程任务组)指定的一项标准,旨在将传统的SCSI(小型计算机系统接口)协议映射到以太网数据包上,从而实现通过IP网络进行存储数据...

Global site tag (gtag.js) - Google Analytics