« »
2008-03-111.Application

236

裸设备使用方法、实例、详解

什么是裸设备及其用途
所谓裸设备(raw device)就是一种没有经过格式化的分区,也叫原始分区,是一种不需要通过文件系统来访问的特殊字符设备。在Linux下,通过块设备“绑定”到特殊字符设备得到裸设备。因为读写裸设备不需要像访问块设备那样经过内核的块缓冲,所有的I/O读写都是直接在进程的内存空间到物理的寻址空间进行。

此外,由于避免了文件系统处理的开销,所以使用裸设备对于读写频繁的应用(如Oracle、DB2等数据库系统)来说,可以很好地提升应用的性能。然而,随着计算能力的提高,当应用存取数据的I/O瓶颈出现在存储设备的控制器或驱动器上时,通过裸设备的数据访问性能反而不比文件系统的高,同时文件系统的数据组织能力也更强。

裸设备的创建
创建裸设备方式相对创建软RAID、LVM来说就比较简单了,只需用“raw”命令把裸设备与真实的物理磁盘或分区做一个映射即可。例如,在“/dev/raw/raw1”与“/dev/sdb”之间做一个映射,如下:

# raw /dev/raw/raw1 /dev/sdb

/dev/raw/raw1: bound to major 8, minor 16
 

但是以上这种方式创建的裸设备,在系统重启后将不再生效,若要永久生效需要将裸设备的映射关系写到“/etc/sysconfig/rawdevices”文件中,如下:

# vi /etc/sysconfig/rawdevices

/dev/raw/raw1 /dev/sdb

/dev/raw/raw2 /dev/sdc

/dev/raw/raw3 /dev/sdd
 

同时还需要启动“rawdevices”这个服务,这时所绑定的裸设备才生效,如下:

# /etc/init.d/rawdevices restart

Assigning devices:

/dev/raw/raw1 –> /dev/sdb

/dev/raw/raw1: bound to major 8, minor 16

/dev/raw/raw2 –> /dev/sdc

/dev/raw/raw2: bound to major 8, minor 32

/dev/raw/raw3 –> /dev/sdd

/dev/raw/raw3: bound to major 8, minor 48

done
 

使用“chkconfig”可以设置该服务在开机时自动启动,即系统启动时自动映射对应关系,对于已创建好的裸设备,可以通过如下命令来查看裸设备的映射信息:

# raw -q /dev/raw/raw1

/dev/raw/raw1: bound to major 8, minor 16
 

“-q”指定存在的裸设备名称,而“major 8”和“minor 16”分别时真实设备的主设备号与从设备号,如果需要查看所有的裸设备信息,那么可使用“raw -qa”,如下:

# raw -qa

/dev/raw/raw1: bound to major 8, minor 16

/dev/raw/raw2: bound to major 8, minor 32

/dev/raw/raw3: bound to major 8, minor 48
 

您还可能感兴趣的内容

日志信息 »

该日志于2008-03-11 09:15由 x72 发表在1.Application分类下, 通告目前不可用,你可以至底部留下评论。

没有评论

发表评论 »


返回顶部