本文不涉及基础概念,只是简单列一下Redhat上创建lvm裸设备的步骤,以供查阅。各个命令的参数可以通过man获得。
1.创建pv
pvcreate -M2 –metadatasize 100M /dev/sda
pvcreate -M2 –metadatasize 100M /dev/sdb1
pvcreate -M2 –metadatasize 100M /dev/sdb2
pvcreate -M2 –metadatasize 100M /dev/sdc
物理卷可以是整个硬盘(lun),也可以是硬盘上的一个分区
2.创建vg
vgcreate vg_db /dev/sda /dev/sdb1 /dev/sdb2 /dev/sdc -s128m
3.创建lv
lvcreate -L2048m -i4 -I64k vg_db -n lv_2g_001
lvcreate -L2048m -i4 -I64k vg_db -n lv_2g_002
4.绑定
raw /dev/raw/raw1 /dev/mapper/vg_db-lv_2g_001
raw /dev/raw/raw2 /dev/mapper/vg_db-lv_2g_002
使用raw命令绑定的裸设备在重启后会失效。所以需要修改/etc/sysconfig/rawdevices配置文件,在文件中加入如下内容(每个裸设备一行):
/dev/raw/raw1 /dev/mapper/vg_db-lv_2g_001
/dev/raw/raw2 /dev/mapper/vg_db-lv_2g_002
执行 /etc/init.d/rawdevices restart 使配置文件中的裸设备生效
执行 /sbin/chkconfig rawdevices on 保证机器启动的时候裸设备能够加载
5.授权
chown -R oracle.dba /dev/mapper
修改配置文件/etc/udev/permissions.d/50-udev.permissions
注释掉raw/*:root:disk:0660
添加新行raw/*:oracle:dba:0660
6.链接(可选)
ln -s /dev/raw/raw1 /oradata/ningoo/system01.dbf
ln -s /dev/raw/raw2 /oradata/ningoo/undo01.dbf

总结的真好啊!
但是现在不是推荐直接使用块设备了吗?O_Direct
Linux裸设备在Oracle 10.2.0.2版本中要过时了
http://www.anysql.net/dba/oracle_linux_rawdevice.html
没想到这篇文章早在2006-6就发了。
字符设备经过了时间和实践的验证,o_direct则没有,那么,你选择哪个?多绑定一次虽然麻烦点,稳定第一啊
另外,5.授权稍微解释一下,可使新建立的lv自动改变owner吗?
新建立的lv通过chown授权,修改配置文件确保重启后权限生效。操作最好按步骤来,安全第一。不要去依赖缺省行为,因为版本的变更可能导致缺省行为的变化。
冒昧问一下,在PCSERVER如HP380g5上(RHEL5)使用裸设备是否有必要?性能方面是否有差别?是裸设备与LVM+裸设备区别大吗?
使用裸设备有无必要取决于你对于IO和内存的需求,跟是否pcserver关系不大。性能的差别当然还是有的。后面一句没看明白,裸设备和lvm有比较关系么?
to NinGoo and lijunhong:我想lijunhong说的最后一句话也我回来再看这篇文章的原因,我也很想知道这二种有什么不同,请看下面这篇文章http://fanqiang.chinaunix.net/app/other/2006-06-12/4526.shtml
linux下raw device的用法
#fdisk /dev/sdb
raw /dev/raw/raw1 /dev/sdb1
raw /dev/raw/raw2 /dev/sdb2
…
如果想在每次启动时都绑定到RAWn,需要做如下操作
vi /etc/sysconfig/rawdevices
/dev/raw/raw1 /dev/sdb1
/dev/raw/raw2 /dev/sdb2
linux下基于lvm的raw device的用法
lvcreate -L 2000M -n lv_user_01 vg_db
lvcreate -L 2000M -n lv_user_02 vg_db
…
raw /dev/raw/raw1 /dev/vg_db/lv_user_01
raw /dev/raw/raw2 /dev/vg_db/lv_user_02
如果想在每次启动时都绑定到RAWn,需要做如下操作
vi /etc/rc.d/rc.local
raw /dev/raw/raw1 /dev/vg_db/lv_user_01
raw /dev/raw/raw2 /dev/vg_db/lv_user_02
也就是说,基本lvm的raw在机器重启后,绑定到raw的方法稍有不同.
to NinGoo:
看你的BLOG很久了,是从eygle、Fenny的blog知道的,然后是一次性将以前没有看过的文章全看了(piner、kamus的blog也是),不过还有很多地方不明白,慢慢来。我能给你的blog提一小小建议吗?
能不能在首页列出最近访客的留言,像eygle的一样,这样大家可以知道某一篇文章有最新的看法,在我看这篇文章的时候没有任何的留言。老乡,请以后多多指教,TKS!
NinGoo,i’m so sorry!!在先前一个回复中给你的那个建议我可以取消吗?是我的眼睛不好没有看清,我在你的首页看到了,字体太小了,没看清,sorry!
呵呵,没关系的。