ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris Cluster システム管理 Oracle Solaris Cluster 4.1 (日本語) |
1. Oracle Solaris Cluster の管理の概要
2. Oracle Solaris Cluster と RBAC
5. グローバルデバイス、ディスクパス監視、およびクラスタファイルシステムの管理
Solaris Volume Manager のグローバルデバイスのアクセス権
EMC Symmetrix Remote Data Facility で複製されたデバイスの管理
EMC SRDF を使用して DID デバイスを複製用に構成する方法
EMC SRDF で複製されたグローバルデバイスグループ構成を確認する方法
例: Oracle Solaris Cluster の SRDF 複製グループの構成
グローバルデバイス名前空間で使用する lofi デバイスのサイズを変更する方法
専用パーティションから lofi デバイスにグローバルデバイス名前空間を移行する方法
lofi デバイスから専用パーティションにグローバルデバイス名前空間を移行する方法
デバイスグループを追加および登録する方法 (Solaris Volume Manager)
デバイスグループ (raw ディスク) を追加および登録する方法
デバイスグループを削除して登録を解除する方法 (Solaris Volume Manager )
すべてのストレージデバイスのデフォルトのグローバルな SCSI プロトコル設定を表示する方法
単一ストレージデバイスの SCSI プロトコルを表示する方法
すべてのストレージデバイスのデフォルトのグローバルなフェンシングプロトコル設定を変更する方法
単一ストレージデバイスのフェンシングプロトコルを変更する方法
監視しているすべての共有ディスクパスが失敗したときのノードの自動リブートを有効にする方法
すべての監視共有ディスクパスが失敗した場合にノードの自動リブートを無効にする方法
クラスタの要件の変化により、クラスタ上のデバイスグループの追加、削除、または変更が必要になる場合があります。Oracle Solaris Cluster には、このような変更を行うために使用できる、clsetup と呼ばれる対話型インタフェースがあります。clsetup は cluster コマンドを生成します。生成されるコマンドについては、各説明の後にある例を参照してください。次の表に、デバイスグループを管理するためのタスクを示し、またこのセクションの適切な手順へのリンクを示します。
注意 - ほかのノードが有効なクラスタメンバーであり、それらのノードの少なくとも 1 つがディスクセットを持つ場合は、クラスタの外側でブートされるクラスタノードで metaset —s setname —f -t を実行しないでください。 |
注 - Oracle Solaris Cluster ソフトウェアは、クラスタ内のディスクデバイスやテープデバイスごとに、raw ディスクデバイスグループを自動的に作成します。ただし、クラスタデバイスグループはグローバルデバイスとしてアクセスされるまでオフラインのままです。
表 5-3 タスクマップ: デバイスグループの管理
|
新しいグローバルデバイスを追加するときに、cldevice populate コマンドを実行して手動でグローバルデバイス名前空間を更新します。
注 - コマンドを実行するノードがクラスタのメンバーでない場合は、cldevice populate コマンドを実行しても無効です。また、/global/.devices/node@ nodeID ファイルシステムがマウントされていない場合も、コマンドは無効になります。
このコマンドは、すべてのノードで同時に実行できます。詳細は、devfsadm(1M) のマニュアルページを参照してください。
# cldevice populate
ノードの 1 つで cldevice コマンドが実行された場合でも、このコマンドはリモートから自分自身をすべてのノードで呼び出します。 cldevice populate コマンドが処理を終了したかどうかを確認するには、クラスタの各ノードで次のコマンドを実行します。
# ps -ef | grep cldevice populate
例 5-7 グローバルデバイス名前空間を更新する
次の例に、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
グローバルクラスタの 1 つ以上のノードのグローバルデバイス名前空間で 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
この警告は無視してもかまいません。
次の例は、サイズが 200M バイトの新しい /.globaldevices ファイルの作成を示しています。
phys-schost# rm /.globaldevices phys-schost# mkfile 200M /.globaldevices
phys-schost# lofiadm -a /.globaldevices phys-schost# newfs `lofiadm /.globaldevices` < /dev/null
グローバルデバイスが新しいファイルシステムに生成されました。
phys-schost# reboot
専用パーティションでグローバルデバイス名前空間を作成するのではなく、ループバックファイルインタフェース (lofi) デバイス上に名前空間を作成することができます。
注 - ルートファイルシステムに ZFS がサポートされていますが、重要な例外が 1 つあります。グローバルデバイスファイルシステムにブートディスクの専用パーティションを使用する場合、ファイルシステムとして UFS のみを使用してください。グローバルデバイス名前空間には、UFS ファイルシステムで動作しているプロキシファイルシステム (PxFS) が必要です。ただし、/var または /home などの、グローバルデバイス名前空間の UFS ファイルシステムは、ルート (/) ファイルシステムやほかのルートファイルシステム用の ZFS ファイルシステムと共存できます。また、lofi デバイスを使用してグローバルデバイス名前空間をホストする場合、ルートファイルシステムに対する ZFS の使用に関する制限はありません。
次の手順は、既存のグローバルデバイス名前空間を専用パーティションから 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
このエントリには、/global/.devices/node@nodeID で始まるマウントパスがあります。
# svcadm disable globaldevices # svcadm disable scmountdev # svcadm enable scmountdev # svcadm enable globaldevices
lofi デバイスは現在 /.globaldevices に作成され、グローバルデバイスファイルシステムとしてマウントされています。
# /usr/cluster/bin/cldevice populate
各ノードで、コマンドが処理を完了したことを確認してから、クラスタに対する以降の操作を実行してください。
# ps -ef | grep cldevice populate
グローバルデバイス名前空間は、現在 lofi デバイスにあります。
これは、この手順の実行中にグローバルデバイスがこのノードからサービスを提供されないようにするために行います。 手順については、「非クラスタモードでノードをブートする方法」を参照してください。
サイズが 512 M バイト以上
UFS ファイルシステムの使用
# /usr/sbin/clinfo -n node- ID
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 となります。
# lofiadm -d /.globaldevices
# rm /.globaldevices
# svcadm disable globaldevices# svcadm disable scmountdev # svcadm enable scmountdev # svcadm enable globaldevices
パーティションは現在グローバルデバイス名前空間ファイルシステムとしてマウントされています。
# /usr/cluster/bin/cldevice populate
# ps -ef | grep cldevice populate
グローバルデバイス名前空間は、現在専用パーティションにあります。
Solaris Volume Manager、ZFS、または raw ディスクのデバイスグループを追加および登録できます。
metaset コマンドを使用して Solaris Volume Manager ディスクセットを作成し、そのディスクセットを Oracle Solaris Cluster デバイスグループとして登録します。 デバイスグループには、ディスクセットを登録するときにディスクセットに割り当てた名前が自動的に割り当てられます。
phys-schost# プロンプトは、グローバルクラスタのプロンプトを表します。この手順は、グローバルクラスタ上で実行します。
この手順では、長形式の Oracle Solaris Cluster コマンドを使用して説明します。多くのコマンドには短縮形もあります。コマンド名の形式の長短を除き、コマンドは同一です。
注意 - 作成する Oracle Solaris Cluster デバイスグループ (Solaris Volume Manager、または raw ディスク) の名前は、複製されたデバイスグループと同じ名前にしてください。 |
複数所有者のディスクグループを作成するには、-M オプションを使用します。
# metaset -s diskset -a -M -h nodelist
作成するディスクセットを指定します。
ディスクセットをマスターできるノードの一覧を追加します。
ディスクグループを複数所有者として指定します。
注 - metaset コマンドを実行して設定した、クラスタ上の Solaris Volume Manager デバイスグループは、そのデバイスグループに含まれるノード数に関わらず、デフォルトでセカンダリノードになります。 デバイスグループが作成されたあと、clsetup ユーティリティーを使用することで、セカンダリノードの希望数を変更できます。ディスクのフェイルオーバーの詳細については、「デバイスグループのセカンダリノードの希望数を設定する方法」を参照してください。
# cldevicegroup sync devicegroup
デバイスグループ名は metaset に指定したディスクセット名と一致します。
# cldevicegroup list
# 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 …
完全な DID パス名を使用します。
# metaset -s setname -a /dev/did/rdsk/dN
デバイスグループ名と同じである、ディスクセット名を指定します。
ディスクセットにドライブを追加します。
注 - ディスクセットにドライブを追加するときは、下位デバイス名 ( cNtX dY) は使用しないでください。下位レベルデバイス名はローカル名であり、クラスタ全体で一意ではないため、この名前を使用するとディスクセットがスイッチオーバーできなくなる可能性があります。
# metaset -s setname
例 5-8 Solaris Volume Manager デバイスグループの追加
次の例は、ディスクドライブ /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
Oracle Solaris Cluster ソフトウェアでは、他のボリュームマネージャーに加え、raw ディスクデバイスグループを使用できます。 Oracle Solaris Cluster を最初に構成する際、クラスタ内の raw デバイスごとにデバイスグループが自動的に構成されます。 ここで説明する手順を使用して、これらの自動作成されたデバイスグループを Oracle Solaris Cluster ソフトウェアで使用できるように再構成します。
次の理由のため、raw ディスクタイプの新しいデバイスグループを作成します。
複数の DID をデバイスグループに追加したい
デバイスグループの名前を変更する必要がある
cldevicegroup コマンドの -v オプションを使用せずにデバイスグループのリストを作成したい
注意 - 複製したデバイスにデバイスグループを作成する場合は、作成するデバイスグループ名 (Solaris Volume Manager、または raw ディスク) は複製したデバイスグループの名前と同じにする必要があります。 |
次のコマンドは、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
次のコマンドは、グローバルデバイスグループ 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 を複製するには、名前付きデバイスグループを作成し、zpool に属するディスクをリストする必要があります。デバイスは、一度に 1 つのデバイスグループのみに属することができるため、デバイスを含む Oracle Solaris Cluster デバイスグループがすでにある場合、そのデバイスを新しい ZFS デバイスグループに追加する前にそのグループを削除する必要があります。
作成する Oracle Solaris Cluster デバイスグループ (Solaris Volume Manager、または raw ディスク) の名前は、複製されたデバイスグループと同じ名前にしてください。
たとえば、2 つのデバイス /dev/did/dsk/d2 と /dev/did/dsk/d13 を含む mypool と呼ばれる zpool がある場合、d2 と d13 と呼ばれる 2 つのデフォルトデバイスグループを削除する必要があります。
# cldevicegroup offline dsk/d2 dsk/d13 # cldevicegroup delete dsk/d2 dsk/d13
# cldevicegroup create -n pnode1,pnode2 -d d2,d13 -t rawdisk mypool
このアクションでは、mypool(zpool と同じ名前)と呼ばれるデバイスグループが作成され、raw デバイス /dev/did/dsk/d2 と /dev/did/dsk/d13 を管理します。
# zpool create mypool mirror /dev/did/dsk/d2 /dev/did/dsk/d13
# clrg create -n pnode1,pnode2 migrate_srdfdg-rg
このデバイスは、手順 2 で作成しました。
# clrs create -t HAStoragePlus -x globaldevicepaths=mypool -g \ migrate_srdfdg-rg hasp2migrate_mypool
# clrg create -n pnode1,pnode2 -p \ RG_affinities=+++migrate_srdfdg-rg oracle-rg
resource_dependencies プロパティーを手順 5 で作成した hasp-rs リソースに設定します。
# clrs create -g oracle-rg -t HAStoragePlus -p zpools=mypool \ -p resource_dependencies=hasp2migrate_mypool \ -p ZpoolsSearchDir=/dev/did/dsk hasp2import_mypool
デバイスグループに対して様々な管理タスクを実行することができます。
デバイスグループは Oracle Solaris Cluster に登録されている Solaris Volume Manager ディスクセットです。 Solaris Volume Manager デバイスグループを削除するには、metaclear と metaset コマンドを使用します。これらのコマンドは、Oracle Solaris Cluster デバイスグループと同じ名前を持つデバイスグループを削除して、ディスクグループの登録を解除します。
ディスクセットを削除する方法については、Solaris Volume Manager のドキュメントを参照してください。
すべてのデバイスグループの潜在的なプライマリノードからクラスタノードを削除する場合は、この手順を使用します。
phys-schost# プロンプトは、グローバルクラスタのプロンプトを表します。この手順は、グローバルクラスタ上で実行します。
この手順では、長形式の Oracle Solaris Cluster コマンドを使用して説明します。多くのコマンドには短縮形もあります。コマンド名の形式の長短を除き、コマンドは同一です。
各デバイスグループの Device group node list からこのノード名を検索します。
# cldevicegroup list -v
# cldevicegroup list -v
ノードがどのデバイスグループの潜在的なプライマリノードのリストにも存在しなければ、このコマンドは何も返しません。
# cldevicegroup list -v nodename
Solaris Volume Manager デバイスグループの潜在的なプライマリノードのリストからクラスタノードを削除するには、次の手順を使用します。ノードを削除したいグループデバイスごとに metaset コマンドを繰り返します。
注意 - ほかのノードが有効なクラスタメンバーであり、それらのノードの少なくとも 1 つがディスクセットを持つ場合は、クラスタの外側でブートされるクラスタノードで metaset —s setname —f -t を実行しないでください。 |
phys-schost# プロンプトは、グローバルクラスタのプロンプトを表します。この手順は、グローバルクラスタ上で実行します。
この手順では、長形式の Oracle Solaris Cluster コマンドを使用して説明します。多くのコマンドには短縮形もあります。コマンド名の形式の長短を除き、コマンドは同一です。
Solaris Volume Manager のデバイスグループは、デバイスグループタイプが SDS/SVM のものです。
phys-schost-1% cldevicegroup show devicegroup
# cldevicegroup status devicegroup
# metaset -s setname -d -h nodelist
デバイスグループの名前を指定します。
-h で指定されたノードをデバイスグループから削除します。
削除するノード (複数可) のノード名を指定します。
注 - 更新が完了するまでに数分間かかることがあります。
コマンドが正常に動作しない場合は、コマンドに -f (force) オプションを追加します。
# metaset -s setname -d -f -h nodelist
デバイスグループ名は metaset に指定したディスクセット名と一致します。
phys-schost-1% cldevicegroup list -v devicegroup
例 5-9 デバイスグループからノードを削除する (Solaris Volume Manager)
次に、デバイスグループ構成からホスト名 phys-schost-2 を削除する例を示します。この例では、指定したデバイスグループから phys-schost-2 を潜在的なプライマリノードとして削除します。cldevicegroup show コマンドを実行することにより、ノードが削除されていることを確認します。削除したノードが画面に表示されていないことを確認します。
[Determine the Solaris Volume Manager 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 [Assume the root role 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 ディスクデバイスグループの潜在的プライマリノードリストからクラスタノードを削除する場合は、この手順を使用します。
phys-schost# プロンプトは、グローバルクラスタのプロンプトを表します。この手順は、グローバルクラスタ上で実行します。
この手順では、長形式の Oracle Solaris Cluster コマンドを使用して説明します。多くのコマンドには短縮形もあります。コマンド名の形式の長短を除き、コマンドは同一です。
# cldevicegroup show -n nodename -t rawdisk +
# cldevicegroup set -p localonly=false devicegroup
localonly プロパティーについての詳細は、cldevicegroup(1CL) のマニュアルページを参照してください。
デバイスグループタイプ Disk は、この raw ディスクデバイスグループの localonly プロパティーが無効になっていることを表します。
# cldevicegroup show -n nodename -t rawdisk -v +
この手順は、削除するノードに接続されている raw ディスクデバイスグループごとに行う必要があります。
# cldevicegroup remove-node -n nodename devicegroup
例 5-10 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 Volume Manager デバイスグループの preferenced 属性と failback 属性を設定または設定解除します。
始める前に
この手順を実行するには、属性値を変更するデバイスグループの名前が必要です。
phys-schost# プロンプトは、グローバルクラスタのプロンプトを表します。この手順は、グローバルクラスタ上で実行します。
この手順では、長形式の Oracle Solaris Cluster コマンドを使用して説明します。多くのコマンドには短縮形もあります。コマンド名の形式の長短を除き、コマンドは同一です。
# clsetup
メインメニューが表示されます。
「デバイスグループメニュー」が表示されます。
「デバイスグループのプロパティー変更メニュー」が表示されます。
指示に従って、デバイスグループの preferenced および failback オプションを設定します。
次のコマンドを実行し、表示されるデバイスグループ情報を確認します。
# cldevicegroup show -v devicegroup
例 5-11 デバイスグループのプロパティーの変更
次に、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 コマンドを使用して説明します。多くのコマンドには短縮形もあります。コマンド名の形式の長短を除き、コマンドは同一です。
# clsetup
メインメニューが表示されます。
「デバイスグループメニュー」が表示されます。
「デバイスグループのプロパティー変更メニュー」が表示されます。
指示に従って、デバイスグループに構成したいセカンダリノードの希望数を入力します。すると対応する cldevicegroup コマンドが実行され、ログが出力され、ユーティリティーは前のメニューに戻ります。
# 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
注 - このような構成変更には、ボリュームの追加や削除、既存ボリュームのグループ、所有者、アクセス権の変更などがあります。構成変更後に登録を行うと、グローバルな名前空間が正しい状態になります。「グローバルデバイス名前空間を更新する方法」 を参照してください。
次のコマンドを実行して、表示されるデバイスグループ情報を確認します。
# cldevicegroup show -v devicegroup
例 5-12 セカンダリノードの希望数の変更 (Solaris Volume Manager)
次に、デバイスグループ (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-13 セカンダリノードの希望数のデフォルト値への設定
次に、ヌル文字列値を使用して、セカンダリノードのデフォルト数を構成する例を示します。デバイスグループは、デフォルト値が変更されても、デフォルト値を使用するように構成されます。
# 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
構成の一覧を表示するために、root 役割になる必要はありません。ただし、solaris.cluster.read の権限は必要です。
phys-schost# プロンプトは、グローバルクラスタのプロンプトを表します。この手順は、グローバルクラスタ上で実行します。
この手順では、長形式の Oracle Solaris Cluster コマンドを使用して説明します。多くのコマンドには短縮形もあります。コマンド名の形式の長短を除き、コマンドは同一です。
cldevicegroup show を使用して、クラスタ内のすべてのデバイスグループの構成を一覧表示します。
cldevicegroup show devicegroup を使用して、1 つのデバイスグループの構成を一覧表示します。
cldevicegroup status devicegroup を使用して、1 つのデバイスグループのステータスを判別します。
cldevicegroup status + を使用して、クラスタ内のすべてのデバイスグループのステータスを判別します。
詳細情報を表示するには、上記のコマンドと -v オプションを使用します。
例 5-14 すべてのデバイスグループのステータスの一覧表示
# 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-15 特定のデバイスグループの構成の一覧表示
# 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 コマンドを使用して説明します。多くのコマンドには短縮形もあります。コマンド名の形式の長短を除き、コマンドは同一です。
# cldevicegroup switch -n nodename devicegroup
切り替え先のノードの名前を指定します。このノードが新しいプライマリノードになります。
切り替えるデバイスグループを指定します。
デバイスグループが適切に登録されている場合、次のコマンドを使用すると、新しいデバイスグループの情報が表示されます。
# cldevice status devicegroup
例 5-16 デバイスグループのプライマリノードの切り替え
次に、デバイスグループのプライマリノードを切り替えて変更結果を確認する例を示します。
# 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 コマンドを使用して説明します。多くのコマンドには短縮形もあります。コマンド名の形式の長短を除き、コマンドは同一です。
# cldevicegroup disable devicegroup
# cldevicegroup offline devicegroup
Solaris Volume Manager の場合:
# metaset -C take -f -s diskset
注意 - Solaris Volume Manager ディスクセットの所有権を取得する場合、デバイスグループが保守状態にあるときは、metaset -C take コマンドを使用する必要があります。metaset -t を使用すると、所有権の取得作業の一部として、デバイスグループがオンラインになります。 |
注意 - デバイスグループを保守状態から戻す前に、ディスクセットまたはディスクグループの所有権を解放する必要があります。所有権を解放しないと、データが失われる可能性があります。 |
Solaris Volume Manager の場合:
# metaset -C release -s diskset
# cldevicegroup online devicegroup # cldevicegroup enable devicegroup
例 5-17 デバイスグループを保守状態にする
次に、デバイスグループ 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 Volume Manager: # metaset -C take -f -s dg-schost-1 [Complete all necessary repair procedures.] [Release ownership.] For Solaris Volume Manager: # metaset -C release -s dg-schost-1 [Bring the device group online.] # cldevicegroup online dg-schost-1 # cldevicegroup enable dg-schost-1