ASP(補助記憶域プール)
IBM iでは、システムに構成されたストレージ装置はすべて論理的なグループにまとめて管理する仕組みになっている。この論理的なグルーピングをASP(補助記憶域プール: Auxiliary Storage Pool)
と呼んでいる。
IBM iはASPにデータを配置する際に、ASPを構成する複数のディスク装置に自動的に分散させて、各ストレージ装置の容量使用率やアームビジー率を均衡化する機能を備えている。そうすることで、ストレージ装置からデータやオブジェクトを読み出す際に、各ストレージ装置から並行してデータの取り出しができ、よりよいパフォーマンスが期待できる。
また、ASPの容量使用率が高くなってきた場合には、ASPにストレージ装置を追加すればよい。追加後、OSによるデータ・バランシング機能が自動的に実行され、追加されたディスク装置を含め、ASPを構成する全ストレージ装置にデータが再配置される。
このようなデータ再配置機能は近年のストレージ装置では一般的になっているが、IBM i は1988年の初代Bモデルから(遡ればS/38登場の1978年から)実装している。
2024年時点の最新ハードウェア、Power 10サーバーでは内蔵ストレージとしてNVMeのみをサポートしているが、外部ストレージを接続すれば、従来のSSDやHDDもストレージとして利用可能である。NVMe、SSD、HDD間でより利用頻度の高いデータをアクセスの速いストレージに再配置するといったストレージ階層管理機能も、IBM i OSには標準機能として実装されている。
IBM iのストレージ管理機能はデータベースの観点で見ると、データベースの物理設計を不要にしていると言える。IBM iのデータベース(Db2 for i)は、IBM i OSと同一階層でストレージ管理されるため、表スペースの概念が存在しない(不要である)。
前述したような複数の種類のさまざまなストレージ構成であっても、IBM i OSが動的に最適な再配置を実行するので、データベースのパフォーマンスは常に最善に維持される。
IBM iのストレージ管理におけるパフォーマンス上の注意点としては、「LUN数、NVMeのネームスペース数などASPに構成する論理的なストレージ装置数が多いほど、同時処理できるI/O処理数が増え、パフォーマンスが向上する」という特性である。
逆に言えば、処理負荷に対して論理的なストレージ装置数が少ないと、I/Oパフォーマンスが劣化することになる。最適な装置数は、ある程度経験則でも判断できるが、収集サービスというパフォーマンスデータの取得により、データに基づく推計・評価もできる。
ASPの種類
ASPには図表1のとおり、いくつかの種類がある。
システムASP
システムASP はOSコードや一時記憶域など、IBM i の必須データやオブジェクトが格納される領域となる。最も一般的な構成では、IBM i に接続したストレージ装置をすべてシステムASPに追加し、ユーザーデータやオブジェクトもシステムASPに配置する。
システムASPはASP1とも呼ばれ、IBM i OS起動時にASP1のすべてのストレージがオンラインで認識できている必要がある。
基本ユーザーASP
基本ユーザーASPは、WindowsのDドライブやEドライブなどに相当するASPである。IBM i OS必須のシステムオブジェクト以外のユーザー作成オブジェクを格納する。
基本ユーザーASPの利用例としては、データベースジャーナル(DBログ)をASP1と分離して構成したい場合が一般的だろう。基本ユーザーASPはASP2、ASP3~ASP32まで構成でき、IBM i OS起動時にオンラインですべて認識できている必要がある。システムASPと基本ユーザーASPを合わせて、*SYSBAS と表記されることもある。
独立ユーザーASP (IASP)
独立ユーザーASP (IASP:Independent User Auxiliary Storage Pool)は、IBM iの稼働中にオフ/オンが可能なストレージである。IASPが登場した背景には、複数のIBM i OS間でストレージの共有によるHA構成を実現したい、という要求があった。
IBM i でHA構成を実現するために、ソフトウェア面では「PowerHA SystemMirror for i」が提供されている。
PowerHA SystemMirror for i では、複数システム間でIASPを複製するストレージベースの可用性ソリューション、IBM i OSによるIASP複製ソリューション(地理的ミラーリング)、外部ストレージが提供するMetro MirrorやGlobal Mirrorなどを利用してIASPを複製する機能を提供している。
ジャーナル機能
ユーザーASPに配置することが多いオブジェクトとしてジャーナル・レシーバーが挙げられるが、これはDb2 for iのDBログなど、IBM iにおけるオブジェクト変更の履歴情報、追跡情報を書き出しておくためのオブジェクトである。
ジャーナルによる変更の追跡は、図表2のようにDb2 for iのテーブルを始めとするさまざまなオブジェクトに対して有効化できる。
Db2 for iにおけるジャーナル機能は図表3のように、テーブルに対してジャーナルと呼ばれるログ記録機能を仕掛けておき、対象の変更内容をジャーナル・レシーバーと呼ばれる入れ物に蓄積する機能を指す。
ジャーナル・レシ―バーに蓄積した情報は図表4のとおり、大きく分けて2つのデータのリカバリーに活用できる。
1つ目はデータの正方向回復(フォワード・リカバリー)で、テーブルをテープから復元した際に、テーブルの保管時点から現時点までのデータの変更内容をテーブルに反映させる処理となる。
2つ目が逆方向回復 (バックアウト・リカバリー)と呼ばれるもので、テーブル内のデータを誤って更新した場合に、希望の時点まで内容を巻き戻す処理となる。
業務アプリケーションでコミットメント制御が必要な場合には、その業務アプリケーションが処理対象とするテーブルに対して、ジャーナルを開始しておくとよい。
監査ジャーナル
DBデータの回復やOSとしてのオブジェクトの保全性に威力を発揮するジャーナルだが、変遷を追跡できるという特徴を活かして、システムの監査証跡にも利用されている。それが「監査ジャーナル」と呼ばれる機能である(図表5)。
監査ジャーナルは、IBM iに対するセキュリティ・イベントを記録するための機能である。対象とする監査は「アクション監査」と「オブジェクト監査」の2つとなる。
アクション監査は、ユーザーがシステム上でどのような行為を行ったかの証跡を取得する。これに対してオブジェクト監査は、対象とするオブジェクトへのアクセス記録を取得する。いずれの監査も、全ユーザーを対象にしたり、あるいは特定のユーザーを対象にしたりと、どちらにも対応可能なので、対象を絞った効率的な監査証跡を取得できる。
また、データベースジャーナルおよび監査ジャーナルの変更履歴を取得・追跡するという機能を活かして、リモートにジャーナル項目を転送し、リモート側でジャーナル項目データから実データを再生する形式でレプリケーションを実現するソリューションも、多くのソフトウェアベンダーから提供されている(図表6)。
HABP(High Availability Business Partner)ソリューションと総称されることもあるこれらのソリューションは、IBM i の世界では歴史が長い。
Db2 for i の大きな特徴として運用管理の容易性があるが、先進的なHAソリューションを提供できることも、他のRDBMSと比較した際の特徴の1つとして挙げられる。
ジャーナル関連の機能拡張
ジャーナル関連のIBM i 7.xでの拡張としては、データベースジャーナルや監査ジャーナルをSQLやGUIで容易に検索・管理する機能が追加されている。
代表的な拡張を以下に挙げる。
IBM i サービス:DISPLAY_JOURNALテーブル関数
従来は5250でRTVJRNEコマンドを発行して取得した単一レコードを確認したり、プログラム処理したり、といった手間が必要であった。
DISPLAY_JOURNALテーブル関数はSQLインターフェースから利用でき、検索条件も柔軟に指定できる。たとえば、「過去1週間分の得意先マスターに対して、ユーザーID EIGYOが実行したすべての変更をリストする」といった検索もSQL1文で取得でき、検索・運用の管理効率が飛躍的に高まる。
DISPLAY_JOURNALテーブル関数は、監査ジャーナル、データベースジャーナルのいずれでも検索可能である。
IBM Navigator for i:監査ジャーナル項目
IBM Navigator for iのブラウザGUIから任意のフィルタ条件を設定して、監査ジャーナルのレコードを検索できる。IBM Navigator for iのブラウザGUI画面で設定したフィルタ条件はそのままSQLでエクスポートできるので、さまざまな利用が可能である。
ACS:ジャーナル・ビューワー
IBM i Access Client Solutions(以下、ACS)からGUIでジャーナル検索が可能である。開始・終了時刻、データベース処理タイプ、ユーザー、プログラム名などでフィルタリングできる。こちらもフィルタ条件をSQL文にエクスポート可能である。
著者
佐々木 幹雄氏
日本アイ・ビー・エム株式会社
テクノロジー事業本部
IBM Power テクニカルセールス
新・IBM i入門ガイド[操作・運用編]
01 IBM iの実行環境
02 IBM iのストレージ管理
03 IBM iのログ
04 IBM iのユーザー管理
05 IBM iのセキュリティ
06 IBM iの印刷機能
07 IBM iの保管/復元
08 IBM iの基本操作 [コマンド編]
09 IBM iの基本操作 [ツール編]
10 IBM iの監視 基本
11 IBM iサービス
12 IBM iのトラブルシューティング
13 操作・運用編 FAQ
[i Magazine 2024 Winter号掲載]