この章では、ディスクセットに関連する作業について説明します。各作業に関連する概念については、第 18 章「ディスクセット (概要)」を参照してください。
次の作業マップに、Solaris ボリュームマネージャのディスクセットと Solaris Volume Manager for Sun Cluster 複数所有者ディスクセットを管理するために必要な作業を示します。特に注記していない限り、すべてのコマンドは両方のディスクセットに使用できます。複数所有者ディスクセットに関連する作業には、Solaris ボリュームマネージャ GUI は使用できません。
作業 |
説明 |
参照先 |
---|---|---|
ディスクセットを作成する |
Solaris ボリュームマネージャの GUI か metaset コマンドを使ってディスクセットを作成します。 metaset -M コマンドを使用して、複数所有者ディスクセットを作成します。 | |
ディスクセットにディスクを追加する |
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 コマンドを使ってディスクセットから最後のホストを削除し、ディスクセットを削除します。 | |
ディスクセットをインポートする |
metaimport コマンドを使用して、ディスクセットについてのレポートを取得することによって、どのディスクセットをインポートできるかを判断したり、あるシステムから別のシステムにディスクセットをインポートしたりします。 |
「ディスクセットを使用するときの指針」を確認します。
次のどちらかの方法でディスクセットを作成します。
Solaris 管理コンソール内の「拡張ストレージ」から「ディスクセット (Disk Sets)」ノードを開きます。「アクション (Action)」、「ディスクセットの作成 (Create Disk Set)」の順に選択します。さらに、ウィザードの指示に従います。詳細は、オンラインヘルプを参照してください。
コマンド行から次の形式の metaset コマンドを実行して、ディスクセットを最初から作成します。
# metaset -s diskset-name -a -h -M hostname |
metaset コマンドの実行対象となるディスクセットの名前を指定します。
ディスクセットにホストを追加することを意味します。Solaris ボリュームマネージャは、ディスクセット当たり最大で 4 つのホストをサポートします。
複数所有者ディスクセットを作成することを意味します。
ディスクセットに追加する 1 つまたは複数のホストを指定します。最初のホストを追加すると、ディスクセットが作成されます。2 番目のホストはあとで追加できます。ただし、指定した hostname にディスクセット内のディスクが全部見つからなかった場合、2 番目のホストは受け付けられません。hostname は、/etc/nodename ファイルに指定されている名前と同じでなければなりません。
詳細は、metaset(1M) のマニュアルページを参照してください。
新しいディスクセットの状態をチェックする
# metaset |
次の例では、ホスト host1 から共有ディスクセット blue を作成します。metaset コマンドは状態を表示します。この時点ではディスクセットの所有者はいません。ディスクセットにディスクを追加するホストがデフォルトで所有者になります。
# metaset -s blue -a -h host1 # metaset Set name = blue, Set number = 1 Host Owner host1 |
次の例では、複数所有者ディスクセット red を作成します。metaset コマンド出力の先頭行に表示されている「Multi-owner」は、このディスクセットが複数所有者ディスクセットであることを示しています。
# metaset -s red -a -M -h nodeone # metaset -s red Multi-owner Set name = red, Set number = 1, Master = Host Owner Member nodeone Yes |
32 ビットカーネルの Solaris ソフトウェアを実行する予定がある場合、または Solaris 9 4/03 リリースより前のバージョンの Solaris OS を使用する予定がある場合は、1T バイトを超えるディスクをディスクセットに追加しないでください。Solaris ボリュームマネージャのマルチテラバイトボリュームサポートの詳細については、「Solaris ボリュームマネージャにおけるマルチテラバイトサポートの概要」を参照してください。
ディスクセットに追加されるディスクは、次の条件を満たしている必要があります。
ディスクがボリュームまたはホットスペア集合で使用中であってはなりません。
ディスクに状態データベースの複製が含まれていてはなりません。
ディスクがマウントされていたり、スワップされていたり、アプリケーションによって開かれていたりしてはなりません。
「ディスクセットを使用するときの指針」を確認します。
次のどちらかの方法でディスクセットにディスクを追加します。
Solaris 管理コンソール内の「拡張ストレージ」から「ディスクセット (Disk Sets)」ノードを開きます。変更するディスクを選択します。右マウスボタンをクリックして、「プロパティ (Properties)」を選択します。ディスク (Disks) タブを選択します。「ディスクを追加 (Add Disk)」をクリックします。さらに、ウィザードの指示に従います。詳細は、オンラインヘルプを参照してください。
コマンド行から次の形式の metaset コマンドを実行して、ディスクセットにディスクを追加します。
# metaset -s diskset-name -a disk-name |
metaset コマンドの実行対象となるディスクセットの名前を指定します。
ディスクセットにディスクを追加することを意味します。
ディスクセットに追加するディスクの名前です。ディスク名の形式は cxtxdx です。ディスクセットにディスクを追加する場合は、スライス識別子「sx」を指定しません。
詳細は、metaset(1M) のマニュアルページを参照してください。
ディスクセットに最初にディスクを追加するホストがディスクセットの所有者になります。
データの含まれているディスクをデータセットに追加してはなりません。ディスクセットにデータが含まれているディスクを追加すると、ディスクのパーティションが再分割され、データが破壊されることがあります。
ディスクセットとディスクの状態を検査します。
# metaset |
# metaset -s blue -a c1t6d0 # metaset Set name = blue, Set number = 1 Host Owner host1 Yes Drive Dbase c1t6d0 Yes |
この例では、ホスト名は host1 で、共有ディスクセットの名前は blue です。ディスクセット blue に追加されたディスクは c1t6d0 だけです。
コマンド行から個々のディスクを指定すると、一度に複数のディスクを追加できます。たとえば、次のコマンドを使用すると、ディスクセットに 2 つのディスクを同時に追加できます。
# metaset -s blue -a c1t6d0 c2t6d0 |
この手順では、1 つのホストがすでに接続されているディスクセットに別のホストを追加する手順について説明します。Solaris ボリュームマネージャは、ディスクセット当たり最大で 4 つのホストをサポートします。
「ディスクセットを使用するときの指針」を確認します。
次のどちらかの方法でディスクセットにホストを追加します。
Solaris 管理コンソール内の「拡張ストレージ」から「ディスクセット (Disk Sets)」ノードを開き、変更するディスクセットを選択します。変更するディスクを選択します。右マウスボタンをクリックして、「プロパティ (Properties)」を選択します。ホスト (Hosts) タブを選択します。「ホストを追加 (Add Host)」をクリックします。さらに、ウィザードの指示に従います。詳細は、オンラインヘルプを参照してください。
コマンド行から次の形式の metaset コマンドを実行して、ディスクセットにホストを追加します。
# metaset -s diskset-name -a -h hostname |
ホストを追加するディスクセットの名前を指定します。
指定されたディスクセットにホストを追加します。
ディスクセットに追加する 1 つまたは複数のホスト名を指定します。最初のホストを追加すると、ディスクセットが作成されます。ホスト名は、/etc/nodename ファイルに指定されている名前と同じである必要があります。
詳細は、metaset(1M) のマニュアルページを参照してください。
ディスクセットにホストが追加されたかどうかを確認します。
# metaset |
# metaset -s blue -a -h host2 # metaset Set name = blue, Set number = 1 Host Owner host1 Yes host2 Drive Dbase c1t6d0 Yes c2t6d0 Yes |
この例では、ディスクセットblue にホスト host2 を追加します。
ディスクセットを作成したら、ディスクセットに追加したディスクを使ってボリュームやホットスペア集合を作成できます。この操作には、Solaris 管理コンソール内の「拡張ストレージ」かコマンド行ユーティリティーを使用します。
次のどちらかの方法で、ボリュームなどの Solaris ボリュームマネージャコンポーネントをディスクセット内に作成します。
Solaris 管理コンソール内の「拡張ストレージ」から「ボリューム (Volumes)」、「状態データベースの複製 (State Database Replicas)」、または「ホットスペアプール (Hot Spare Pools)」ノードを選択します。「アクション (Action)」、「作成 (Create)」の順に選択します。さらに、ウィザードの指示に従います。詳細は、オンラインヘルプを参照してください。
同じコマンド行ユーティリティーと同じ基本構文を使用して、ボリューム、状態データベースの複製、またはホットスペア集合を作成します。ただし、コマンドごとに、コマンドのすぐ後ろに - s disk-set を指定します。
# command -s disk-set |
次の例では、ディスクセットblue にミラー d10 を作成します。ミラーはサブミラー (RAID-0 ボリューム) d11 と d12 からなります。
# 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 |
次のどちらかの方法でディスクセットの状態をチェックします。
Solaris 管理コンソール内の「拡張ストレージ」から「ディスクセット (Disk Sets)」ノードを開きます。監視するディスクセットで右マウスボタンをクリックします。メニューから「プロパティ (Properties) を選択します。詳細は、オンラインヘルプを参照してください。
次の形式の metaset コマンドを使用して、ディスクセットの状態を表示します。
# metaset -s diskset-name |
詳細は、metaset(1M) のマニュアルページを参照してください。
ディスクセットの所有権は、ディスクセットを所有するホストだけに表示されます。
次の例では、metaset コマンドに -s オプションとディスクセット名 blue を指定します。このコマンドの出力は、指定したディスクセットの状態情報です。出力から、host1 がディスクセットの所有者であることがわかります。metaset コマンドでは、ディスクセットに属するディスクも表示されます。
red# metaset -s blue Set name = blue, Set number = 1 Host Owner host1 Yes Drive Dbase c1t6d0 Yes c2t6d0 Yes |
オプションを指定しないで metaset コマンドを実行すると、すべてのディスクセットの状態が表示されます。
次のどちらかの方法でディスクセットからディスクを削除します。
Solaris 管理コンソール内の「拡張ストレージ」から「ディスクセット (Disk Sets)」ノードを開きます。解放するディスクセットで右マウスボタンをクリックします。メニューから「プロパティ (Properties) を選択します。ディスク (Disks) タブをクリックします。詳細は、オンラインヘルプを参照してください。
次の形式の metaset コマンドを使用して、ディスクセットからディスクを削除します。
# metaset -s diskset-name -d disk-name |
ディスクを削除するディスクセットの名前を指定します。
ディスクセットから削除するディスクの名前です。ディスク名の形式は cxtxdx です。ディスクセットからディスクを削除する場合は、スライス識別子「sx」を指定しません。
詳細は、metaset(1M) のマニュアルページを参照してください。
ディスクセットからディスクが削除されたかどうかを確認します。
# metaset -s diskset-name |
ディスクセットを削除するには、先にディスクセットからすべてのディスクを削除する必要があります。
次の例では、ディスクセット blue からディスク c1t6d0 を削除します。
host1# metaset -s blue -d c1t6d0 host1# metaset -s blue Set name = blue, Set number = 1 Host Owner host1 host2 Drive Dbase c2t6d0 Yes |
このオプションは複数所有者ディスクセット には使用できません。
次のどちらかの方法でディスクセットを取得します。
Solaris 管理コンソール内の「拡張ストレージ」から「ディスクセット (Disk Sets)」ノードを開きます。取得するディスクセットで右マウスボタンをクリックします。メニューから「所有権取得 (Take Ownership)」を選択します。詳細は、オンラインヘルプを参照してください。
次の形式の metaset コマンドを実行します。
# metaset -s diskset-name -t -f |
取得するディスクセットの名前を指定します。
ディスクセットを取得することを意味します。
ディスクセットを強制的に取得することを意味します。
詳細は、metaset(1M) のマニュアルページを参照してください。
1 時点で 1 つのホストだけがディスクセットを所有できます。ディスクセットのあるホストがそのディスクセットを取得すると、このディスクセットのほかのホストは、このディスクセットのディスクのデータにアクセスできません。
metaset コマンドはデフォルトの動作で、ディスクセットの所有権が与えられているホスト上で解放が可能な場合にかぎり、ホストにディスクセットを取得させます。ディスクセットを強制的に取得する場合は、-f オプションを指定します。このオプションを指定すると、ディスクセットは、別のホストが所有しているか否かにかかわらず、このホストによって取得されます。この方法は、通常、ディスクセットを共有するホストの 1 つが停止したり、通信していないときに使用されます。ディスクセットを強制的に取得させられた他のホストは、このディスクセットの入出力操作を試みたときにパニック状態になります。
ディスクセットの所有権は、ディスクセットを所有するホストだけに表示されます。
次の例では、ホスト host1 がホスト host2 と通信します。この通信によって、ホスト host1 がディスクセットの取得を試みる前に、ホスト host2 がディスクセットを解放することが保証されます。
host1# metaset ... Set name = blue, Set number = 1 Host Owner host1 host2 ... host1# metaset -s blue -t host2# metaset ... Set name = blue, Set number = 1 Host Owner host1 Yes host2 ... |
host2 がディスクセット blue を所有していた場合、前の出力の「Owner」欄はそのまま空白になります。metaset コマンドは、ホストがディスクセット所有コマンドを発行したかどうかを示すだけです。
次の例では、ホストがほかのホストと通信しないで、ディスクセットを取得します。-f オプションによって、警告を出さないまま、ディスクセット内のディスクが強制的に取得されます。他のホストがディスクセットを所有していた場合には、そのホストが、ディスクセットの入出力操作を試みたときにパニックを引き起こします。
# metaset -s blue -t -f |
ディスクセットの物理ディスクを保守する場合は、ディスクセットをあらかじめ解放しておくと便利です。ディスクセットを解放すると、そのディスクセットはホストからアクセスできなくなります。ディスクセットに含まれる両方のホストがディスクセットを解放した場合、ディスクセット内のホストはどちらも、そのディスクセットで定義されているボリュームにもホットスペア集合にも直接アクセスできません。しかし、両方のホストがディスクセットを解放しても、対応する c*t*d* 名を使用することによって、ディスクには直接アクセスできます。
このオプションは複数所有者ディスクセット には使用できません。
「ディスクセットを使用するときの指針」を確認します。
次のどちらかの方法でディスクセットを解放します。
Solaris 管理コンソール内の「拡張ストレージ」から「ディスクセット (Disk Sets)」ノードを開きます。解放するディスクセットで右マウスボタンをクリックします。メニューから「所有権解放 (Release Ownership)」を選択します。詳細は、オンラインヘルプを参照してください。
ディスクセットの所有権を解放するには、次の形式の metaset コマンドを使用します。
# metaset -s diskset-name -r |
metaset コマンドの実行対象となるディスクセットの名前を指定します。
ディスクセットを解放することを意味します。ディスクセット内のすべてのディスクの予約が取り消されます。ディスクセット内のボリュームにはアクセスできなくなります。
詳細は、metaset(1M) のマニュアルページを参照してください。
ディスクセットの所有権は、ディスクセットを所有するホストだけに表示されます。
このホストでディスクセットが解放されたかどうかを確認します。
# metaset |
次の例では、ディスクセット blue を解放します。この時点では、ディスクセットの所有者がいないことに注意してください。ホスト host1 から状態を調べると、誤解を招くおそれがあります。これは、ホストが調査できるのは、そのホストがディスクセットを所有しているかどうかだけだからです。たとえば、ホスト host2 がディスクセットの所有権を得ようとしていた場合、ホスト host1 からは所有権を確認できません。host2 にディスクセットの所有権があることを示すのは、ホスト host2 だけです。
host1# metaset -s blue -r host1# metaset -s blue Set name = blue, Set number = 1 Host Owner host1 host2 Drive Dbase c1t6d0 Yes c2t6d0 Yes |
ディスクセットを削除する場合は、ディスクセットにディスクが含まれていたり、ディスクセットにほかのホストが接続していたりしてはなりません。最後のホストを削除すると、ディスクセットは削除されます。
次のどちらかの方法でディスクセットからホストを削除し、そのホストが最後のホストである場合は、ディスクセットも削除します。
Solaris 管理コンソール内の「拡張ストレージ」から「ディスクセット (Disk Sets)」ノードを開きます。解放するディスクセットでマウスの右ボタンをクリックし、メニューから「削除 (Delete)」を選択します。詳細は、オンラインヘルプを参照してください。
ホストを削除するには、次の形式の metasetコマンドを使用します。
metaset -s diskset-name -d -h hostname |
metaset コマンドの実行対象となるディスクセットの名前を指定します。
ディスクセットからホストを削除することを意味します。
削除するホストの名前を指定します。
同じ形式の metaset コマンドを使用して、ディスクセットを削除します。ディスクセットを削除する場合は、ディスクセットにディスクが含まれていたり、ほかのホストがそのディスクセットを所有していたりしてはなりません。最後のホストを削除すると、ディスクセットは削除されます。
詳細は、metaset(1M) のマニュアルページを参照してください。
metaset コマンドを実行して、このホストがディスクセットから削除されていることを確認します。出力には、現在の (所有者側) ホストだけが表示され、他のホストがすでに削除されていることがわかります。
# metaset -s disk-set |
次の例では、ディスクセット blue からホスト host2 を削除します。
# metaset -s blue Set name = blue, Set number = 1 Host Owner host1 Yes ..host2 Drive Dbase c1t2d0 Yes c1t3d0 Yes c1t4d0 Yes c1t5d0 Yes c1t6d0 Yes c2t1d0 Yes |
# metaset -s blue -d -h host2 |
# metaset -s blue Set name = blue, Set number = 1 Host Owner host1 Yes Drive Dbase c1t2d0 Yes c1t3d0 Yes c1t4d0 Yes c1t5d0 Yes c1t6d0 Yes c2t1d0 Yes |
次の例では、ディスクセット blue から最後のホストを削除します。
host1# metaset -s blue -d -h host1 host1# metaset -s blue metaset: host: setname "blue": no such set |
metaimport コマンドを使用すると、あるシステムから別のシステムにディスクセットをインポートできます。
スーパーユーザーになります。
インポートに利用できるディスクセットについてのレポートを取得します。
# metaimport -r -v |
システム上にあってインポートに利用できる未構成のディスクセットのレポートを提供します。
状態データベース (metadb) の複製の場所についての詳細な情報と、システム上にあってインポートに利用できる未構成のディスクセットのディスクの状態についての詳細な情報を提供します。
次の例では、インポートに利用できるディスクセットについてのレポートを出力する方法を示します。 metaimport コマンドの出力では、標準ディスクセットと複製のディスクセットが区別されます。
# metaimport -r # metaimport -r Drives in regular diskset including disk c1t2d0: c1t2d0 c1t3d0 More info: metaimport -r -v c1t2d0 Import: metaimport -s <newsetname> c1t2d0 Drives in replicated diskset including disk c1t4d0: c1t4d0 c1t5d0 More info: metaimport -r -v c1t4d0 Import: metaimport -s <newsetname> c1t4d0 # metaimport -r -v c1t2d0 Import: metaimport -s <newsetname> c1t2d0 Last update: Mon Dec 29 14:13:35 2003 Device offset length replica flags c1t2d0 16 8192 a u c1t3d0 16 8192 a u |
スーパーユーザーになります。
ディスクセットがインポートに利用できることを確認します。
# metaimport -r -v |
利用できるディスクセットをインポートします。
# metaimport -s diskset-name disk-name |
作成するディスクセットの名前です。
インポートするディスクセットの状態データベースの複製を含むディスク (c#t#d#) を指定します。
ディスクセットがインポートされたことを確認します。
# metaset -s diskset-name |
次の例では、ディスクセットをインポートする方法を示します。
# metaimport -s red c1t2d0 Drives in diskset including disk c1t2d0: c1t2d0 c1t3d0 c1t8d0 More info: metaimport -r -v c1t2d0 # metaset -s red Set name = red, Set number = 1 Host Owner host1 Yes Drive Dbase c1t2d0 Yes c1t3d0 Yes c1t8d0 Yes |