FreeBSD其他内核设置选项(9)

2009-05-13 13:35:15来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

FreeBSD支持的vn伪磁盘设备可用于设置交换文件。缺省内核支持的vn伪设备数量为一个,因此仅可以设置一个交换文件。一般仅需要更改/etc/rc.conf文件中的swapfile选项为交换文件的名字,系统自动使用vnconfig命令来将文件和虚拟设备联系在一起。
  为了增加对多个交换文件或多个镜像文件的支持,可以增加内核中伪设备vn的数量,然后还需要创建相应数量的v n设备。此后就可以使用这多个伪磁盘设备,并使用vnconfig命令管理多个磁盘镜像文件或交换文件。
  除了伪磁盘设备vn之外,FreeBSD系统还提供一个将多个磁盘文件系统映射为一个磁盘的伪设备ccd,这样原有的小磁盘分区就能联合起来,形成一个大的文件系统。ccd要求内核中支持ccd这个伪设备,当内核中支持了cc d伪设备之后,就可以通过设备文件/dev/ccd0c等来使用这个伪磁盘了(缺省/dev下只有ccd0的设备文件,可以根据需要建立其他的设备文件)。
  将多个磁盘分区与单一的ccd设备联系起来,还需要使用ccdconfig进行配置,最基本的ccdconf ig使用例子为:
# ccdcofnig -c ccd1 0 0 /dev/da0s2g /dev/da1s2e
  这个例子使用-c参数对ccd1设备进行配置,指出ccd1由/dev/da0s2g和/dev/da1s2e两个分区联合组成。如果这两个磁盘分区都是100M大小,那么新的设备/dev/ccd1c就有200M大小。然后就可以在ccd1设备上建立文件系统,并使用这个设备了。
# newfs /dev/ccd1c
# mount /dev/ccd1c /mnt
  这是一个对ccd进行配置并使用的最简单的例子,这里没有对ccdconfig命令中紧跟ccd设备的两个数字参数的意义进行解释。而通过选择这两个参数的不同数值,能将多个磁盘文件系统采用不同的RAID方式映射为单个设备。
RAID为冗余磁盘阵列的简称,它意味着物理上使用多个磁盘,而逻辑上却只有一个磁盘设备。RAID之所以流行,是因为它使用了分段(strip)和冗余的概念,就是说通过RAID映射的逻辑磁盘上的数据是以分段的方式保存的,例如一个文件的第一段数据保存在第一个物理磁盘上,第二段数据保存在第二个物理磁盘上,依次类推。这样在存取这一个文件上的连续数据时,多个磁盘可以同时进行存取操作,因此增加了磁盘访问速度。而冗余则是物理磁盘的空间大于逻辑磁盘的大小,通过物理磁盘上多余的磁盘空间,保存冗余信息,这样一旦多个磁盘中的某一些出现问题,数据能通过冗余数据得到恢复,而不会丢失。
  按照不同的冗余组织方式,RAID被分为不同的级别。最简单的RAID称为RAID 0,这个级别中没有冗余,多个磁盘只是以分段的方式组织起来,由于使用分段的方式存取,可以同时访问这两个磁盘,因此存取单个文件的速度会有所改善。更高一级的RAID级别为RAID 1,它同时使用两个磁盘,每个磁盘都是另一个磁盘的镜像,这样一旦一个磁盘出现问题,还可以在另一个磁盘找到数据,保证了数据完整性,但这样设置,有一半的磁盘空间都用做了冗余,浪费了磁盘空间。此外还有RAID 3级别,至少要使用3个物理磁盘,前两个磁盘中分段存储数据,第三个磁盘的冗余空间中并不是直接保存原有的数据,而是保存根据前两个磁盘中对应分段中的数据进行计算得到一个校验和。在前面某一个磁盘被破坏后能通过冗余磁盘中保存的校验和来恢复原有数据。由于RAID 3中校验和是单独保存在一个物理磁盘上的,不能充分发挥分段存取的优势,因此RAID 5中将校验和与其他数据一起分段、分布保存在各个磁盘上,提供了更好冗余效果。因此当前常用的RAID级别为RAID 0, RAID 1和RAID 5,可根据不同的需要进行选择使用。
当在ccdconfig中使用两个0作为参数来设置ccd伪设备时,ccd是以最普通的直接连接方式来连接多个磁盘的,当数据写满第一个磁盘后,才接着写入第二个磁盘,这里没有使用任何分段存储策略,因此这是一种不完善的RA ID 0方式。然而也可以设置ccd以使用分段存储策略,以大来存取速度的优势,这就需要设置分段存储中的段的大小,即设置交错因子的大小,因此就需要改变第一个数字参数,例如:# umount /mnt

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:FreeBSD其他内核设置选项(8)

下一篇:FreeBSD其他内核设置选项(10)