RAID的一些相关问题
展开全部
对于一个成熟的, 持续运行的,对高可用有所要求的商业软件; 磁盘损坏的可能性是一件不得不考虑的问题,甚至对于大型云服务供应商磁盘的损毁甚至是每天都可能发生的问题; 作为软件开发者也应该对此有些涉猎; 此前工作中遇到的一些问题和思路记录如下;
目前大家常常提及的磁盘阵列有如下几个;
1. RAID 0 至少2个磁盘, 数据并行的同时写入两个磁盘中; 特点就是写入的效率会有N倍的提高, 与之相对, 任何一个磁盘数据的损毁,导致的结果就是所有的磁盘数据都没有意义;反而风险增大了:
假设一个磁盘损坏的概率是P, 那么系统不可用的概率就是 1 -
2.RAID 1 至少有2块磁盘, 磁盘写入同样的数据,互为备份; 特点安全性更高了; 但是磁盘的利用率变成了1/N, 并且没有写入速度的强化;
假设一个磁盘损坏的概率是P, 那么系统不可用的概率是
3.RAID 5 至少3块磁盘, 其中有一块磁盘大小的容量( 不是一整块磁盘,而是分散在N块磁盘中有加起来有一个磁盘大小的容量) 存放校验位当发生故障时, 如果只有一个磁盘损毁, 那么其他位都可以通过校验位恢复; 也只有一块磁盘损毁才可恢复;
假设一块磁盘损毁的概率是P,那么系统不可用的概率是1 - -
4.RAID 10 它实际上是RAID1, RAID0的混合体; 它至少需要4块硬盘; 其中2块互相为备份,除去备份磁盘, 其他的并行写入不同的内容,去提升写入硬盘的性能;
进一步一些思考:
1. RAID0 其实只是为了提升磁盘读写性能,但是实际性能肯定没有2倍的提升,不同磁盘一起读写,两个磁盘的读写互相之间至少还需要同步速度吧; 所以具体性能还有待研究; 毕竟一块硬盘一般也要用数年才会损坏, 个人PC倒是可以使用RAID0方式去试图提升磁盘读写; 不过SSD的价格也在持续下降,意义似乎也并不大;
2. RAID5 看起来最复杂, 最美好; 但是网络上有很多声音也说明了它看起来并不美好;
a. 只有一块损坏的时候才可恢复,无法回复的概率并不低(简单百度就有人计算过);
b. 发生损坏以后,性能会下降, 因为需要奇偶校验回复数据;
3. 在 网络数据校验过程中,奇偶校验只能校验,无法纠错(海明码 和CRC码可以); 而在RAID5中仅凭一位就可以恢复数据, 有点反直觉, 但是仔细想来,回复数据并非纠错; 通过简单的奇偶性确实可以恢复数据(简单而神奇的奇偶性, 可以见数学--变态的监狱长);
4. RAID3,4 并未提及的原因是它们与RAID5很像, RAID5可以视作是他们的改进版本;上面曾经提及,RAID5是会把校验位分布在每个磁盘上(加起来占一个磁盘空间), 而RAID4则是专门一个磁盘存放校验位; 没有深入研究为何RAID5更加优秀; 可能的原因 比如如果RAID4损坏的并非 校验码的磁盘; 那么读取每条数据都需要用校验码做异或操作恢复数据? RAID5的性能应该会比较稳定;
5. RAID在我看来只是确保系统高可用, 它并不能取代正常的数据备份(为了容灾);
目前大家常常提及的磁盘阵列有如下几个;
1. RAID 0 至少2个磁盘, 数据并行的同时写入两个磁盘中; 特点就是写入的效率会有N倍的提高, 与之相对, 任何一个磁盘数据的损毁,导致的结果就是所有的磁盘数据都没有意义;反而风险增大了:
假设一个磁盘损坏的概率是P, 那么系统不可用的概率就是 1 -
2.RAID 1 至少有2块磁盘, 磁盘写入同样的数据,互为备份; 特点安全性更高了; 但是磁盘的利用率变成了1/N, 并且没有写入速度的强化;
假设一个磁盘损坏的概率是P, 那么系统不可用的概率是
3.RAID 5 至少3块磁盘, 其中有一块磁盘大小的容量( 不是一整块磁盘,而是分散在N块磁盘中有加起来有一个磁盘大小的容量) 存放校验位当发生故障时, 如果只有一个磁盘损毁, 那么其他位都可以通过校验位恢复; 也只有一块磁盘损毁才可恢复;
假设一块磁盘损毁的概率是P,那么系统不可用的概率是1 - -
4.RAID 10 它实际上是RAID1, RAID0的混合体; 它至少需要4块硬盘; 其中2块互相为备份,除去备份磁盘, 其他的并行写入不同的内容,去提升写入硬盘的性能;
进一步一些思考:
1. RAID0 其实只是为了提升磁盘读写性能,但是实际性能肯定没有2倍的提升,不同磁盘一起读写,两个磁盘的读写互相之间至少还需要同步速度吧; 所以具体性能还有待研究; 毕竟一块硬盘一般也要用数年才会损坏, 个人PC倒是可以使用RAID0方式去试图提升磁盘读写; 不过SSD的价格也在持续下降,意义似乎也并不大;
2. RAID5 看起来最复杂, 最美好; 但是网络上有很多声音也说明了它看起来并不美好;
a. 只有一块损坏的时候才可恢复,无法回复的概率并不低(简单百度就有人计算过);
b. 发生损坏以后,性能会下降, 因为需要奇偶校验回复数据;
3. 在 网络数据校验过程中,奇偶校验只能校验,无法纠错(海明码 和CRC码可以); 而在RAID5中仅凭一位就可以恢复数据, 有点反直觉, 但是仔细想来,回复数据并非纠错; 通过简单的奇偶性确实可以恢复数据(简单而神奇的奇偶性, 可以见数学--变态的监狱长);
4. RAID3,4 并未提及的原因是它们与RAID5很像, RAID5可以视作是他们的改进版本;上面曾经提及,RAID5是会把校验位分布在每个磁盘上(加起来占一个磁盘空间), 而RAID4则是专门一个磁盘存放校验位; 没有深入研究为何RAID5更加优秀; 可能的原因 比如如果RAID4损坏的并非 校验码的磁盘; 那么读取每条数据都需要用校验码做异或操作恢复数据? RAID5的性能应该会比较稳定;
5. RAID在我看来只是确保系统高可用, 它并不能取代正常的数据备份(为了容灾);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询