• 検索結果がありません。

Red Hat Enterprise Linux 3.0 での設定 Tips

ドキュメント内 Oracle Real Applicatrion Clusters 10g 設定手順書 (ページ 86-94)

  本書は MIRACLE LINUX V3.0 を用いて動作確認を行い手順書を作成しています。

MIRACLE LINUX V3.0はRed Hat Enterprise Linux 3.0のUpdate2をベースに作成され ています。Red Hat Enterprise Linux 3.0ベースで設定を行いたい方も多いかと思います。

ここでは、Red Hat Enterprise Linux 3.0のUpdate2を用いた設定Tipsについて記載し ます。Update 1でもインストールができないわけではありませんが、RAC として対応し ていないバージョンです。また、Update1とUpdate2では必要となるRPMの種類も変わ って来る可能性がありますので、ご留意ください。

● Red Hatのカーネルバージョン確認

今回利用したRedHatのディストリビューションバージョンです。

[root@oracle02 xinetd.d]# uname -a

Linux oracle02 2.4.21-15.EL #1 Thu Apr 22 00:27:41 EDT 2004 i686 i686 i386 GNU/L inux

[root@oracle02 xinetd.d]#

● Firewireカーネルのインストール

  kernel-2.4.21-15.ELorafw1.i686.rpm (for a single CPU system)をダウンロードし、

rpm -ivh <filename.rpm>でインストール。インストール後、リブートします。

 

●  カーネルパラメータの設定

カーネルパラメータは、MIRACLE LINUXのようにデフォルトで Oracle向けにカ スタマイズされていません。従って次の設定値を/etc/sysctl.confに設定し、sysctl –pコ マンドを実行してください。

kernel.shmall = 2097152 kernel.shmmax = 2147483648 kernel.shmmni = 4096

kernel.sem = 250 32000 100 128 fs.file-max = 65536

net.ipv4.ip_local_port_range = 1024 65000

 

●  必要PRMの入手とインストール

RedhatAS3.0では、次のRPMを入手して、インストールしておく必要があります。

gcc-3.2.3-34 compat-db-4.0.14.5 compat-gcc-7.3-2.96.122 compat-gcc-c++-7.3-2.96.122 compat-libstdc++-7.3-2.96.122 compat-libstdc++-devel-7.3-2.96.122 openmotif-2.1.30-11

setarch-1.3-1 make-3.79

binutils-2.11.90.0.8-12 rsh-server-0.17-21.i386.rpm

glibc-devel-2.3.2-95.27.i386.rpm  glibc-headers-2.3.2-95.3.i386.rpm  glibc-kernheaders-2.4-8.34.i386.rpm 

*SSHを利用するときは、RSHサーバーは必要ありませんが、Rshを利用することをお 奨めします。

これ以外はMIRACLE LINUX V3.0 の設定方法と同じです。MIRACLE LINUX V3.0と同 様の手順で設定を進めてください。 

こんなときどうする

●  ディスクをどうしても認識しない

Firewireドライバの設定でエラーが出る場合、様々な可能性があります。これまで発生

した事例を参考に記載します。

【事例1】

modprobe sbp2実行時に次のエラーが出る

SCSI device sda: 120103200 512-byte hdwr sectors (61493 MB)

sda:scsi0: ERROR on channel 0, id 0, lun 0, CDB: Read (10) 00 00 00 00 00 00 00 02 00

Current sd08:00: sense key Medium Error Additional sense indicates Data phase error I/O error: dev 08:00, sector 0

scsi0: ERROR on channel 0, id 0, lun 0, CDB: Read (10) 00 00 00 00 00 00 00 02 0 0

上の例では[sector(61493MB)とあるように、60Gバイトのディスクを利用しています。

sbpドライバが60GBのディスクを認識できていません。これは、ディスクが壊れてい るか、もしくはSCSIドライバ(sbp2)が60GBのディスクを認識できていないかどち らかです。このエラーは Red Hat Enterprise Linux AS 2.1(Firewire カーネル

2.4.20-rc2-orafw-smpを利用)しているときに発生したものです。この時は、ディスク

を20GBのものに変更したらエラーは出なくなりました。その後60GBディスクが壊れ ていることが判明したため、原因がディスクにあったのか、サイズにあったのかは不明 です。

【事例2】dmesgのsbp2追加のところで以下のメッセ−ジが表示される。

ieee1394: sbp2: Node[01:1023]: Max speed [S400] - Max payload [2]

これは、IEEE1394カードにビデオキャプチャーにも対応したカードを利用した場合の

表示です。おそらくキャラクタデバイスモードでの転送になってしまうため、[Max

payload]が 2 バイトになっているものと思われます。正常に動作するばあいは、

[Maxpayload[2048]]と表示されます。IEEE1394カードにはビデオキャプチャー機能対

応のものは利用しない方がいいでしょう。

【事例3】

fdisk –l で正常に表示されるのに、ddコマンドがエラーになる場合。

一度、rmmod sbp2 を実行し、再度、modprobe sbp2を実行してみてください。

その他、とにかくFirewireディスクが見れない場合、rmmod sbp2を実行し、再度、

modprobe sbp2を行って後、fdisk /dev/sdaを実行すると、デバイスが見れるようにな る可能性がありますので、実行してみてください。

● su でユーザー変更が出来ない。

/etc/pam.d/su の以下の行をコメントアウトします。

#auth required /lib/security/pam_wheel.so use_uid

●  リブート時に、/sbin/lkcd_configコマンドがエラーとなる

ダンプ取得コマンドがエラーになっているだけなので、無視してください。

●OUIが起動しない

以下のエラーが出てOUIの起動に失敗した場合。

Using paramFile: /oracle10/Disk1/install/linux/oraparam.ini

Checking requirements...

Checking operating system version: must be redhat-2.1 or UnitedLinux-1.0 Failed <<<<

Exiting Oracle Universal Installer, log for this session can be found at /oracle /oraInventory/logs/installActions2004-01-08_06-21-08PM.log

CD-ROM のメディアを利用している場合は、Disk1 の中身を全てディスクにコピーし、

Didk1のinstall/linux/oraparam.ini* の[Linux]の行をコメントアウトしてください(Red Hat Enterprise Linux AS 2.1を利用した時に発生した事象)。

[Certified Versions]

#Linux=redhat-2.1,UnitedLinux-1.0

● OUIが起動しない(2)

理由は確認できていませんがTMPのパーミッションに引っかかることがあります。

TMPのパーミッションを777などに、一時的に変更してください(Red Hat Enterprise Linux AS2.1で発生)。

● CRSのインストール中、OCR、投票ディスクのパスを入力しても認識されない

【対処方法1】

OCRや投票ディスクデバイスのパーミッションとオーナー属性を確認してくださ い。誤りがあった場合、OUI を一度落とす必要があります。CRS のインストールを OUIの再起動から槍や押してください。

【対処方法2】

指定したRAWデバイスに既に何かが記載されている可能性があります。次のddコ マンドを参考にイニシャライズしてください。

dd if=/dev/zero of=/dev/raw/raw12 bs=1024K count=10

● CRSインストール中にroot.shがエラーとなった場合

様々なケースがありますが、まず/etc/hostsと環境変数をよく見直してください。またホ スト名が32バイトを越えている場合は短くしてみてください。その後、関連ファイルを削 除してCRSのインストールをやり直します。次の手順で環境をクリアしてください。

/etc直下のOracle関連ファイルの削除

#rm –r /etc/ora*

OracleユーザーにてOracle関連ファイルの削除

$rm –r app

以下の内容のシェルを作成し、CRS関連ファイルを削除してください。Miracle Linux V3.0 では rmコマンドは、デフォルトで”rm –i”とエイリアスが作成されていますので、この点 ご留意ください。

rm -f /etc/init.d/init.cssd rm -f /etc/init.d/init.crs rm -f /etc/init.d/init.crsd rm -f /etc/init.d/init.evmd rm -f /etc/rc2.d/K96init.crs rm -f /etc/rc2.d/S96init.crs rm -f /etc/rc3.d/K96init.crs rm -f /etc/rc3.d/S96init.crs rm -f /etc/rc5.d/K96init.crs rm -f /etc/rc5.d/S96init.crs rm -Rf /etc/oracle/scls_scr

rm -f /etc/inittab.crs

cp /etc/inittab.orig /etc/inittab

リブート後、OCR用とのRAWデバイスファイルのオーナーとパーミッションを変更し ます。CRSをインストールすると、途中でデバイスファイルのオーナーがrootに変更され てしまうため、もとにもどす必要があります。

[root@oracle02 root]# chown oracle:oinstall /dev/raw/raw1 [root@oracle02 root]# chmod 660 /dev/raw/raw2

●    ASM用ディスクの選択で、ディスクの検出に失敗したばあい

これも様々なケースが考えられます。次の対策を実施してみてください。

【対処方法1】アンマウントする。

選択対象のRAWデバイスがマウントされていると、選択されません。umountしてくだ さい。

【対処方法2】検索パスを変更してみる。

次の画面で、検出パスを、[/dev/raw/raw1*]のように、検索対象を絞ってみてください。

または、[/dev/raw/raw12*]などとデバイスファイル名を全て記述してみてください。

【対処方法3】何か情報が書き込まれている。

デバイスファイルが一度使用されており、何かデータが書き込まれると検出しないこと があります。この場合、ddコマンドでデータを消去します。

dd if=/dev/zero of=/dev/raw/raw15 bs=1024K count=100

【対処方法4】対象デバイスにmkfsを実行してみてください。

(Mkfs のあと、RAWコマンドも再実行します)

[root@oracle02 crs]# mkfs /dev/sda5 mke2fs 1.32 (09-Nov-2002)

Filesystem label=

OS type: Linux

Block size=4096 (log=2) Fragment size=4096 (log=2) 292032 inodes, 584010 blocks

29200 blocks (5.00%) reserved for the super user First data block=0

18 block groups

32768 blocks per group, 32768 fragments per group 16224 inodes per group

Superblock backups stored on blocks:

32768, 98304, 163840, 229376, 294912

Writing inode tables: done

Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 27 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override.

[root@oracle02 crs]#

●  「自動ストレージの構成」にて障害グループを設定しないで([通常]を選択せず、[外部]

を選択したところ、VIP構成後、次のエラーが発生した

— ORA-15018/ORA-15072

これは、2つのfailureグループが必要という意味のエラーです。データベースのインスト ールをやり直し、「自動ストレージの構成」にて、「通常」を選択します。「通常」を選 択すると、必ずミラーを行うことになり、RAWデバイスを2本必要とするようになります。

●  CRSが起動しない

CRS のインストールは正常に終了したにもかからわず、リブート後、起動しなくなっ た場合

  lsmodでみると、ohci1394とsbp2が正常に起動しているにも関わらず、このような

現象に陥るもっとも一般的なケース、共有ディスクが認識できていない場合がほとんど です。まずは/var/log/messagesを見てください。OCRをオープンしようとして、エラ ーとなっているメッセージが表示されていたら、原因は間違いなく、ディスク認識エラ ーです。fdisk /dev/sdaを実行してみてください。開けなければ、ディスク認識エラー となっています。

  まずは、次の対処を行います。

  -rmmod sbp2 -rmmod ohci1394 -rmmod ieee1394

を実行します。lsmodにて、完全に削除されていることを確認してから、再度、modprobe でドライバを組み込みます。

  -modprobe ohci1394 -modprobe sbp2

ここで、再度fdisk /dev/sda を実行します。

これでも認識できない場合は、次の可能性があります。

「エラーとなっているノードとは別のノードが、Firewire カーネルではなく、通常の

Linuxカーネルで起動している」ケースです。

  実は、最近の通常のLinuxカーネルは、デフォルトでieee1394ドライバを搭載して います。普通にOSをインストールして、Firewireディスクを繋げると、ディスクを認 識します。Oracle 社提供の Firewire カーネルとの最大の相違点は、通常の Firewire ドライバは、1つのコンピュータが排他的にアクセスする仕様となっています。このた め、1台のコンピュータが Firewire ディスクにアクセスすると、他のノードはアクセ スできなくなります。Oracle社のFirewireカーネルでは、最大4台のコンピュータか ら、同時に1つのFirewireディスクにアクセスすることが出来ます。

  RAC構成では、同時に複数台のコンピュータからアクセスする必要があるため、この

ようなFirewireカーネルの機能が必要となります。

  ところで、1台のコンピュータが、誤って通常のカーネルで起動し、先に、デフォル

トのIEEE1394ドライバでFirewireディスクにアクセスしてしまったとします。この状

態で、もう片方のノードをFirewireカーネルで起動しても、既にディスクは排他モード で使用中となってしまい、アクセスすることはできなくなります。

  こうした事態に陥った場合は、両方のノードのカーネルをuname –a コマンドで調べ てください。もし、通常カーネルが利用されていたばあいは、リブートして、カーネル を切り替えてください。  それでもNGであるばあい、両ノードでrmmodとmodprobe を再実行してください。  それでもNGであるばあいは、両ノードをシャットダウンし、

ディスクの電源もOFFにしてから、再起動をかけます。

●  その他の事態

他に、よくあるパターンとして、ローカルディスクが満杯になってしまい、エラーを 誘発する、という現象があります。この現象は、CD-ROM からのインストール自では なく、イメージファイルをダウンロードしたばあいにだけ発生します。イメージファイ ルを解凍するとき、ディスクが FULL になってしまい、すべてのファイルが正しく解 凍されないことがあります。オラクルのインストーラは、このようなときでも、問題な く起動され、インストールを開始してしまいます。その後、インストールの中頃や、終 盤になって、あまり例のないエラーが発生することがあります。

このようなことがあるため、エラーが発生したときは、ディスクの空き容量を確認す ることも一つです。

ドキュメント内 Oracle Real Applicatrion Clusters 10g 設定手順書 (ページ 86-94)

関連したドキュメント