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

第 20 章 ディスクセット (作業)

この章では、ディスクセットに関連する作業について説明します。 これらの作業に伴う概念については、第 19 章「ディスクセット (概要)」を参照してください。

ディスクセット (作業マップ)

次の表に、Solaris ボリュームマネージャのディスクセットを管理するのに必要な作業を示します。

作業 

説明 

参照先 

 ディスクセットを作成する

Solaris ボリュームマネージャの GUI か metaset コマンドを使ってディスクセットを作成します。

ディスクセットを作成するには
 ディスクセットにドライブを追加する

Solaris ボリュームマネージャの GUI か metaset コマンドを使ってディスクセットにドライブを追加します。

ディスクセットにドライブを追加するには
 ディスクセットにホストを追加する

Solaris ボリュームマネージャの GUI か metaset コマンドを使ってディスクセットにホストを追加します。

ディスクセットにホストを追加するには

ディスクセットに Solaris ボリュームマネージャのボリュームを作成する 

Solaris ボリュームマネージャの GUI か metainit コマンドを使ってディスクセットにボリュームを作成します。

ディスクセットに Solaris ボリュームマネージャのコンポーネントを作成するには

ディスクセットの状態をチェックする 

Solaris ボリュームマネージャの GUI か metastat コマンドを使ってディスクセットの状態をチェックします。

ディスクセットの状態をチェックするには

ディスクセットからディスクを削除する 

Solaris ボリュームマネージャの GUI か metaset コマンドを使ってディスクセットからドライブを削除します。

ディスクセットからディスクを削除するには

ディスクセットを取得する 

Solaris ボリュームマネージャの GUI か metaset コマンドを使ってディスクセットを取得します。

ディスクセットを取得するには

ディスクセットを解放する 

Solaris ボリュームマネージャの GUI か metaset コマンドを使ってディスクセットを解放します。

ディスクセットを解放するには

ディスクセットからホストを削除する 

Solaris ボリュームマネージャの GUI か metaset コマンドを使ってディスクセットからホストを削除します。

 

ホストまたはディスクセットを削除するには

ディスクセットを削除する 

Solaris ボリュームマネージャの GUI か metaset コマンドを使ってディスクセットから最後のホストを削除し、ディスクセットを削除します。

ホストまたはディスクセットを削除するには

ディスクセットの作成

ディスクセットを作成するには

  1. ディスクセットの背景情報を確認します。

  2. 次のどちらかの方法でディスクセットを作成します。

    • Solaris 管理コンソール内の「拡張ストレージ」から「ディスクセット (Disk Sets)」ノードを開きます。 「アクション (Action)」、「ディスクセットを作成 (Create Disk Set)」の順に選択し、ウィザードの指示に従います。 詳細は、オンラインヘルプを参照してください。

    • コマンド行から次の形式の metaset コマンドを実行して、ディスクセットを最初から作成します。

      metaset [-sdiskset-name ] [-a] [-h hostname]
      -s diskset-name

      metaset コマンドが使用するディスクセットの名前です。

      -a

      ディスクセットにホストを追加することを意味します。 Solaris ボリュームマネージャは 1 つのディスクセットで 4 つのホストをサポートします。

      -h hostname

      ディスクセットに追加する 1 つまたは複数のホストを指定します。 最初のホストを追加すると、ディスクセットが作成されます。 2 つめのホストは後で追加することができます。ただし、ディスクセット内のすべてのドライブが指定した hostname 内に存在しなければなりません。 hostname は、/etc/nodename ファイルに指定されている名前と同じでなければなりません。

      詳細は、metaset(1M) のマニュアルページを参照してください。

  3. metaset コマンドを実行して新しいディスクセットの状態をチェックします。


    # metaset
    

例 — ディスクセットを作成する


# metaset -s blue -a -h lexicon              
# metaset
Set name = blue, Set number = 1

Host                Owner
  lexicon                

この例では、ホスト lexicon から共有ディスクセット blue を作成します。 metaset コマンドは状態を表示します。 この時点ではディスクセットの所有者はいません。 ディスクセットにディスクを追加するホストがデフォルトで所有者になります。

ディスクセットの拡張

ディスクセットにドライブを追加するには


注意 – 注意 –

32 ビットカーネルの Solaris オペレーティング環境、または Solaris 9 4/03 より前のバージョンの Solaris オペレーティング環境を実行する予定がある場合は、1T バイトを超えるディスクを追加しないでください。Solaris ボリュームマネージャでの大容量ボリュームのサポートについては、Solaris ボリュームマネージャの大容量ボリュームのサポートについての概要を参照してください。


ディスクセットに追加されるドライブは、次の条件を満たしていなければなりません。

  1. ディスクセットの背景情報を確認します。

  2. 次のどちらかの方法でディスクセットにドライブを追加します。

    • Solaris 管理コンソール内の「拡張ストレージ」から「ディスクセット (Disk Sets)」ノードを開きます。 変更するディスクセットを右クリックして、「プロパティ (Properties)」を選択します。 「ディスク (Disks)」タブを選択し、「ディスクを追加 (Add Disk)」をクリックして、ウィザードの指示に従います。 詳細は、オンラインヘルプを参照してください。

    • コマンド行から次の形式の metaset コマンドを実行して、ディスクセットにドライブを追加します。

      metaset [-s diskset-name] [a] [disk-name]
      -s diskset-name

      metaset コマンドが使用するディスクセットの名前です。

      -a

      ディスクセットにドライブを追加することを意味します。

      disk-name

      ディスクセットに追加するドライブを指定します。 ドライブ名の形式は cxtxdx です。名前の最後にスライス識別子「sx」は付けません。 ドライブ名は、ディスクセットを共有するすべてのホストで共通でなければなりません。

      詳細は、metaset のマニュアルページ (metaset(1M)) を参照してください。

    ドライブを最初にディスクセットに追加するホストがディスクセットの所有者になります。


    注意 – 注意 –

    データが格納されているディスクを追加しないでください。このようなディスクをディスクセットに追加すると、その過程でディスクのパーティションが再分割され、データが破壊されることがあります。 詳細は、例 — 2 つの共有ディスクセットを参照してください。


  3. metaset コマンドを使ってディスクセットとドライブの状態を確認します。


    # metaset
    

例 — ディスクセットにドライブを追加する


# metaset -s blue -a c1t6d0
# metaset
Set name = blue, Set number = 1

Host                Owner
  lexicon            Yes 

Drive               Dbase
  c1t6d0             Yes 

この例では、ホスト名は lexicon で、 共有ディスクセットの名前は blue です。 この時点でディスクセット blue に追加されているドライブは 1 つだけです。

コマンド行から複数のドライブを指定すれば、同時に複数のドライブを追加することもできます。 たとえば、次のように指定します。


# metaset -s blue -a c1t6d0 c2t6d0

ディスクセットにホストを追加するには

Solaris ボリュームマネージャは、ディスクセット当たり最大で 4 つのホストをサポートします。 この手順では、1 つのホストがすでに接続されているディスクセットに別のホストを追加する手順について説明します。

  1. ディスクセットの背景情報を確認します。

  2. 次のどちらかの方法でディスクセットにホストを追加します。

    • Solaris 管理コンソール内の「拡張ストレージ」から「ディスクセット (Disk Sets)」ノードを開き、変更するディスクセットを選択します。 変更するディスクセットを右クリックして、「プロパティ (Properties)」を選択します。 「ホスト (Hosts)」タブを選択し、「ホストを追加 (Add Host)」をクリックして、ウィザードの指示に従います。 詳細は、オンラインヘルプを参照してください。

    • コマンド行から次の形式の metaset コマンドを実行して、ディスクセットにホストを追加します。

      metaset [-s diskset-name] [-a] [-h hostname]
      -s diskset-name

      metaset コマンドが使用するディスクセットの名前です。

      -a

      ディスクセットにドライブを追加することを意味します。

      -h hostname

      ディスクセットに追加する 1 つまたは複数のホスト名を指定します。 最初のホストを追加すると、ディスクセットが作成されます。 ホスト名は、/etc/nodename ファイルに指定されている名前と同じでなければなりません。

      詳細は、metaset のマニュアルページ (metaset(1M)) を参照してください。

  3. オプションを指定せずに metaset コマンドを実行して、ホストがディスクセットに追加されていることを確認します。


    # metaset
    

例 —ディスクセットに別のホストを追加する


# metaset -s blue -a -h idiom
# metaset -s blue
Set name = blue, Set number = 1
 
Host                Owner
  lexicon                Yes
  idiom
 
Drive               Dbase
  c1t6d0             Yes 
  c2t6d0             Yes 

この例では、ディスクセット blue にホスト idiom を追加します。

ディスクセットに Solaris ボリュームマネージャのコンポーネントを作成するには

ディスクセットを作成したら、ディスクセットに追加したドライブを使ってボリュームやホットスペア集合を作成できます。 この操作には、Solaris 管理コンソール内の「拡張ストレージ」かコマンド行ユーティリティを使用します。

  1. 次のどちらかの方法で、ボリュームなどの Solaris ボリュームマネージャのデバイスをディスクセット内に作成します。

    • Solaris 管理コンソール内の「拡張ストレージ」から「ボリューム (Volumes)」、「状態データベースの複製 (State Database Replicas)」、または「ホットスペアプール (Hot Spare Pools)」ノードを選択します。 「アクション (Action)」、「作成 (Create)」の順に選択し、ウィザードの指示に従います。 詳細は、オンラインヘルプを参照してください。

    • コマンド行ユーティリティを使ってディスクセット内にコンポーネントを作成します。この構文は、コマンドのすぐ後に -s diskset-name を指定することを除き、ディスクセットを使用しない場合の基本構文と同じです。

例 — ディスクセットに Solaris ボリュームマネージャのボリュームを作成する


# metainit -s blue d11 1 1 c1t6d0s0
blue/d11: Concat/Stripe is setup
# metainit -s blue d12 1 1 c2t6d0s0
blue/d12: Concat/Stripe is setup
# metainit -s blue d10 -m d11           
blue/d10: Mirror is setup
# metattach -s blue d10 d12
blue/d10: submirror blue/d12 is attached

# metastat -s blue
blue/d10: Mirror
    Submirror 0: blue/d11
      State: Okay         
    Submirror 1: blue/d12
      State: Resyncing    
    Resync in progress: 0 % done
    Pass: 1
    Read option: roundrobin (default)
    Write option: parallel (default)
    Size: 17674902 blocks

blue/d11: Submirror of blue/d10
    State: Okay         
    Size: 17674902 blocks
    Stripe 0:
        Device              Start Block  Dbase State        Reloc  Hot Spare
        c1t6d0s0                   0     No    Okay                


blue/d12: Submirror of blue/d10
    State: Resyncing    
    Size: 17674902 blocks
    Stripe 0:
        Device              Start Block  Dbase State        Reloc  Hot Spare
        c2t6d0s0                   0     No    Okay                

この例では、ディスクセット blue にミラー d10 を作成します。ミラーは、サブミラー (RAID 0 デバイス) d11d12 からなります。

ディスクセットの保守

ディスクセットの状態をチェックするには

  1. 次のどちらかの方法でディスクセットの状態をチェックします。

    • Solaris 管理コンソール内の「拡張ストレージ」から「ディスクセット (Disk Sets)」ノードを開きます。 監視するディスクセットを右クリックし、メニューから「プロパティ (Properties)」を選択します。 詳細は、オンラインヘルプを参照してください。

    • metaset コマンドを使ってディスクセットの状態を表示します。

      詳細は、metaset(1M) のマニュアルページを参照してください。


      注 –

      ディスクセットの所有権は、ディスクセットを所有するホストだけに表示されます。


例 — ディスクセットの状態をチェックする


red# metaset -s blue


Set name = blue, Set number = 1

Host                Owner
  idiom             Yes 

Drive               Dbase
  c1t6d0             Yes 
  c2t6d0             Yes 

metaset コマンドに -s オプションとディスクセット名 blue を指定して、ディスクセットの状態情報を表示します。 metaset コマンドを所有者側ホスト idiom から実行すると、idiom が実際にこのディスクセットの所有者であることがわかります。 metaset コマンドでは、ディスクセットに属するドライブも表示されます。

オプション指定せずに metaset コマンドを実行すると、すべてのディスクセットの状態が表示されます。

ディスクセットからディスクを削除するには

ディスクセットを削除するためには、まず、ディスクセットからすべてのドライブを削除する必要があります。

  1. metaset -s diskset-name コマンドを使って、ディスクがディスクセットから削除されていることを確認します。


    # metaset -s blue
    

例 — ディスクセットからディスクを削除する


lexicon# metaset -s blue -d c1t6d0
lexicon# metaset -s blue
 
Set name = blue, Set number = 1

Host                Owner
  lexicon            
	idiom 

Drive               Dbase
  c2t6d0             Yes 
 

この例では、ディスクセット blue からディスクを削除します。

ディスクセットを取得するには

  1. 次のどちらかの方法でディスクセットを取得します。

    • Solaris 管理コンソール内の「拡張ストレージ」から「ディスクセット (Disk Sets)」ノードを開きます。 取得するディスクセットを右クリックし、メニューから「所有権を取得 (Take Ownership)」を選択します。 詳細は、オンラインヘルプを参照してください。

    • 次の形式の metaset コマンドを実行します。


      metaset -s diskset-name-t
      
    -s diskset-name

    metaset コマンドが使用するディスクセットの名前です。

    -t

    ディスクセットを取得することを意味します。

    -f

    ディスクセットを強制的に取得することを意味します。

    詳細は、metaset(1M) のマニュアルページを参照してください。

    ディスクセットの 1 つのホストがそのディスクセットを取得したら、他のホストからこのディスクセットのドライブのデータにアクセスすることはできません。

    metaset コマンドのデフォルト動作では、 他方のホストがディスクセットを解放できなければ、このホストからディスクセットを取得することはできません。

    ディスクセットを強制的に取得する場合は、-f オプションを指定します。 このオプションを指定すると、ディスクセットは、別のホストが所有しているか否かにかかわらず、このホストによって取得されます。 この方法は、通常、ディスクセットを共有するホストの 1 つが停止したり、通信していないときに使用されます。 ディスクセットを強制的に取得させられた他のホストは、このディスクセットの入出力操作を試みたときにパニック状態になります。


    注 –

    ディスクセットの所有権は、ディスクセットを所有するホストだけに表示されます。


例 — ディスクセットを取得する


lexicon# metaset
...
Set name = blue, Set number = 1
 
Host                Owner
  lexicon
  idiom
...
lexicon# metaset -s blue -t
lexicon# metaset
...
Set name = blue, Set number = 1
 
Host                Owner
  lexicon                Yes
  idiom
...

この例では、ホスト lexicon がホスト idiom と通信し、idiom がディスクセットを解放したことを確認してから、ディスクセットを取得します。

この例の場合、ホスト idiom がディスクセット blue を所有していたとしても、出力の「所有者 (Owner)」欄はブランクになります。 metaset コマンドは、このコマンドを実行したホスト (他のホストとは関係なく) がディスクセットを所有しているかどうかだけを表示します。

例 — ディスクセットを強制的に取得する


# metaset -s blue -t -f

この例では、ディスクセットを取得しようとするホストが他のホストと通信しません。 したがって、このホストは、ディスクセットのドライブを警告なしに取得します。 他のホストがディスクセットを所有していた場合には、そのホストが、ディスクセットの入出力操作を試みたときにパニックを引き起こします。

ディスクセットを解放するには

ディスクセットの物理ドライブを保守する場合は、ディスクセットをあらかじめ解放しておくと便利です。 ディスクセットを解放すると、そのディスクセットはホストからアクセスできなくなります。 ディスクセットを共有する両方のホストがディスクセットを解放すると、そのディスクセットに設定されているボリュームやホットスペア集合にはどちらのホストからもアクセスできなくなります。ただし、c*t*d* という名前を使えば、どちらのホストからでもディスクに直接アクセスできます。

  1. ディスクセットの背景情報を確認します。

  2. 次のどちらかの方法でディスクセットを解放します。

    • Solaris 管理コンソール内の「拡張ストレージ」から「ディスクセット (Disk Sets)」ノードを開きます。 解放するディスクセットを右クリックし、メニューから「所有権を開放 (Release Ownership)」を選択します。 詳細は、オンラインヘルプを参照してください。

    • 次の形式の metaset コマンドを実行して、ディスクセットの所有権を解放します。


      metaset -s diskset-name-r
      

      -s diskset-name

      metaset コマンドが使用するディスクセットの名前です。

      -r

      ディスクセットを解放することを意味します。 ディスクセット内のすべてのディスクの予約が取り消されます。 ディスクセット内のボリュームにはアクセスできなくなります。

      詳細は、metaset(1M) のマニュアルページを参照してください。


      注 –

      ディスクセットの所有権は、ディスクセットを所有するホストだけに表示されます。


  3. オプションを指定せずに metaset コマンドを実行して、ディスクセットがこのホストから解放されていることを確認します。


    # metaset
    

例 — ディスクセットを解放する


lexicon# metaset -s blue -r
lexicon# metaset -s blue
 
Set name = blue, Set number = 1

Host                Owner
  lexicon            
	idiom 

Drive               Dbase
  c1t6d0             Yes 
  c2t6d0             Yes 
 

この例では、ディスクセット blue を解放します。 この時点では、ディスクセットの所有者がいないことに注意してください。 ホスト lexicon から状態を調べると、誤解を招くおそれがあります。 これは、ホストが調査できるのは、そのホストがディスクセットを所有しているかどうかだけだからです。 たとえば、ホスト idiom がディスクセットを取得したとしても、ホスト lexicon からそのことを知ることはできません。 この場合、取得していることを知ることができるのは、ホスト idiom だけです。

ホストまたはディスクセットを削除するには

ディスクセットを削除する場合は、ディスクセットにドライブが含まれていたり、ディスクセットに他のホストが接続していてはなりません。 最後のホストを削除すると、ディスクセットは削除されます。

  1. 次のどちらかの方法でディスクセットからホストを削除し、そのホストが最後のホストである場合は、ディスクセットも削除します。

    • Solaris 管理コンソール内の「拡張ストレージ」から「ディスクセット (Disk Sets)」ノードを開きます。 解放するディスクセットを右クリックし、メニューから「削除 (Delete)」を選択します。 詳細は、オンラインヘルプを参照してください。

    • 次の形式の metaset コマンドを実行してディスクセットからホストを削除し、 そのホストが最後のホストである場合は、ディスクセットも削除します。


      metaset -s diskset-name -d -h hostname
      

      -s diskset-name

      metaset コマンドが使用するディスクセットの名前です。

      -d

      ディスクセットからホストを削除することを意味します。

      -h hostname

      削除するホストの名前を指定します。


      # metaset -s blue -d idiom
      

      詳細は、metaset(1M) のマニュアルページを参照してください。

  2. metaset コマンドを実行して、このホストがディスクセットから削除されていることを確認します。 出力には、現在の (所有者側) ホストだけが表示され、 他のホストがすでに削除されていることがわかります。


    # metaset -s blue
    Set name = blue, Set number = 1
    
    Host                Owner
      lexicon            Yes 
    
    Drive               Dbase
      c1t2d0             Yes 
      c1t3d0             Yes 
      c1t4d0             Yes 
      c1t5d0             Yes 
      c1t6d0             Yes 
      c2t1d0             Yes

例 — ディスクセットから最後のホストを削除する


lexicon# metaset -s blue -d lexicon
lexicon# metaset -s blue
 
metaset: lexicon: setname "blue": no such set 

この例では、ディスクセット blue から最後のホストを削除します。