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 および Oracle9 Real Application Clusters などのアプリケーションの組み合わせで機能します。

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


注 –

複数所有者ディスクセット用の Solaris Volume Manager for Sun Cluster デバイス ID サポートは利用できません。従って、現在のところ、あるシステムから別のシステムへ、複数所有者ディスクセットをインポートすることはできません。


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

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

図 4–1 サンプルのクラスタ構成

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

各ノードはローカル記憶装置を持っており、また、共有記憶装置へのパスを少なくとも 1 つ持っています。クラスタ環境の複数所有者ディスクセットは、Solaris オペレーティングシステム (Solaris OS) に組み込まれている Solaris Volume Manager for Sun Cluster によって管理します。

前提条件: 複数所有者ディスクセット機能に必要なソフトウェアコンポーネント

Solaris Volume Manager for Sun Cluster を使用するには、Solaris OS とともに次のソフトウェアをインストールする必要があります。


注 –

Sun Cluster と Oracle Real Application Clusters ソフトウェアの設定については、『Sun Cluster ソフトウェアのインストール (Solaris OS 版)』および『Sun Cluster Data Service for Oracle Real Application Clusters ガイド (Solaris OS 版)』を参照してください。


複数所有者ディスクセットの概念

Solaris Volume Manager for Sun Cluster が管理する記憶装置は、複数所有者ディスクセットとしてグループ分けされます。複数所有者ディスクセットを使用すると、複数のノードがディスクセットの所有権を共有したり、共有ディスクに同時に書き込むことができます。Oracle 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 章「状態データベース (概要)」を参照してください。


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

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


nodeone# metaset -s 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 
  nodetwo           multi-owner     Yes 

Drive     Dbase

d9        Yes  

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

複数所有者ディスクセットに関連する作業


注意 – 注意 –

複数所有者ディスクセットを構成する前に、Solaris OS とともに次のソフトウェアをインストールしておく必要があります。

Sun Cluster と Oracle Real Application Clusters ソフトウェアの設定については、『Sun Cluster ソフトウェアのインストール (Solaris OS 版)』および『Sun Cluster Data Service for Oracle Real Application Clusters ガイド (Solaris OS 版)』を参照してください。


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

Oracle Real Application Clusters に対応する複数所有者ディスクセットの作成方法については、『Sun Cluster Data Service for Oracle Real Application Clusters ガイド (Solaris OS 版)』「Oracle Real Application Clusters データベース用の Solaris Volume Manager for Sun Cluster にマルチオーナーディスクセットを作成」を参照してください。

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

Solaris Volume Manager for Sun Cluster の構成

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

Sun Cluster Support for Oracle Real Application Clusters で拡張されたプロパティーの多くは、再構成プロセスの手順でタイムアウトを指定するものです。タイムアウトの設定については、『Sun Cluster Data Service for Oracle Real Application Clusters ガイド (Solaris OS 版)』「Sun Cluster Support for Oracle Real Application Clusters の調整」を参照してください。

複数所有者ディスクセットにおける RAID–1 (ミラー) ボリューム

複数所有者ディスクセットに作成された RAID-1 ボリューム (つまり、ミラー) は、Solaris ボリュームマネージャ共有ディスクセットの 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)

最適化された再同期の詳細については、「再同期の最適化」を参照してください。

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

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

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

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


# 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)