有的时候我们可能会遇到这样一种情况:知道一台服务器有多少个物理硬盘,也知道每块盘的容量,但是,由于做了RAID,从系统层面上看的话只会看见虚拟磁盘的使用状况,而看不见物理层面上的状况了。若此时有一块硬盘坏了,你需要更换该硬盘,这是时你需要清楚的知道这台服务器的硬盘做的什么类型的RAID,然后你才能确定这块硬盘到底能不能换掉(因为有时候你贸然随便拿掉一块盘可能会导致RAID阵列崩溃,可能会导致数据丢失),可能的解决方法有以下几种:
1.重启机器,进入RAID配置里面可以清楚的看到该服务器的RAID配置情况;但是大多数时候,运营状态中的机器是不能重启的;
1.重启机器,进入RAID配置里面可以清楚的看到该服务器的RAID配置情况;但是大多数时候,运营状态中的机器是不能重启的;
2.从系统文件里看,cat /proc/scsi/scsi;但据说该文件看出来的RAID类型不一定准确;
3.就是今天要写的方法,从虚拟磁盘容量来推断,方法如下:
假如有n块容量为m的硬盘,按做的RAID类型来分,它的虚拟磁盘容量应为:
RAID 0: n x m
RAID 1: n/2 x m
RAID 5: (n-1) x m
RAID 6:(n-2)x m
RAID 10 :n/2 x m
上面这几种类型的RAID情况简介如下:
RAID 0 :最少2块盘就可以做,但是只要阵列中的一快损坏,阵列立即崩溃;
RAID 1 :2块盘就可以做,损坏任何一块盘,阵列都不会崩溃
RAID 5:最少需要3块盘,允许在一块盘损坏损坏的情况正常工作,坏掉2块盘及以上时阵列崩溃.
RAID 6:最少4块盘,允许2块盘同时损坏,2块盘以上损坏阵列崩溃
RAID 10:即先做RAID0,再做RAID1, 最少需要4块盘,且盘的数量必须为偶数,最多允许坏3块盘,但是如果镜像盘和原盘都损坏的话,阵列也会崩溃;
举个小例子:
举个小例子:
一台有4块146G硬盘的服务器,在系统里面通过df-h查看容量为438.8G,所以排除了RAID 0,RAID 6,RAID 10,
4*146G=584 G,很明显,3*146G=438G,与系统里面查看的容量最接近,现在之可能是RAID 1或者是RAID 5,但又因为一共是4块硬盘,而RAID 1 一般用于两块硬盘互为mirror,所以经推断,该server的RAID类型为 RAID 5
欢迎各位讨论该文章~~
本文转自 victoryan 51CTO博客,原文链接:http://blog.51cto.com/victoryan/114335