主题:【原创】家用硬盘阵列RAID实例-壹 -- 梦回唐朝
“读写峰值持续几秒” - 应该是array controller的cache的作用。
“然后迅速下降到比单个盘稍快的地步” - 实际上你的controller是相当不错的。要知道RAID 5的写操作的overhead是很严重的。最近刚升级完文件服务器,用的是3GB SAS 12HDD RAID5,峰值也就是7-8Mbyte/s.
我认为RAID5主要优势是性能和费用平衡的比较好。如果对读写性能要求较高,可能RAID1或RAID1+0更合适一些。
下面引用一段:
* For reads, striping with parity can actually be faster than striping without parity. The parity information is not needed on reads, and this makes the array behave during reads in a way similar to a RAID 0 array, except that the data is spread across one extra drive, slightly improving parallelism.
* For sequential writes, there is the dual overhead of parity calculations as well as having to write to an additional disk to store the parity information. This makes sequential writes slower than striping without parity.
* The biggest discrepancy under this technique is between random reads and random writes. Random reads that only require parts of a stripe from one or two disks can be processed in parallel with other random reads that only need parts of stripes on different disks. In theory, random writes would be the same, except for one problem: every time you change any block in a stripe, you have to recalculate the parity for that stripe, which requires two writes plus reading back all the other pieces of the stripe! Consider a RAID 5 array made from five disks, and a particular stripe across those disks that happens to have data on drives #3, #4, #5 and #1, and its parity block on drive #2. You want to do a small "random write" that changes just the block in this stripe on drive #3. Without the parity, the controller could just write to drive #3 and it would be done. With parity though, the change to drive #3 affects the parity information for the entire stripe. So this single write turns into a read of drives #4, #5 and #1, a parity calculation, and then a write to drive #3 (the data) and drive #2 (the newly-recalculated parity information). This is why striping with parity stinks for random write performance. (This is also why RAID 5 implementations in software are not recommended if you are interested in performance.)
* Another hit to write performance comes from the dedicated parity drive used in certain striping with parity implementations (in particular, RAID levels 3 and 4). Since only one drive contains parity information, every write must write to this drive, turning it into a performance bottleneck. Under implementations with distributed parity, like RAID 5, all drives contain data and parity information, so there is no single bottleneck drive; the overheads mentioned just above still apply though.
- 相关回复 上下关系8
压缩 6 层
🙂瓶颈 Cipher 字478 2010-08-10 04:20:52
🙂你这个说法是中端控制器的问题 类反词典 字531 2010-08-10 17:13:19
🙂不能迷信HP的存储 Cipher 字72 2010-08-11 23:00:01
🙂【讨论】觉得你所提的性能问题应该是正常的。
🙂确实是很正常的 类反词典 字171 2010-08-10 03:03:27
🙂raid5确实比较折中 梦回唐朝 字16 2010-08-09 22:10:12
🙂不知是否跟低端控制器有关 梦回唐朝 字151 2010-08-09 17:54:20
🙂主要还是RAID5本身的问题 3 类反词典 字698 2010-08-09 18:24:48