Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Enjoy members-only rewards and discounts
  • Create and access a list of your products
  • Manage your Dell EMC sites, products, and product-level contacts using Company Administration.

分析TTY日志中的RAID控制器高速缓存策略

Summary: 从Raid控制器日志(TTY)分析PERC高速缓存策略

This article may have been automatically translated. If you have any feedback regarding its quality, please let us know using the form at the bottom of this page.

Article Content


Symptoms

本文包含有关RAID控制器高速缓存策略的信息。


TTY日志(RAID控制器日志)包含对已分配给虚拟磁盘的读取、写入和高速缓存策略的引用。  这些策略可能会影响虚拟磁盘的性能,如果使用不当,则可能增加在电源故障时丢失数据的风险。 
 

读取策略: 

  • 不预读 – 不使用预读高速缓存策略。
  • 预读 – 对当前正在读取的扇区之前的顺序磁盘扇区进行高速缓存。  如果您按顺序存储数据,则此策略可提高性能。  这通常不会为随机读取操作带来好处。  (对访问较大和/或顺序存储的文件很有用)
  • 自适应预读 – 仅在前两个读取请求已访问顺序磁盘扇区时,才使用预读高速缓存。  否则,使用不预读策略。

 
写入策略: 

  • 直写式(WT) – 只有在目标磁盘报告写入成功完成后,写入才会完成。
  • 回写式(WB) – 即使数据尚未写入目标磁盘,写入也会在数据处于控制器高速缓存之后完成。 
    • 由于在系统断电的情况下,所有未存储到磁盘的数据都可能丢失,因此此策略有额外的数据丢失风险。  采用以电池作为后备电源的高速缓存可降低此风险。
    • 如果电池电量不足以将数据保存在高速缓存中,则WB策略会恢复为WT
  • 强制回写式 – 不管电池的状态如何,写入策略保持为回写式。 

 
其他策略: 

  • 访问策略 –
    • 读/写 – 允许对设备进行读取和写入
    • 只读 – 只允许对设备进行读取,不允许写入
      • SSD驱动器具备有限的写入能力。  一旦达到最大写入次数,访问策略将更改为只读,并且不能执行其他写入操作
    • 阻止 – 不允许读取或写入
  • 磁盘高速缓存策略 – 在启用后,允许先写入磁盘的高速缓存,然后再写入介质
    • 对于包含SATA磁盘的虚拟磁盘,默认情况下启用此策略
    • 对于包含SAS磁盘的虚拟磁盘,默认情况下禁用此策略
    • 对于基于驱动程序的RAID控制器(例如,SAS 6/iR和H200),此策略仅在创建虚拟磁盘后可用。

 

服务器技术的许多方面使用除十进制(以10为基数)之外的编号系统,例如二进制(以2为基数)和十六进制(以16为基数)。  通常,为了理解特定值的完整含义,必须在编号系统之间进行转换。  

一组二进制数字(共4个)通常由一个十六进制值表示。  十六进制值经常用来表示较大的二进制值。  对于两位数的十六进制值,转换为二进制值后总共有8个二进制数字,每个十六进制值有4个二进制数字。  将十六进制数字0d转换为二进制数字,第一个十六进制值0等于二进制数字0000,第二个十六进制值d等于二进制数字1101。  合并在一起的十六进制值0d等于二进制数字0000 1101。  4个二进制数字被称为“半字节”,8个二进制数字是一个“字节”。 

0000 = 0            0100 = 4            1000 = 8            1100 = c

0001 = 1            0101 = 5            1001 = 9            1101 = d

0010 = 2            0110 = 6            1010 = a            1110 = e

0011 = 3            0111 = 7            1011 = b            1111 = f

图 1:  二进制到十六进制转换 
 



这很重要,因为二进制值经常用作位掩码来表示各种设置和配置。  例如,在网络中,子网掩码是一系列二进制数字,用于确定可用网络的数量以及可以配置的每个网络的主机数量。 

对于RAID高速缓存策略,位掩码定义如下:

 

  • dcp = 默认高速缓存策略;ccp = 当前高速缓存策略
    • x01 = 回写式 
    • x04 = 预读
    • x08 = 自适应预读
    • x10 = 如果BBU是坏的,则正常写入高速缓存(强制回写式)
    • x20 = 允许写入高速缓存
    • x40 = 允许读取高速缓存
  • ap - 访问策略
    • 0 = 读写
    • 2 = 只读
    • 3 = 阻止
  • dc - 磁盘高速缓存策略
    • 0 = 保持不变,使用磁盘默认值 =(禁用SAS,启用SATA)
    • 1 = 启用磁盘写入高速缓存
    • 2 = 禁用磁盘写入高速缓存

x01表示查看第二个二进制数据字中的1值 – 0000 0001 – 突出显示的数字

x04表示查看第二个二进制数据字中的4值 – 0000 0100 – 突出显示的数字

x08表示查看第二个二进制数据字中的8值 – 0000 1000 – 突出显示的数字

x10表示查看第一个二进制数据字中的1值 – 0001 0000 – 突出显示的数字

x20表示查看第一个二进制数据字中的2值 – 0010 0000 – 突出显示的数字

x40表示查看第一个二进制数据字中的4值 – 0100 0000 – 突出显示的数字 

在分析控制器日志的输出时,可以通过获取和转换各个高速缓存策略来确定特定的高速缓存设置。  图2显示高速缓存策略的设置。 
 

07/18/12  5:16:37: EVT#28008-07/18/12  5:16:37:  54=Policy change on VD 00/0 to [ID=00,dcp=0d,ccp=0d,ap=0,dc=0,dbgi=0] from [ID=00,dcp=0d,ccp=0c,ap=0,dc=0,dbgi=0] 

图 2:  显示高速缓存策略更改的控制器日志输出示例

 

默认高速缓存策略(DCP)是在创建阵列时设置的高速缓存策略,或由用户在某个时间点手动设置的高速缓存策略。  当前高速缓存策略(CCP)是基于控制器对特定事件的自动反应而在当前使用的高速缓存策略。 

在每个4位数据字中,每个位表示一个不同的函数。  位掩码用于确定每个位的含义。  图3显示每个位的二进制值和高速缓存策略设置之间的相关性。
 

 

 

SLN163329_en_US__1I_bitmask_JM_V1 

图 3:  每个位的位掩码值和含义。
 

在图2中,DCP和CCP的值为0d或0c。  值“0c”实际上表示虚拟磁盘正在使用自适应预读、预读和直写式高速缓存策略。  值“0d”表示虚拟磁盘正在使用自适应预读、预读和回写式高速缓存策略。  如果DCP或CCP值为00,则表示虚拟磁盘未使用自适应预读,未使用预读,并且当前正在对高速缓存策略使用直写式。  如果DCP或CCP值为01,则表示虚拟磁盘未使用自适应预读,未使用预读,并且当前正在对高速缓存策略使用回写式。

 

Cause

Resolution

Article Properties


Affected Product

Servers

Last Published Date

28 Sept 2021

Version

5

Article Type

Solution