JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris Cluster システム管理     Oracle Solaris Cluster 4.0 (日本語)
search filter icon
search icon

ドキュメントの情報

はじめに

1.  Oracle Solaris Cluster の管理の概要

2.  Oracle Solaris Cluster と RBAC

3.  クラスタの停止とブート

4.  データ複製のアプローチ

5.  グローバルデバイス、ディスクパス監視、およびクラスタファイルシステムの管理

グローバルデバイスとグローバルな名前空間の管理の概要

Solaris ボリュームマネージャー のグローバルデバイスのアクセス権

グローバルデバイスでの動的再構成

クラスタファイルシステムの管理の概要

クラスタファイルシステムの制限事項

デバイスグループの管理

グローバルデバイス名前空間を更新する方法

グローバルデバイス名前空間で使用する lofi デバイスのサイズを変更する方法

グローバルデバイス名前空間を移行する

専用パーティションから lofi デバイスにグローバルデバイス名前空間を移行する方法

lofi デバイスから専用パーティションにグローバルデバイス名前空間を移行する方法

デバイスグループを追加および登録する

デバイスグループを追加および登録する方法 (Solaris ボリュームマネージャー)

デバイスグループ (raw ディスク) を追加および登録する方法

複製デバイスグループ(ZFS)の追加と登録方法

デバイスグループ名を保守する

デバイスグループを削除して登録を解除する方法 (Solaris ボリュームマネージャー )

すべてのデバイスグループからノードを削除する方法

デバイスグループからノードを削除する方法 (Solaris ボリュームマネージャー)

raw ディスクデバイスグループからノードを削除する方法

デバイスグループのプロパティーを変更する方法

デバイスグループのセカンダリノードの希望数を設定する方法

デバイスグループ構成の一覧を表示する方法

デバイスグループのプライマリノードを切り替える

デバイスグループを保守状態にする方法

ストレージデバイス用の SCSI プロトコル設定の管理

すべてのストレージデバイスのデフォルトのグローバルな SCSI プロトコル設定を表示する方法

単一ストレージデバイスの SCSI プロトコルを表示する方法

すべてのストレージデバイスのデフォルトのグローバルなフェンシングプロトコル設定を変更する方法

単一ストレージデバイスのフェンシングプロトコルを変更する方法

クラスタファイルシステムの管理

クラスタファイルシステムを追加する方法

クラスタファイルシステムを削除する方法

クラスタ内のグローバルマウントを確認する方法

ディスクパス監視の管理

ディスクパスを監視する方法

ディスクパスの監視を解除する方法

障害のあるディスクパスを表示する方法

ディスクパスのステータスエラーを解決する方法

ファイルからディスクパスを監視する方法

監視しているすべての共有ディスクパスが失敗したときのノードの自動リブートを有効にする方法

すべての監視共有ディスクパスが失敗した場合にノードの自動リブートを無効にする方法

6.  定足数の管理

7.  クラスタインターコネクトとパブリックネットワークの管理

8.  ノードの追加と削除

9.  クラスタの管理

10.  CPU 使用率の制御の構成

11.  ソフトウェアの更新

12.  クラスタのバックアップと復元

A.  例

索引

デバイスグループの管理

クラスタの要件の変化により、クラスタ上のデバイスグループの追加、削除、または変更が必要となる場合があります。Oracle Solaris Cluster には、このような変更を行うために使用できる、clsetup と呼ばれる対話型インタフェースがあります。clsetupcluster コマンドを生成します。生成されるコマンドについては、各説明の後にある例を参照してください。次の表に、デバイスグループを管理するためのタスクを示し、またこのセクションの適切な手順へのリンクを示します。


注意

注意 - ほかのノードが有効なクラスタメンバーであり、それらのノードの少なくとも 1 つがディスクセットを持つ場合は、クラスタの外側でブートされるクラスタノードで metaset —s setname —f -t を実行しないでください。



注 - Oracle Solaris Cluster ソフトウェアは、クラスタ内のディスクデバイスやテープデバイスごとに、raw ディスクデバイスグループを自動的に作成します。ただし、クラスタデバイスグループはグローバルデバイスとしてアクセスされるまでオフラインのままです。


表 5-2 タスクマップ: デバイスグループの管理

タスク
手順
cldevice populate コマンドを使用することにより、再構成のリブートを行わずにグローバルデバイス名前空間を更新する
グローバルデバイス名前空間で使用する lofi デバイスのサイズを変更する
既存のグローバルデバイス名前空間を移動する
metaset コマンドを使用することにより、Solaris ボリュームマネージャー ディスクセットを追加し、それらをデバイスグループとして登録する
cldevicegroup コマンドを使用することにより、raw ディスクデバイスグループを追加および登録する
cldevicegroup コマンドを使用することにより、ZFS に名前付きデバイスグループを追加する
metaset コマンドおよび metaclear コマンドを使用することにより、構成から Solaris ボリュームマネージャー デバイスグループを削除する
cldevicegroupmetaset、および clsetup コマンドを使用することにより、すべてのデバイスグループからノードを削除する
metaset コマンドを使用することにより、Solaris ボリュームマネージャー デバイスグループからノードを削除する
cldevicegroup コマンドを使用することにより、raw ディスクデバイスグループからノードを削除する
clsetup を使用して cldevicegroup を生成することにより、デバイスグループのプロパティーを変更する
cldevicegroup show コマンドを使用することにより、デバイスグループとプロパティーを表示する
clsetup を使用して cldevicegroup を生成することにより、デバイスグループのセカンダリノードの希望数を変更する
cldevicegroup switch コマンドを使用することにより、デバイスグループのプライマリノードを切り替える
metaset コマンドまたは vxdg コマンドを使用することにより、デバイスグループを保守状態にする

グローバルデバイス名前空間を更新する方法

新しいグローバルデバイスを追加するときに、cldevice populate コマンドを実行して手動でグローバルデバイス名前空間を更新します。


注 - コマンドを実行するノードがクラスタのメンバーでない場合は、cldevice populate コマンドを実行しても無効です。また、/global/.devices/node@ nodeID ファイルシステムがマウントされていない場合も、コマンドは無効になります。


  1. クラスタの任意のノードで、スーパーユーザーになるか、RBAC の承認 solaris.cluster.modify を提供する役割になります。
  2. クラスタの各ノードで、devfsadm コマンドを実行します。

    このコマンドは、すべてのノードで同時に実行できます。詳細は、devfsadm(1M) のマニュアルページを参照してください。

  3. 名前空間を再構成します。
    # cldevice populate
  4. 各ノードで、ディスクセットを作成する前に、「cldevice populate」コマンドが完了していることを確認してください。

    ノードの 1 つで cldevice コマンドが実行された場合でも、このコマンドはリモートから自分自身をすべてのノードで呼び出します。 cldevice populate コマンドが処理を終了したかどうかを確認するには、クラスタの各ノードで次のコマンドを実行します。

    # ps -ef | grep cldevice populate

例 5-1 グローバルデバイス名前空間を更新する

次の例に、cldevice populate コマンドを正しく実行することにより生成される出力を示します。

# devfsadm
cldevice populate 
Configuring the /dev/global directory (global devices)...
obtaining access to all attached disks
reservation program successfully exiting
# ps -ef | grep cldevice populate

グローバルデバイス名前空間で使用する lofi デバイスのサイズを変更する方法

グローバルクラスタの 1 つ以上のノードのグローバルデバイス名前空間で lofi デバイスを使用する場合は、次の手順を使用してデバイスのサイズを変更します。

  1. サイズを変更するグローバルデバイス名前空間の lofi デバイスのノードで、スーパーユーザーになるか、RBAC の承認 solaris.cluster.modify を提供する役割になります。
  2. ノードからサービスを退避させ、ノードを非クラスタモードでリブートします。

    これは、この手順の実行中にグローバルデバイスがこのノードからサービスを提供されないようにするために行います。 手順については、「非クラスタモードでノードをブートする方法」を参照してください。

  3. グローバルデバイスのファイルシステムをマウント解除し、その lofi デバイスを切り離します。

    グローバルデバイスファイルシステムはローカルにマウントされます。

    phys-schost# umount /global/.devices/node\@`clinfo -n` > /dev/null 2>&1
    
    Ensure that the lofi device is detached
    phys-schost# lofiadm -d /.globaldevices
    The command returns no output if the device is detached

    注 - -m オプションを使用してファイルシステムがマウントされた場合、mnttab ファイルにエントリは追加されません。 umount コマンドによって次のような警告が報告される場合があります。

    umount: warning: /global/.devices/node@2 not in mnttab    ====>>>>
    not mounted

    この警告は無視してもかまいません。


  4. /.globaldevices ファイルを削除し、必要なサイズで再作成します。

    次の例は、サイズが 200M バイトの新しい /.globaldevices ファイルの作成を示しています。

    phys-schost# rm /.globaldevices
    phys-schost# mkfile 200M /.globaldevices
  5. グローバルデバイス名前空間の新しいファイルシステムを作成します。
    phys-schost# lofiadm -a /.globaldevices
    phys-schost# newfs `lofiadm /.globaldevices` < /dev/null
  6. クラスタモードでノードをブートします。

    グローバルデバイスが新しいファイルシステムに生成されました。

    phys-schost# reboot
  7. サービスを実行するノードに移行します。

グローバルデバイス名前空間を移行する

専用パーティションでグローバルデバイス名前空間を作成するのではなく、ループバックファイルインタフェース (lofi) デバイス上に名前空間を作成することができます。


注 - ルートファイルシステムに ZFS がサポートされていますが、重要な例外が 1 つあります。グローバルデバイスファイルシステムにブートディスクの専用パーティションを使用する場合、ファイルシステムとして UFS のみを使用してください。グローバルデバイス名前空間には、UFS ファイルシステムで動作しているプロキシファイルシステム (PxFS) が必要です。ただし、/var または /home などの、グローバルデバイス名前空間の UFS ファイルシステムは、ルート (/) ファイルシステムやほかのルートファイルシステム用の ZFS ファイルシステムと共存できます。また、lofi デバイスを使用してグローバルデバイス名前空間をホストする場合、ルートファイルシステムに対する ZFS の使用に関する制限はありません。


次の手順は、既存のグローバルデバイス名前空間を専用パーティションから lofi デバイスまたはその逆に移行する方法を説明しています。

専用パーティションから lofi デバイスにグローバルデバイス名前空間を移行する方法

  1. 名前空間の場所を変更したいグローバルクラスタ投票ノードのスーパーユーザーになります。
  2. ノードからサービスを退避させ、ノードを非クラスタモードでリブートします。

    これは、この手順の実行中にグローバルデバイスがこのノードからサービスを提供されないようにするために行います。 手順については、「非クラスタモードでノードをブートする方法」を参照してください。

  3. /.globaldevices という名前のファイルがノードに存在しないことを確認します。

    ファイルが存在する場合は、削除します。

  4. lofi デバイスを作成します。
    # mkfile 100m /.globaldevices# lofiadm -a /.globaldevices
    # LOFI_DEV=`lofiadm /.globaldevices`
    # newfs `echo ${LOFI_DEV} | sed -e 's/lofi/rlofi/g'` < /dev/null# lofiadm -d /.globaldevices
  5. /etc/vfstab ファイルで、グローバルデバイス名前空間エントリをコメントアウトします。

    このエントリには、/global/.devices/node@nodeID で始まるマウントパスがあります。

  6. グローバルデバイスパーティション /global/.devices/node@nodeID のマウントを解除します。
  7. globaldevices および scmountdev SMF サービスを無効にし再度有効にします。
    # svcadm disable globaldevices
    # svcadm disable scmountdev
    # svcadm enable scmountdev
    # svcadm enable globaldevices

    lofi デバイスは現在 /.globaldevices に作成され、グローバルデバイスファイルシステムとしてマウントされています。

  8. パーティションから lofi デバイスへ移行したいグローバルデバイス名前空間のある他のノードでもこのステップを繰り返します。
  9. 1 つのノードから、グローバルデバイス名前空間を生成します。
    # /usr/cluster/bin/cldevice populate

    各ノードで、コマンドが処理を完了したことを確認してから、クラスタに対する以降の操作を実行してください。

    # ps -ef | grep cldevice populate

    グローバルデバイス名前空間は、現在 lofi デバイスにあります。

  10. サービスを実行するノードに移行します。

lofi デバイスから専用パーティションにグローバルデバイス名前空間を移行する方法

  1. 名前空間の場所を変更したいグローバルクラスタ投票ノードのスーパーユーザーになります。
  2. ノードからサービスを退避させ、ノードを非クラスタモードでリブートします。

    これは、この手順の実行中にグローバルデバイスがこのノードからサービスを提供されないようにするために行います。 手順については、「非クラスタモードでノードをブートする方法」を参照してください。

  3. ノードのローカルディスクで、次の要件を満たす新しいパーティションを作成します。
    • サイズが 512 M バイト以上

    • UFS ファイルシステムの使用

  4. グローバルデバイスファイルシステムとしてマウントする新しいパーティションに、/etc/vfstab ファイルへのエントリを追加します。
    • 現在のノードのノード ID を指定します。
      # /usr/sbin/clinfo -n node- ID
    • 次の形式を使用して、/etc/vfstab ファイルに新しいエントリを作成します。
      blockdevice rawdevice /global/.devices/node@nodeID ufs 2 no global

    たとえば、使用するパーティションが /dev/did/rdsk/d5s3 の場合、/etc/vfstab ファイルに追加する新しいエントリは、/dev/did/dsk/d5s3 /dev/did/rdsk/d5s3 /global/.devices/node@3 ufs 2 no global となります。

  5. グローバルデバイスパーティション /global/.devices/node@nodeID のマウントを解除します。
  6. /.globaldevices ファイルに関連付けられた lofi デバイスを削除します。
    # lofiadm -d /.globaldevices
  7. /.globaldevices ファイルを削除します。
    # rm /.globaldevices
  8. globaldevices および scmountdev SMF サービスを無効にし再度有効にします。
    # svcadm disable globaldevices# svcadm disable scmountdev
    # svcadm enable scmountdev
    # svcadm enable globaldevices

    パーティションは現在グローバルデバイス名前空間ファイルシステムとしてマウントされています。

  9. lofi デバイスからパーティションへ移行したいグローバルデバイス名前空間のある他のノードでもこのステップを繰り返します。
  10. クラスタモードでブートして、グローバルデバイス名前空間を生成します。
    1. クラスタの 1 つのノードから、グローバルデバイス名前空間を生成します。
      # /usr/cluster/bin/cldevice populate
    2. クラスタのすべてのノードで処理が完了したことを確認してから、ノードに対する作業を実行してください。
      # ps -ef | grep cldevice populate

      グローバルデバイス名前空間は、現在専用パーティションにあります。

  11. サービスを実行するノードに移行します。

デバイスグループを追加および登録する

Solaris Volume Manager、ZFS、または raw ディスクのデバイスグループを追加および登録できます。

デバイスグループを追加および登録する方法 (Solaris ボリュームマネージャー)

metaset コマンドを使用して Solaris ボリュームマネージャー ディスクセットを作成し、そのディスクセットを Oracle Solaris Cluster デバイスグループとして登録します。 デバイスグループには、ディスクセットを登録するときにディスクセットに割り当てた名前が自動的に割り当てられます。

phys-schost# プロンプトは、グローバルクラスタのプロンプトを表します。この手順は、グローバルクラスタ上で実行します。

この手順では、長形式の Oracle Solaris Cluster コマンドを使用して説明します。多くのコマンドには短縮形もあります。コマンド名の形式の長短を除き、コマンドは同一です。


注意

注意 - 作成する Oracle Solaris Cluster デバイスグループ (Solaris Volume Manager、または raw ディスク) の名前は、複製されたデバイスグループと同じ名前にしてください。


  1. ディスクセットを作成するディスクに接続されたノードのいずれかで、スーパーユーザーになるか、RBAC の承認 solaris.cluster.modify を提供する役割になります。
  2. Solaris ボリュームマネージャー ディスクセットを追加し、このディスクセットをデバイスグループとして Oracle Solaris Cluster に登録します。

    複数所有者のディスクグループを作成するには、-M オプションを使用します。

    # metaset -s diskset -a -M -h nodelist
    -s diskset

    作成するディスクセットを指定します。

    -a -h nodelist

    ディスクセットをマスターできるノードの一覧を追加します。

    -M

    ディスクグループを複数所有者として指定します。


    注 - metaset コマンドを実行して設定した、クラスタ上の Solaris Volume Manager デバイスグループは、そのデバイスグループに含まれるノード数に関わらず、デフォルトでセカンダリノードになります。 デバイスグループが作成されたあと、clsetup ユーティリティーを使用することで、セカンダリノードの希望数を変更できます。ディスクのフェイルオーバーの詳細については、「デバイスグループのセカンダリノードの希望数を設定する方法」を参照してください。


  3. 複製されたデバイスグループを構成している場合は、そのデバイスグループの複製プロパティーを設定します。
    # cldevicegroup sync devicegroup
  4. デバイスグループが追加されたことを確認します。

    デバイスグループ名は metaset に指定したディスクセット名と一致します。

    # cldevicegroup list
  5. DID マッピングの一覧を表示します。
    # cldevice show | grep Device
    • ディスクセットをマスターする (またはマスターする可能性がある) クラスタノードによって共有されているドライブを選択します。

    • ディスクセットにドライブを追加する際は、/dev/did/rdsk/dN の形式の完全な DID デバイス名を使用してください。

    次の例では、DID デバイス /dev/did/rdsk/d3 のエントリは、ドライブが phys-schost-1 および phys-schost-2 によって共有されていることを示しています。

    === DID Device Instances ===                   
    DID Device Name:                                /dev/did/rdsk/d1
      Full Device Path:                               phys-schost-1:/dev/rdsk/c0t0d0
    DID Device Name:                                /dev/did/rdsk/d2
      Full Device Path:                               phys-schost-1:/dev/rdsk/c0t6d0
    DID Device Name:                                /dev/did/rdsk/d3
      Full Device Path:                               phys-schost-1:/dev/rdsk/c1t1d0
      Full Device Path:                               phys-schost-2:/dev/rdsk/c1t1d0
    …
  6. ディスクセットにドライブを追加します。

    完全な DID パス名を使用します。

    # metaset -s setname -a /dev/did/rdsk/dN
    -s setname

    デバイスグループ名と同じである、ディスクセット名を指定します。

    -a

    ディスクセットにドライブを追加します。


    注 - ディスクセットにドライブを追加するときは、下位デバイス名 ( cNtX dY) は使用しないでください。下位レベルデバイス名はローカル名であり、クラスタ全体で一意ではないため、この名前を使用するとディスクセットがスイッチオーバーできなくなる可能性があります。


  7. 新しいディスクセットとドライブのステータスを検査します。
    # metaset -s setname

例 5-2 Solaris ボリュームマネージャー デバイスグループの追加

次の例は、ディスクドライブ /dev/did/rdsk/d1 および /dev/did/rdsk/d2 を持つディスクセットおよびデバイスグループの作成を示し、デバイスグループが作成されたことを確認しています。

# metaset -s dg-schost-1 -a -h phys-schost-1

# cldevicegroup list
dg-schost-1 

# metaset -s dg-schost-1 -a /dev/did/rdsk/d1 /dev/did/rdsk/d2

デバイスグループ (raw ディスク) を追加および登録する方法

Oracle Solaris Cluster ソフトウェアでは、他のボリュームマネージャーに加え、raw ディスクデバイスグループを使用できます。 Oracle Solaris Cluster を最初に構成する際、クラスタ内の raw デバイスごとにデバイスグループが自動的に構成されます。 ここで説明する手順を使用して、これらの自動作成されたデバイスグループを Oracle Solaris Cluster ソフトウェアで使用できるように再構成します。

次の理由のため、raw ディスクタイプの新しいデバイスグループを作成します。


注意

注意 - 複製したデバイスにデバイスグループを作成する場合は、作成するデバイスグループ名 (Solaris Volume Manager、または raw ディスク) は複製したデバイスグループの名前と同じにする必要があります。


  1. 使用する各デバイスを特定し、事前に規定されたデバイスグループの構成を解除します。

    次のコマンドは、d7 および d8 に対する定義済みのデバイスグループを除去します。

    paris-1# cldevicegroup disable dsk/d7 dsk/d8
    paris-1# cldevicegroup offline dsk/d7 dsk/d8
    paris-1# cldevicegroup delete dsk/d7 dsk/d8
  2. 必要なデバイスを含む、新しい raw ディスクデバイスグループを作成します。

    次のコマンドは、グローバルデバイスグループ rawdg を作成します。このデバイスグループに d7 および d8 が収められます。

    paris-1# cldevicegroup create -n phys-paris-1,phys-paris-2 -t rawdisk -d d7,d8 rawdg
    paris-1# /usr/cluster/lib/dcs/cldg show rawdg -d d7 rawdg
    paris-1# /usr/cluster/lib/dcs/cldg show rawdg -d d8 rawdg

複製デバイスグループ(ZFS)の追加と登録方法

ZFS を複製するには、名前付きデバイスグループを作成し、zpool に属するディスクをリストする必要があります。デバイスは、一度に 1 つのデバイスグループのみに属することができるため、デバイスを含む Oracle Solaris Cluster デバイスグループがすでにある場合、そのデバイスを新しい ZFS デバイスグループに追加する前にそのグループを削除する必要があります。

作成する Oracle Solaris Cluster デバイスグループ (Solaris Volume Manager、または raw ディスク) の名前は、複製されたデバイスグループと同じ名前にしてください。

  1. zpool のデバイスに対応するデフォルトデバイスグループを削除してください。

    たとえば、2 つのデバイス /dev/did/dsk/d2/dev/did/dsk/d13 を含む mypool と呼ばれる zpool を持っている場合、d2d13 と呼ばれる 2 つのデフォルトデバイスグループを削除する必要があります。

    # cldevicegroup offline dsk/d2 dsk/d13
    # cldevicegroup add dsk/d2 dsk/d13
  2. 手順 1 で削除したデバイスグループの DID に対応する DID の名前付きデバイスグループを作成します。
    # cldevicegroup create -n pnode1,pnode2 -d d2,d13 -t rawdisk mypool

    このアクションでは、mypool(zpool と同じ名前)と呼ばれるデバイスグループが作成され、raw デバイス /dev/did/dsk/d2 と /dev/did/dsk/d13 を管理します。

  3. それらのデバイスを含む zpool を作成します。
    # zpool create mypool mirror /dev/did/dsk/d2 /dev/did/dsk/d13
  4. リソースグループを作成し、ノードリストに唯一のグローバルゾーンのある複製したデバイス (デバイスグループ内) の移行を管理します。
    # clrg create -n pnode1,pnode2 migrate_truecopydg-rg
  5. 手順 4 で作成したリソースグループに hasp-rs リソースを作成し、globaldevicepaths プロパティーを raw ディスクのデバイスグループに設定します。

    このデバイスは、手順 2 で作成しました。

    # clrs create -t HAStoragePlus -x globaldevicepaths=mypool -g \
    migrate_truecopydg-rg hasp2migrate_mypool
  6. このリソースグループから手順 4 で作成したリソースグループで、rg_affinities プロパティーの +++ 値を設定します。
    # clrg create -n pnode1:zone-1,pnode2:zone-2 -p \
    RG_affinities=+++migrate_truecopydg-rg sybase-rg
  7. 手順 3 で作成した zpool の HAStoragePlus リソース (hasp-rs) を、手順 4 または手順 6 で作成したリソースグループに作成します。

    resource_dependencies プロパティーを手順 5 で作成した hasp-rs リソースに設定します。

    # clrs create -g sybase-rg -t HAStoragePlus -p zpools=mypool \
    -p resource_dependencies=hasp2migrate_mypool \
    -p ZpoolsSearchDir=/dev/did/dsk hasp2import_mypool
  8. デバイスグループ名が必要な場合には、この新しいリソースグループ名を使用します。

デバイスグループ名を保守する

デバイスグループに対して様々な管理タスクを実行することができます。

デバイスグループを削除して登録を解除する方法 (Solaris ボリュームマネージャー )

デバイスグループは Oracle Solaris Cluster に登録されている Solaris ボリュームマネージャー ディスクセットです。 Solaris ボリュームマネージャー デバイスグループを削除するには、metaclearmetaset コマンドを使用します。これらのコマンドは、Oracle Solaris Cluster デバイスグループと同じ名前を持つデバイスグループを削除して、ディスクグループの登録を解除します。

ディスクセットを削除する方法については、Solaris ボリュームマネージャー のドキュメントを参照してください。

すべてのデバイスグループからノードを削除する方法

すべてのデバイスグループの潜在的なプライマリノードからクラスタノードを削除する場合は、この手順を使用します。

phys-schost# プロンプトは、グローバルクラスタのプロンプトを表します。この手順は、グローバルクラスタ上で実行します。

この手順では、長形式の Oracle Solaris Cluster コマンドを使用して説明します。多くのコマンドには短縮形もあります。コマンド名の形式の長短を除き、コマンドは同一です。

  1. すべてのデバイスグループの潜在的なプライマリノードとして削除するノード上で、スーパーユーザーになるか、RBAC の承認 solaris.cluster.modify を提供する役割になります。
  2. 削除するノードがメンバーになっているデバイスグループ (複数可) を確認します。

    各デバイスグループの Device group node list からこのノード名を検索します。

    # cldevicegroup list -v
  3. 手順 2 で特定したデバイスグループの中に、デバイスグループタイプが SVM のものがある場合、そのタイプの各デバイスグループに対して「デバイスグループからノードを削除する方法 (Solaris ボリュームマネージャー)」の手順を実行します。
  4. 削除するノードがメンバーになっている raw デバイスディスクグループを特定します。
    # cldevicegroup list -v
  5. 手順 4 で表示されたデバイスグループの中に、デバイスグループタイプが Disk または Local_Disk のものがある場合、これらの各デバイスグループに対して、「raw ディスクデバイスグループからノードを削除する方法」の手順を実行します。
  6. すべてのデバイスグループの潜在的なプライマリノードのリストからノードが削除されていることを確認します。

    ノードがどのデバイスグループの潜在的なプライマリノードのリストにも存在しなければ、このコマンドは何も返しません。

    # cldevicegroup list -v nodename

デバイスグループからノードを削除する方法 (Solaris ボリュームマネージャー)

Solaris ボリュームマネージャー デバイスグループの潜在的なプライマリノードのリストからクラスタノードを削除するには、次の手順を使用します。ノードを削除したいグループデバイスごとに metaset コマンドを繰り返します。


注意

注意 - ほかのノードが有効なクラスタメンバーであり、それらのノードの少なくとも 1 つがディスクセットを持つ場合は、クラスタの外側でブートされるクラスタノードで metaset —s setname —f -t を実行しないでください。


phys-schost# プロンプトは、グローバルクラスタのプロンプトを表します。この手順は、グローバルクラスタ上で実行します。

この手順では、長形式の Oracle Solaris Cluster コマンドを使用して説明します。多くのコマンドには短縮形もあります。コマンド名の形式の長短を除き、コマンドは同一です。

  1. ノードがまだデバイスグループのメンバーであり、かつ、このデバイスグループが Solaris ボリュームマネージャー デバイスグループであることを確認します。

    Solaris ボリュームマネージャー のデバイスグループは、デバイスグループタイプが SDS/SVM のものです。

    phys-schost-1% cldevicegroup show devicegroup
  2. どのノードがデバイスグループの現在のプライマリノードであるかを特定します。
    # cldevicegroup status devicegroup
  3. 変更したいデバイスグループを所有しているノードでスーパーユーザーになります。
  4. デバイスグループからこのノードのホスト名を削除します。
    # metaset -s setname -d -h nodelist
    -s setname

    デバイスグループの名前を指定します。

    -d

    -h で指定されたノードをデバイスグループから削除します。

    -h nodelist

    削除するノード (複数可) のノード名を指定します。


    注 - 更新が完了するまでに数分間かかることがあります。


    コマンドが正常に動作しない場合は、コマンドに -f (force) オプションを追加します。

    # metaset -s setname -d -f -h nodelist
  5. 潜在的なプライマリノードとしてノードを削除するデバイスグループごとに手順 4 を繰り返します。
  6. デバイスグループからノードが削除されたことを確認します。

    デバイスグループ名は metaset に指定したディスクセット名と一致します。

    phys-schost-1% cldevicegroup list -v devicegroup

例 5-3 デバイスグループからノードを削除する (Solaris ボリュームマネージャー)

次に、デバイスグループ構成からホスト名 phys-schost-2 を削除する例を示します。この例では、指定したデバイスグループから phys-schost-2 を潜在的なプライマリノードとして削除します。cldevicegroup show コマンドを実行することにより、ノードが削除されていることを確認します。削除したノードが画面に表示されていないことを確認します。

[Determine the Solaris ボリュームマネージャー
 device group for the node:]
# cldevicegroup show dg-schost-1
=== Device Groups ===                          

Device Group Name:                    dg-schost-1
  Type:                                 SVM
  failback:                             no
  Node List:                            phys-schost-1, phys-schost-2
  preferenced:                          yes
  numsecondaries:                       1
  diskset name:                         dg-schost-1
[Determine which node is the current primary for the device group:]
# cldevicegroup status dg-schost-1
=== Cluster Device Groups ===

--- Device Group Status ---

Device Group Name    Primary         Secondary      Status
-----------------    -------         ---------      ------
dg-schost-1          phys-schost-1   phys-schost-2  Online
[Become superuser on the node that currently owns the device group.]
[Remove the host name from the device group:]
# metaset -s dg-schost-1 -d -h phys-schost-2
[Verify removal of the node:]]
phys-schost-1% cldevicegroup list -v dg-schost-1
=== Cluster Device Groups ===

--- Device Group Status ---

Device Group Name    Primary         Secondary      Status
-----------------    -------         ---------      ------
dg-schost-1          phys-schost-1   -              Online

raw ディスクデバイスグループからノードを削除する方法

raw ディスクデバイスグループの潜在的プライマリノードリストからクラスタノードを削除する場合は、この手順を使用します。

phys-schost# プロンプトは、グローバルクラスタのプロンプトを表します。この手順は、グローバルクラスタ上で実行します。

この手順では、長形式の Oracle Solaris Cluster コマンドを使用して説明します。多くのコマンドには短縮形もあります。コマンド名の形式の長短を除き、コマンドは同一です。

  1. クラスタ内のノード、ただし削除するノード以外のノード上で、スーパーユーザーになるか、RBAC の承認 solaris.cluster.read および solaris.cluster.modify を提供する役割になります。
  2. 削除されるノードに接続されたデバイスグループを特定し、どれが raw ディスクデバイスグループであるかを判別します。
    # cldevicegroup show -n nodename -t rawdisk +
  3. すべての Local_Disk raw ディスクデバイスグループの localonly プロパティーを無効にします。
    # cldevicegroup set -p localonly=false devicegroup

    localonly プロパティーについての詳細は、cldevicegroup(1CL) のマニュアルページを参照してください。

  4. 削除するノードに接続されているすべての raw ディスクデバイスグループの localonly プロパティーが無効になっていることを確認します。

    デバイスグループタイプ Disk は、この raw ディスクデバイスグループの localonly プロパティーが無効になっていることを表します。

    # cldevicegroup show -n nodename -t rawdisk -v + 
  5. 手順 2 で特定されたすべての raw ディスクデバイスグループからノードを削除します。

    この手順は、削除するノードに接続されている raw ディスクデバイスグループごとに行う必要があります。

    # cldevicegroup remove-node -n nodename devicegroup

例 5-4 raw デバイスグループからノードを削除する

この例では、raw ディスクデバイスグループからノード (phys-schost-2) を削除します。すべてのコマンドは、クラスタの別のノード (phys-schost-1) から実行します。

[Identify the device groups connected to the node being removed, and determine which are raw-disk
    device groups:]
phys-schost-1# cldevicegroup show -n phys-schost-2 -t rawdisk -v +    
Device Group Name:                              dsk/d4
  Type:                                           Disk
  failback:                                       false
  Node List:                                      phys-schost-2
  preferenced:                                    false
  localonly:                                      false
  autogen                                         true
  numsecondaries:                                 1
  device names:                                   phys-schost-2

Device Group Name:                              dsk/d1
  Type:                                           SVM
  failback:                                       false
  Node List:                                      pbrave1, pbrave2
  preferenced:                                    true
  localonly:                                      false
  autogen                                         true
  numsecondaries:                                 1
  diskset name:                                   ms1
(dsk/d4) Device group node list:  phys-schost-2
    (dsk/d2) Device group node list:  phys-schost-1, phys-schost-2
    (dsk/d1) Device group node list:  phys-schost-1, phys-schost-2
[Disable the localonly flag for each local disk on the node:]
phys-schost-1# cldevicegroup set -p localonly=false dsk/d4
[Verify that the localonly flag is disabled:]
phys-schost-1# cldevicegroup show -n phys-schost-2 -t rawdisk +   
 (dsk/d4) Device group type:          Disk
 (dsk/d8) Device group type:          Local_Disk
[Remove the node from all raw-disk device groups:]

phys-schost-1# cldevicegroup remove-node -n phys-schost-2 dsk/d4
phys-schost-1# cldevicegroup remove-node -n phys-schost-2 dsk/d2
phys-schost-1# cldevicegroup remove-node -n phys-schost-2 dsk/d1

デバイスグループのプロパティーを変更する方法

デバイスグループの主所有権を確立する方法は、preferenced という所有権設定属性の設定に基づきます。この属性を設定していない場合は、ほかで所有されていないデバイスグループのプライマリ所有者が、そのグループ内のディスクへのアクセスを試みる最初のノードになります。一方、この属性を設定してある場合は、ノードが所有権の確立を試みる優先順位を指定する必要があります。

preferenced 属性を無効にすると、failback 属性も自動的に無効に設定されます。ただし、preferenced 属性を有効または再有効にする場合は、failback 属性を有効にするか無効にするかを選択できます。

preferenced 属性を有効または再有効にした場合は、プライマリ所有権の設定一覧でノードの順序を確立し直す必要があります。

この手順では、5 を使用して、Solaris ボリュームマネージャー デバイスグループの preferenced 属性と failback 属性を設定または設定解除します。

始める前に

この手順を実行するには、属性値を変更するデバイスグループの名前が必要です。

phys-schost# プロンプトは、グローバルクラスタのプロンプトを表します。この手順は、グローバルクラスタ上で実行します。

この手順では、長形式の Oracle Solaris Cluster コマンドを使用して説明します。多くのコマンドには短縮形もあります。コマンド名の形式の長短を除き、コマンドは同一です。

  1. クラスタの任意のノードで、スーパーユーザーになるか、RBAC の承認 solaris.cluster.read および solaris.cluster.modify を提供する役割になります。
  2. clsetup ユーティリティーを起動します。
    # clsetup

    メインメニューが表示されます。

  3. デバイスグループを使用して作業するには、デバイスグループおよびボリュームのオプションの番号を入力します。

    「デバイスグループメニュー」が表示されます。

  4. デバイスグループの重要なプロパティーを変更するには、Solaris ボリュームマネージャー デバイスグループの重要なプロパティーを変更するためのオプションの番号を入力します。

    「デバイスグループのプロパティー変更メニュー」が表示されます。

  5. デバイスグループのプロパティーを変更するには、preference、failback などのプロパティーを変更するオプションの番号を入力します。

    指示に従って、デバイスグループの preferenced および failback オプションを設定します。

  6. デバイスグループの属性が変更されたことを確認します。

    次のコマンドを実行し、表示されるデバイスグループ情報を確認します。

    # cldevicegroup show -v devicegroup 

例 5-5 デバイスグループのプロパティーの変更

次に、clsetup でデバイスグループ (dg-schost-1) の属性値を設定したときに生成される cldevicegroup コマンドの例を示します。

# cldevicegroup set -p preferenced=true -p failback=true -p numsecondaries=1 \ -p nodelist=phys-schost-1,phys-schost-2 dg-schost-1
# cldevicegroup show dg-schost-1

=== Device Groups ===                          

Device Group Name:                        dg-schost-1
  Type:                                     SVM
  failback:                                 yes
  Node List:                                phys-schost-1, phys-schost-2
  preferenced:                              yes
  numsecondaries:                           1
  diskset names:                            dg-schost-1

デバイスグループのセカンダリノードの希望数を設定する方法

numsecondaries プロパティーは、プライマリノードに障害が発生した場合にグループをマスターできる、デバイスグループ内のノード数を指定します。デバイスサービスのセカンダリノードのデフォルト数は 1 です。この値には、1 からデバイスグループ内で動作しているプライマリノード以外のプロバイダノード数までの任意の整数を設定できます。

この設定は、クラスタの性能と可用性のバランスをとるための重要な要因になります。たとえば、セカンダリノードの希望数を増やすと、クラスタ内で同時に複数の障害が発生した場合でも、デバイスグループが生き残る可能性が増えます。しかし、セカンダリノード数を増やすと、通常の動作中の性能が一様に下がります。通常、セカンダリノード数を減らすと、性能が上がりますが、可用性が下がります。しかし、セカンダリノード数を増やしても、必ずしも、当該のファイルシステムまたはデバイスグループの可用性が上がるわけではありません。詳細は、『Oracle Solaris Cluster Concepts Guide』の第 3 章「Key Concepts for System Administrators and Application Developers」を参照してください。

numsecondaries プロパティーを変更すると、セカンダリノードの実際数と希望数の間に整合性がない場合、セカンダリノードはデバイスグループに追加されるか、またはデバイスグループから削除されます。

この手順では、clsetup ユーティリティーを使用して、すべてのタイプのデバイスグループの numsecondaries プロパティーを設定します。デバイスグループを構成する際のデバイスグループのオプションの詳細については、cldevicegroup(1CL) を参照してください。

phys-schost# プロンプトは、グローバルクラスタのプロンプトを表します。この手順は、グローバルクラスタ上で実行します。

この手順では、長形式の Oracle Solaris Cluster コマンドを使用して説明します。多くのコマンドには短縮形もあります。コマンド名の形式の長短を除き、コマンドは同一です。

  1. クラスタの任意のノードで、スーパーユーザーになるか、RBAC の承認 solaris.cluster.read および solaris.cluster.modify を提供する役割になります。
  2. clsetup ユーティリティーを起動します。
    # clsetup

    メインメニューが表示されます。

  3. デバイスグループを使用して作業するには、「デバイスグループとボリューム (Device Groups and Volumes)」メニュー項目を選択します。

    「デバイスグループメニュー」が表示されます。

  4. デバイスグループの重要なプロパティーを変更するには、「デバイスグループのキープロパティを変更 (Change Key Properties of a Device Group)」メニュー項目を選択します。

    「デバイスグループのプロパティー変更メニュー」が表示されます。

  5. セカンダリノードの希望数を変更するには、numsecondaries プロパティーを変更するためのオプションの番号を入力します。

    指示に従って、デバイスグループに構成したいセカンダリノードの希望数を入力します。すると対応する cldevicegroup コマンドが実行され、ログが出力され、ユーティリティーは前のメニューに戻ります。

  6. デバイスグループの構成を検証します。
    # cldevicegroup show dg-schost-1
    === Device Groups ===                          
    
    Device Group Name:                    dg-schost-1
      Type:                                 Local_Disk 
      failback:                             yes
      Node List:                            phys-schost-1, phys-schost-2 phys-schost-3
      preferenced:                          yes
      numsecondaries:                       1
      diskgroup names:                      dg-schost-1

    注 - このような構成変更には、ボリュームの追加や削除、既存ボリュームのグループ、所有者、アクセス権の変更などがあります。構成変更後に登録を行うと、グローバルな名前空間が正しい状態になります。「グローバルデバイス名前空間を更新する方法」 を参照してください。


  7. デバイスグループの属性が変更されたことを確認します。

    次のコマンドを実行して、表示されるデバイスグループ情報を確認します。

    # cldevicegroup show -v devicegroup 

例 5-6 セカンダリノードの希望数の変更 (Solaris ボリュームマネージャー)

次に、デバイスグループ (dg-schost-1) のセカンダリノードの希望数を構成するときに、clsetup によって生成される cldevicegroup コマンドの例を示します。この例では、ディスクグループとボリュームは以前に作成されているものと想定しています。

# cldevicegroup set -p numsecondaries=1 dg-schost-1
# cldevicegroup show -v dg-schost-1

=== Device Groups ===                          

Device Group Name:                        dg-schost-1
  Type:                                     SVM
  failback:                                 yes
  Node List:                                phys-schost-1, phys-schost-2
  preferenced:                              yes
  numsecondaries:                           1
  diskset names:                            dg-schost-1

例 5-7 セカンダリノードの希望数のデフォルト値への設定

次に、ヌル文字列値を使用して、セカンダリノードのデフォルト数を構成する例を示します。デバイスグループは、デフォルト値が変更されても、デフォルト値を使用するように構成されます。

# cldevicegroup set -p numsecondaries= dg-schost-1
# cldevicegroup show -v dg-schost-1

=== Device Groups ===                          

Device Group Name:                        dg-schost-1
  Type:                                     SVM
  failback:                                 yes
  Node List:                                phys-schost-1, phys-schost-2 phys-schost-3
  preferenced:                              yes
  numsecondaries:                           1
  diskset names:                            dg-schost-1

デバイスグループ構成の一覧を表示する方法

構成の一覧を表示するために、スーパーユーザーになる必要はありません。ただし、solaris.cluster.read の権限は必要です。

phys-schost# プロンプトは、グローバルクラスタのプロンプトを表します。この手順は、グローバルクラスタ上で実行します。

この手順では、長形式の Oracle Solaris Cluster コマンドを使用して説明します。多くのコマンドには短縮形もあります。コマンド名の形式の長短を除き、コマンドは同一です。

例 5-8 すべてのデバイスグループのステータスの一覧表示

# cldevicegroup status +

=== Cluster Device Groups ===

--- Device Group Status ---

Device Group Name    Primary         Secondary        Status
-----------------    -------         ---------        ------
dg-schost-1          phys-schost-2   phys-schost-1    Online
dg-schost-2          phys-schost-1   --               Offline
dg-schost-3          phys-schost-3   phy-shost-2      Online

例 5-9 特定のデバイスグループの構成の一覧表示

# cldevicegroup show dg-schost-1

=== Device Groups ===                          

Device Group Name:                              dg-schost-1
  Type:                                           SVM
  failback:                                       yes
  Node List:                                      phys-schost-2, phys-schost-3
  preferenced:                                    yes
  numsecondaries:                                 1
  diskset names:                                  dg-schost-1

デバイスグループのプライマリノードを切り替える

次の手順は、アクティブでないデバイスグループを起動する (オンラインにする) ときにも使用できます。

phys-schost# プロンプトは、グローバルクラスタのプロンプトを表します。この手順は、グローバルクラスタ上で実行します。

この手順では、長形式の Oracle Solaris Cluster コマンドを使用して説明します。多くのコマンドには短縮形もあります。コマンド名の形式の長短を除き、コマンドは同一です。

  1. クラスタの任意のノードで、スーパーユーザーになるか、RBAC の承認 solaris.cluster.modify を提供するプロファイルを使用します。
  2. cldevicegroup switch を使用して、デバイスグループのプライマリノードを切り替えます。
    # cldevicegroup switch -n nodename devicegroup 
    -n nodename

    切り替え先のノードの名前を指定します。このノードが新しいプライマリノードになります。

    devicegroup

    切り替えるデバイスグループを指定します。

  3. デバイスグループが新しいプライマリノードに切り替わったことを確認します。

    デバイスグループが適切に登録されている場合、次のコマンドを使用すると、新しいデバイスグループの情報が表示されます。

    # cldevice status devicegroup

例 5-10 デバイスグループのプライマリノードの切り替え

次に、デバイスグループのプライマリノードを切り替えて変更結果を確認する例を示します。

# cldevicegroup switch -n phys-schost-1 dg-schost-1

# cldevicegroup status dg-schost-1

=== Cluster Device Groups ===

--- Device Group Status ---

Device Group Name    Primary        Secondary       Status
-----------------    -------        ---------       ------
dg-schost-1          phys-schost-1   phys-schost-2  Online

デバイスグループを保守状態にする方法

デバイスグループを保守状態にすることによって、デバイスのいずれかにアクセスされたときに、デバイスグループが自動的にオンラインになることを防ぎます。デバイスグループを保守状態にするべきなのは、修理手順において、修理が終わるまで、すべての入出力活動を停止する必要がある場合などです。また、デバイスグループを保守状態にすることによって、別のノード上のディスクセットまたはディスクグループを修復していても、当該ノード上のデバイスグループはオンラインにならないため、データの損失を防ぎます。

破損したディスクセットを復元する方法については、「破損したディスクセットの復元」を参照してください。


注 - デバイスグループを保守状態にする前に、そのデバイスへのすべてのアクセスを停止し、依存するすべてのファイルシステムをマウント解除する必要があります。


phys-schost# プロンプトは、グローバルクラスタのプロンプトを表します。この手順は、グローバルクラスタ上で実行します。

この手順では、長形式の Oracle Solaris Cluster コマンドを使用して説明します。多くのコマンドには短縮形もあります。コマンド名の形式の長短を除き、コマンドは同一です。

  1. デバイスグループを保守状態にします。
    1. デバイスグループが有効である場合は、デバイスグループを無効にします。
      # cldevicegroup disable devicegroup
    2. デバイスグループをオフラインにします。
      # cldevicegroup offline devicegroup
  2. 修理手順を実行するときに、ディスクセットまたはディスクグループの所有権が必要な場合は、ディスクセットまたはディスクグループを手動でインポートします。

    Solaris ボリュームマネージャー の場合:

    # metaset -C take -f -s diskset

    注意

    注意 - Solaris ボリュームマネージャー ディスクセットの所有権を取得する場合、デバイスグループが保守状態にあるときは、metaset -C take コマンドを使用する必要がありますmetaset -t を使用すると、所有権の取得作業の一部として、デバイスグループがオンラインになります。


  3. 必要な修理手順を実行します。
  4. ディスクセットまたはディスクグループの所有権を解放します。

    注意

    注意 - デバイスグループを保守状態から戻す前に、ディスクセットまたはディスクグループの所有権を解放する必要があります。所有権を解放しないと、データが失われる可能性があります。


    • Solaris ボリュームマネージャー の場合:

      # metaset -C release -s diskset
  5. デバイスグループをオンラインにします。
    # cldevicegroup online devicegroup
    # cldevicegroup enable devicegroup

例 5-11 デバイスグループを保守状態にする

次に、デバイスグループ dg-schost-1 を保守状態にし、保守状態からデバイスグループを削除する方法の例を示します。

[Place the device group in maintenance state.]
# cldevicegroup disable dg-schost-1
# cldevicegroup offline dg-schost-1 
[If needed, manually import the disk set or disk group.]
For Solaris ボリュームマネージャー:
  # metaset -C take -f -s dg-schost-1
  
[Complete all necessary repair procedures.]  
[Release ownership.]
For Solaris ボリュームマネージャー:
  # metaset -C release -s dg-schost-1
  
[Bring the device group online.]
# cldevicegroup online dg-schost-1
# cldevicegroup enable dg-schost-1