创建ASM磁盘组


ASM磁盘组是作为一个逻辑单元管理的一个ASM磁盘池。与其他任何LVM一样,ASM管理大量物理卷并将其作为一个或多个逻辑卷呈交给Oracle。物理卷可以是实际的磁盘或磁盘的分区,或者是隶属操作系统的卷管理器的卷。无论采用哪种方式,都不能使用任何文件系统格式化,必须是裸设备。

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

直接使用裸设备的方法:


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

# cat /etc/RedHat-release

Red Hat Enterprise Linux Server release 5.8 (Tikanga)

# 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----. 1 oracle oinstall 162,  0 May 27 08:19 rawctl

# raw -qa

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

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

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

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

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

  • 1
  • 2
  • 下一页

相关内容