Chinaunix首页 | 论坛 | 博客
  • 博客访问: 561617
  • 博文数量: 44
  • 博客积分: 5017
  • 博客等级: 大校
  • 技术积分: 508
  • 用 户 组: 普通用户
  • 注册时间: 2006-10-17 16:03
文章分类

全部博文(44)

文章存档

2011年(1)

2010年(1)

2009年(1)

2008年(5)

2007年(22)

2006年(14)

我的朋友

分类: LINUX

2007-07-11 19:38:45

概述:


什么是裸设备及其用途

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

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


裸设备的创建

创建裸设备方式相对创建软RAIDLVM来说就比较简单了,只需用“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

阅读(3138) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~