- 浏览: 2105559 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
无心流泪wan:
private static final Log log = ...
log4j Category.callAppenders Block -
yjxa901:
博主好: http://www.java.net/down ...
jdk debug -
aptech406328627:
大神,请接收我的膜拜吧,纠结了两天的问题,就这么让你给解决了 ...
java.lang.reflect.MalformedParameterizedTypeException -
xukunddp:
谢谢1楼,我也遇到,搞定了
java.lang.reflect.MalformedParameterizedTypeException -
di1984HIT:
学习了!!!!
jvmstat hsperfdata java.io.tmpdir
转载自:http://www.lascon.co.uk/d008005.htm
These descriptions are based on the original RAID definitions from the Berkeley paper by Patterson, Gibson and Katz. RAID originally stood for Redundant Array of Inexpensive Disks, but the disk vendors did not like that, as it had cost implications. They changed it to mean Redundant Array of Independent Disks.
Now this page has turned out to be a lot more popular that I ever
thought it would, and needs a bit more explanation, as a lot of people
are coming in from the home PC angle. I'm from a big systems
background, IBM mainframes, big Unix servers, Windows and Netware
clusters, that sort of stuff and that biases my opinions on RAID. If
you want to put RAID onto your home PC, then in my opinion, RAID1 is
the best way to go. It's simple. it works and it only needs two disks.
It will even perform if it is a software implementation.
If you run big storage systems with gigabytes of cache and
hundreds of physical disks, then I would definitely go for RAID5. Why?
It is cheaper because it uses fewer disks for a given capacity and it
performs just as good as RAID1. If you have eighty 500GB disks, you can
only store 20 Terabytes of data on them with RAID1, but you will get 35
TB on them in a 7+1 RAID5 implementation. That's why I claim that RAID5
is cheaper than RAID1. It is for big systems, but not for small
systems, say less than a couple of terabytes.
I had an animated discussion (which is one way of describing it)
with a DBA last year who insisted that Oracle databases had to have
RAID1 or they would not perform. We bought a DMX and ran some tests
with the same database on RAID1 and RAID5, and the RAID5 setup actually
performed better, I suspect, because it was pulling the data off more
spindles.
However, I would never touch a software implementation of RAID5 as the write penalty will kill performance.
So there you go, PCs and small systems; RAID1, big systems RAID5 but at the end of the day it is your money.
RAID can be implemented by software in the host, but this is not usually successful. It is best implemented by microcode in the storage subsystem controller. The various types of RAID are explained below. In the diagrams, the square box represents the controller and the cache.
Parity is a means of adding extra data, so that if one of the bits of data is deleted, it can be recreated from the parity. For example, suppose a binary halfword consists of the bits 1011. The total number of '1's in the halfword is odd, so we make the parity bit a 1. The halfword then becomes 10111. Suppose the third bit is lost, the halfword is then 10?11. We know from the last bit that there should be an odd number of '1's, the number of recognisable '1's is even, so the missing but must be a '1'. This is a very simplistic explanation, in practice, disk parity is calculated on blocks of data using XOR hardware functions. The advantage of parity is that it is possible to recover data from errors. The disadvantage is that more storage space is required.
- RAID0 is simply data striped over several disks. This gives a performance advantage, as it is possible to read parts of a file in parallel. However not only is there no data protection, it is actually less reliable than a single disk, as all the data is lost if a single disk in the array stripe fails.
- RAID1 is data mirroring. Two copies of the data are held on two physical disks, and the data is always identical. RAID1 has a performance advantage, as reads can come from either disk, and is simple to implement. However, it is expensive, as twice as many disks are needed to store the data.
- RAID2 is a theoretical entity. It stripes data at bit level across an array of disks, then writes check bytes to other disks in the array. The check bytes are calculated using a Hamming code. Theoretical performance is very high, but it would be so expensive to implement that no-one uses it.
-
RAID3
A block of data is striped over an array of disks,
then parity data is written to a dedicated parity disk. Successful
implementations usually require that all the disks have synchronised
rotation. RAID3 is very effective for large sequential data, such as
satellite imagery and video.
In the gif above, the right hand disk is dedicated parity, the other three disks are data disks.
-
RAID4
data is written in blocks onto the data disks (i.e.
not striped), then parity is generated and written to a dedicated
parity disk.
In the gif above, the right hand disk is dedicated parity, the other three disks are data disks.
-
RAID5
data is written in blocks onto data disks, and parity
is generated and rotated around the data disks. Good general
performance, and reasonably cheap to implement. Used extensively for
general data.
The gif below illustrates the RAID5 write overhead. If a block of data on a RAID5 disk is updated, then all the unchanged data blocks from the RAID stripe have to be read back from the disks, then new parity calculated before the new data block and new parity block can be written out. This means that a RAID5 write operation requires 4 IOs. The performance impact is usually masked by a large subsystem cache.
As Nat Makarevitch pointed out, more efficient RAID-5 implementations hang on to the original data and use that to generate the parity according to the formula new_parity = old_data XOR new_data XOR old_parity. If the old data block is retained in cache, and it often is, then this just requires one extra IO to fetch the old parity. Worst case it will require to read two extra data blocks, not four.RAID 5 often gets a bad press, due to potential data loss on hardware errors and poor performance on random writes. Some database manufactures will positively tell you to avoid RAID5. The truth is, it depends on the implementation. Avoid software implemented RAID5, it will not perform. RAID5 on smaller subsystems will not perform unless the subsystem has a large amount of cache. However, RAID5 is fine on enterprise class subsystems like the EMC DMX, the HDS USP or the IBM DDS devices. They all have large, gigabyte size caches and force all write IOs to be written to cache, thus guaranteeing performance and data integrity.
Most manufactures will let you have some control over the RAID5 configuration now. You can select your block stripe size and the number of volumes in an array group.
A smaller stripe size is more efficient for a heavy random write workload, while a larger blocksize works better for sequential writes. A smaller number of disks in an array will perform better, but has a bigger parity bit overhead. Typical configurations are 3+1 (25% parity) and 7+1 (12.5% parity). -
RAID6
is growing in popularity as it is seen as the best way
to guarantee data integrity as it uses double parity. It was originally
used in SUN V2X devices, where there are a lot of disks in a RAID
array, and so a higher chance of multiple failures. RAID6 as
implemented by SUN does not have a write overhead, as the data is
always written out to a different block.
The problem with RAID6 is that there is no standard method of implementation; every manufacturer has their own method. In fact there are two distinct architectures, RAID6 P+Q and RAID6 DP.
DP, or Double Parity raid uses a mathematical method to generate two independent parity bits for each block of data, and several mathematical methods are used. P+Q generates a horizontal P parity block, then combines those disks into a second vertical RAID stripe and generates a Q parity, hence P+Q. One way to visualise this is to picture three standard four disk RAID5 arrays then take a fourth array and stripe again to construct a second set of raid arrays that consist of one disk from each of the first three arrays, plus a fourth disk from the fourth array. The consequence is that those sixteen disks will only contain nine disks worth of data.
P+Q architectures tend to perform better than DP architectures and are more flexible in the number of disks that can be in each RAID array. DP architectures usually insist that the number of disks is prime, something like 4+1, 6+1 or 10+1. This can be a problem as the physical disks usually come in units of eight, and so do not easily fit a prime number scheme.
- RAID7 is a registered trademark of Storage Computer Corporation, and is basically RAID3 with an embedded operating system in the controller to manage the data and cache to speed up the access.
- RAID1+0 is a combination of RAID1 mirroring and data striping. This means it has very good performance, and high reliability, so its ideal for mission critical database applications. All that redundancy means that it is expensive.
- RAID50 is implemented as a RAID5 array that is then striped in RAID0 fashion for fast access
- RAID53 applies this 'RAID then stripe' principle to RAID3. It should really be called RAID3+0. Both these RAID versions are expensive to implement in hardware terms
- RAID0+1 is implemented as a mirrored array whose segments are RAID 0 arrays, which is not the same as RAID10. RAID 0+1 has the same fault tolerance as RAID level 5. The data will survive the loss of a single disk, but at this point, all you have is a striped RAID0 disk set. It does provide high performance, with lower resilience than RAID10.
- RAID-S or parity RAID is a specific implementation of RAID5, used by EMC. It uses hardware facilities within the disks to produce the parity information, and so does not have the RAID5 write overhead. It used to be called RAID-S, and is sometimes called 3+1 or 7+1 RAID.
- RAIDZ is part of the SUN ZFS file system. It is a software based variant of RAID5 which does not used a fixed size RAID stripe but writes out the current block of data as a varying size RAID stripe. With standard RAID, data is written and read in blocks and several blocks are usually combined together to make up a RAID stripe. If you need to update one data block, you have to read back all the other data blocks in that stripe to calculate the new RAID parity. RAIDZ eliminates the RAID 5 write penalty as any read and write of existing data will just include the current block. In a failure, data is re-created by reading checksum bytes from the file system itself, not the hardware, so recovery is independent of hardware failures. The problem, of course is that RAIDZ closely couples the operating system and the hardware. In other words, you have to buy them both from SUN.
发表评论
-
eclipse classpath太长的问题
2013-07-19 21:53 2944https://bugs.eclipse.org/bugs ... -
linux 检测工具
2013-07-17 00:52 1161sysstat http://sebastien.goda ... -
svn: 目录中的条目从本地编码转换到 UTF8 失败
2013-01-24 13:28 3687测试同学写了中文类名和方法的testCase,导致svn下 ... -
linux trace工具
2013-01-22 10:59 7795技巧: 使用truss、strace或ltrace诊断软件 ... -
linux 命令 图像
2013-01-05 10:31 981通过命令行处理图形 http://www.ibm.co ... -
AWK & SED
2012-11-15 20:40 894Sed学习笔记 http://www.tsnc.edu ... -
SEDA
2012-11-08 19:02 18091:Staged Event Driven Architect ... -
linux ulimit
2012-10-27 19:14 1478选项 [options] 含义 例子 -H ... -
收集的一些mysql相关的文章
2012-09-25 11:56 10041:Linux and H/W optimizations f ... -
linux 内存屏障 volatile
2012-08-19 16:19 3354之前主管解释了内存屏障之类的东西,但是还需要一些理论来补充,故 ... -
GDB 调试相关
2012-08-19 12:57 2712之前利用gdb查看内存数据,定位到了一个内存泄露的问题,但是 ... -
Uninterruptible sleep
2012-07-12 00:55 1632今天关于load问题学习到一个新名词 Uninter ... -
linux下图片转换为pdf
2012-07-03 22:38 8517linux下将图片转换为pdf,linux下刚好有现成的工具 ... -
Linux下mms下载
2012-06-25 01:38 1567遇到mms协议的视频文件,找到了linux下的下载工具 ... -
bash for循环
2012-06-08 15:18 90112 Bash For Loop Examples fo ... -
linux 零拷贝技术
2012-04-12 15:14 2001收集整理一些关于linux 零拷贝技术的文章,如果想高效的收集 ... -
linux 安装Systemtap
2012-04-06 18:19 5866在之前的blog里介绍了一堆systemtap的资料,然后之前 ... -
linux Kprobes
2012-03-31 18:45 1413觉得Kprobes很神奇,故找些资料来学习下 1 ... -
Linux 可加载内核模块
2012-03-30 20:02 1359上几篇文章里都涉及到动态监控,其中使用到了动态模块加载的技术, ... -
linux Systemtap
2012-03-30 15:30 2060上篇文章总结了ftrace的一些学习资料,这里给出另外一个工具 ...
相关推荐
文章《Geometric illustration of the Kalman filter》强调通过几何方式来解释这些运算。 首先,文章强调卡尔曼滤波器增益的几何解释。卡尔曼滤波器增益的几何意义是,在给定观测数据的条件下,找到一个投影方向,...
在探讨“Rendering HTML5 Illustration”这一主题时,我们深入研究了HTML5在网页设计与开发中的关键作用,特别是其在处理图像与图形方面的能力。HTML5不仅为开发者提供了更丰富的多媒体元素支持,还引入了诸如`...
Microsoft_Brand_illustration
根据提供的文件信息,我们可以提取以下关于资产份额在保费中应用的知识点: 1. 寿险精算理论基础:文件提到,文章是基于寿险精算理论进行的,这表明研究的主体是在寿险产品定价和财务稳定性分析方面。...
The Chapters in this book are written by the ... Applications are in fact diffused throughout the chapters of the book in the form of examples for proof of concept or for illustration of ideas.
本文档《一种用于自动技术插图的非真实感照明模型》(A Non-Photorealistic Lighting Model For Automatic Technical Illustration)是关于非真实渲染(即卡通渲染)的重要文献之一。该文发表于1999年,作者包括Amy ...
YOLO,全称为"You Only Look Once",是一种实时目标检测系统,由Joseph Redmon等人在2016年提出,并在计算机视觉领域产生了深远影响。YOLO算法以其高效的检测速度和相对准确的性能赢得了广泛关注。...
Label_Correcting_illustration_v2.ipynb
Illustration
Each peer-reviewed, highly-structured entry includes a definition, key words, an illustration, applications, a bibliography, and links to related literature. The entries are expository and tutorial,...
illustration of result after selecting security option.
Illustration of the standard cursor font Function group index to the right routine for a particular task Reference pages for Xlib-related Xmu functions (miscellaneous utilities) Four single-page ...
Illustration of the standard cursor font Function group index to the right routine for a particular task Reference pages for Xlib-related Xmu functions (miscellaneous utilities) Four single-page ...
Illustration of the standard cursor font Function group index to the right routine for a particular task Reference pages for Xlib-related Xmu functions (miscellaneous utilities) Four single-page ...
《Blender中的3D低多边形插图创作——深入解析NS-illustration-pack》 在数字艺术领域,3D低多边形插图(Low-Poly Illustrations)以其独特的几何美感和现代风格,深受设计师和艺术家们的喜爱。NS-illustration-...
A gallery of fine art and illustration collections is also included making this book the ideal introduction to the world of producing computer art and encouraging turning a creative hobby into a ...
._Gradient - Illustration Scene Generator by PanoplyStoreAdobeXD源码下载设计素材UI设计