一、 动态磁盘概述:由于MBR分区表项中分区大小参数由4字节组成,所以能够管理的分区最大为2048GB=2TB。想要更大分区就需要用动态磁盘。
动态磁盘可以将数块磁盘中的空余磁盘空间扩展到同一个卷中来增大卷的容量。
动态磁盘可以通过创建带区卷来同时对多块磁盘进行读/写,显著提升磁盘效率。
动态磁盘可以创建镜像卷,将内容实施备份到镜像磁盘中。
动态磁盘可以创建带有奇偶校验的带区卷,为磁盘添加容错性。
二、 动态磁盘种类:
A. 简单卷:构成单个物理磁盘空间的卷。
B. 跨区卷:简单卷扩展到其他物理磁盘,由多个物理磁盘空间组成的卷。
C. 带区卷:以带区形式在两个或多个物理磁盘上存储数据的卷。是读写性能最佳,但不提供容错功能。(像RAID0)
D. 镜像卷:在两个物理磁盘上复制数据的容错卷。(像RAID1)
E. RAID-5卷:具有数据和奇偶校验的容错卷,数据分布于3个或更多的物理磁盘。
注:d、e在server系统中支持,b,c需要2个以上的动态磁盘。
三、 动态磁盘结构原理:
A. 结构布局:动态磁盘在每个动态盘最后的1M=2048扇区中存放LDM数据库,这个数据库用来存储动态盘的分区信息。
B. 私有头:在MBR区域的第七个扇区(6号扇区),占1扇区,在LDM数据库中有两个备份。
注:私有头扇区中的数据的字节序时Big-Endian。
1. 私有头标志。固定8字节值“PRIVHEAD”,作为私有头扇区标志。
2. 私有头第一备份地址。相对地址,要加上LDM数据库的起始地址
3. 私有头第二备份地址。相对地址,要加上LDM数据库的起始地址
4. 磁盘组名。由DgN和计算机名一起组成的。Pc-2*17是机器名
5. 逻辑磁盘开始地址。动态磁盘中MBR中类型为42H的分区表项所描述的分区开始扇区号。
6. 逻辑磁盘大小。动态磁盘中MBR中类型为42H的分区表项所描述的分区总扇区数减去LDM数据库占用的2048扇区的结果。(逻辑磁盘大小=LDM数据库的起始地址-逻辑磁盘开始地址)
7. LDM数据库的起始地址。绝对扇区位置
8. LDM数据库的大小。一般都为1MB=2048扇区
9. 配置信息大小。VBLK占用1481个扇区
10. 日志大小。KLOG占用224个扇区
C. LDM数据库的结构:占动态磁盘的最后1MB=2048扇区。
扇区地址 |
扇区数 |
结构名称 |
0 |
1 |
总数0 |
1 |
1 |
目录表1(TOCBLOCK) |
2 |
1 |
目录表2(TOCBLOCK) |
17 |
1 |
数据库的配置信息(VMDB)(在目录表0x2E指明) |
18 |
1481 |
数据库的配置记录(VBLK)(在目录表0x36指明) |
1498 |
224 |
数据库的日志记录(KLOG)(在目录表0x50指明) |
1856 |
1 |
私有头的第二个备份(在私有头0x28指明) |
2045 |
1 |
目录表2的备份 |
2046 |
1 |
目录表1的备份 |
2047 |
1 |
私有头的第一个备份(在私有头0x20指明) |
注:所指扇区地址为相对扇区。
D. 目录表(TOCBLOCK)的结构:共占用16个扇区,但一般只用前2个扇区,1号扇区为“目录表1”,2号扇区为“目录表2”,分别在2046和2045扇区有备份。
注:所指扇区地址为相对扇区。
1. 目录表标志。固定8字节值“TOCBLOCK”,作为目录表扇区标志。
2. 位图名1:(个人感觉这个位图指的就是数据库的配置记录。不知道为啥叫位图名。)
3. 位图名2:(同2,指的是KLOG)。
E. 数据库配置信息(VMDB)的结构:起始于LDM的17号扇区,占1扇区,其中存放关于动态磁盘的总体信息。
注:所指扇区地址为相对扇区。
1. VMDB标志。固定4字节值“TOCBLOCK”,作为VMDB扇区标志。
2. VBLK的个数。指明数据库配置记录中的记录个数。
3. VBLK的个数。指明数据库配置记录中的各个记录的大小。单位字节
4. VMDB头大小。数据库配置信息扇区的大小,单位字节。
F.数据库配置记录(VBLK)的结构:开始于数据库的18号扇区,每个记录是128字节定长,每一个VBLK项可以描述一个记录类型:0x35磁盘组、0x34磁盘(D)、0x33分区(P)、0x32组件(C)或0x51卷(V)。(动态磁盘只能支持一个磁盘组)。(关系 V->C->P->D)。VBLK结构有16字节的标准的头结构:前4字节是固定值VBLK作为标志;接着4字节是系列号,指明记录的顺序号,从4开始编排;接着4字节是参考号,每个号是唯一的;接着是2字节的记录号和2字节的记录数,是基于0的索引。
G.磁盘组的VBLK:0x35
1.记录类型和标志。指明该记录是哪一种类型的记录。
2.对象ID。磁盘组的ID号。
3.名称。磁盘组的名称。格式是“计算机名”+“Dg0”。
4.磁盘组ID。磁盘组的全局ID。
H.卷的VBLK:0x51:
1.对象ID。卷的ID号。(理解:相当于卷的主键)
2.名称。卷的名称,Volume1,说明是第一个卷。
3.大小。当前卷的占用的总扇区数。
4.分区类型。卷使用的文件系统类型,07为NTFS。(具体查看MBR分区文章中有类型表所查)。
5.卷GUID。卷的全局ID。唯一标识。
6.ID1(驱动器号)。给该卷分配的驱动器号,也就是盘符。
I.组件的VBLK:0x32
1.对象ID。组件的ID号。(理解:相当于组件的主键)
2.名称。组件的名称,Volume1-01,说明是卷1的第一个组件。
3.子组件数量。说明该组件下设有2个0x33 VBLK分区结构。
4.父ID(卷)。说明其父对象(卷)的ID号。此组件所在卷是ID:1030卷。
J.磁盘的VBLK:0x34
1.对象ID。磁盘的ID号。(理解:相当于磁盘的主键)
2.名称。磁盘的名称,Disk1,说明是这是第一块动态磁盘。
3.磁盘ID。磁盘的全局ID。唯一标识。
K. 分区的VBLK:0x33
卷1第一部分分区
卷1第二部分分区
1. 对象ID。分区的ID号。(理解:相当于分区的主键)
2. 名称。分区的名称,Disk1-01,说明是第一块动态磁盘上的第一个分区。Disk1-02,说明是第一块动态磁盘上的第二个分区。
3. 起始位置。当前分区在动态磁盘逻辑盘中的起始扇区号。(绝对扇区)
4. 卷偏移。在整个卷扇区中,当前分区偏移的位置,是相对的。可以得知该分区是卷的第几部分,非0偏移的为扩展卷。
5. 大小。当前分区的总扇区数。
6. 父对象ID(组件)。说明其父对象(组件)。此分区所在组件是ID:1032。
7. 磁盘对象ID。该分区所在的磁盘ID号。此分区在ID:1027磁盘上。