条带化(Striping)是把连续的数据分割成相同大小的数据块,把每段数据分别写入到阵列中不同磁盘上的方法。此技术非常有用,它比单个磁盘所能提供的读写速度要快的多,当数据从第一个磁盘上传输完后,第二个磁盘就能确定下一段数据。数据条带化正在一些现代数据库和某些RAID硬件设备中得到广泛应用。 条带化的设置 由于现在的存储技术成熟、成本降低,大多数系统都采用条带化来实现系统的IO负载分担。如果操作系统有LVM(Logical Volume Manager逻辑卷管理器)软件或者硬件条带设备,我们就可以利用这些攻击来分布IO负载。当使用LVM或者硬件条带时,决定因素是条带深度(stripe depth)和条带宽度(stripe width): 条带深度指的是条带的大小,也叫条带单元; 条带宽度指的是条带深度的产量或者一个条带集中的驱动数; 需要根据系统的IO要求来合理的选择这些数据。对于Oracle数据库系统来数,比较合理的条带深度是从256K到1M。下面分析影响条带深度和条带宽度的影响因素。 条带深度 为了提高IO效率,我们要尽量使一次逻辑IO请求由一块磁盘的一次物理IO请求。因而影响条带的一个重要因素就是一次逻辑IO请求的大小。 此外,系统中IO的并发度不同我们对条带的配置要求也不同。例如,在高并发度且IO请求的大小都比较小的情况下,我们希望一块磁盘能同时响应多个IO操作;而在那些存在大IO请求的低并发度系统中,我们可能就需要多块磁盘同时响应一个IO请求。无论是一个磁盘还是多个磁盘响应IO请求,我们的一个原则是让一次逻辑IO能被一次处理完成。 下面先看下影响IO大小的操作系统和Oracle的相关参数: db_block_size:Oracle中的数据块大小,也决定了Oracle一次单个IO请求中的数据块的大小; db_file_multiblock_read_count:在多数据块读时,一次读取数据块的数量,它和参数db_block_size一起决定了一次多数据块读的大小,它们的乘积不能大于操作系统的最大IO大小; 操作系统的数据块大小:这个参数决定拉Redo Log和Archive Log操作时的数据块大小,对于大多数Unix系统来说,该值为512K; 最大操作系统IO大小:决定了一次单个的IO操作的IO大小的上限,对于大多数Unix系统来说,由参数max_io_size设置; sort_area_size:内存中sort area的大小,也决定了并发排序操作时的IO大小; hash_area_size:内存中hash area的大小,也决定了哈希操作的IO大小。 其中,前面两个是最关键的两个参数。 在OLTP系统中,会存在大量小的并发的IO请求。这时就需要考虑选择比较大的条带深度。使条带深度大于IO大小就称为粗粒度条带(Coarse Grain Striping)。在高并行度系统中,条带深度为(n * db_block_size),其中n为大于1的整数。 通过粗粒度条带能实现最大的IO吞吐量(一次物理IO可以同时响应多个并发的逻辑IO)。大的条带深度能够使像全表扫描那样的多数据块读操作由一个磁盘驱动来响应,并提高多数据块读操作的性能。 在低并发度的DSS系统中,由于IO请求比较序列化,为了避免出现热点磁盘,我们需要避免逻辑IO之由一块磁盘处理。这是,粗粒度条带就不适合了。我们选择小的条带深度,使一个逻辑IO分布到多个磁盘上,从而实现IO的负载均衡。这就叫细粒度条带。条带深度的大小为(n * db_block_size),其中n为小于多数据块读参数(db_file_multiblock_read_count)大小的整数。 另外,IO过程中,你无法保证Oracle数据块的边界能和条带单元的大小对齐。如果条带深度大小和Oracle数据块大小完全相同,而它们的边界没有对齐的话,那么就会存在大量一个单独的IO请求被两块磁盘来完成。 在OLTP系统中,为了避免一个逻辑IO请求被多个物理IO操作完成,条带宽度就需要设置为两倍或者两倍以上于Oracle数据块大小。例如,如果条带深度是IO大小的N倍,对于大量并发IO请求,我们可以保证最少有(N-1)/ N的请求是由一块磁盘来完成。 条带宽度 正如我们前面所述,无论是一个还是多个磁盘响应一个逻辑IO,我们都要求IO能被一次处理。因而在确定了条带深度的基础上,我们需要保证条带宽度 >= IO请求的大小 / 条带深度。 此外,考虑到以后系统容量的扩充,我们也需要规划好条带宽度。 如今大多数LVM都支持在线动态增加磁盘。也就是在磁盘容量不足时,我们可以随时将新磁盘加入到一个已经使用的逻辑卷中。这样的话,我们在设置逻辑卷时就可以简单地将所有磁盘都归入到一个卷中去。 但是,有些LVM可能还不支持动态增加磁盘。这时我们就需要考虑以后的容量扩充对IO均衡的影响了。因为你新增加的磁盘无法加入原有卷,而需要组成一个新的卷。但一般扩充的容量和原有容量比较相对比较小,如果原有卷的条带宽度比较大的话,新增加的卷的条带宽度无法达到其大小,这样就会使新、旧卷之间出现IO失衡。 例如,一个系统的初始配置是一个包含64块磁盘、每块磁盘大小为16G的单一逻辑卷。磁盘总的大小是1T。随着数据库的数据增长,需要增加80G的空间。我们把新增加的5个16G磁盘再组成一个逻辑卷。这样就会导致两个卷上的IO失衡。为了避免这种情况。我们可以将原有磁盘配置成每个条带宽度为8个磁盘的8个逻辑卷,这样在新增加磁盘时可以也增加为8个磁盘的新卷。但必须要保证8个磁盘的条带宽度能够支持系统的每秒IO吞吐量。 如果你的条带宽度设置得比较小,就需要估算出你的各个数据库文件的IO负载,并根据负载量不同将他们分别部署到不同卷上一分担IO负载。 人工条带 如果系统不支持LVM或者硬件条带,IO负载就必须由DBA根据数据库文件的IO负载不同手工将他们分散到各个磁盘上去以保证整个系统的IO负载均衡。 有许多DBA会将哪些使用频率非常高的表和它的索引分开存储。但实际上这种做法并不正确。在一个事务中,索引会先被读取到然后再读取表,它们的IO操作是有前后顺序的,因此索引和表存储在同一个磁盘上是没有冲突的。仅仅因为一个数据文件即包含了索引又包含了数据表而将它分割是不可取的。我们需要根据文件上的IO负载是否已经影响到了数据库的性能来决定是否将数据文件分割。 为了正确分布文件,我们首先必须先了解各个数据库文件的IO负载需求以及IO系统的处理能力。鉴定出每个文件的IO吞吐量。找出哪些文件的IO吞吐率最高而哪些IO量很少,将它们分散分布到所有磁盘上去以平衡IO吞吐率。 如果你不了解或者无法预计文件的IO负载,就只能先估计他们的IO负载来规划文件分布,在系统运行过程中再做调整。 原文地址:http://blog.chinaunix.net/space.php?uid=10597892&do=blog&id=2946980 |
相关推荐
CD-RAIS: Constrained dynamic striping in redundant array of independent SSDs
提供高效率的存储管理提供完整的集群文件系统和卷管理能力ASM的优点:Mirroring and Striping(镜像化和条带化)条带化是一种用于在多个磁盘驱动
Grouping-based Elastic Striping with Hotness Awareness for Improving SSD RAID Performance
VIIRS/MODIS 海洋产品的去条算法。 该软件由 NOAA STAR 的 SST 小组开发(负责人:A. Ignatov)。 它旨在去除 VIIRS 1b 级 (SDR) 和 MODIS 1b 级数据。 有关该算法的更多详细信息,请参阅以下出版物: Bouali, ...
该程序用作检查ASCII代码并将其剥离到新文件中的工具,以恢复损坏的文档或在病毒编写者中发现包含文本的病毒或在图像或其他文件中添加注释的间谍的隐藏数据。
RAID 是冗余磁盘阵列(Redundant Array of Inexpensive Disk)的简称 它是把多个磁盘组成一个阵列 当作单一磁盘使用 它将数据以分段 striping 的方式分散存储在不同的磁盘中 通过多个磁盘的同 时读写 来减少数据的...
RAID的基本结构特征就是组合(Striping),捆绑2个或多个物理磁盘成组,形成一个单独的逻辑盘。组合套(Striping Set)是指将物理磁盘组捆绑在一块儿。在利用多个磁盘驱动器时,组合能够提供比单个物理磁盘驱动器更好的...
RAID的保存原理是用Bit Striping及当前主流Block Striping的分割方式,将Data分散保存至各硬盘中, 当硬盘有受损时则经由XOR运算,再将存在其他各硬盘内的Parity Blocks及Data Stripe磁区的 Data Blocks进行计算...
As an object-based parallel file system, it allows you to stripe files over multiple storage servers for high-performance parallel access with file-specific striping pattern. It can be integrated in ...
13.2.1.2 条带化(striping) 118 13.2.1.3 逻辑卷分配策略 119 13.2.2 逻辑卷的管理 119 13.2.2.1 显示逻辑卷信息 120 13.2.2.2 增加逻辑卷 121 13.2.2.3 删除逻辑卷 122 13.2.2.4 设置逻辑卷的特性 123 13.2.2.5 ...
RAID(Redundant Array of Independent Disks)即独立磁盘冗余阵列,通过磁盘阵列和数据条块化方法相结合,提高数据可用率的一种结构。RAID 技术可以分为多种级别,每种级别都有其强项和弱项。 RAID 0,也称为 ...
RAID 可以提供数据冗余、数据 Striping、镜像、热备等功能,以确保数据的安全和可用性。 浪潮板载内置 RAID 卡 浪潮板载内置 RAID 卡是一种特殊的 RAID 卡,内置在浪潮服务器中,可以提供高性能的存储解决方案。...
* RAID 0:又称为 Stripe 或 Striping,用于提高存储性能。RAID 0 将数据分散到多个磁盘上存取,从而提高磁盘整体存取性能。 * RAID 1:又称为 Mirror 或 Mirroring,用于提高数据可用性和可修复性。RAID 1 将用户...
使用Stripe Connect Standard进行Striping入职。 通过Stripe Checkout付款。 每个平台的基本平台网站。 自定义平台仪表板。 建筑学 该市场被实现为由支持的全栈应用程序,并包含一个React前端和一个Node.js REST...
The striping pattern nonuniformity of the infrared line scanner (IRLS) severely limits the system performance. An adaptive nonuniformity correction (NUC) algorithm for IRLS using neural network is ...
5.3.3 Using Mirroring and Striping 121 5.3.4 Using RAID-Z 122 5.3.5 Using Copy-on-Write and Snapshots 122 5.3.6 Using File Compression 124 5.3.7 Measuring Performance 124 5.3.8 Expanding a Pool 125 ...
日常企业里视频监控维护的方法和故障处理细节。感兴趣的可以看一看,这个是PPT
AIX系统培训,感觉还是比较经典的,希望大家可以下载看看 共同提高
vmware安装HMC的第二种方法,比较简单,但是需要HMCbios引导。使用方法,在VM虚机的目录寻找vmx后缀的文件,在文件末尾添加 bios440.filename = "hmc.rom