VERITAS Volume Manager (VxVM) 可以通过优化可用硬件上的数据存储布局来提高系统总体性能。本章包含建立性能优先级、监视性能和合理地配置系统的准则。
VxVM 允许使用下列两个策略优化数据存储性能:
在可用磁盘驱动器之间平衡 I/O 负载。
使用条带化和镜像增加存取最频繁的数据的 I/O 带宽。
VxVM 还通过镜像和 RAID-5 提供数据冗余,从而允许在磁盘发生故障时继续存取数据。
当确定在何处定位文件系统时,系统管理员通常试图平衡可用磁盘驱动器之间的 I/O 负载。预测未来使用模式很困难,并且无法跨驱动器分割文件系统,这些都限制了该方法的有效性。例如,如果一个文件系统接收大多数磁盘存取,则将该文件系统移动到另一驱动器也同时会将瓶颈移动到该驱动器。
VxVM 可以跨多个驱动器分割卷。这允许在定位数据时达到更精细的粒度级别。衡量了实际存取模式后,可以调整先前的文件系统放置决策。您可以联机重新配置卷,而不会对其可用性造成负面影响。
条带化通过将数据切割成片并将其存储在可并行存取的多个设备上来提高存取性能。条带plex 同时提高了读和写操作的存取性能。
识别出最经常存取的卷(包含文件系统或数据库的卷)之后,可以通过在多个磁盘的各部分间将其条带化来提高数据的存取带宽。
镜像在系统上存储多个数据副本。如果运用得当,镜像可提供连续的数据可用性,并防止由于物理介质故障引起的数据丢失。使用镜像可以提高在系统崩溃以及磁盘或其它硬件发生故障时恢复数据的可能性。
某些情况下,还可以使用镜像提高 I/O 性能。与条带化不同该性能的提高取决于磁盘存取中的读/ 写比率。如果系统的负荷主要是写密集型的(例如写的比率大于百分之三十),则镜像会导致性能降低。
当有多个 I/O 流时,镜像和条带化一起使用可以极大地提高性能。
由于并行 I/O 流可以在不同设备上并行运行,因此条带化提供了更大的吞吐量。当 I/O 完全适合一个条带中的所有条带单元时,串行存取就被优化。
由于镜像通常用于防止因磁盘故障引起的数据丢失,所以它经常应用于降低吞吐量的写密集型负荷。在这种情况下,将镜像和条带化结合使用将同时提高可用性和吞吐量。
镜像条带卷可通过以下方式来创建:条带化可用磁盘的一半形成一个条带化数据 plex,并条带化剩余磁盘以形成镜像的另一个条带化数据 plex,这通常是对一组磁盘进行配置以获得合理可靠性及最优性能的最佳方法。但当一个 plex 中的单个磁盘发生故障时,就会使整个 plex 不可用。
也可以将数目相等的磁盘排列为独立的镜像卷,然后跨这些镜像卷创建条带 plex 以形成条带镜像卷(条带镜像,RAID-1+0 或 RAID-10)”)。
一个镜像中单个磁盘发生故障并不会使其它镜像中的磁盘无法使用。对于大型卷或数量较多的磁盘来说,与镜像条带布局相比,更倾向于使用条带镜像布局。
RAID-5 具有将镜像和条带化结合使用的许多优点,但需要的磁盘空间更少。RAID-5 读性能类似于条带化的读性能,RAID-5 奇偶校验提供的冗余类似于镜像。RAID-5 缺点是写性能相对较慢。
通常不把 RAID-5 视为提高吞吐量性能的方法除非应用程序存取模式的读/ 写比率很高。
为了帮助优化不同类型的卷的性能,VxVM 对于数据 plex 支持下列读取策略
round— 循环法读取策略,按照此策略,卷中所有的 plex 轮流满足对该卷的读请求。
prefer— 首选 plex 读取策略,按照此策略,通常由具有最高性能的 plex 满足读请求。如果该 plex 发生故障,则存取另一个 plex。
select— 默认读取策略,按照此策略,自动选择适合于配置的读取策略。例如当卷只有一个关联的条带 plex 时选择prefer,而其它大多数情况下选择round。
不能在 RAID-5 数据 plex 上设置读取策略。RAID-5 plex 有自己的读出规则(RAID)。
为了提高对读密集型负荷的性能,同一卷上可以挂接多达 32 个数据 plex。但是,这通常会在提高读性能的同时降低磁盘空间的利用率。
系统管理员有两组优先级供设置性能优先级时使用。一组是物理的,与硬件(如磁盘和控制器)有关。另一组是逻辑的,与管理软件及其操作有关。
磁盘硬件的重要物理性能特征是每个驱动器上 I/O 的相对数量和驱动器中 I/O 的集中程度。根据监视结果,可以移动子磁盘的位置以平衡磁盘间的 I/O 活动。
逻辑优先级涉及软件操作及其管理方式。基于监视,可以选择更改某些卷的布局以提高它们的性能。甚至可以选择降低总体吞吐量以提高某些关键卷的性能。只有您才可以决定系统中什么是重要的,以及需要做怎样的权衡。
在可行的时候,请在合理数量的磁盘间条带化和镜像所有卷并在控制器之间进行镜像,这样通常可以获得最佳性能。此过程倾向于在所有磁盘间均衡负载,但是它可能会使 VxVM 更难于管理。如果有大量的磁盘(数以百计或千计),请建立包含 10 个磁盘的磁盘组,其中的每个组用于创建一个条带镜像卷。此技术在减轻管理负担的同时还提供了良好的性能。
VxVM 提供两种类型的性能信息:I/O 统计和 I/O 跟踪。每种信息都有助于性能监视。使用vxstat命令可以获取 I/O 统计数据,使用vxtrace命令可以获取 I/O 跟踪数据。以下几节简要论述每个实用程序。
使用vxtrace命令跟踪对指定卷、内核 I/O 对象类型或设备的操作。vxtrace命令或者将内核 I/O 错误或 I/O 跟踪记录打印到标准输出,或者将记录以二进制格式写入文件。写入文件的二进制跟踪记录还可以通过vxtrace读回并格式化。
如果不指定任何操作数,vxtrace将报告所有虚拟磁盘设备上的错误跟踪数据或所有 I/O 跟踪数据。对于错误跟踪数据,可以选择所有累积的错误跟踪数据、等待新的错误跟踪数据或两种都进行(这是默认操作)。可以将选择范围限定在特定磁盘组、特定 VxVM 内核I/O 对象类型或特定命名对象或设备。
有关如何使用vxtrace的详细信息请参考vxtrace(1M) 帮助手册。
使用vxstat命令存取有关 VxVM 控制下的卷、plex、子磁盘和磁盘上活动的信息,并将汇总统计打印到标准输出。这些统计数据表示自系统最初引导或自计数器最后一次重置为零以来的 VxVM 活动。如果未指定 VxVM 对象名,则报告配置数据库中所有卷的统计数据。
VxVM 记录下列 I/O 统计信息:
操作计数
传送的块数(一个操作可以涉及多个块
平均操作时间(反映经过 VxVM 接口的总时间,不适合与其它统计程序进行比较
这些统计数据是为逻辑 I/O 记录的,这些逻辑 I/O 包括对每个卷的读、写、原子复制、校验读取、校验写入、plex 读和 plex 写。因此,向包含两个 plex 的卷进行的一个写操作至少会产生五个操作:每个 plex 一个操作每个子磁盘一个操作该卷一个操作。同样,跨越两个子磁盘的一个读操作至少显示四个读操作—每个子磁盘一个读操作,plex 一个读操作,该卷一个读操作。
VxVM 还维护其它统计数据。对于每个 plex,它记录读写故障。对于卷,它除了记录读写故障之外,还记录纠正的读写故障。
若要将统计信息重置为零,请使用-r选项。这可以针对所有对象或只针对指定对象执行。若在操作即将开始前重置,则可以测量此特定操作产生的影响。
下面是使用vxstat命令生成的输出的示例:
操作块平均时间(ms)
类型名称读取写入读取写入读取写入
vol blop 0 0 0 0 0.0 0.0
vol foobarvol 0 0 0 0 0.0 0.0
vol rootvol 73017 181735 718528 1114227 26.8 27.9
vol swapvol 13197 20252 105569 162009 25.8 397.0
vol testvol 0 0 0 0 0.0 0.0
对于 RAID-5 配置还有其它的卷统计数据可用。
有关如何使用vxstat的详细信息请参考vxstat(1M) 帮助手册。
一旦收集到性能数据就可以使用这些数据来确定如何配置系统才能最有效地使用资源。以下各节提供如何使用此数据的概述。
查看 I/O 统计数据可以得到如何重新配置系统的提示。应该检查两种主要的统计数据:卷I/O 活动和磁盘 I/O 活动。
在获取统计数据之前,请使用vxstat-r 命令重置所有现有统计数据的计数器。这将消除由于创建卷而引起的卷间或磁盘间的任何差异,还可以删除自引导时起的统计数据(这些统计数据通常并不重要)。
重置计数器之后,使系统在典型系统活动期间运行。在系统上运行相关的应用程序或工作负荷以测量其效果。当监视多用途系统时,使用任何一个应用程序的次数尽量不要比通常情况下的多。当监视具有许多用户的分时系统时,尽量在正常工作日内将统计数据累积几个小时。
若要显示卷统计数据请不带参数输入vxstat命令。下面是卷统计的典型显示:
操作块平均时间(ms)
类型名称读写入读取写入读取写入
vol archive 865 807 5722 3809 32.5 24.0
vol home 2980 5287 6504 10550 37.7 221.1
vol local 49477 49230 507892 204975 28.5 33.5
vol rootvol 102906 342664 1085520 1962946 28.1 25.6
vol src 79174 23603 425472 139302 22.4 30.9
vol swapvol 22751 32364 182001 258905 25.3 323.2
该输出有助于识别其操作多得异乎寻常或读写时间过多的卷。
若要显示磁盘统计数据请使用vxstat-d命令。下面是磁盘统计的典型显示:
操作块平均时间(ms)
类型名称读取写入读取写入读取写入
dm disk01 40473 174045 455898 951379 29.5 35.4
dm disk02 32668 16873 470337 351351 35.2 102.9
dm disk03 55249 60043 780779 731979 35.3 61.2
dm disk04 11909 13745 114508 128605 25.0 30.7
如果需要将名为archive的卷移动到其它磁盘上,请使用此命令识别它所在的磁盘:
# vxprint -tvh archive
下面是典型显示:
V NAME SETYPE STATE STATE LENGTH READPOL REFPLEX
PL NAME VOLUMEK STATE STATE LENGTH LAYOUT NCOL/WDTHMODE
SD NAME PLEX PLOFFS DISKOFFSLENGTH [COL/]OFFFLAGS
v archive fsgen ENABLED ACTIVE 20480 0 SELECT
pl archive-01archive ENABLED ACTIVE 20480 0 CONCAT RW
sd disk03-03archive-010 409600 20480 0/0 c1t2d0
子磁盘行(以sd开头)表示archive卷在磁盘disk03上。若要将该卷从disk03移出,请使用此命令
# vxassist move archive !disk03 dest_disk
其中dest_disk 是希望将该卷移到的磁盘。不一定要指定dest_disk。如果未指定dest_disk,该卷将移到有足够空间容纳该卷的可用磁盘。
例如,若要将该卷从disk03移到disk04,请使用此命令
# vxassist move archive !disk03 disk04
此命令指明将重新组织该卷,使得在disk03上不留下任何部分。
图形用户界面 (GUI) 提供了在磁盘间移动部分卷的简便方法因此可能优于使用命令行。
如果同一磁盘上有两个卷(根卷以外的卷较为繁忙,请移动它们以使每个卷位于不同磁盘上。
如果有一个卷特别忙(尤其当该卷的平均读写时间长得异乎寻常时),则条带化该卷(或将该卷分割成多个部分,每个部分位于不同磁盘上)。如果将卷联机转换为使用条带化,则需要足够的空闲空间存储卷的额外副本。如果没有足够的空闲空间可用则可以改为创
建一个备份副本。若要转换卷,请创建条带 plex 作为卷的镜像,然后删除旧的 plex。例如,下列命令在磁盘disk02、disk03和disk04之间条带化卷archive,然后删除原始 plex archive-01:
# vxassist mirror archive layout=stripe disk02 disk03 disk04
# vxplex -o rm dis archive-01
重新组织任何特别忙的卷之后,请检查磁盘统计数据。如果有些卷已经重新组织,则首先清除统计数据,然后累积一段合理时间内的统计数据。
如果有些磁盘看起来非常忙(或有特别长的读写时间),则可能需要重新配置某些卷。如果一个磁盘上有两个相对较忙的卷则将它们移得更近些以缩短磁盘上的查找时间。如果一个磁盘上有太多相对较忙的卷,则将它们移到不太忙的磁盘上。
使用 I/O 跟踪(或子磁盘统计)确定卷的特定区域内是否有过多的活动。如果可以识别活动区域则分割卷中的子磁盘并将这些区域移到不太忙的磁盘上。
条带化卷或跨多个磁盘分割卷将增加因磁盘故障导致卷发生故障的可能性。例如,如果跨相同的五个磁盘条带化五个卷,则只要其中任何一个磁盘发生故障都需要从备份恢复所有五个卷。如果每个卷在不同的磁盘上则只需要恢复一个卷。使用镜像或 RAID-5 减少因单个磁盘发生故障导致许多卷发生故障的可能性。
注意,文件系统和数据库通常随着时间的变化而改变对已分配空间的使用因此卷上这些位置特定的信息往往是无用的。如果可以识别出由特别忙的索引或表使用的空间,则合理的选择是把数据库移动到不忙的磁盘。
检查读写比率有助于识别出可通过镜像提高性能的卷。如果读写比率高,则镜像可以同时提高性能和可靠性。通过镜像可提高性能的读写比率主要取决于磁盘、磁盘控制器、是否可使用多个控制器以及系统总线的速度等因素。如果一个特别忙的卷的读写比率高,则镜像就可能显著提高该卷的性能。
I/O 统计提供基本性能分析数据I/O 跟踪用于更详细的分析。使用 I/O 跟踪,焦点就可
以缩小到获得特定工作负荷的事件跟踪。这有助于直接识别热点的位置和大小以及产生热点的应用程序。
使用 I/O 跟踪中的数据,可以模拟磁盘上的真实工作负荷并跟踪结果。通过使用这些统计数据,可以预测系统限制并规划其它资源。
对于从小系统到大型服务器的大多数配置,都可以通过调节 VxVM 来使之处于为最优状态。如果在大型系统上使用调节提高性能需要以有价值的资源(如内存)为代价,则通常会调节 VxVM 以使其在所支持的最小配置上运行。执行任何调节更改时都必须小心,因为它们可能会对系统的总体性能造成负面影响,甚至可能会导致 VxVM 不可用。
调节 VxVM 的机制多种多样。在某些系统上,可以使用全局可调文件/etc/system调整许多参数。其它值只能使用 VxVM 的命令行接口进行调节。
在小型系统少于 100 个磁盘驱动器)上不需要进行调节VxVM 有能力为所有配置参数应用合理的默认值。但是,在大型系统上,由于容量和性能这两个原因,配置可能要求对这些参数的调节拥有更多的控制。
在大型系统上设置 VxVM 时,通常只需做几个重要的决策。一个是决定磁盘组的大小和为每个磁盘组维护的配置副本数。另一个是选择磁盘组中所有磁盘的专用区域大小。
较大磁盘组的优点是提供了较大的空闲空间池,以便vxassist(1M) 命令从中进行选择同时还允许创建较大的阵列。而较小磁盘组则不需要那样大的配置数据库,因此可与较小的专用区域共存。超大型磁盘组最终会耗尽磁盘组中的专用区域大小,结果无法向该磁盘组添加更多的配置对象。此时,必须将配置分割到多个磁盘组中,或者必须扩大专用区域。这涉及重新初始化磁盘组中的每个磁盘(并且会涉及重新进行一切配置并从备份恢复)。
对磁盘阵列子系统用户的一般建议是,为每个阵列创建一个单独的磁盘组,以便磁盘组可以作为一个单元以物理方式在系统之间移动。
磁盘组配置副本数的选择取决于冗余与性能之间的权衡。作为一般原则,减少磁盘组中配置副本数会加快磁盘组初始存取的速度、vxconfigd后台驻留程序初始启动的速度以及磁盘组中执行事务的速度。但是,减少配置副本数也会增加完全丢失配置数据库的风险从而导致丢失数据库中的所有对象和磁盘组中的所有数据。
磁盘组配置副本的默认策略是为磁盘组中识别的每个控制器分配一个配置副本,或者为包含多个可寻址磁盘的每个目标分配一个配置副本。这提供了充分的冗余,但是在某些情况下可能会导致大量的配置副本。如果情况如此建议将配置副本的数目限制为最小值 4。跨不同控制器或目标分配这些副本以增强该冗余的有效性。
若要设置新磁盘组的配置副本数,请在vxdginit命令中使用nconfig操作数(有关详细信息请参见vxdg(1M) 帮助手册)。
还可以使用vxeditset命令更改现有磁盘组的副本数请参见vxedit(1M) 帮助手册)。例如,若要为磁盘组bigdg配置五个配置副本,请使用此命令
# vxedit set nconfig=5 bigdg
可以通过向/etc/system文件中添加适当的行且然后重新启动系统来修改可调值。
例如,若要将vol_tunable 的值更改为 5000,请将下列行添加到/etc/system文件的VxVM 部分(由 vxvm_START 和 vxvm_END 注释界定)
* vxvm_START (do not remove)
..
set vxio:vol_tunable= 5000
..
* vxvm_END (do not remove)
以下各节讲述特定的可调参数。
vol_checkpt_default
执行恢复或重同步操作的实用程序将当前偏移作为检查点装入内核的时间间隔。这种操作中的系统故障不需要完全恢复而是可以从上次到达的检查点开始继续。检查点的默认值是 20480 扇区 (10MB)。增加此大小将减少恢复操作的检查点的系统开销,但代价是如果系统在恢复期间发生故障,则需要在其后进行附加的恢复操作。
vol_default_iodelay
如果实用程序被指示降低发出 I/O 请求的频率,但并未给定具体的延迟时间,则该值是该实用程序暂停的时钟周期计数。执行重同步镜像或重新生成 RAID-5 列等操作的实用程序使用此可调值。此可调值的默认值为 50 个时钟周期。增加该值将导致恢复操作变慢,从而减少执行恢复操作时的系统影响。
vol_fmr_logsz
非保留式快速再同步可用来跟踪卷中已更改块的位图的最大大小(以千字节为单位)。映射到此位图中每个位的卷块数取决于该卷的大小,如果卷的大小更改,该值也随之更改。例如,如果该卷大小是 1 千兆字节,系统块大小是 512 字节,则值为 4 的vol_fmr_logsz产生包含 32,768 位的位图,每个位代表 64 块的一个区域。位图越大,映射到每个位的块数越少。这可以减少再同步所需的读写量,但位图将需要更多不可分页的内核内存。此外,在集群系统上,较大位图大小增加 I/O 性能中的延迟时间,并且还增加集群成员之间专用网络上的负载。这是因为每当标记位图中的某个位时,必须通知集群中的其它每个成员。由于区域大小在共享卷的集群中的所有节点上必须相同因此主节点上vol_fmr_logsz可调值将覆盖从属节点上的可调值(如果这些值不同)。因为共享卷的值会更改,所以将在卷的整个生存期内保留vol_fmr_logsz的值,或保留到为该卷打开快速再同步”为止。
在包含上千个镜像(这些镜像具有挂接的快照 plex)的配置中,VxVM 的总内存系统开销可能比通常情况下的内存使用系统开销高很多。
该可调值的默认值为 4 KB。允许的最大和最小值为 1 和 32 KB。
该可调值对保留式快速再同步没有任何影响。
vol_max_vol
系统上可创建的最大卷数。可以将该值设置在 1 与系统中可以表示的最大次要数之间。该可调值的默认值是 131071。
vol_maxio
不用分解请求便可执行的逻辑 I/O 操作的最大大小。大于此值的对 VxVM 的 I/O 请求将被分解并同步执行。物理 I/O 请求的分解基于磁盘设备的能力,且不受对该最大逻辑请求限制所进行的更改的影响。
该可调值的默认值是 512 扇区 (256KB)。
volio_maxpool_sz的值必须比vol_maxio的值至少大 10 倍。
vol_maxioctl
可以通过ioctl调用传递到 VxVM 的数据的最大大小。增大该限制可允许执行较大的操作。建议通常情况下不要减小该限制,因为有些实用程序依赖于执行特定大小的操作,如果它们发出过大的ioctl请求,可能会意外失败。
该可调值的默认值为 32768 字节 (32KB) 。
vol_maxkiocount
可由 VxVM 并行执行的 I/O 操作的最大数目。试图使用卷设备的附加 I/O 请求将排队
等候,直到当前活动计数降到该值以下。
该可调值的默认值是 4096 。
由于大多数进程线程一次只能发出一个 I/O 请求,所以达到内核中活动 I/O 请求的限
制会要求并行执行 4096 个 I/O 操作。除了在最大系统上以外,增大该限制不太可能提
供很多优点。
vol_maxparallelio
允许vxconfigd(1M) 后台驻留程序在单个
VOL_VOLDIO_READ/VOL_VOLDIO_WRITEioctl 调用中从内核请求的 I/O 操作数
目。
该可调值的默认值是 256 。最好不要更改此值。
vol_maxspecialio
可以由ioctl调用发出的 I/O 请求的最大大小。尽管ioctl请求本身可能很小,但可以请求执行大的 I/O 请求。该可调值限制这些 I/O 请求的大小。必要时,超过该值的请求可能失败,该请求也可能被分解并同步执行。
该可调值的默认值是 512 扇区 (256KB) 。
如果 I/O 请求的大小导致进程占用的内存或内核虚拟映射空间比实际存在的要多,并且因而发生死锁,则增大此限制可能会引发问题。vol_maxio的最大限制是物理内存或内核虚拟内存中较小一方的 20% 。超过该限制是不可取的,因为可能发生死锁。
如果条带大于vol_maxio,则完整的条带 I/O 请求将被分解,从而会阻止完整条带的读/ 写。这降低了顺序 I/O 或大型 I/O 请求的卷 I/O 吞吐量。
此可调值以 VxVM 中高于单个磁盘的级别限制了 I/O 请求的大小。例如,对于 8 x 64KB 的条带,值为 256KB 仅允许使用该条带中磁盘的一半的 I/O 请求,从而使潜在的吞吐量降低一半。如果有更多列或使用了较大的交叉存取因子,则相对性能会更差。
此可调值必须最低设置为最大条带(RAID-0 或 RAID-5 )的大小。
vol_mvr_maxround
用于从镜像中读取的循环策略的最小单位。如果某个读操作的偏移在上一次读操作的该可调值描述的扇区数以内,则此读操作将从与上次读操作相同的镜像中读取。
该值的默认值为 512 扇区 (256KB) 。
增加该值使得较少切换到备用镜像来读取。如果正在执行的 I/O 主要与 I/O 操作之间的少数几个小查找操作一起顺序发生,则最好增加该值。从备用镜像中读取通常适用于大量随机分布式卷的读取。
vol_subdisk_num
可以挂接到单个 plex 上的子磁盘的最大数目。在理论上对这个数字没有限制,但已将该参数的默认值限制为 4096 。如果需要可以更改该默认值。
volcvm_smartsync
如果设置为0,
volcvm_smartsync将在共享磁盘组上禁用 SmartSync 。这是安装VxVM 3.2 时的默认行为。如果设置为1,该参数将对共享磁盘组启用 SmartSync 的使用。
voldrl_max_drtregs
可存在于卷上用于非顺序 DRL 的最大脏区数。较大值可能导致以恢复时间为代价提高系统性能。该可调值可用于调节系统在失败后的更坏情况时的恢复时间。
该可调值的默认值为 2048 。
voldrl_max_seq_dirty
顺序 DRL 允许的脏区的最大数目。这对经常按顺序写入的卷(如数据库日志)很有用。限制脏区的数目使发生崩溃后能够更快地恢复。
该可调值的默认值为 3。
voldrl_min_regionsz
脏区日志 (DRL) 卷区域的最小扇区数。VxVM 使用 DRL 以逻辑方式将卷分为一组连续区域。区域大小越大,越有可能提高区域的缓存激活率。这将提高写性能,但也将延长恢复时间。
VxVM 内核目前将此可调值的默认值设置为 1024 个扇区。
voliomem_chunk_size
由 VxVM 在分配或释放系统内存时使用的内存块的最小单位。较大的粒度通过允许VxVM 保留更多的内存数量而减少了由于内存分配产生的 CPU 开销。
该可调值的默认大小是 64KB。
voliomem_maxpool_sz
VxVM 为内部使用而从系统请求的最大内存。该可调值对 VxVM 的性能有直接的影响,因为它禁止一个 I/O 操作使用系统中的所有内存。
VxVM 分配两个池的voliomem_maxpool_sz,一个用于 RAID-5,一个用于镜像卷。
当对 RAID-5 卷的写请求大于volio_maxpool_sz/10时,该请求将被分解并以volio_maxpool_sz/10大小的块执行。
当对镜像卷的写请求大于volio_maxpool_sz/2时,该请求将被分解并以volio_maxpool_sz/2大小的块执行。
该可调值的默认值为 4M。
volio_maxpool_sz的值必须比vol_maxio的值至少大 10 倍。
voliot_errbuf_default
为错误跟踪事件维护的缓冲区的默认大小。该缓冲区在驱动程序装入时分配,并且当VxVM 正在运行时,其大小是不可调节的。
该缓冲区的默认大小为 16384 字节 (16KB)。
增加该缓冲区可以为更多的错误事件提供存储,但要以消耗系统内存为代价。减小缓冲区大小可能产生跟踪设备检测不到的错误。依赖错误跟踪执行某些响应操作的应用程序取决于该缓冲区。
voliot_iobuf_dflt
如果对作为跟踪ioctl的一部分所需的内核缓冲区大小没有任何其它规范,则该值是创建跟踪缓冲区的默认大小。该可调值的默认大小为 8192 字节 (8KB)。如果由于该缓冲区太小经常丢失跟踪数据则可以将该值调得更大些。
voliot_iobuf_limit
可用于在内核中存储跟踪缓冲区的内存大小的上限。VxVM 内核使用跟踪缓冲区存储跟踪事件记录。由于要求将跟踪缓冲区存储在内核中,它们使用的内存从该池中提取。
增加该大小可允许以系统内存使用为代价执行附加跟踪。将该值设置为大于系统易于适应的大小是不可取的。
该可调值的默认值是 4194304 字节 (4MB)。
voliot_iobuf_max
可用于单个跟踪缓冲区的最大缓冲区大小。大于该大小的缓冲区请求将自动截短到此大小。从跟踪接口请求最大缓冲区大小,将获得此大小的缓冲区(以使用限制为准)。
该缓存区的默认大小是 1048576 字节 (1MB) 。
增大该缓冲区可以进行较大的跟踪,同时不会丢失使用非常频繁的卷。增加该值时应小心,不能超过可调值voliot_iobuf_limit的值。
voliot_max_open
可以同时打开的最大跟踪通道数。跟踪通道是进入跟踪设备驱动程序的克隆入口点。在系统上运行的每个vxtrace 进程都占用一个跟踪通道。
通道的默认数为 32。分配每个通道大约要占用 20 字节,即使不使用该通道。
volraid_rsrtransmax
可以为 RAID-5 并行执行的最大瞬态重构操作数。瞬态重构操作是发生在意外的非降级 RAID-5 卷上的操作。通过限制能够同时发生的这些操作的数目,消除了系统被同时发生的许多重构操作淹没的可能性,从而减小了导致内存不足状态的风险。
可以并行执行的瞬态重构操作的默认数目为 1。
增加该大小可以在故障首次发生时和分离出错对象之前提高系统的初始性能,但会导致内存不足。
阅读(3560) | 评论(1) | 转发(1) |