参考文档:
http://www.itpub.net/thread-290655-1-1.html
http://www.doc88.com/p-471422179378.html
Rawdisk,即裸磁盘,至于什么是裸磁盘,我在网上搜了很长时间也没有找到定义。说下自己的理解吧,裸磁盘就是没有写入文件系统的磁盘。文件系统是通过操作系统内核来维护管理的,当系统的I/O比较繁忙的话,使用裸磁盘可以省去文件系统本身i-node的维护工作,不用经过操作系统缓存等等,因此可以很大提高数据的读写效率。
Rawdisk的制作
在windows server 2003下
1、建立磁盘分区,选择扩展分区。
2、创建逻辑驱动器,不分配盘符,不格式化。
这样就创建完rawdisk了。
磁盘分区有3种:主分区、扩展分区和逻辑分区。
这是原本的bios启动问题,它要求在磁盘的MBR中最多只能放置4个分区信息。为了能将磁盘创建超过4个分区,就产生了扩展分区的概念。扩展分区需要再次分区成为逻辑分区才能正常使用。主分区跟逻辑分区的区别就是,在windows下,操作系统必须放置在主分区中才能被引导启动。而在linux下,虽然也有主分区扩展分区的概念,但它的系统却可以放在逻辑分区,这是因为linux下的引导程序grub使用了一些其他灵活的方法。
所以rawdisk也可以直接通过以下步骤创建,与上面的方式应该没有差别。
建立磁盘分区,选择主分区,不分配盘符,不格式化。完成。
在rhel 5.4下
在红帽子5.4中,设备文件是通过udev来管理的。所以,在rhel5.4下创建裸设备的方法为:
1、fdisk /dev/sdb建立磁盘分区。
2、修改/etc/udev/60-raw.rules文件,加入如下内容
ACTION=="add",KERNEL=="raw[1-5]", OWNER="oracle", GROUP="oinstall",MODE="660
3、在/etc/rc.d/rc.local中加入raw /dev/raw/raw1 /dev/sdb1
4、重启udev,使用start_udev
5、查看挂载情况,ls -lrt /dev/raw
如此就创建raw完毕了。
其中2、3步可以分别组成两种映射方案。
一种是只通过udev的规则文件,即在/etc/udev/60-raw.rules文件中加入
ACTION=="add", KERNEL=="sdc1", RUN+="/bin/raw /dev/raw/raw1 %N",省去第3步。
但是这种方法在我的环境中并没有成功,所以上面给出了一种两张方法的杂合体。
另一种是直接命令加入到rc.local文件中。省去第2步,加入以下命令。
Raw /dev/raw/raw1 /dev/sdb1 #映射磁盘文件
Chown oracle:oinstall /dev/raw/raw1 #改变文件属主
Chmod 660 /dev/raw/raw1 #改变文件权限
这种也是可行的,只是需要写的命令比较多。
还有就是在规则文件中添加完权限信息的规则后,在/etc/sysconfig/rawdevices文件中,添加如下内容:
/dev/raw/raw1 /dev/sdb1