Solaris ボリュームマネージャの管理

第4章 Solaris Volume Manager for Sun Cluster (概要)

この章では、Solaris Volume Manager for Sun Cluster の概要について説明します。

この章では、次の内容について説明します。

Solaris Volume Manager for Sun Cluster の紹介

Solaris 9 9/04 リリースから、Solaris ボリュームマネージャでは、Sun Cluster 環境の記憶装置をマルチオーナーディスクセットを使用して管理できるようになりました。 「マルチオーナーディスクセット」を使用すると、複数のノードがディスクセットの所有権を共有したり、共有ディスクに同時に書き込むことができます。 従来の共有ディスクセットは、参加しているすべてのホストから認識できても、アクセスできるのは 1 度に 1 つのホストだけでした。マルチオーナーディスクセットは Sun Cluster および Oracle9i Real Application Clusters などのアプリケーションの組み合わせで機能します。 Sun Cluster の互換性のあるリリースについては、http://wwws.sun.com/software/clusterを参照してください。

マルチオーナーディスクセットと Solaris ボリュームマネージャの共有ディスクセットは同じノードに共存できます。 ただし、これら 2 つの構成間でディスクセットを移動することはできません。


マルチオーナーディスクセット用の Solaris Volume Manager for Sun Cluster デバイス ID サポートは利用できません。 したがって、現在のところ、あるシステムから別のシステムへのマルチオーナーディスクセットのインポートはサポートされません。


Solaris Volume Manager for Sun Cluster は、Solaris ボリュームマネージャで作成できるものと同じコンポーネント、つまり、ストライプ、連結、ミラー、ソフトパーティション、ホットスペアを作成できます。 Solaris Volume Manager for Sun Cluster は RAID-5 とトランザクションボリュームはサポートしません。

次の図に、典型的なクラスタ構成におけるソフトウェアと共有記憶装置間の関係を示します。

図 41 サンプルのクラスタ構成

「サンプルのクラスタ構成」図に、典型的なクラスタ構成におけるソフトウェアと共有記憶装置間の関係を示します。

各ノードはローカル記憶装置を持っており、また、共有記憶装置へのパスを少なくとも 1 つ持っています。 クラスタにおけるマルチオーナーディスクセットは、Solaris オペレーティングシステム (Solaris OS) の一部である Solaris Volume Manager for Sun Cluster によって管理されます。

マルチオーナーディスクセットの概念

Solaris Volume Manager for Sun Cluster が管理する記憶装置は、マルチオーナーディスクセットにグループ化されます。 マルチオーナーディスクセットを使用すると、複数のノードがディスクセットの所有権を共有したり、共有ディスクに同時に書き込むことができます。 Oracle9i Real Application Clusters のようなアプリケーションのインスタンスはクラスタ内の各ノード上で実行されるため、マルチオーナーディスクセットはスケーラビリティを提供します。 アプリケーションの各インスタンスは共有記憶装置に直接アクセスするため、マルチオーナーディスクセットを使用すると、アプリケーションの性能も上がります。


マルチオーナーディスクセット機能が有効になるのは、Sun Cluster 環境においてのみです。 「ノード」とは、Sun Cluster システムの一部である物理的なマシンのことです。


どのマルチオーナーディスクセットにも、ノードのリストが関連付けられています。 これらのノードがこのディスクセットの所有権を共有しています。 次の metaset -s disk-set コマンドは、マルチオーナーディスクセットの出力を表示します。


# metaset -s blue

Multi-owner Set name = blue, Set number = 1, Master = nodeone

Host                Owner          Member
  nodeone           multi-owner   Yes 
  nodetwo           multi-owner   Yes 

Drive    Dbase

d9        Yes  

d13       Yes  

この出力は、ノードリスト内の nodeone nodetwo がディスクセットの所有権を共有していることを示しています。 また、nodeone が「マスターノード」であることも示しています。

どのマルチオーナーディスクセットにも、マスターノードが 1 つあります。 ディスクセットの作成後、最初のディスクを追加したノードが、そのディスクセットのマスターノードになります。 マスターノードは、ディスクセットの状態データベースの複製を作成、削除、および更新します。


状態データベースの複製の詳細については、第6章「状態データベース (概要)」を参照してください。


次の metaset コマンドからの出力は、最初のディスクをディスクセットに追加した時点で、nodeone がこのディスクセットのマスターノードになることを示しています。


nodeone# metaset -s red
Multi-owner Set name = red
Multi-owner Set name = red, Set number = 1, Master = 

Host                Owner          Member
  nodeone                           Yes 
  nodetwo                           Yes 
nodeone# metaset -s red -a /dev/did/dsk/d9
nodeone# metaset -s red

Multi-owner Set name = red, Set number = 1, Master = nodeone 

Host                Owner          Member
  nodeone           multi-owner     Yes 
  nodeone           multi-owner     Yes 

Drive     Dbase

d9        Yes  

Solaris Volume Manager for Sun Cluster では、ディスクセットのノードリストが互いに異なっていても、さらには重複があっても、共存が可能です。 ディスクセットごとにマスターノードが存在するため、同じクラスタ上に複数のマスターが共存することもあります。

マルチオーナーディスクセットに関連する作業

Solaris Volume Manager for Sun Cluster でディスクセットに関連する作業を実行するには、通常、Solaris ボリュームマネージャと同じコマンドを使用します。 しかし、metaset コマンドには、マルチオーナーディスクセット専用のオプションがいくつか追加されています。 たとえば、マルチオーナーディスクセットを作成する作業には、metaset コマンドに -M オプションを指定する必要があります。 次の出力は、metaset -s diskset-name -a -M -h hostname コマンドを使用して、マルチオーナーディスクセットを作成する方法を示しています。


# metaset -s red -a -M -h nodeone
# metaset
Multi-owner Set name = red, Set number = 1, Master = 

Host                Owner          Member
  nodeone                          Yes 

さらに、metaset コマンドには、ディスクセットを取得および解放するコマンドなど、マルチオーナーディスクセットで使用されないオプションもいくつかあります。 詳細については、metaset(1M) のマニュアルページを参照してください。

ディスクを処理する際も、Sun Cluster 環境では作業方法が異なります。 Sun Cluster は各ディスクに一意のディスク ID (DID) 番号を割り当てます。 ディスクを識別するときには、cntndn 形式を使用するのではなく、Sun Cluster の DID パス名 /dev/did/dsk/dN を使用します。 変数 N は、Sun Cluster によって割り当てられたデバイス番号です。

次の出力は、マルチオーナーディスクセットにディスクを追加するときに、metaset -s diskset-name -a disk-name コマンドと Sun Cluster の DID パス名を使用してディスクを識別する方法を示しています。


nodeone# metaset -s red
Multi-owner Set name = red
Multi-owner Set name = red, Set number = 1, Master = 

Host                Owner          Member
  nodeone                           Yes 
  nodetwo                           Yes 
nodeone# metaset -s red -a /dev/did/dsk/d13
nodeone# metaset -s red
Multi-owner Set name = red, Set number = 1, Master = nodeone

Host                Owner          Member
  nodeone            multi-owner   Yes

Drive Dbase

d13   Yes

Oracle9i Real Application Clusters 用の マルチオーナーディスクセットを作成する方法の詳細については、Sun Cluster のマニュアルを参照してください。

ディスクセットに関連する作業については、第21章「ディスクセット (作業)」を参照してください。

Solaris Volume Manager for Sun Cluster の構成

Solaris Volume Manager for Sun Cluster は次の構成をサポートします。

マルチオーナーディスクセットで使用されるソフトウェアコンポーネント

マルチオーナーディスクセットを使用するには、Solaris OS とともに、次のソフトウェアをインストールする必要があります。


Sun Cluster の互換性のあるリリースについては、http://wwws.sun.com/software/clusterを参照してください。


マルチオーナーディスクセットにおける RAID-1 (ミラー) ボリューム

マルチオーナーディスクセット用の RAID-1 ボリューム (つまり、ミラー) は、共有ディスクセット用の RAID-1 ボリュームと同じように機能します。 しかし、マルチオーナーディスクセット用の RAID-1 ボリュームには追加の機能がいくつかあります。

マルチオーナーディスクセットにおけるミラー所有権

ミラー所有権の概念はマルチオーナーディスクセットに固有です。 Solaris ボリュームマネージャの共有ディスクセット用の RAID-1 ボリュームとは異なり、マルチオーナーディスクセット用の RAID-1 ボリュームには通常、1 つの所有者が関連付けられています。 ミラーボリュームの所有権は、ボリュームマネージャによって選択されます。 ディスクセットのノードリストに記載されたノードの 1 つがこのボリュームの所有者になります。 このボリュームに書き込むことができるのは、RAID-1 ボリュームの所有者だけです。 所有者でないノードがそのボリュームに書き込もうとした場合、書き込み操作を行おうとしているこのノードへ、所有者が切り換わります。 次の metastat -s diskset-name コマンドの出力は、 nodeone が RAID-1 ボリューム d24 の所有者であることを示しています。


# metastat -s red
red/d24: Mirror
    Submirror 0: red/d20
      State: Okay
    Submirror 1: red/d21
      State: Okay
    Pass: 1
    Read option: roundrobin (default)
    Write option: parallel (default)
    Resync option: optimizedresync
    Owner: nodeone
    Size: 825930 blocks (403 MB)

データの管理と回復のプロセス

Solaris ボリュームマネージャ用の RAID-1 ボリュームと同様に、Solaris Volume Manager for Sun Cluster 用の RAID-1 ボリュームはデータの整合性を保つための操作を実行します。 Solaris Volume Manager for Sun Cluster は、データの管理と回復のための 2 つのオプションを RAID-1 ボリュームに提供します。

Solaris Volume Manager for Sun Cluster 用の最適化された再同期

Solaris Volume Manager for Sun Cluster 用の最適化された再同期は、Solaris ボリュームマネージャ用の最適化された再同期と同じように機能します。 しかし、マルチオーナーディスクセットは、再同期オプションが最適化された再同期に設定された RAID-1 ボリュームは常に、ミラー所有者を持ちます。 次の metastat -s diskset-name コマンドからの出力は、最適化オプションが optimizedresync (最適化された再同期) に設定されていることを示しています。


# metastat -s red
red/d24: Mirror
    Submirror 0: red/d20
      State: Okay
    Submirror 1: red/d21
      State: Okay
    Pass: 1
    Read option: roundrobin (default)
    Write option: parallel (default)
    Resync option: optimizedresync
    Owner: nodeone
    Size: 825930 blocks (403 MB)

RAID-1 ボリュームの最適化された再同期の一般的な情報については、「再同期の最適化」を参照してください。

アプリケーションベースの回復と指定されたミラー読み取り

Solaris Volume Manager for Sun Cluster のデータ回復を最適化するためには、Oracle9i Real Application Clusters などのアプリケーションは、データの回復を管理および制御する機能を必要とします。 アプリケーションが回復を制御できると、回復の性能が上がります。 ioctl の DKIOGETVOLCAPDKIOSETVOLCAP、および DKIODMR は、クラスタ環境におけるアプリケーションのデータ管理回復のサポートを提供します。 これらの ioctl は、アプリケーションに次の機能を提供します。

アプリケーションベースのデータ管理回復で使用される ioctl の詳細については、dkio(7I) のマニュアルページを参照してください。

再同期オプションをアプリケーションベースの回復に設定した RAID-1 ボリュームがミラー所有者を持つのは、アプリケーションベースの回復プロセスの間だけです。 次の metastat -s diskset-name コマンドからの出力は、RAID-1 ボリュームの通常の状態を示しています。 再同期オプションは application based (アプリケーションベースの回復) に設定されており、ミラー所有者はありません。


# metastat -s red
red/d24: Mirror
    Submirror 0: red/d20
      State: Okay
    Submirror 1: red/d21
      State: Okay
    Pass: 1
    Read option: roundrobin (default)
    Write option: parallel (default)
    Resync option: application based
    Owner: None
    Size: 825930 blocks (403 MB)