数据存储技术与实践
上QQ阅读APP看书,第一时间看更新

1.3 SAN外置存储阵列

存储区域网络(SAN)是一种高速网络或子网络,提供在计算机与存储系统之间的数据传输。存储设备是指一张或多张用以存储计算机数据的磁盘设备。一个SAN网络由负责网络连接的通信结构、负责组织连接的管理层、存储部件以及计算机系统构成,从而保证数据传输的安全性和力度。典型的SAN是一个企业整个计算机网络资源的一部分。通常SAN与其他计算资源紧密集群实现远程备份和档案存储过程。SAN支持磁盘镜像技术(disk mirroring)、备份与恢复(backup and restore)、档案数据的存档和检索、存储设备间的数据迁移以及网络中不同服务器间的数据共享等功能。此外,SAN还可以用于合并子网和网络附接存储(NAS:network-attached storage)系统。SAN解决方案是从基本功能剥离出存储功能,所以运行备份操作就无须考虑它们对网络总体性能的影响。SAN方案也使得管理及集中控制实现简化,特别是对于全部存储设备都集群在一起的时候。最后一点,光纤接口提供了10公里的连接长度,这使得实现物理上分离的、不在机房的存储变得非常容易。

SAN的可扩展性意味着少数的磁盘不受连接到系统上的限制。SAN可以增长到数百个磁盘,但是普通物理服务器的极限只有十几个。SAN的性能不会受到以太网流量或本地磁盘访问量的制约。数据通过SAN从私有网络传送,隔开用户流量、备份流量和其他SAN流量。在正确的配置环境下,SAN数据被区域划分。用户保存数据的分区和其他人处在同样的SAN。SAN区域隔离就如同将UNIX服务器和Windows服务器连接到相同的SAN上,但这两种服务器上的数据访问是不同的。SAN系统不需要重新启动就能添加新的磁盘,更换磁盘或配置RAID组。数据流完全避开服务器系统,SAN同样增加了数据备份和恢复性能。分区也可以在SAN上将工作负载分离。不仅是将数据分离保护,而且对那些影响应用程序性能的不相关工作负载采取屏蔽。SAN的存储连接距离为10公里。这种距离优势,可以将数据存储到一个独立的位置,从系统服务中脱离出来。在SAN存储网络上自动精简配置的空间利用效率,要比本地存储来得高。当一个系统需要更多的存储资源时,SAN将动态分配资源。SAN是当今全球各地每一家大型企业机构最为关键的网络资源。没有SAN就没有存储访问和应用支持,业务功能也不能完成。没有业务功能就没有生产力;没有生产力企业也就无法生存。设计SAN来满足关键业务需求正因此成为保持企业本身生存能力的一个战略性组件。

为数据库应用提供块存储功能的数据中心SAN设计大部分常见参数包括:

● 可用性——存储数据必须始终可被应用所访问到;

● 性能——可接受的、可预测的、一致的I/O响应时间;

● 效率——不浪费任何资源(端口、带宽、存储、电源);

● 灵活性——优化数据路径以有效利用容量;

● 可扩展性——随时按需增加连接和容量;

● 可服务性——加快故障排除和问题解决;

● 可靠性——在SAN中设计的可靠的操作;

● 可管理性——优化传输和存储管理;

● 成本——设计费用控制在预算内,掌握实时运营支出。

实际上,这些基本参数的适应范围可能依据客户的不同、SAN部署的不同而有所不同。一款经深思熟虑的SAN设计可综合考虑到所有这些因素,遵循博科SAN设计原则将有助于协调不同需求之间的矛盾。此外,即便是复杂的大型数据中心SAN,也可从一个崭新的角度获得收益。只有从这些基本需求着手来分析现有基础设施,才能找出其中能采用新SAN设计加以解决的差距及弱点,而在分析的同时仍可重新规划现有的基础设施组件。

总之,块存储主要是将裸磁盘空间整个映射给运行数据库应用的主机使用,就是说例如磁盘阵列里面有10块硬盘(为方便说明,假设每个硬盘1TB),然后可以通过划逻辑盘、做RAID(redundant array of independent disks)或者逻辑卷(logic volume,LVM)等种种方式逻辑划分出N个逻辑的硬盘。(假设划分完的逻辑盘也是10个,每个也是1TB,但是这10个1TB的逻辑盘已经与原来的10个物理硬盘意义完全不同。例如第一个逻辑硬盘A里面,可能第一个100GB是来自物理硬盘1,第二个100GB是来自物理硬盘2,所以逻辑硬盘A是由多个物理硬盘逻辑虚构出来的硬盘。)接着块存储会采用映射的方式将这几个逻辑盘映射给主机,主机上面的操作系统会识别到有10块硬盘,但是操作系统是区分不出到底是逻辑的还是物理的,它一概就认为只是10块裸的物理硬盘而已,跟直接拿一块物理硬盘挂载到操作系统是没有区别的,至少操作系统在感知上没有区别。此种方式下,操作系统还需要对挂载的裸硬盘进行分区、格式化后才能使用,与平常主机内置硬盘的方式完全无异。

完全从运行数据库应用的主机剥离出来的外置块存储(通常以SAN架构来组织)有以下优点:这种方式的好处当然是因为通过了RAID与LVM等手段,对数据提供了保护。另外,也可以将多块廉价的硬盘或SSD盘组合起来,成为一个可以共享的、大容量的逻辑盘,对外提供服务,提高容量;往持久化存储介质写入数据的时候,由于是多块磁盘或SSD盘组合出来的逻辑盘,所以几块磁盘或SSD盘是可以并行写入的,大大提升了读写效率;很多时候,块存储采用SAN架构组网,出于传输速率以及封装协议的原因,使得传输速度与读写速率得到提升。

用基于块存储的SAN提供数据库应用的存储功能存在如下缺点:采用SAN架构组网时,需要额外为主机购买光纤通道卡,还要买光纤交换机,造价成本高;主机之间的数据无法共享,在服务器不做集群的情况下,块存储裸盘映射给主机,再格式化使用后,对于主机来说相当于本地盘,那么主机A的本地盘根本不能给主机B去使用,无法共享数据,不利于不同操作系统主机间的数据共享,另外一个原因是因为操作系统使用不同的文件系统,格式化完之后,不同文件系统间的数据是共享不了的。例如一台主机装了WIN7/XP系统,文件系统是FAT32/NTFS,而Linux系统的文件系统是EXT4,EXT4是无法识别NTFS的文件系统的。就像一只NTFS格式的U盘,插进Linux的笔记本,根本无法识别出来,所以不利于文件共享。