当前所在位置:FreeBSD使用大全>>
FreeBSD连载(21):管理交换设备
 
作者:王波
 
在FreeBSD系统中,交换设备的作用非常大,需要为FreeBSD留下足够的交换空间。在系统负载非常大的时候,交换空间不够也会影响系统的执行进程。通常应该将系统交换空间的大小设置为物理内存的1-2.5倍。由于交换空间是用作虚拟存储器,和物理内存进行交换数据的,因此应该设置到高速硬盘上,或者将交换空间分布到多个硬盘中,以均衡负载。FreeBSD是以交错的方式使用各个不同的交换分区,因此如果在不同的硬盘上分布交换分区,就能提高交换设备的存取速度。通常FreeBSD使用disklabel为b的设备用做交换设备,在系统运行过程中可以为FreeBSD 增加其他磁盘上的交换设备,或者使用文件用做交换。

  要增加交换设备,首先要沿着上面的过程创建一个新的disklabel,按照习惯做法,使用b作交换空间的 disklabel。再修改/etc/fstab文件,加入一行有关这个交换设备的描述。或者使用swapon立即使分配的交换空间生效。

  如果要使用文件来用做交换空间,首先要在系统中产生一个用作交换的文件,然后更改/etc/rc.conf,将swapfile参数指向这个文件即可。 

# dd  if=/dev/zero of=swapfile bs=10240 count=1024
 
 

  事实上,交换文件要首先映射为伪存储设备vn,然后才能安装到系统中的。因此要使用交换文件,就需要内核支持伪存储设备vn,缺省内核支持一个vn设备vn0。可以直接访问这个伪存储设备,手工完成增加交换文件的工作。首先要将交换文件和伪设备相联系,然后就能像处理真实设备一样处理这个伪设备了。将文件和伪设备联系起来需要使用vncon fig命令。 

# vnconfig /dev/vn0c swapfile
# vnconfig -u /dev/vn0c
 
 

  可以再次使用使用-u参数的vnconfig将已经与文件相联系的伪存储设备,脱离与现有文件的联系,首先要求这个伪设备不被系统使用,如vn0c没有用作交换设备或已经从系统中卸载了。通过在vnconfig命令中使用-e 参数,就可以直接使用vnconfig加入交换,而没有必要再次使用swapon命令: 

# vnconfig -e /dev/vn0c swapfile swap
 
 

伪存储设备的用处不止用于交换文件,也可以用来安装虚拟文件系统。因此就可以使用它来管理软盘或光盘的镜象文件。

# dd if=/dev/rfd0 of=imgfile
# vnconfig vn0c imgfile
# mount -t msdos /dev/vn0c /mnt
 
 

  如果不是象上面例子那样从软盘中生成的镜象文件,而是而是要重新建立文件系统,那么需要注意的是磁盘的类型。由于伪设备的大小是由生成的文件决定的,那么这个伪设备对应的磁盘种类显然不是标准磁盘种类,系统显然也无法从伪设备中检测到磁盘类型,因此在生成磁盘的disklabel和进行newfs格式化时就需要指定磁盘类型。一般由于镜象文件的大小与标准磁盘数据对应的大小不一定一致,那么为了充分利用伪设备的大小,就需要在/etc/disktab中生成新磁盘类型的数据。 

# vnconfig /dev/vn0c imgfile
# disklabel -r -w vn0 fd1440
# newfs -T fd1440 vn0c
# mount /dev/vn0c /mnt

 
 

未完,待续。。。
 
来源:http://freebsd.online.ha.cn/

声明:本站的文章和软件是本人从网上收集整理的(除本人的作品之外),所有版权属于作者,
如有侵犯您的权益,请指出,本站将立即改正,谢谢.

Copyright 2000 www.newok.com