#### Storage stuff ### fundamental terminology * sector = smallest unit of storage, usually 512 bytes; some disks have 4096 bytes * multisector transfer = ability of disk to parallelize sector transfers in single operation * chunk, stride, stripe unit = segment of sequential data written/read from a disk before moving to next disk aka chunk size, stride sie, stripe size, stripe depth, or stripe length large files should have smaller chunks for more parallel I/O; CONFIRM small files should have larger chunks; CONFIRM * strip, stripe = logical formation over array for single striped operations * stripe width = number of data disks in array * wide striping = chunks of data spread across multiple arrays, maybe all disks in system * narrow striping = chunks of data spread across drives in a single array * superblock = a record of the file system characteristics: size, block size, empty/filled blocks, size and location of inode tables, etc. ### RAID levels * level 0 = stipe set/striped volume; splits data evenly across 2 or more disks without parity. performance boost * level 1 = mirror; 2 drives * level 2 = stripes at bit rather than block; hammering code for error correction. defunct * level 3 = byte level striping with parity disk; best for applications with high transfer rates in long, sequential reads/writes; 3 drives * level 4 = block level striping with parity disk; rare * level 5 = block level striping with parity distributed across all disks; can tolerate single disk failure; 3 drives * level 6 = extends level 5 by an additional parity block; can tolerate two disk failure; 4 drives * level 10 = (1+0 mirror over stripes; 0+1 stripe over mirrors); 4 drives * level 50 = (5+0); 6 drives * level 60 = (6+0); 8 drives * read performance = for levels 0, 5, 6, and 10 figure is # of disks in array (-1 for r5 and -2 for r6) ### RAID performance * Write penalty = Associated with stripe count(s) and/or parity levels = RAID 5 is 4 (read data, read parity, write data, write parity) = RAID 6 is 6 (read data, read parity 1 & 2, write data , write parity 1 & 2) # Standard IOPS calculation = NX/P; Number of disks/spindles * IOPS rate/penalty; 8 disk RAID5 write penalty 50% IOPS ((8*125)/4).5 * IOPS types = Read IOPS (RIOPS), Write IOPS (WIOPS), Blended IOPS (mixture of read and write IOPS) * calculate BIOPS = (read iops * 2) + (write iops * 2); 2 is the percentage, 50/50 * level 0 = No penalties * level 1 = Write penalty of 2 (write twice) * level 5 = Write penalty of 4 * level 6 = Write penalty of 6 * level 10 = Write penalty of 1 but read performance of 2 # Capacity performance = (R(+Parity)X)/Penalty; RAID5 is 1 parity, RAID6 is 2 parity * Determine spindle count for raw capacity as R * Each drive IOPS is represented as X * Calculate as normal