简单记录一则在Linux平台上创建ASM磁盘时遭遇:
Device "/dev/sdf1" is already labeled for ASM disk ""
的错误!
1 故障现象:
1
2
3
4
5
6
7
8
9
10
|
[root@node1 ~] # /usr/sbin/oracleasm listdisks
ASMDISK1
ASMDISK2
[root@node1 ~] # /usr/sbin/oracleasm createdisk asmdisk3 /dev/sdf1
Device "/dev/sdf1" is already labeled for ASM disk
""
[root@node1 ~] # ll /dev/oracleasm/disks/
total 0
brw-rw---- 1 oracle oinstall 8, 49 Dec 25 16:53 ASMDISK1
brw-rw---- 1 oracle oinstall 8, 65 Dec 25 16:53 ASMDISK2
[root@node1 ~] #
|
2 故障处理:
通过查看/etc/blkid/blkid.tab文件,确实看到设备/dev/sdf1已经是一块ASM磁盘,只是ASM卷标为空。
1
2
3
4
5
6
7
8
9
|
[root@node1 ~]# cat /etc/blkid/blkid.tab
<device devno= "0x0802" time = "1387961123" type= "swap"
label= "SWAP-sda2" >/dev/sda2</device>
<device devno= "0x0801" time = "1387961122" label= "/"
uuid= "10af0e65-23e8-4f8e-94a2-cd9ee105d775" sec_type= "ext2"
type= "ext3" >/dev/sda1</device>
<device devno= "0x1600" time = "1387638279" label= "20100727_095827" type= "iso9660" >/dev/cdrom</device>
<device devno= "0x1600" time = "1387959583" label= "20100727_095827" type= "iso9660" >/dev/hdc</device>
<device devno= "0x0841" time = "1387959583" label= "ASMDISK2"
type= "oracleasm" >/dev/sde1</device>
<device devno= "0x0831" time = "1387959583" label= "ASMDISK1"
type= "oracleasm" >/dev/sdd1</device>
<device devno= "0x0851" time = "1387959583" label= ""
type= "oracleasm" >/dev/sdf1</device>
[root@node1 ~]#
|
通过/usr/sbin/oracleasm renamedisk命令来重命名磁盘:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
[root@node1 ~] # /usr/sbin/oracleasm renamedisk -f /dev/sdf1 asmdisk3
Writing disk header: done
Instantiating disk "ASMDISK3" : done
[root@node1 ~] # /usr/sbin/oracleasm listdisks
ASMDISK1
ASMDISK2
ASMDISK3
[root@node1 ~] # ll /dev/oracleasm/disks/
total 0
brw-rw---- 1 oracle oinstall 8, 49 Dec 25 16:53 ASMDISK1
brw-rw---- 1 oracle oinstall 8, 65 Dec 25 16:53 ASMDISK2
brw-rw---- 1 oracle oinstall 8, 81 Dec 25 17:16 ASMDISK3
[root@node1 ~] #
|
且,重启操作系统之后:
1
2
3
4
5
6
7
8
9
|
[root@node1 ~]# cat /etc/blkid/blkid.tab
<device devno= "0x0802" time = "1388267332" type= "swap"
label= "SWAP-sda2" >/dev/sda2</device>
<device devno= "0x0801" time = "1388267332" label= "/"
uuid= "d39a302e-b52e-422b-a26a-b7d11fd491aa" sec_type= "ext2"
type= "ext3" >/dev/sda1</device>
<device devno= "0x1600" time = "1388226554" label= "20100727_095827" type= "iso9660" >/dev/cdrom</device>
<device devno= "0x1600" time = "1388256454" label= "20100727_095827" type= "iso9660" >/dev/hdc</device>
<device devno= "0x0851" time = "1388256454" label= "ASMDISK3"
type= "oracleasm" >/dev/sdf1</device>
<device devno= "0x0841" time = "1388256454" label= "ASMDISK2"
type= "oracleasm" >/dev/sde1</device>
<device devno= "0x0831" time = "1388256454" label= "ASMDISK1"
type= "oracleasm" >/dev/sdd1</device>
[root@node1 ~]#
|
3 故障原因:
之前,的确已经将设备/dev/sdf1创建成了ASM磁盘,然后,在操作系统级别将/dev/sdf硬盘的第1个分区sdf1直接删除后,重新创建了分区sdf1之后,再想将/dev/sdf1创建为ASM磁盘时,就遭遇到上述的错误信息!
4 如何避免:
正确的步骤,先通过/usr/sbin/oracleasm deletedisk命令来删除对应的ASM磁盘,然后在操作系统级别删除对应的硬盘分区,重新创建新分区之后,再在该硬盘分区上通过/usr/sbin/oracleasm createdisk命令创建ASM磁盘时,就不会出现上述错误了!