# oracleasm createdisk data1 /dev/sdb1
Writing disk header: done
Instantiating disk: failed
Crearing disk header: done
ほとんどの場合、以下のどちらかの対処で解決する(らしい)。
1. 再起動する
2. selinux を無効にする
Google 先生に聞いてもこの解決方法しか見つからない。
がしかし、このどちらの対処を行っても解決しなかった。
というわけで、今回対処した方法は以下。
いろいろと調査した結果、インストールしたライブラリのロードに失敗していた。
# oracleasm status
Checking if ASM is loaded: no
Checking if /dev/oracleasm is mounted: no
今回、Oracle Linux 6.6 で検証環境を構築していたが、諸事情によりカーネルを 3.8 系から 2.6 系に変更した。これが主な原因だったっぽい。
ASMLib には kmod-oracleasm、oracleasmlib、oracleasm-support が必須だけど、このうち kmod-oracleasm がカーネルに依存していた。
というわけで、これをインストールすることで解決した。
# yum -y install kmod-oracleasm
この依存関係でカーネルモジュールもインストールされた。そういえば入れるの忘れてたよ……。
念のため oracleasmlib と oracleasm-support を入れなおす。
# yum -y install oracleasmlib
# yum -y install oracleasm-support
# oracleasm configure -i
ここで一度再起動、そして共有ディスクの作成。
# oracleasm createdisk data1 /dev/sdb1
Writing disk header: done
Instantiating disk: done
無事作成されました。
2015/11/25追記
いろいろと構築関係で時間がかかってしまったので追記が遅れてしもた。
まず、oracleasm コマンドで設定を行ったあとに再起動する必要はなくて、以下のコマンドを実行すればよかった。
# oracleasm init
また、共有ディスク作成後も以下のコマンドを他ノードで実行することで、作成したディスクを認識させることができる。
# oracleasm scandisks
あと、インターネットに接続できないなどの環境で yum コマンドを使って kmod-oracleasm をインストールできない場合。
kmod-oracleasm のインストールによってカーネルモジュールがインストールされる。起動時のカーネルに依存するパッケージやモジュール、ドライバがある場合、インストールオプションに注意しなきゃいけない。
気にせずアップグレードしたらファイバチャネルスイッチが動かなくなって焦った。
以下は今回構築したときにインストールしたモジュールの例。
# rpm -Uvh dracut-004-388.0.1.el6.noarch.rpm
# rpm -Uvh dracut-kernel-004-388.0.1.el6.noarch.rpm
# rpm -ivh kernel-2.6.32-573.7.1.el6.x86_64.rpm
0 件のコメント:
コメントを投稿