本章简要介绍了一些常见的存储管理概念。
本章包含以下信息:
选择管理存储的方式决定了控制系统上用于存储活动数据的设备的方式。要使活动的数据有用,则这些数据必须可用,且始终保持不变,即使是在出现意外事件(如硬件或软件故障)后也是如此。
有许多可用于存储数据的不同设备。选择最能满足存储需求的设备主要取决于三个因素:
性能
可用性
成本
使用 Solaris Volume Manager 有助于管理性能、可用性和成本三者的权衡因素。通常,使用 Solaris Volume Manager 可以减少许多权衡因素。
Solaris Volume Manager 可以与运行 Solaris 操作系统的任何系统上的任何受支持存储设备很好地协作。
RAID 是廉价/独立磁盘冗余阵列 (Redundant Array of Inexpensive/Independent Disks) 的首字母缩略词。RAID 是指对于用户显示为单个大型磁盘驱动器的一组磁盘,称为阵列或卷。根据配置,此阵列提供增强的可靠性、响应时间或存储容量。
从技术上讲,有六个 RAID 级别 (0-5)。每个级别代表一种在确保数据冗余性的同时分布数据的方法。(虽然 RAID 级别 0 不提供数据冗余性,但通常也作为一种 RAID 类别。RAID 级别 0 为使用的大多数 RAID 配置提供基础。)极少有存储环境支持 RAID 级别 2、3 和 4,因此,本书没有介绍这些级别。
Solaris Volume Manager 支持以下 RAID 级别:
RAID 级别 0-尽管条带和串联都不提供冗余性,但这些卷通常称为 RAID-0。实质上,数据分布于相对较小且大小相等的分段中,这些分段交替且均匀地分配于多个物理磁盘中。任何单个驱动器故障都会导致数据丢失。RAID-0 提供了较高的数据传输率和较高的 I/O 吞吐量,但与单个磁盘相比,可靠性和可用性都比较低。
RAID 级别 1-镜像过程使用等量磁盘容量存储数据和一个数据副本(镜像)。数据在两个或更多物理磁盘上进行复制(即镜像)。可以同时从两个驱动器中读取数据,这表示每个驱动器都能为任何请求提供服务,从而提供改进的性能。如果一个物理磁盘出现故障,可以继续使用镜像,从而不会造成性能降低或数据丢失。
Solaris Volume Manager 支持 RAID-0+1 和(透明地)RAID-1+0 镜像,这取决于基础卷。有关详细信息,请参见提供 RAID-1+0 和 RAID-0+1。
RAID 级别 5-RAID-5 使用条带化将数据分布于阵列中的磁盘上。RAID-5 还将记录奇偶校验信息,从而提供一定程度的数据冗余性。RAID-5 卷不会因基础设备的故障而发生故障。如果将 RAID-5 卷与热备件结合使用,则该卷可以经受多种故障,而本身不会出现任何故障。若在运行时有设备发生故障,RAID-5 卷的性能会明显降低。
在 RAID-5 模型中,每个设备都有一个包含奇偶校验条带的区域和其他包含数据的区域。奇偶校验分布于阵列中的所有磁盘上,可以缩短写入时间。 由于不必等到专门分配的奇偶校验磁盘接受数据后再进行写入,因而缩短了写入时间。
规划存储管理配置时,请牢记,对于任何给定配置,都需要在性能、可用性和硬件成本之间进行权衡。可能需要试用不同类型的存储器,以便确定最适合您的配置的存储设备。
RAID-0(串联和条带化)卷
RAID-1(镜像)卷
RAID-5 卷
软分区
在 Solaris Volume Manager 卷上构造的文件系统
实现存储管理方法之前,需要确定要使用的存储设备类型。这组指南对各种类型的存储设备进行了比较,可帮助您做出选择。其他组的指南适用于在 Solaris Volume Manager 中实现的特定类型的存储设备。有关详细信息,请参见有关每种卷类型的特定章节。
此处列出的存储类型相互之间并不排斥。可以组合使用这些卷来实现多个目标。例如,可以首先创建 RAID-1 卷来实现冗余性。接下来,可以在 RAID-1 卷上创建软分区来增加独立文件系统的可能数目。
下表提供了各种类型的存储类型可用功能的比较。
表 2–1 存储类型的比较
要求 |
RAID-0(串联) |
RAID-0(条带) |
RAID-1(镜像) |
RAID-5 |
软分区 |
---|---|---|---|---|---|
是否提供冗余数据 |
否 |
否 |
是 |
是 |
否 |
是否增强了读取性能 |
否 |
是 |
取决于基础设备 |
是 |
否 |
是否增强了写入性能 |
否 |
是 |
否 |
否 |
否 |
每个设备是否超过 8 个片 |
否 |
否 |
否 |
否 |
是 |
是否有更大的可用存储空间 |
是 |
是 |
否 |
是 |
否 |
下表概括了 RAID-1 和 RAID–5 卷在写入操作、随机读取和硬件成本三者之间的权衡。
表 2–2 优化冗余存储
RAID-1(镜像) |
RAID-5 |
|
---|---|---|
写入操作 |
速度较快 |
速度较慢 |
随机读取 |
速度较快 |
速度较慢 |
硬件成本 |
较高 |
较低 |
以下对表中的信息进行了概括:
RAID-0 卷(条带化和串联)和软分区不提供任何数据冗余性。
串联非常适用于小型随机 I/O 操作。
条带化非常适合于大型顺序 I/O 操作和随机 I/O 操作。
由于 RAID-5 卷具有读取-修改-写入特性,因此写入量超过 20% 的卷不应该为 RAID-5。如果需要冗余性,请考虑使用镜像。
RAID-5 写入不如镜像写入的速度快,而镜像写入不如未保护写入的速度快。
软分区对于管理非常大的存储设备非常有用。
除这些常用存储选项之外,有关使用 Solaris Volume Manager 支持冗余设备的更多信息,请参见热备用池。
一般情况下,条带化的性能最佳,但条带化不提供数据冗余性。对于进行大量写入操作的应用程序,一般情况下,RAID-1 卷比 RAID-5 卷的性能更好。
RAID-1 和 RAID-5 卷都可以增加数据可用性,但一般情况下,这两种卷的写入操作性能都比较低。镜像可以提高随机读取性能。
RAID-5 卷比 RAID-1 卷的硬件成本更低,而 RAID-0 卷没有其他硬件成本。
条带和 RAID-5 卷都将数据分布于多个磁盘驱动器中并且有助于平衡 I/O 负载。
确定最常访问的数据,并使用镜像或条带化来增加数据的访问带宽。
使用可用的性能监视功能和通用工具(如 iostat 命令)以确定最常访问的数据。确定最常访问的数据之后,可以使用条带化、RAID-1 卷或 RAID-5 卷来增加此数据的访问带宽。
多次更改软分区大小,可能会降低软分区的性能。
在写操作方面,RAID-5 卷比条带的性能更低。此性能降低是由于计算和存储 RAID-5 卷奇偶校验所需的多项 I/O 操作导致的。
对于原始随机 I/O 读取,条带和 RAID-5 卷相当。条带和 RAID-5 卷都将数据分布在多个磁盘中。对于 RAID-5 卷,读取过程中并不进行奇偶校验计算(出现片故障后除外)。
对于原始随机 I/O 写入,条带优于 RAID-5 卷。
有关特定于 Solaris Volume Manager 的配置原则,请参见Solaris Volume Manager 配置原则。
如果不知道在将要创建的 Solaris Volume Manager 卷上是顺序 I/O 还是随机 I/O 占支配地位,请勿实现这些性能调整提示。如果错误地实现这些提示,则会降低性能。
以下优化建议假设您要优化 RAID-0 卷。通常需要优化 RAID-0 卷,然后镜像该卷以提供最佳性能和数据冗余性。
在随机 I/O 环境中(如用于数据库和通用文件服务器的环境),所有的磁盘都应花费相同的时间为 I/O 请求提供服务。
例如,假设有 40 GB 存储用于数据库应用程序。如果跨四个 10 GB 的磁盘轴进行条带化,并且 I/O 是随机且均匀地分散于卷中,则每个磁盘的繁忙程度一样,一般情况下会提高性能。
磁盘上最大随机 I/O 性能的目标是 35% 或更低的使用率(由 iostat 命令报告)。通常,磁盘使用率超过 65% 就会出现问题。磁盘使用率超过 90% 就会出现严重问题。解决磁盘使用率值太高的办法就是创建包含更多磁盘(轴)的新 RAID-0 卷。
仅将其他磁盘连接到现有卷不能提高性能。可以使用理想的参数创建新卷,从而优化性能。
条带的交错大小并不重要,因为您只想将数据分布于所有磁盘中。任何大于一般 I/O 请求的交错值便已足够。
可以在顺序 I/O 环境(如整表扫描占支配地位的 DBMS 服务器,以及数据非常密集的环境中的 NFS 服务器)中优化配置的性能。要充分利用顺序 I/O 环境,请相对于一般 I/O 请求的大小将交错值设置为较小的值。
例如,假设一般 I/O 请求大小为 256 KB,且跨 4 个轴进行条带化。本示例中的条带单元大小的最佳选择将为:
256 KB/4 = 64 KB,或更小
此策略确保了一般 I/O 请求跨多个磁盘轴分布,从而增加了连续带宽。
在顺序 I/O 环境中,查找时间和旋转时间实际上都为零。优化顺序 I/O 时,磁盘的内部传输率最为重要。
在顺序的应用程序中,一般 I/O 大小通常很大(大于 128 KB 或者甚至大于 1 MB)。假设应用程序的一般 I/O 请求大小为 256 KB,并假设跨 4 个磁盘轴进行条带化,因而:
256 KB/4 = 64 KB
因此,交错值的最佳选择将为 32–64 KB。