この章では、ディスクセットに関連する作業について説明します。 これらの作業に伴う概念については、第 19 章「ディスクセット (概要)」を参照してください。
次の表に、Solaris ボリュームマネージャのディスクセットを管理するのに必要な作業を示します。
作業 |
説明 |
参照先 |
---|---|---|
ディスクセットを作成する |
Solaris ボリュームマネージャの GUI か metaset コマンドを使ってディスクセットを作成します。 | ディスクセットを作成するには |
ディスクセットにドライブを追加する |
Solaris ボリュームマネージャの GUI か metaset コマンドを使ってディスクセットにドライブを追加します。 | ディスクセットにドライブを追加するには |
ディスクセットにホストを追加する |
Solaris ボリュームマネージャの GUI か metaset コマンドを使ってディスクセットにホストを追加します。 | ディスクセットにホストを追加するには |
ディスクセットに Solaris ボリュームマネージャのボリュームを作成する |
Solaris ボリュームマネージャの GUI か metainit コマンドを使ってディスクセットにボリュームを作成します。 | |
ディスクセットの状態をチェックする |
Solaris ボリュームマネージャの GUI か metastat コマンドを使ってディスクセットの状態をチェックします。 | |
ディスクセットからディスクを削除する |
Solaris ボリュームマネージャの GUI か metaset コマンドを使ってディスクセットからドライブを削除します。 | |
ディスクセットを取得する |
Solaris ボリュームマネージャの GUI か metaset コマンドを使ってディスクセットを取得します。 | |
ディスクセットを解放する |
Solaris ボリュームマネージャの GUI か metaset コマンドを使ってディスクセットを解放します。 | |
ディスクセットからホストを削除する |
Solaris ボリュームマネージャの GUI か metaset コマンドを使ってディスクセットからホストを削除します。
| |
ディスクセットを削除する |
Solaris ボリュームマネージャの GUI か metaset コマンドを使ってディスクセットから最後のホストを削除し、ディスクセットを削除します。 |
ディスクセットの背景情報を確認します。
次のどちらかの方法でディスクセットを作成します。
Solaris 管理コンソール内の「拡張ストレージ」から「ディスクセット (Disk Sets)」ノードを開きます。 「アクション (Action)」、「ディスクセットを作成 (Create Disk Set)」の順に選択し、ウィザードの指示に従います。 詳細は、オンラインヘルプを参照してください。
コマンド行から次の形式の metaset コマンドを実行して、ディスクセットを最初から作成します。
metaset [-sdiskset-name ] [-a] [-h hostname]metaset コマンドが使用するディスクセットの名前です。
ディスクセットにホストを追加することを意味します。 Solaris ボリュームマネージャは 1 つのディスクセットで 4 つのホストをサポートします。
ディスクセットに追加する 1 つまたは複数のホストを指定します。 最初のホストを追加すると、ディスクセットが作成されます。 2 つめのホストは後で追加することができます。ただし、ディスクセット内のすべてのドライブが指定した hostname 内に存在しなければなりません。 hostname は、/etc/nodename ファイルに指定されている名前と同じでなければなりません。
詳細は、metaset(1M) のマニュアルページを参照してください。
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 ボリュームマネージャの大容量ボリュームのサポートについての概要を参照してください。
ディスクセットに追加されるドライブは、次の条件を満たしていなければなりません。
ドライブがボリュームやホットスペア集合内で使用されていたり、ドライブに状態データベースの複製が含まれていてはなりません。
ドライブがマウントされていたり、スワップされていたり、アプリケーションによって開かれていてはなりません。
ディスクセットの背景情報を確認します。
次のどちらかの方法でディスクセットにドライブを追加します。
Solaris 管理コンソール内の「拡張ストレージ」から「ディスクセット (Disk Sets)」ノードを開きます。 変更するディスクセットを右クリックして、「プロパティ (Properties)」を選択します。 「ディスク (Disks)」タブを選択し、「ディスクを追加 (Add Disk)」をクリックして、ウィザードの指示に従います。 詳細は、オンラインヘルプを参照してください。
コマンド行から次の形式の metaset コマンドを実行して、ディスクセットにドライブを追加します。
metaset [-s diskset-name] [a] [disk-name]metaset コマンドが使用するディスクセットの名前です。
ディスクセットにドライブを追加することを意味します。
ディスクセットに追加するドライブを指定します。 ドライブ名の形式は cxtxdx です。名前の最後にスライス識別子「sx」は付けません。 ドライブ名は、ディスクセットを共有するすべてのホストで共通でなければなりません。
詳細は、metaset のマニュアルページ (metaset(1M)) を参照してください。
ドライブを最初にディスクセットに追加するホストがディスクセットの所有者になります。
データが格納されているディスクを追加しないでください。このようなディスクをディスクセットに追加すると、その過程でディスクのパーティションが再分割され、データが破壊されることがあります。 詳細は、例 — 2 つの共有ディスクセットを参照してください。
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 つのホストがすでに接続されているディスクセットに別のホストを追加する手順について説明します。
ディスクセットの背景情報を確認します。
次のどちらかの方法でディスクセットにホストを追加します。
Solaris 管理コンソール内の「拡張ストレージ」から「ディスクセット (Disk Sets)」ノードを開き、変更するディスクセットを選択します。 変更するディスクセットを右クリックして、「プロパティ (Properties)」を選択します。 「ホスト (Hosts)」タブを選択し、「ホストを追加 (Add Host)」をクリックして、ウィザードの指示に従います。 詳細は、オンラインヘルプを参照してください。
コマンド行から次の形式の metaset コマンドを実行して、ディスクセットにホストを追加します。
metaset [-s diskset-name] [-a] [-h hostname]metaset コマンドが使用するディスクセットの名前です。
ディスクセットにドライブを追加することを意味します。
ディスクセットに追加する 1 つまたは複数のホスト名を指定します。 最初のホストを追加すると、ディスクセットが作成されます。 ホスト名は、/etc/nodename ファイルに指定されている名前と同じでなければなりません。
詳細は、metaset のマニュアルページ (metaset(1M)) を参照してください。
オプションを指定せずに 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 ボリュームマネージャのデバイスをディスクセット内に作成します。
Solaris 管理コンソール内の「拡張ストレージ」から「ボリューム (Volumes)」、「状態データベースの複製 (State Database Replicas)」、または「ホットスペアプール (Hot Spare Pools)」ノードを選択します。 「アクション (Action)」、「作成 (Create)」の順に選択し、ウィザードの指示に従います。 詳細は、オンラインヘルプを参照してください。
コマンド行ユーティリティを使ってディスクセット内にコンポーネントを作成します。この構文は、コマンドのすぐ後に -s diskset-name を指定することを除き、ディスクセットを使用しない場合の基本構文と同じです。
# 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 デバイス) d11 と d12 からなります。
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 コマンドを実行すると、すべてのディスクセットの状態が表示されます。
ディスクセットを削除するためには、まず、ディスクセットからすべてのドライブを削除する必要があります。
Solaris 管理コンソール内の「拡張ストレージ」から「ディスクセット (Disk Sets)」ノードを開きます。 解放するディスクセットを右クリックし、メニューから「プロパティ (Properties)」を選択します。 「ディスク (Disks)」タブをクリックし、オンラインヘルプの指示に従います。
metaset -s diskset-name-d drivename |
metaset コマンドが使用するディスクセットの名前です。
ディスクセットから削除するドライブの名前です。 ドライブ名の形式は cxtxdx です。名前の最後にスライス識別子「sx」は付けません。
詳細は、metaset(1M) のマニュアルページを参照してください。
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 からディスクを削除します。
次のどちらかの方法でディスクセットを取得します。
Solaris 管理コンソール内の「拡張ストレージ」から「ディスクセット (Disk Sets)」ノードを開きます。 取得するディスクセットを右クリックし、メニューから「所有権を取得 (Take Ownership)」を選択します。 詳細は、オンラインヘルプを参照してください。
次の形式の metaset コマンドを実行します。
metaset -s diskset-name-t |
metaset コマンドが使用するディスクセットの名前です。
ディスクセットを取得することを意味します。
ディスクセットを強制的に取得することを意味します。
詳細は、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* という名前を使えば、どちらのホストからでもディスクに直接アクセスできます。
ディスクセットの背景情報を確認します。
次のどちらかの方法でディスクセットを解放します。
Solaris 管理コンソール内の「拡張ストレージ」から「ディスクセット (Disk Sets)」ノードを開きます。 解放するディスクセットを右クリックし、メニューから「所有権を開放 (Release Ownership)」を選択します。 詳細は、オンラインヘルプを参照してください。
次の形式の metaset コマンドを実行して、ディスクセットの所有権を解放します。
metaset -s diskset-name-r |
metaset コマンドが使用するディスクセットの名前です。
ディスクセットを解放することを意味します。 ディスクセット内のすべてのディスクの予約が取り消されます。 ディスクセット内のボリュームにはアクセスできなくなります。
詳細は、metaset(1M) のマニュアルページを参照してください。
ディスクセットの所有権は、ディスクセットを所有するホストだけに表示されます。
オプションを指定せずに 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 だけです。
ディスクセットを削除する場合は、ディスクセットにドライブが含まれていたり、ディスクセットに他のホストが接続していてはなりません。 最後のホストを削除すると、ディスクセットは削除されます。
次のどちらかの方法でディスクセットからホストを削除し、そのホストが最後のホストである場合は、ディスクセットも削除します。
Solaris 管理コンソール内の「拡張ストレージ」から「ディスクセット (Disk Sets)」ノードを開きます。 解放するディスクセットを右クリックし、メニューから「削除 (Delete)」を選択します。 詳細は、オンラインヘルプを参照してください。
次の形式の metaset コマンドを実行してディスクセットからホストを削除し、 そのホストが最後のホストである場合は、ディスクセットも削除します。
metaset -s diskset-name -d -h hostname |
metaset コマンドが使用するディスクセットの名前です。
ディスクセットからホストを削除することを意味します。
削除するホストの名前を指定します。
# metaset -s blue -d idiom |
詳細は、metaset(1M) のマニュアルページを参照してください。
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 から最後のホストを削除します。