# Compaq OpenVMS Alpha
オペレーティング・システム
パーティショニングおよび Galaxy ガイド

前へ | 次へ | 目次 | 索引

## 1.3.2 ハード・パーティションの構成例 2

この構成例は 4 つの QBB を使って 2 つのハード・パーティションを構成するものです。それぞれのハード・パーティションには 2 つの QBB があります。

    構成例 2
       --------------------
       |NODE   | HP | QBB |
       |-------|----|-----|
       |WILD7  |  0 |  0,1|
       |WILD8  |  1 |  2,3|
       --------------------

2 つのハード・パーティションで AlphaServer GS160 を構成するには，次の一連の SCM コマンドを実行します。

SCM コンソールから，hp NVRAM 変数の次の設定を入力します。

    SCM_E0> power off -all

    SCM_E0> set hp_count 2
    SCM_E0> set hp_qbb_mask0 3
    SCM_E0> set hp_qbb_mask1 c
    SCM_E0> set hp_qbb_mask2 0
    SCM_E0> set hp_qbb_mask3 0
    SCM_E0> set hp_qbb_mask4 0
    SCM_E0> set hp_qbb_mask5 0
    SCM_E0> set hp_qbb_mask6 0
    SCM_E0> set hp_qbb_mask7 0

    SCM_E0> power on -all

ハード・パーティションがオンラインになると，そのハード・パーティションのコンソール・デバイスでの作業を開始できます。

それぞれのハード・パーティションのコンソールから，構成例 1 と同様の手順で SRM コンソールに入り，そのハード・パーティションに固有のコンソール変数を構成してから，それぞれのハード・パーティションで OpenVMS をブートします。

## 1.3.3 ハード・パーティションの構成例 3

構成例 2 と同様，この構成は 4 つの QBB を使って 2 つのハード・パーティションを構成するものです。唯一の違いは，それぞれのハード・パーティションの QBB の数が異なることです。

    構成例 3
        -------------------
       |NODE   | HP | QBB |
       |-------|----|-----|
       |WILD7  |  0 |0,1,2|
       |WILD8  |  1 |    3|
        -------------------

AlphaServer GS160 システムを構成するには，次の一連の SCM コマンドを実行します。

SCM コンソールから，hp NVRAM 変数の次の設定を入力します。

    SCM_E0> power off -all

    SCM_E0> set hp_count 2
    SCM_E0> set hp_qbb_mask0 7
    SCM_E0> set hp_qbb_mask1 8
    SCM_E0> set hp_qbb_mask2 0
    SCM_E0> set hp_qbb_mask3 0
    SCM_E0> set hp_qbb_mask4 0
    SCM_E0> set hp_qbb_mask5 0
    SCM_E0> set hp_qbb_mask6 0
    SCM_E0> set hp_qbb_mask7 0

    SCM_E0> power on -all

他の例と同様，ハード・パーティションがオンラインになると，そのハード・パーティションのコンソール・デバイスでの作業を開始できます。

それぞれのハード・パーティションのコンソールから，構成例 1 と同様の手順で SRM コンソールに入り，そのハード・パーティション固有の変数を構成して，それぞれのハード・パーティションで OpenVMS をブートします。

## 1.3.4 AlphaServer GS80/160/320 システムでのコンソール・ファームウェアの更新

ハード・パーティション分割されたシステムで SRM コンソール・ファームウェアを更新するには，それぞれのハード・パーティションに対して個別に更新を行う必要があります。各パーティション上の全ファームウェアを一度にアップデートする方法はありません。

# 1.4 OpenVMS Galaxy サポート

OpenVMS Galaxy は，ソフト・パーティショニングの実装です。

OpenVMS Galaxy の概念については， 第 2 章 を参照してください。

## 1.4.1 ハード・パーティションでの Galaxy の使用

第 9 章 で説明するように，Galaxy の標準の手順を使って，単一のハード・パーティション内で複数のソフト・パーティションを作成することができます。

Galaxy ID はハード・パーティションの内部にあります。つまり，たとえば， 2 つのハード・パーティションがあって，両方で Galaxy を稼動すると，それぞれの Galaxy が固有の Galaxy ID を持つことになります。ネットワーク管理ツールを使うときにはこれを考慮してください。この例の場合，ネットワーク管理ツールは 2 つの Galaxy 環境を識別します。

# 1.5 RAD (リソース・アフィニティ・ドメイン) に対する OpenVMS アプリケーション・サポート

新しい AlphaServer GS シリーズ・システムには大量の物理メモリがあるので，非常に大きなデータベースを完全にメモリ内に入れることができます。 AlphaServer のノンユニフォーム・メモリ・アクセス ( NUMA ) システム・アーキテクチャが，この大量のメモリを効率的にアクセスするための帯域幅を提供します。NUMA は，物理メモリへのアクセス時間がすべての CPU で同じではないシステムの属性です。

OpenVMS エンジニアリング・グループは，OpenVMS Alpha バージョン 7.2--1H1 で， OpenVMS メモリ管理とプロセス・スケジューリングに NUMA への感知性を追加しました。この機能 ( リソース・アフィニティ・ドメインへのアプリケーション・サポート ) によって，複数の QBB 上の単一の OpenVMS インスタンスで実行されるアプリケーションは NUMA 環境でできるだけ効率的に実行できるようになります。

オペレーティング・システムは，ハードウェアを RAD (リソース・アフィニティ・ドメイン) 群として扱います。 RAD とは，共通のアクセス特性を持つ一連のハードウェア・コンポーネント ( CPU，メモリ，I/O ) のことです。AlphaServer GS80/160/320 システムでは，RAD は QBB ( Quad Building Block ) に相当します。CPU が同一の RAD 内のメモリを参照する速度は，別の RAD 内のメモリを参照する速度より約 3 倍速くなります。このため，一部のプロセスにのみ常に利点を偏って提供しないように，コードの実行とメモリの参照をできるだけ同一の RAD 内に留めることが重要になります。良い配置が良い性能の鍵になりますが，公平さが重要なときにはできるだけ公平にしなければなりません。

OpenVMS スケジューラとメモリ管理サブシステムは，共に次を実行することにより可能な限り最高の配置を行います。

- 各プロセスに優先 RAD または "ホーム" RAD を割り当てる

- ホーム RAD のメモリからプロセスのプライベート・ページを割り当てる

- 通常はホーム RAD 内の CPU にプロセスをスケジューリングする

- 各 RAD にオペレーティング・システムの読み込み専用コードを複製する

- RAD にグローバル・ページを配布する

- RAD に予約メモリをストライピングする

OpenVMS RAD アプリケーション・プログラミング・インタフェースの使用方法についての詳細は， 第 3 章 を参照してください。

# 第 2 章
OpenVMS Galaxy の概念

OpenVMS Alpha で Compaq Galaxy ソフトウェア・アーキテクチャを使用すると， 1 台のコンピュータで OpenVMS の複数のインスタンスを実行できます。システム・メモリを動的に再割り当てすることができ，必要に応じてコンピュータ・パワーをアプリケーションに割り当てることができます。これらの操作はコンピュータを再ブートしなくても実行できます。

この章では，OpenVMS Galaxy の概念について，OpenVMS Alpha バージョン 7.3 で提供される機能を中心に説明します。

# 2.1 OpenVMS Galaxy の概念およびコンポーネント

ソフトウェアは CPU，メモリ，I/O ポートを OpenVMS オペレーティング・システムの個々のインスタンスに割り当てることで，これらのリソースを論理的に パーティション分割 します。このパーティション化はシステム管理者が行うものであり，ソフトウェアの機能です。ハードウェアを物理的に分割する必要はありません。各インスタンスには，動作に必要なリソースが割り当てられます。OpenVMS Galaxy 環境は，CPU などのリソースを OpenVMS の異なるインスタンスに動的に再割り当てすることができるという点で， 適応型 です。

OpenVMS Galaxy ソフトウェア・アーキテクチャには，次のハードウェアおよびソフトウェア・コンポーネントが含まれています。

コンソール

OpenVMS システムの コンソール は，接続されている端末と，ファームウェア・プログラムで構成されます。ファームウェア・プログラムは電源投入時の自己診断テスト，ハードウェアの初期化，システム・ブートの開始，システム・ブートとシャットダウン時の I/O サービスを実行します。また，コンソール・プログラムはコンソール端末の入出力，環境変数の検索，NVRAM ( 不揮発性ランダム・アクセス・メモリ ) の保存をはじめ，その他のさまざまなサービスのために，オペレーティング・システムに実行時サービスも提供します。

OpenVMS Galaxy コンピューティング環境では，コンソールはハードウェア・リソースのパーティション分割で重要な役割を演じます。 NVRAM に永久的なシステム構成を保存し，稼動中の構成をメモリに記憶します。コンソールは，OpenVMS オペレーティング・システムの各インスタンスに対して，実行中の構成データを指すポインタを与えます。

共用メモリ

メモリは論理的に，プライベート・セクションと共用セクションに分割されます。オペレーティング・システムの各インスタンスには，それぞれ独自のプライベート・メモリがあります。つまり，他のインスタンスはプライベート・メモリの物理ページをマッピングしません。共用メモリの一部は， OpenVMS のインスタンスが他のインスタンスと通信するために使用され，残りの共用メモリはアプリケーション用に使用されます。

Galaxy ソフトウェア・アーキテクチャは，ノンユニフォーム・メモリ・アクセス ( NUMA ) 環境用に準備されており，このようなシステムが最大限のアプリケーション性能を実現できるように，必要に応じて特殊なサービスを提供します。

CPU

OpenVMS Galaxy コンピューティング環境では，インスタンス間で CPU を再割り当てすることができます。

I/O

OpenVMS Galaxy には，スケーラビリティの高い I/O サブシステムがあります。これは，各インスタンスに対して 1 つずつ，複数のプライマリ CPU がシステム内にあるからです。また，OpenVMS は現在，SMP システムのセカンダリ CPU に一部の I/O を分散するための機能も備えています。

独立インスタンス

OpenVMS Galaxy では，リソースをまったく共用せずに，1 つ以上の OpenVMS インスタンスを実行できます。リソースを共用しない OpenVMS インスタンスを 独立インスタンス と呼びます。

OpenVMS の独立インスタンスは共用メモリの使用に参加しません。基本オペレーティング・システムもアプリケーションも，共用メモリにアクセスしません。

OpenVMS Galaxy は独立インスタンスだけで構成することができます。このようなシステムは従来のメインフレーム・スタイルのパーティション化によく似ています。アーキテクチャの面から考えると，OpenVMS Galaxy は SMP ハードウェア・アーキテクチャを基礎にしています。CPU，メモリ，I/O はマシン内で完全に接続されているものと想定されており，メモリはキャッシュと密接に結合されているものと想定されています。各サブシステムは他のすべてのサブシステムに完全にアクセスできます。

図 2-1 に示すように，Galaxy ソフトウェアはリソースをパイであると考えます。さまざまなリソース (CPU，プライベート・メモリ，共用メモリ， I/O) は，特定の階層構造でパイの内部に同心円として並べられます。その場合，共用メモリが中心になります。

図 2-1 OpenVMS Galaxy アーキテクチャの概念図

Galaxy では，それぞれ異なるサイズの複数のスライスにパイを分割する機能がサポートされます。各スライスは，サイズとは無関係に，すべての共用メモリにアクセスできます。さらに，パイを分割するのはソフトウェアであるため，スライスの数やサイズは動的に変化させることができます。

つまり，パイの各スライスはオペレーティング・システムの完全なインスタンスです。各インスタンスには専用のプライベート・メモリ，多くの CPU，必要な I/O が割り当てられます。各インスタンスは，アプリケーション・データが格納されているすべての共用メモリを確認できます。システム・リソースは，再ブートせずにオペレーティング・システムのインスタンス間で再割り当てすることができます。

システムのリソースがどのように分割されるかについて，Galaxy コンピューティング・モデルを別の方法で表すこともできます。

たとえば， 図 2-2 では，1 つのリソースをインスタンス間で分割する割合が，他の各リソースを分割する割合であることを示しています。

図 2-2 別の Galaxy アーキテクチャ・ダイアグラム

# 2.2 OpenVMS Galaxy の機能

OpenVMS 機能の進歩にともない，OpenVMS Galaxy では，実績のある OpenVMS Cluster，対称型マルチプロセシング，性能を向上するためのさまざまな機能を活用して，これまでより高いレベルの性能，スケーラビリティ，可用性を提供しており，非常に柔軟な操作機能も提供します。

クラスタ

OpenVMS Cluster テクノロジには 15 年にわたる実績があり，OpenVMS Galaxy 内でクラスタ接続されたインスタンス間で通信を容易にします。

OpenVMS Cluster はソフトウェアの概念です。これは， 各コンピュータで 1 つずつ OpenVMS オペレーティング・システムを結合したものであり，さまざまな通信媒体を介して通信することで，複数のコンピュータの処理パワーと記憶容量を 1 つの共用環境として構築します。

OpenVMS Galaxy もソフトウェア概念です。しかし，これは 1 台のコンピュータ で協調動作する OpenVMS オペレーティング・システムの集合であり，共用メモリを通じて通信します。 OpenVMS Galaxy では，オペレーティング・システムのインスタンスを Galaxy 内の他のインスタンスや他のシステムのインスタンスとクラスタ接続することができます。

OpenVMS Galaxy はそれ自体で完全なシステムです。現在，複数のクラスタ・ノードを増設できるのと同様に，OpenVMS Galaxy も既存のクラスタに追加することができますが，OpenVMS Galaxy アーキテクチャではシングル・システムという点に焦点を絞っています。OpenVMS Galaxy 内で完全に稼動するアプリケーションは，マルチシステム・クラスタでは実現できない高い性能を活用することができます。

SMP

OpenVMS Galaxy のインスタンスは SMP 構成にすることができます。CPU の数はインスタンスの定義の一部です。OpenVMS Galaxy のインスタンスは，完全な OpenVMS オペレーティング・システムであるため，すべてのアプリケーションが従来のシングル・インスタンス・コンピュータの場合と同様に動作します。

CPU の再割り当て

CPU はあるインスタンスから別のインスタンスに動的に再割り当てすることができ，その間も 2 つのインスタンス上ですべてのアプリケーションの実行を継続できます。再割り当ては 3 つの独立した機能によって実現されます。それは，再割り当てする CPU の停止，再割り当て，起動です。アプリケーションで必要なリソースが変化すると，CPU を適切なインスタンスに再割り当てすることができます。しかし，いくつかの制限があります。たとえば，インスタンスのプライマリ CPU を再割り当てすることができず，特定の割り込みを処理するために，特定の CPU を指定することはできません。

動的な再構成

OpenVMS オペレーティング・システムの複数のインスタンスを実行することで，システム管理者は，処理パワーを最も必要としているアプリケーションを稼動しているインスタンスにその処理パワーを再割り当てすることができます。要件の変化にともなって，構成も変更することができます。OpenVMS では，すべてのインスタンスおよびそのアプリケーションの実行を続行しながら，動的な再構成が可能です。

# 2.3 OpenVMS Galaxy の利点

OpenVMS Galaxy テクノロジの多くの利点は，OpenVMS オペレーティング・システムの複数のインスタンスを 1 台のコンピュータで実行することで実現されています。

OpenVMS の複数のインスタンスを同時にメモリに格納することで，OpenVMS Galaxy コンピューティング環境は次の機能を飛躍的に向上させます。

- 互換性---既存のアプリケーションは，変更せずにそのまま実行できます。

- 可用性---システムをダウンさせずに，ソフトウェアのアップグレードやシステム容量の拡張を行うことができます。

- スケーラビリティ---SMP 環境やクラスタ環境の性能を向上するためのスケール機能を提供します。

- 適応性---絶えず変化する作業負荷に対応するために，物理リソースを動的に割り当てることができます。

- 所有コスト---必要なコンピュータ・システムの台数が少なくなるため，システム管理作業やシステムの設置空間を削減することができます。

- パフォーマンス---多くのボトルネックが排除され，可能な I/O 構成の可能性が広がりました。

ここでは，これらの利点についてさらに詳しく説明します。

互換性

既存のシングル・システム・アプリケーションは，まったく変更せずに，OpenVMS Galaxy のインスタンスで実行できます。既存のOpenVMS Cluster アプリケーションも， OpenVMS Galaxy のクラスタ接続されたインスタンスで，変更せずに実行できます。

可用性

OpenVMS Galaxy システムは，従来のシングル・システム SMP システムより高い可用性を提供できます。これは，オペレーティング・システムの複数のインスタンスがハードウェア・リソースを制御するからです。

OpenVMS Galaxy では，OpenVMS の複数のバージョン ( バージョン 7.2 以上 ) を同時に実行できます。たとえば，現在のバージョンを 1 つのインスタンスで実行しながら，オペレーティング・システムやアプリケーションの新しいバージョンを別のインスタンスでテストすることができます。その後，一度に 1 つずつ，各インスタンスでシステム全体をアップグレードすることができます。

スケーラビリティ

システム管理者は，ビジネス・ニーズの拡大や変化にともなって，アプリケーションの要件に対応するようにリソースを割り当てることができます。CPU が Galaxy 構成に追加された場合は，OpenVMS のどのインスタンスにでも割り当てることができます。つまり，アプリケーションは CPU のパワーを 100 % 利用できるのです。

SMP でスケーラビリティに関して一般的に発生する問題点のために，OpenVMS Galaxy が制限を受けることはありません。システム管理者は OpenVMS インスタンスの数を定義し，各インスタンスで CPU の数を割り当て，その使用方法を制御することができます。

さらに，試行錯誤を繰り返しながらリソースを評価することができます。システム管理者は最も効果的なリソースの組み合わせが見つかるまで，OpenVMS のインスタンス間で CPU を再割り当てすることができます。OpenVMS のすべてのインスタンスとそのアプリケーションは，CPU を再割り当てしている間も実行を継続できます。

適応性

OpenVMS Galaxy では，すべてのアプリケーションの実行を継続しながら，コンピューティング・リソースをオペレーティング・システムの他のインスタンスに動的に再割り当てすることができるので，非常に高い適応性を実現できます。

CPU の再割り当て機能は，OpenVMS Galaxy コンピューティング環境の適応機能をもっとも顕著に表すものです。たとえば，特定の時刻に必要とされるリソースが変化することがシステム管理者にわかっている場合は，システム管理者は CPU を OpenVMS の他のインスタンスに再割り当てするコマンド・プロシージャを作成し，そのプロシージャをバッチ・キューに登録することができます。同様の方法で，システム負荷も管理することができます。

OpenVMS Galaxy 環境では，ハードウェア・リソースの割り当てや動的な再割り当ては，ソフトウェアによって完全に制御されます。ハードウェアが OpenVMS Galaxy システムに追加されると，リソースを既存のインスタンスに追加することができ，新しいインスタンスを定義することもできます。その場合，実行中のアプリケーションに影響ありません。

所有コスト

OpenVMS Galaxy では，コンピュータがクラスタ・メンバの場合も，独立システムの場合も，オペレーティング・システムの複数のインスタンスが 1 台のコンピュータで動作するので，既存のコンピュータをアップグレードし，処理能力を拡大することができ，また，一部のコンピュータを交換することもできます。必要なコンピュータの台数が削減されるため，必要なシステム管理作業や設置空間も大幅に削減されます。

性能

OpenVMS Galaxy では，SMP やクラスタ・テクノロジで発生する多くのスケール・ボトルネックが排除されることで，事務処理アプリケーションの性能を向上できます。また，インスタンス間で割り込みを分散することができるため，多くの I/O 構成が可能になります。たとえば，特定の I/O トラフィックが特定のインスタンスで実行されるように，システムの I/O 作業負荷を分割することができます。

前へ | 次へ | 目次 | 索引