新闻中心
联系我们
Contact us
Contact us
- 总部电话010-51727811
- 客服热线400 779 6696
- 更多联系信息
iSCSI 环境下集群的实现(一)
时间:2013-06-17 09:15 来源:飞客数据恢复 作者:飞客数据恢复工程师
存储区域网络(SAN)的发展,使得更多的应用系统,可以有效的进行存储集中,更加多的手段来提升数据的安全性。存储虚拟化、服务器虚拟化,可以引申出应用的虚拟化。“应用虚拟化”的实现是通过服务器集群来实现的。对于应用虚拟化这个概念,可以从我们的其它技术文章中看到详细描述。而SAN环境构架,曾经是FC SAN的专利,现在随着iSCSI技术的蓬勃发展,一种基于IP的SAN构架,正在迅速发展壮大起来。这篇文章我们从iSCSI环境构架讨论,探讨在 iSCSI环境下,集群(应用虚拟化)的实现。
首先介绍一下iSCSI技术
iSCSI技术于2003年2月11日,由IETF(Internet Engineering Task Force,互联网工程任务组)正式通过;它由IBM、思科共同发起,是一种基于网络的数据存储技术,具有硬件成本低廉,操作简单,扩充性强,传输速度快等特点。
iSCSI(互联网小型计算机系统接口)是一种在Internet协议网络上,特别是以太网上进行数据块传输的标准。它是由Cisco 和IBM两家发起的,并且得到了IP存储技术拥护者的大力支持。是一个供硬件设备使用的可以在IP协议上层运行的SCSI指令集。简单地说,iSCSI可以实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行路由选择。
iSCSI对于大多数用户,比FC SAN更具有竞争力
iSCSI技术和产品的出现,使得用户构架一个基于IP的SAN 环境变得更加容易,由于目前市场上基于iSCSI的存储产品越来越多,通过这些产品构架一个SAN存储环境相对构架一个FC SAN环境整体投入相当的低。这是由于FC SAN需要专用的存储光纤交换机、HBA卡、FC存储设备等,这些设备目前还是相当的昂贵,对于一般用户来讲,这个投入可能不是很值得。当然FC SAN环境速度相当快,对于一些大规模数据库应用、并发度高的用户环境,这种配置是必须的。而大多数应用环境,对存储处理能力的要求并不是想象中的那么吓人,往往连用户自己都不知道自己需要什么样的处理能力的存储。实际上,iSCSI环境下的性能瓶颈主要在网络上,因为iSCSI是通过以太网传输存储数据的。当然,在iSCSI存储设备端和服务器端存在封包和解包过程,这些会占用一些系统资源,如果使用专用的iSCSI卡,这种处理都在iSCSI卡上完成,不会占用系统资源。只有我们直接使用普通千兆以太网卡来连接到IP SAN环境中,才需要更多的系统资源。而随着网络的传输能力越来越强,服务器处理能力越来越强,这些都不是主要问题了。我们完全可以在相当低的预算范围内,甚者仅仅是以前的一个DAS(直接连接存储,比如SCSI接口磁盘阵列柜)设备的投入,就可以完成一个IP SAN环境的构建。
iSCSI环境下,构建一个集群IP SAN的构建,使得我们的用户可以将网络中的各个服务器,上的数据存放在iSCSI存储设备上,并且能够像FC SAN一样,在iSCSI磁盘阵列上划分的分区(LUN),这些分区能够被其它连接在IP SAN中的服务器所共享,这样就使得我们构架一个高可用性集群环境成为可能。
我们知道,在IP SAN环境下,我们可以不管服务器存放在何处、iSCSI存储设备存放在何处,只要网络链路能够通达就可以加入到这个SAN环境中。这样我们就在这个IP SAN环境中实现了存储虚拟化。那么怎么实现集群呢,这里我们讨论高可用性集群的实现。
高可用性集群解决SAN环境中各个应用系统的高可靠性,简单的说,就是任何服务器节点的宕机,不会导致运行在该服务器节点的应用系统停止工作,它会根据预定义的备援规则进行转移,这个转移包括了应用系统(服务、进程等)、网络资源(IP)、存储资源(卷)。这些资源通常被捆绑在一起,我们称为任务包(Package),它在逻辑上独立于服务器主机(服务器节点,Node),这样实际上是把处理单元(服务器节点)和应用系统(任务包)逻辑上完全分开,而任务包可以在任何可以运行的服务器节点上运行,对于客户端访问者来讲,不知道数据是存放在哪里,也不知道自己使用的应用环境是运行在哪台服务器上,实现了应用环境的高可用。下面我们以LanderCluster为例,来阐述一下这个环境的实现过程。
LanderCluster是一种集群管理软件,能够在IP SAN环境下,构建一个多种工作方式服务器互备环境,这种互备方式,可以是多台服务器相互备份、一台备份多台、多台备份多台等。而我们仅仅需要考虑的是集群系统的规划,也就是我们前面提到的备援规则定义,这是高可用集群系统定义的核心。主要要考虑的包括应用系统的兼容性、服务器处理能力等。
应用系统兼容性主要是指两个或多个应用系统是否可以在同一台服务器环境上运行,比如两个同实例名的ORACLE数据库是不能在同一台服务器上同时运行的,那么必须在备援规则上予以规划,使它们在任何时刻不能向同一台服务器上切换。
服务器处理能力主要是要分析是否两个或多个应用如果同时运行在一台服务器上,该服务器是否会因为过载而死机。通常情况是服务器不会死机,但会变得运行迟缓,这种情况发生,说明备援规则规划存在问题。
我们可以看出在服务器节点越多的情况下,备援规则会越复杂,但整个系统的规划会越发灵活,可靠性会越高。因为不同于双机环境,每台服务器应用只能是另外一台做备份服务器,在集群环境下,理论上的其它服务器,只要满足条件,都可以是备援服务器。