# disklabel -r -w /dev/md0c auto
# newfs /dev/md0c
# mount /dev/md0c /tmp
这里不需要使用任何配置程序配置虚拟磁盘设备,因为在启动过程中它就被自动配置了,内核为设备自动申请必要的内存空间 。需要注意的是,使用MD设备并没有指定磁盘的大小,因为预先保留的md磁盘的大小是在编译内核时就确定的,缺省大小为20000个扇区 。如果要更改内核为MD设备分配的空间大小,就需要在定制内核时改变设置选项”MD_NSECT”的值,并重新编译内核 。显然,这样做显然比较麻烦,也使得它的实际用处不大 。
但当MD设备用在安装系统的时候,作为最初启动的虚拟磁盘需要载入一个预先配置好的磁盘镜像文件,这个时候虚拟磁盘的大小就是由这个磁盘镜像文件决定的,而不再是MD_NSECT设置的值 。正是由于MD设备在启动过程中配置,因而灵活性不足,就使得MD设备主要用在安装系统中 。
启动镜像设置
对于系统安装程序,或者一些嵌入式系统来讲,存储数据的物理设备无法很方便的作为文件系统存在,例如存储设备为不可擦写的ROM或者具备一定擦写寿命的Flash中,这些设备如果用作文件系统就有各种各样的限制,此时就需要使用内存文件系统作为辅助,例如使用内存文件系统作为根文件系统,或者作为临时文件系统等等 。
但是由于内存文件系统是使用不可长期保存的RAM存储器保存数据,系统重新启动或断电后其中保存的数据就不再存在,因此每次启动之后虚拟磁盘中的数据都是随机的,需要重新进行初始化操作 。也可以提供一种手段为最初的虚拟磁盘提供初始数据,通常这通过使用镜像文件的方法来完成 。
使用伪设备MD,就可以将一个预先准备好的文件作为md设备的镜像数据,这样MD设备一旦创建就已经具备了必要的数据,而系统启动之后立即可以访问已经具备数据的虚拟磁盘了 。通过这样的操作,就可以使用虚拟磁盘文件系统作为根文件系统,启动其中的系统安装程序 。
因此,这个时候就需要为MD设备准备初始镜像文件,最直接的方法是首先用确定的大小创建MD设备,初始化文件系统,安装上文件系统并复制必要的数据,然后在卸载文件系统,使用dd命令直接操作虚拟磁盘设备,将数据复制到一个镜像文件中 。但是由于MD设备的大小比较不容易改变,因此这种方法并不灵活 。此外,由于MD设备被作为一个虚拟的物理磁盘被系统处理,系统对它的处理事实上是和真实物理磁盘设备的处理方法也是一样的,因此也可以使用物理磁盘,创建文件系统并复制其镜像的方法来获得镜像数据 。
使用虚拟磁盘MD和物理磁盘都可以得到镜像文件,但是这两种方法都不是很灵活,最好的方法是可以直接修改镜像文件本身 。事实上VN设备正是用作这个处理任务,它能使用镜像文件作为虚拟磁盘的存储区域,使用VN设备创建并修改镜像文件的数据是非常适合的 。因此在大小一致的条件下,就可以直接将VN设备的镜像文件复制到MD设备上,然后将MD设备安装到系统中,就可以访问到具体数据 。
因此,使用VN设备预先定制好MD设备使用的镜像文件是最常用、最方便的方法 。系统载入镜像文件的过程应该在启动之前完成,以便系统在启动过程中能够配置好该MD设备 。事实上,镜像文件是由Boot Loader载入的,作为MD设备的缺省数据 。当然,另一种选择是直接将镜像文件写入内核文件中,使得镜像数据和内核一起载入 。将镜像文件写入内核的方式需要改动内核,并且写入之后就不容易改变镜像文件中的数据,因此,目前这种方式很少被用到 。
推荐阅读
- 华为Mate 10 Lite配置怎么样?是华为mate10的低配版吗?
- 过期三个月食品能吃吗 吃了过期的食品会怎么样
- 收藏之憾:使用文物的不爽之处
- 教师的产假具体是多久
- 煮羊奶的正确方法 怎么煮羊奶才正确
- 一般蛋糕店用的是什么奶油
- 不惑之年指的是多少岁 不惑之年是多少岁
- 未开袋的面粉可以保存多久
- 有什么赞美篆刻的句子
- 关于蓝天的哲理句子
