简单记录一则在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磁盘时,就不会出现上述错误了!