当项目管理员决定采用基于软件的RAID解决方案的时候,笔者认为主要需要注意如下几个方面。
一是软件RAID方案的性能。虽然从总体上来说,软件RAID磁盘阵列其性能是不能够跟硬件RAID相比的。但是只要服务器的性能比较好,如采用了快速的CPU以及比较大的内存,则软件RAID性能还是比较出色的,有时候甚至可以跟硬件RAID相媲美。而最重要的是,对这些CPU或者内存进行升级,其不仅RAID可以享受好处,而且其他的应用服务也可以共享这些资源。况且其升级的费用比购买硬件RAID可能还要便宜。总之,对于大部分应用来说,软件的RAID解决方案只要对服务器的硬件进行一定程度的升级,其性能还是可以跟的上的。
二是基于软件的RAID实施方案,其跟硬件RAID不同,可以实现不同的RAID级别。根据需要实现的RAID级别不同,其服务器需要的硬盘个数也是不相同的。如实现RAID0的话,最好一块硬盘就可以了。而需要实现RAID1的话,则至少需要两块硬盘或者2N个物理硬盘。RAID3的话需要3块硬盘,RAID10则需要4块硬盘。一般来说,其级别越高,需要的硬盘数量也就越多。不过这里需要注意的是,有不少的级别其对硬盘的数量有一个限制。如RAID10则要求硬盘的数量是4的整数倍。否则的话,对于的硬盘可能发挥不了其应有的作用。那么企业到底该选择什么样的级别呢?根据笔者的意见,管理员在考虑这个因素的时候,主要是从可用性、性能以及成本三个方面去考虑。通常情况下,如果可用性可以忽略的话,那么采用RAID0的级别性能是最佳的,而且成本也是最低的。相反,如果可用性和性能是解决方案中的关键(这是大部分企业所考虑的内容),而对于解决方案所需要的成本没有多大的限制,此时笔者建议采用RAID1解决方案。可以选择多块硬盘来提高数据的可用性与解决方案的性能。如果企业的资金比较紧张,同时又非常看重数据的可用性与存储性能的话,那么笔者建议可以采用RAID3或者更高的级别。通常来说,现在大部分文件服务器都比较倾向于采用RAID5级别。因为这个级别在性价比上是最突出的。
三是要考虑数据的安全。在基于硬件的RAID解决方案中,不少硬件控制器中都有针对磁盘阵列的安全措施。而在通过软件来实现RAID的情况下,其安全主要是通过操作系统来实现的。也就是说,保护了操作系统的安全,就是保护了RAID方案的安全。当操作系统受到了攻击或者破坏,那么无论使用什么样级别的RAID都将失效,无法起到保护数据存储的作用。也就是说,在基于软件的RAID方案中,对数据的保护只局限于硬盘的损坏。当某块硬盘损坏时,可以对损坏硬盘中的数据进行恢复。但是当操作系统受到攻击时,由此带来的数据损失基于软件的RAID是没有任何保护措施的,而全部要依赖于其所采用的操作系统。故在这种情况下,操作系统的安全就变得非常的重要。
四是需要了解硬件与软件RAID解决方案的一些管理上的差异。如在现有的软件RAID解决方案中,是支持硬盘热插拔、远程阵列管理、硬盘热备份、可引导阵列支持、在硬盘上实现阵列配置、硬盘温插拔、SMART硬盘支持等等。如果管理员需要实现这些功能的话,特别是需要实现远程阵列管理(这是很多管理员所期待的),那么管理员必须选择基于硬件的RAID方案。需要购买比较昂贵的硬件控制器来实现。
从以上的分析中可以看出,虽然硬件RAID与软件RAID都可以实现磁盘阵列的功能,但是软件RAID在功能上还是有不少限制的。俗话说,鱼与熊掌不能够兼得。如果企业比较富裕,肯为存储投入大笔资金的话,那么管理员不妨现在硬件RAID 。相反,企业资金比较紧或者数据的传输量不是很大,同时不需要远程阵列管理、硬盘热备份等功能,则可以考虑比较廉价的软件RAID。笔者认为,在考虑是采用硬件还是软件RAID方案时,性能并不是考虑的主要因素。其主要因素在于功能与成本上。因为只要适当提高服务器的CPU与内存配置,可以大幅度的提高软件RAID的性能。甚至可以提高到与硬件RAID同一个水平上。所以选择时焦点主要还在于功能与成本。