GDS は、利用者の操作ミスなどによるデータ破壊を未然に防ぐために、以下のアクセス制御機能を提供します。
クラススコープ
ディスク装置を GDS で管理するためには、特定のクラスへ登録する必要があります。クラスは、複数のディスクを入れる器のような役割を果たします。
クラスは、スコープという属性を持っており、クラスに登録されたディスクに対して、操作したりアクセスしたりできるノード群を決めることができます。つまり、決められたノード群以外からは、ディスクへの操作が抑止され、誤って構成を変更してしまったり、データ矛盾を発生させたりすることがなくなります。
例えば、あるディスク装置群がノードA、ノードB、ノードC という 3 つのノードに接続されていて、一部のディスク装置は、ノードA とノードB からのみアクセスし、残りのディスク装置は、ノードB とノードC からのみアクセスする運用を想定します。
この例では、2 つのクラスを作って、ノードA とノードB、ノードB とノードC で共用するディスクを分けて管理します。これによって、クラスのスコープに定義されていないノードC やノードA からは一切操作できないように保護されます。
ボリュームの起動/停止
GDS の論理ボリュームは、共用しているノードごとに、一時的に停止させたり、起動したりすることができます。
停止中のボリュームには、そのノードからアクセスすることができません。したがって、誤ってアクセスしてデータ矛盾を発生させることがなくなります。
アクセスモード
論理ボリュームには、アクセスモードという属性を、共用しているノードごとに定義することができます。アクセスモードには、読み書き用モードと読み取り専用モードの 2 つがあります。
例えば、ある特定のノードから、データのバックアップをするために、論理ボリュームへアクセスするときには、読み取り専用モードに設定しておくことによって、誤った書き込みを防止することができます。
起動ロック
論理ボリュームは、ノードの起動やクラスタアプリケーションの起動と連動して、自動的に起動され、アクセス可能となります。逆に、クラスタアプリケーションを停止すると、自動的に論理ボリュームも停止するため、クラスタアプリケーションが停止しているノードから、誤って論理ボリュームへアクセスしてしまうことはありません。
しかしながら、ノードをリブートしたりすると、予期せずボリュームが起動されてしまう場合も考えられます。
こうした場合にも、起動を抑止するための機構として、論理ボリュームに起動ロック属性を定義できます。あるノードで、起動ロックが有効となっている場合、ノードのリブートやクラスタアプリケーションの起動と連動して、自動的にボリュームが起動されることを抑止できます。