创建ASM磁盘组(一)

2014-11-24 17:55:29 · 作者: · 浏览: 2

在Linux上,ASM能引用磁盘作为裸设备,或通过使用ASMLib软件。


直接使用裸设备的方法:



1. 在RHEL6以前的可以直接通过rawdevices的管理方法,系统安装后默认已存在/etc/init.d/rawdevices和/etc/sysconfig/rawdevices这两个文件。


# rpm -qf /etc/init.d/rawdevices /etc/sysconfig/rawdevices


initscripts-8.45.42-1.el5


initscripts-8.45.42-1.el5


# cat /etc/init.d/rawdevices


#!/bin/bash


#


# rawdevices This shell script assignes rawdevices to block devices


#


# chkconfig: 345 56 44


# description: This scripts assignes raw devices to block devices \


# (such as hard drive partitions). This is for the use \


# of applications such as Oracle. You can set up the \


# raw device to block device mapping by editing \


# the file /etc/sysconfig/rawdevices.


# config: /etc/sysconfig/rawdevices


[ -f /bin/raw ] || exit 0


[ -f /etc/sysconfig/rawdevices ] || exit 0


# Exit if the file just has the default comments.


LC_ALL=C /bin/egrep -q -v "^ *#" /etc/sysconfig/rawdevices 2>/dev/null || exit 0


. /etc/init.d/functions


function assign_raw()


{


LC_ALL=C egrep -v '^ *#' /etc/sysconfig/rawdevices |


while read RAW BLOCK; do


if [ -n "$RAW" -a -n "$BLOCK" ]; then


rawdirname=${RAW%/*}


if [ "$rawdirname" = "/dev" -a -d /dev/raw ]; then


echo $" Please correct your /etc/sysconfig/rawdevices:"


echo $" rawdevices are now located in the directory /dev/raw/ "


echo $" If the command 'raw' still refers to /dev/raw as a file."


echo $" you'll have to upgrade your util-linux package"


exit 0


fi


if [ "$rawdirname" = "/dev/raw" -a -f /dev/raw ]; then


echo $" Please correct your /etc/sysconfig/rawdevices:"


echo $" rawdevices are now located in the directory /dev/raw/ "


echo $" If the command 'raw' still refers to /dev/raw as a file."


echo $" you'll have to upgrade your util-linux package"


exit 0


fi


echo " $RAW --> $BLOCK";


raw $RAW $BLOCK


fi


done


}


# See how we were called.


case "$1" in


start)


# Assign devices


echo $"Assigning devices: "


assign_raw


#添加以下两行(默认不存在),即默认情况下生成的裸设备为root所有,


#所以必须修改属主,否则oracle用户无法使用裸设备


sleep 5


chown -R oracle:oinstall /dev/raw/


echo $"done"


;;


stop)


# No action to be taken here


;;


status)


ID=`id -u`


if [ $ID -eq 0 ]; then


raw -qa


else


echo $"You need to be root to use this command ! "


fi


;;


restart|reload)


$0 start


;;


*)


echo $"Usage: $0 {start|stop|status|restart}"


exit 1


esac


exit 0


------------------------------------------------------



# vi /etc/sysconfig/rawdevices //映射将要绑定的裸设备


/dev/raw/raw10 /dev/sda10


/dev/raw/raw11 /dev/sda11


/dev/raw/raw12 /dev/sda12


/dev/raw/raw13 /dev/sda13


/dev/raw/raw14 /dev/sda14


# chkconfig rawdevices on


# service rawdevices start


Assigning devices:


/dev/raw/raw10 --> /dev/sda10


/dev/raw/raw10: bound to major 8, minor 10


/dev/raw/raw11 --> /dev/sda11


/dev/raw/raw11: bound to major 8, minor 11


/dev/raw/raw12 --> /dev/sda12


/dev/raw/raw12: bound to major 8, minor 12


/dev/raw/raw13 --> /dev/sda13


/dev/raw/raw13: bound to major 8, minor 13


/dev/raw/raw14 --> /dev/sda14


/dev/raw/raw14: bound to major 8, minor 14


done


# ls -l /dev/raw/


total 0


crw-rw----. 1 oracle oinstall 162, 10 May 27 08:37 raw10


crw-rw----. 1 oracle oinstall 162, 11 May 27 08:37 raw11


crw-rw----. 1 oracle oinstall 162, 12 May 27 08:37 raw12


crw-rw----. 1 oracle oinstall 162, 13 May 27 08:37 raw13


crw-rw----. 1 oracle oinstall 162, 14 May 27 08:37 raw14


crw-rw--