天天看点

linux下枚举块设备名称列表,查找ASM DISK对应的块设备名称

****因为在找工作和适合新环境,所有很久没发贴了,今天发一贴****

知道ASMDISK的名称,查询这个ASMDISK在哪个块设备上

一.如果是通过RAW设备来创建的ASMDISK,那登录ASM实例后查询v$asm_disk.path就能知道是哪个RAW设备

$ export ORACLE_SID=+ASM1

$ sqlplus /nolog

SQL> conn /as sysdba

Connected.

SQL> select path from v$asm_disk;

PATH

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

/dev/raw/raw3

/dev/raw/raw2

/dev/raw/raw1

ORCL:ASMDISK01

ORCL:ASMDISK02

ORCL:ASMDISK03

ORCL:ASMDISK04

7 rows selected.

从上面可以看到前三个为RAW,路径也在里面

二.如果通过ASMLib创建的磁盘,要通过设备号来查询

列出ASMDISK

# /etc/init.d/oracleasm listdisks

ASMDISK01

ASMDISK02

ASMDISK03

ASMDISK04

查询ASMDISK01的设备号

# ls -l /dev/oracleasm/disks/ASMDISK01

total 0

brw-rw----  1 oracle dba 8,  33 Jun  4 17:38 ASMDISK01

查询设备号对应的设备

# ls -l /dev/* | grep "8,  33"

brw-rw----   1 root disk   8,  33 Jun  4 17:38 /dev/sdc1

从上面可以看出块设备为/dev/sdc1,但如果是EMC管理的磁盘,则可以进一步进行以下查询

]# powermt display dev=sdc

Pseudo name=emcpoweraa

CLARiiON ID=*********

Logical device ID=******** 11 [asm01]

state=alive; policy=BasicFailover; priority=0; queued-IOs=0

Owner: default=SP A, current=SP B

==============================================================================

---------------- Host ---------------   - Stor -   -- I/O Path -  -- Stats ---

### HW Path                 I/O Paths    Interf.   Mode    State  Q-IOs Errors

==============================================================================

1 ******                  sdc       SP B2     active  alive      0      0

最后查到EMC的设备号为/dev/emcpoweraa