ASMLibに関する検証 その1
<ASMLibに関する検証 その1>
ペンネーム: ソラ
明けましておめでとうございます。
新年最初のメルマガは、筆者自身がOracleをインストールする際に気になっ
ていた「ASMLib Kernel Driver(以下、ASMLib)に関する検証」を行っていき
ます。
最近、Oracle Real Application Clusters(以下、RAC)構築にAutomatic
Storage Management(以下、ASM)を使用することが多くなっています。
特にSE-RACではASMの使用が必須となっています。
ASMを使用する場合のインストールマニュアルに、以下のような一文がありま
す。
「管理性を向上するため、プラットフォーム上で使用可能な場合にはASMLibを
使用する必要があります。」
一見使用したほうがよいように思えます。
しかし、一言で管理性を向上すると言っても、そもそも何の管理性なのか?
また、どのくらい向上するのか?など疑問点が残り本当に使用したほうがよ
いのかわかりません。
そのため、筆者自身は以下の理由も重なり今までに使用したことはありません
でした。
・ASMLibを使用しない状態でもASMとしての動作は可能
・ASMLibを使用することでパフォーマンスの悪化などが発生しないかを懸念
筆者と同じような理由で使用していない方もいらっしゃるのではないで
しょうか?
ただ、マニュアルに記述しているということはそれなりのメリットはあるは
ずです。せっかく受けられる恩恵を無駄にするのは、もったいないというこ
とでこの場を借りて、ASMLibとはどのようなものかを検証させていただきま
す。
尚、ASMについての内容でわからない点がございましたら、以下をご参照下さ
い。
『ASM を味わう ~ ASM を立ち上げるのだ』
https://old.insight-tec.com/mailmagazine/ora3/vol257.html
■ASMLibとは
検証を始める前に、ASMLibとはどのようなものなのか確認してみましょう。
まず、マニュアルから見ていきましょう。
以下、マニュアルの抜粋となります。
「Oracle Database 10g Release 2 Automatic Storage Managementの概要およ
び技術ベスト・プラクティス」より
====================================================================== オラクルでは、ASMLIB APIという記憶域管理インタフェースを開発しました。 ASMLIBは、ASMディスクの管理と検出を簡素化するアドオン・モジュールに過 ぎず、ASMの実行に必要ではありません。ASMLIBは、標準オペレーティング・ システム・インタフェースにとって、ブロック・デバイスを識別してアクセス する代替インタフェースとなります。ASMLIB APIは、ストレージ・ベンダーお よびオペレーティング・システム・ベンダーにストレージ関連の拡張機能を提 供し、ベンダーのストレージ・アレイの機能と利点を活用します。 ASMLIB APIは、標準のインタフェースにはない次の2つの重要な拡張機能を提 供します。 ・ディスクの検出 -データベースおよびDBAに対し、記憶域属性に関するより多くの情報を提供 ・I/O処理 -I/O処理の効率化 オラクル社はLinuxプラットフォーム向けに、Oracle ASMLIB(現行バージョン は2.0)というASMLIBを提供しています。ASMLIBのこの実装により、クラスタ 化記憶域プールに対する記憶域のプロビジョニングが容易になります。ディス クにはカーネル・レベルでのドライバ・アクセスが提供され、サーバーの再起 動時における権限とデバイスのマッピングがより安定します。またASMLIBは、 あるノードに付加されたディスクが同じクラスタ内の他のノードに認知されな いという問題に対処し、その可能性を排除する検出プロセスを簡素化します。 ======================================================================
上記の説明を見ただけでは少しわかりづらいですね。
以下の3つにポイントを絞って記載します。
・概要
・制約と特徴
・メリット
▼概要
概要を抜粋すると以下のようになります。
===================================================================== ASMディスクの管理と検出を簡素化するアドオン・モジュール =====================================================================
これだけだと、まだ少しわかりづらいのでわかりやすくしてみましょう。
通常、ASMを使用する場合のASMディスクにはRAWデバイスを使用するため、
ASMディスクの管理と検出とは、RAWデバイスを使用するための設定(RAWパー
ティションの追加や削除)ということでしょう。
つまり、
「ASMでRAWデバイスを利用する際に必要な設定を簡単にしてくれる
アドオン・モジュール」
ということのようです。
詳細については、検証をしながら確認していきましょう。
では、次にどのような環境で使用できるか?ということで制約と特徴につい
てです。
▼制約と特徴
ASMLibの制約と特徴をまとめると以下の2点となります。
1.Linux環境のみで使用可能 Linux環境だけとはちょっと残念です。ただ、ASMLibは10gR1から提供 されているためLinux上でASMを使用する環境であれば常に使用可能です。 2.ASMの実行に必須ではない ASMLibは、先ほどの概要の通りあくまでもアドオン・モジュールという 位置付けのため、ASMの実行には必須ではありません。 では、次にASMLibのメリットについて見てみましょう。
▼メリット
メリットについては主に以下の2つとなります。
1.ASMディスクの管理・検出が簡単になる 2.I/O処理の効率がよくなる
1.ASMディスクの管理・検出が簡単になる RAWパーティションの追加・削除時など、いろいろな手順が必要になり面 倒に感じていた方々もいらっしゃるのではないでしょうか? 手順が増えるとオペレーションミスの可能性も増加しますし、ASMLibを使 用することで手順が減るか気になります。 また、管理が簡単になる可能性があるということは、インストール後はも ちろんですが、インストール自体の手順も簡単になるのか気になります。 筆者自身、インストール時のRAWデバイスの設定を面倒に感じた記憶があ ります。 また、先ほど抜粋した資料に検出に関係する記述もあります。 以下、上記抜粋資料の検出に関する部分となります。 ================================================================== ASMLIBは、あるノードに付加されたディスクが同じクラスタ内の他のノー ドに認知されないという問題に対処し、その可能性を排除する検出プロセ スを簡素化します。 ================================================================== 稼動中のサーバにディスク(RAWパーティション)を追加したのに、同じク ラスタ内の他のノードでディスクが認識されない!! クラスタ環境を運用・管理している方の中には、このような経験をされた 方もいらっしゃるのではないでしょうか? このような場合、サーバのリブートをすることで問題を回避できる可能性 もあります。 しかし、2ノードのクラスタ環境で、サーバのリブートのようにシステムの 冗長性に支障をきたす運用はリスクが大きすぎます。 ASMLibを使用するだけで、ディスク管理の安定性を確保し、結果的にサー バのリブートが必要になる問題まで回避できるのであれば、ASMLibの使用 を検討する余地も十分ありそうです。 2.I/O処理の効率がよくなる I/O処理の効率がよくなるとはどういうことでしょう? つまり、パフォーマンスの観点からも効果があるということでしょうか? Oracleデータベースの構成ファイルへのアクセスには、Oracle純正ドライ バを使用するほうがその他のドライバを使用するよりパフォーマンスが向 上するように思えます。 しかし、本当にそうなのでしょうか? また、効果がある場合はどのくらい効果があるのか検証が必要ですね。 ということで、本検証では以下の2点のメリットに着目して検証をしていき たいと思います。 ・ASMLibを使用しない場合と比べ、どのくらい管理・検出が簡単になるの か? ・パフォーマンスの観点から見て、メリットはどのくらいあるのか?
ASMLibとはどのようなものか少しわかったところで、今週はここまで!!
■資料から確認した内容のまとめ
▼概要
・ASMでRAWデバイスを利用する際に必要な設定を簡単にしてくれる
アドオン・モジュール
▼制約と特徴
・Linux環境のみで使用可能
・ASMの実行に必須ではない
▼メリット
・ASMディスクの管理・検出が簡単になる
・I/O処理の効率がよくなる
次回は「ASMLibとRAWデバイスを使用する場合のOracleインストール手順の違
い」について検証していきたいと思います。
スカーレット特別賞もなし。。37年ぶりって何ですか? 恵比寿より