(1)创建LV
# pvcreate /dev/sdb1
# vgcreate –s 4m –v datavg /dev/sdb1
# lvcreate –L 2G –n lvapp01 datavg
注意:创建的datavg在下次重启系统不会自动激活,所以要作修改,在(3)中实现。
注意:在双机中,正好是不需要VG随系统启动而激活的,而是由VCS集群软件决定是什么时候激活VG、在哪个节点上激活,切记!
(2)建立RAW
查看raw是否启动:
# chkconfig --list | grep raw
raw 0:off 1:off 2:on 3:on 4:off 5:on 6:off
# service raw status
或者:# /etc/init.d/raw status
如果raw服务没有启动,那么在执行下面的操作时会报错的。
# raw /dev/raw/raw1 /dev/datavg/lvapp01
注意:
① 上面指定的裸设备的名字(/dev/raw/raw1)是有规定的,第一,必须在/dev/raw/目录下,第二,名字必须是rawN,N表示数值;取别的名字会在执行raw命令时报错的;
② 上面的命令建立的raw设备,在系统重启后失效。为了永久生效,需要修改配置文件:/etc/raw。于是在配置文件/etc/raw中添加上:
raw1:datavg/lvapp01
附加:另一种方法
如果不要想配置/etc/raw文件,那么可以直接把raw的绑定写在/etc/init.d/boot.local中:
raw /dev/raw/raw1 /dev/vgora/lvspfile
raw /dev/raw/raw2 /dev/vgora/lvsystem
raw /dev/raw/raw3 /dev/vgora/lvsysaux
raw /dev/raw/raw4 /dev/vgora/lvundo
raw /dev/raw/raw5 /dev/vgora/lvtemp
raw /dev/raw/raw6 /dev/vgora/lvuser
raw /dev/raw/raw7 /dev/vgora/lvredo1
raw /dev/raw/raw8 /dev/vgora/lvredo2
raw /dev/raw/raw9 /dev/vgora/lvredo3
raw /dev/raw/raw13 /dev/vgora/lvctl1
raw /dev/raw/raw14 /dev/vgora/lvctl2
raw /dev/raw/raw15 /dev/vgora/lvctl3
cd /dev/raw/
chown oracle:oinstall raw[0-9]*
(3)因为在(1)中创建的datavg在下次重启系统不会自动激活,所以这里要作修改。
说明:这在redhat/centos中,系统启动后会自动激活相应的VG,但在SUSE linux系统中却不会,注意区别!
暂时没有想到更好的办法,这里我只是在/etc/init.d/raw中添加上(在该文件中的最开头添加,不能是在最后添加,会失败的):
vgchange –ay &> /dev/null
注意:在双机中,正好是不需要VG随系统启动而激活的,而是由VCS集群软件决定是什么时候激活、在哪个节点上激活VG,切记!
(4)通常在给oracle数据库使用之前,都是修改相关的用户权限,如果配置的是/etc/init.d/boot.local文件,那么这一步可以省略
# chown oracle:oinstall /dev/raw/raw[0-9]*
# chmod 666 /dev/raw/raw[0-9]*
注意:/dev/raw/rawctl这个文件是权限一定是:crw-rw---- root disk,否则会出错
但是上面的不会永久生效,于是需要进行下面的操作:
首先,在/etc/inittab下添加指定自启动脚本文件:
100:2345:once:/etc/rc.local &> /dev/console
然后,创建自启动脚本文件:
# touch /etc/rc.local
# chmod +x /etc/rc.local -- 一定要赋予执行权限,否则系统启动时将无法执行该文件
在该文件中添加需要系统启动时执行的操作即可:
chown oracle:oinstall /dev/raw/raw[0-9]*
chmod 666 /dev/raw/raw[0-9]*
注意:不能在/etc/init.d/boot.local添加。
至此,整个RAW创建完毕。