1.查看oracleasm日志
sjzxdb1:/var/log # more oracleasm
Creating /dev/oracleasm mount point: /dev/oracleasm
Loading module "oracleasm": oracleasm
Mounting ASMlib driver filesystem: /dev/oracleasm
Reloading disk partitions: done
Cleaning any stale ASM disks...
Scanning system for ASM disks...
Disk "DISKGROUP" does not exist or is not instantiated
Instantiating disk "DISKGROUP"
Disk "DISKDATA3" does not exist or is not instantiated
Instantiating disk "DISKDATA3"
Disk "DISKDATA2" does not exist or is not instantiated
Instantiating disk "DISKDATA2"
Disk "DISKDATA1" does not exist or is not instantiated
Instantiating disk "DISKDATA1"
Disk "DISKGROUP" is a valid ASM disk
Disk "DISKDATA3" is a valid ASM disk
Disk "DISKDATA2" is a valid ASM disk
Disk "DISKDATA1" is a valid ASM disk
Reloading disk partitions: done
Cleaning any stale ASM disks...
Validating disk "DISKDATA1"
Validating disk "DISKDATA2"
Validating disk "DISKDATA3"
Validating disk "DISKGROUP"
Scanning system for ASM disks...
Disk "DISKGROUP" is a valid ASM disk
Disk "DISKDATA3" is a valid ASM disk
Disk "DISKDATA2" is a valid ASM disk
Disk "DISKDATA1" is a valid ASM disk
Disk "DISKGROUP" is a valid ASM disk
Disk "DISKDATA3" is a valid ASM disk
Disk "DISKDATA2" is a valid ASM disk
Disk "DISKDATA1" is a valid ASM disk
Creating /dev/oracleasm mount point: /dev/oracleasm
Loading module "oracleasm": oracleasm
Mounting ASMlib driver filesystem: /dev/oracleasm
Reloading disk partitions: done
Cleaning any stale ASM disks...
Scanning system for ASM disks...
Disk "DISKGROUP" does not exist or is not instantiated
Instantiating disk "DISKGROUP"
Disk "DISKDATA3" does not exist or is not instantiated
Instantiating disk "DISKDATA3"
Disk "DISKDATA2" does not exist or is not instantiated
Instantiating disk "DISKDATA2"
Disk "DISKDATA1" does not exist or is not instantiated
Instantiating disk "DISKDATA1"
Disk "DISKGROUP" is a valid ASM disk
Disk "DISKDATA3" is a valid ASM disk
Disk "DISKDATA2" is a valid ASM disk
Disk "DISKDATA1" is a valid ASM disk
Cleaning any stale ASM disks...
Validating disk "DISKDATA1"
Validating disk "DISKDATA2"
Validating disk "DISKDATA3"
Validating disk "DISKGROUP"
Unmounting ASMlib driver filesystem: /dev/oracleasm
Unloading module "oracleasm": oraclea
oracleasm日志正常。
2.使用oracleasm查看磁盘
sjzxdb1:/etc/init.d # ./oracleasm listdisks
DISKDATA1
DISKDATA2
DISKDATA3
DISKGROUP
sjzxdb1:/etc/init.d # ./oracleasm scandisks
Scanning the system for Oracle ASMLib disks: done
sjzxdb1:/etc/init.d #
sjzxdb1:/etc/init.d # ./oracleasm querydisk -p -d DISKDATA1
Disk "DISKDATA1" is a valid ASM disk on device [8, 145]
/dev/sdj1: LABEL="DISKDATA1" TYPE="oracleasm"
/dev/sdt1: LABEL="DISKDATA1" TYPE="oracleasm"
asm磁盘正常,由此判断故障和磁盘无关,和asm也无关,应该是裸设备的关系,不过查看rawdevice和udev相关文件,一直找不到相关的配置文件,疑惑。。。继续查找相关配置
3.管理员提醒操作系统是suse,是不是和操作系统的绑定裸设备有方法有关系
oracle@sjzxdb1:/tmp> lsb_release -a
LSB Version: core-2.0-noarch:core-3.0-noarch:core-2.0-x86_64:core-3.0-x86_64:desktop-3.1-amd64:desktop-3.1-noarch:graphics-2.0-amd64:graphics-2.0-noarch:graphics-3.1-amd64:graphics-3.1-noarch
Distributor ID: SUSE LINUX
Description: SUSE Linux Enterprise Server 10 (x86_64)
Release: 10
Codename: n/a
oracle@sjzxdb1:/tmp>
查找相关资料,果然不一样,suse下裸设备配置文件如下:
sjzxdb2:/etc/udev/rules.d # vi /etc/raw
# /etc/raw
#
# sample configuration to bind raw devices
# to block devices
#
# The format of this file is:
# raw<N>:<blockdev>
#
# example:
# ---------
# raw1:hdb1
#
# this means: bind /dev/raw/raw1 to /dev/hdb1
#
# ...
raw1:sdb1
raw2:sdc1
raw3:sdd1
raw4:sde1
raw5:sdf1
raw6:sdg1
raw7:sdi1
raw8:sdj1
查看查看/dev/raw没有信息,节点2有。更加确定是裸设备绑定有问题了
启动裸设备服务
sjzxdb1:/dev/oracleasm/disks # rcraw start
bind /dev/raw/raw1 to /dev/sdb1... done
bind /dev/raw/raw2 to /dev/sdc1... done
bind /dev/raw/raw3 to /dev/sdd1... done
bind /dev/raw/raw4 to /dev/sde1... done
bind /dev/raw/raw5 to /dev/sdf1... done
bind /dev/raw/raw6 to /dev/sdg1... done
bind /dev/raw/raw7 to /dev/sdi1... done
bind /dev/raw/raw8 to /dev/sdj1... done
设为自动系统
oracle@sjzxdb1:~> chkconfig raw on
一直没用过suse linux,以为要么用rawdevice,要么用udev,查找裸设备配置文件一直找不到,没想到真的是因为操作系统绑定裸设备的方式不一样。