UNIX系统的RIAD中,分析条带大小有两种基本方法。下面分别说明。

1.利用文件系统结构分析

在UNIX的UFS文件系统中,以柱面组为单位组织数据。文件系统内比较重要的数据结构包括超级块、柱面组描述符、i-节点表、目录项等。超级块在每个柱面组内都有备份,而柱面组描述符、i-节点表、目录项则在每个柱面组中都有。分析的时候我们可以利用0号柱面组中的这些重要数据结构的存储位置判断条带的大小。

以Sparc架构的Solaris系统来说,假设RAID起始扇区就是物理盘的0号扇区,那么其中一块成员盘的第一个扇区是磁盘标签,有磁盘标签的成员盘的16号扇区应该是超级块。如果16号扇区的确是超级块,还需分析该超级块是原始超级块还是备份超级块。因为0号柱面组内有两个超级块,一个是原始的,一个是备份的。如果该超级块是原始超级块,则该RAID的条带大小是大于16扇区的;如果该超级块是备份超级块,则该RAID的条带大小是小于或等于16扇区的。

UFS文件系统的超级块内会描述块大小、段大小、柱面组描述符的地址、i-节点表的地址、超级块备份的地址等,其中0号柱面组的这些特殊结构都比较靠前。分别跳转到这些结构所对应的扇区加以验证,再加上条带大小都是2N扇区这一规律,很容易判断出条带大小。

2.利用校验块分析

如果对UFS文件系统结构非常熟悉,那么就很容易在RAID成员盘中找到校验块。通过找一个校验块的起始扇区和结束扇区,就能够轻易判断这个校验块的大小,这个大小也就是该RAID的条带大小。