TTY Logs (the RAID controller log) contains references to read, write and cache policies assigned to virtual disks. These policies can impact the performance of virtual disks, and if not used properly, can increase the risk of data loss in the event of a power failure.
Read Policies:
Write Policies:
Other Policies:
Many aspects of server technology use numbering systems other than decimal (Base 10), such as binary (Base 2) and hexadecimal (Base 16). Often, converting between numbering systems is necessary to understand the full meaning of specific values.
A set of 4 bits in binary is often represented by a single value in hexadecimal. Hexadecimal values are frequently used to represent much larger values in binary. For a two digit hexadecimal value, converting to binary there is 8 bits total, 4 bits per hexadecimal value. Converting the hexadecimal number 0d to binary, the first hex value 0 equals 0000 in binary, and the second hex value d equals 1101 in binary. Combined together the hex values 0d equals 0000 1101 in binary. 4 bits in binary is called a "nibble", 8 bits is a "byte".
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
Figure 1: Binary to Hexadecimal conversion
This is important because binary values are often used as a bitmask to represent various settings and configuration. In networking for example, a subnet mask is a series of bits that is used to determine the number of networks available, and the number of hosts per network that can be configured.
For RAID cache policies the bitmask definition is as follows:
x01 means looking at the 1 value in the second binary data word – 0000 0001 – the highlighted digit
x04 means looking at the 4 value in the second binary data word – 0000 0100 – the highlighted digit
x08 means looking at the 8 value in the second binary data word – 0000 1000 – the highlighted digit
x10 means looking at the 1 value in the first binary data word – 0001 0000 – the highlighted digit
x20 means looking at the 2 value in the first binary data word – 0010 0000 – the highlighted digit
x40 means looking at the 4 value in the first binary data word – 0100 0000 – the highlighted digit
When analyzing at the output of the controller logs, specific cache settings can be determined by obtaining and converting the individual cache policies. Figure 2 shows the settings for the cache policies.
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]
Figure 2: Sample controller log output showing cache policy changes
The Default Cache Policy (DCP) is the cache policies set when the array was created, or manually set by the user at some point. The Current Cache Policy (CCP) is the cache policies currently being used based on the automatic reaction of the controller to a specific event.
In each 4 bit data word, each bit represents a different function. The bitmask is used to determine the meaning of each bit. Figure 3 shows the correlation between the binary values and the cache policy setting for each bit.
Figure 3: Bitmask values and meanings for each bit.