ocfs磁盘故障解决一例

今天在虚拟机上安装oracle rac,进行到格式化ocfs磁盘时出现了错误,只能在一个节点上mount。

[root@rac02 ~]# mount -t ocfs2 -o datavolume,nointr /dev/sdb1 /ocfs
ocfs2_hb_ctl: OCFS2 directory corrupted while reading uuid
mount.ocfs2: Error when attempting to run /sbin/ocfs2_hb_ctl: "Operation not permitted"

使用强制格式化后再尝试两个节点挂载仍然出错。

[root@rac02 ~]# mkfs.ocfs2 -b 4K -C 32K -N 4  --force -L oradatafiles /dev/sdb1
mkfs.ocfs2 1.2.0
Overwriting existing ocfs2 partition.
WARNING: Cluster check disabled.
Proceed (y/N): y
Filesystem label=oradatafiles
Block size=4096 (bits=12)
Cluster size=32768 (bits=15)
Volume size=536854528 (16383 clusters) (131064 blocks)
1 cluster groups (tail covers 16383 clusters, rest cover 16383 clusters)
Journal size=16777216
Initial number of node slots: 4
Creating bitmaps: done
Initializing superblock: done
Writing system files: done
Writing superblock: done
Writing lost+found: done
mkfs.ocfs2 successful

[root@rac02 ~]# mount -t ocfs2 -o datavolume,nointr /dev/sdb1 /ocfs
[root@rac02 ~]# cd /ocfs
[root@rac02 ocfs]# ls

[root@rac01 /]# mounted.ocfs2 -f
Device                FS     Nodes
/dev/sdb1             ocfs2  Unknown: Bad magic number in inode  

经过检查发现,这个问题是由于在为虚拟机创建磁盘的时候没有选择“allocate all disk space now”,导致ocfs在加入第二个节点时出错,关掉虚拟机删除该磁盘,重新创建一个立即分配空间的盘再格式化,两个节点都能正常mount了。

在正式的生产环境下,这个错误出现的概率应该是很小。但如今虚拟机使用的越来越广泛,有时候出现这种错误难免让人摸不着头脑。特别是在磁盘活动较频繁,或磁盘大小增长快速时,更有可能出现这种问题,因此建议ocfs这类盘还是使用预先分配所有空间为好。

你可能感兴趣的:(oracle,c,虚拟机,REST,活动)