この付録で説明する手順と 第 1 章「Sun Cluster 構成の計画」 の情報に基づいて、VERITAS Volume Manager (VxVM) 用にローカルディスクと多重ホストディスクを構成してください。詳細については、VxVM のマニュアルを参照してください。
この付録では、次の手順について説明しています。
次の表に、Sun Cluster 構成用に VxVM を構成するために行う作業を示します。
表 B-1 作業マップ : Sun Cluster 構成用の VxVM の構成
作業 |
参照箇所 |
---|---|
VxVM 構成のレイアウトを計画する。 | |
疑似デバイスメジャー番号が各ノードで同じであることを確認する。 | |
必要に応じて、ノードの疑似デバイスメジャー番号を変更する。 | |
ルートディスクグループ (rootdg) を作成する。 | |
共有ディスクグループとボリュームを作成する。 | |
必要に応じて、新しいマイナー番号を割り当て、ディスクデバイスグループ間のマイナー番号の衝突を解決する。 | |
共有ディスクグループとボリュームを確認する。 | |
クラスタファイルシステムを作成してマウントする。 |
vxio ドライバには、すべてのクラスタノードで同一の擬似デバイスメジャー番号が必要です。この番号は、インストール完了後に /etc/name_to_major ファイルで確認できます。次の手順に従って、疑似デバイスメジャー番号を確認してください。
クラスタ内のノードのスーパーユーザーになります。
各クラスタノードで疑似デバイスメジャー番号を表示します。
たとえば、次のように入力します。
# grep vxio /etc/name_to_major vxio 45 |
すべてのノードの疑似デバイスメジャー番号を比較します。
メジャー番号はすべてのノードで同一でなければなりません。番号が異なる場合は、メジャー番号を変更してください。
疑似デバイスメジャー番号を変更する場合は、「疑似デバイスメジャー番号を変更する」に進みます。
その他の場合は、「rootdg ディスクグループの設定の概要」に進み、ルートディスクグループ (rootdg) を設定します。
クラスタの各ノードの疑似デバイスメジャー番号が異なる場合は、次の手順を実行してください。
変更するメジャー番号を持つノードのスーパーユーザーになります。
/etc/name_to_major ファイルを編集し、すべてのノードの番号を統一します。
各ノードについて、/etc/name_to_major ファイル内の番号が一意であることを確認してください。この作業を素早く行う方法として、各ノード上の /etc/name_to_major ファイルから最大割り当て番号を探し出してから、それらの番号の最大値を求めて 1 を加え、その合計値を vxio ドライバに割り当てます。
ノードを再起動します。
(省略可能) システムからディスクグループエラーが報告され、クラスタが起動しない場合は、次の作業を行う必要があります。
「rootdg ディスクグループの設定の概要」に進み、ルートディスクグループ (rootdg) を設定します。
各クラスタノードで、rootdg ディスクグループを作成する必要があります。このディスクグループは VxVM が構成情報を格納するために使用され、次の制限があります。
ノードの rootdg ディスクグループへのアクセスは、そのノードだけに限定する必要があります。
遠隔ノードは、別のノードの rootdg に格納されたデータにはアクセスできません。
scconf(1M) コマンドを使用して rootdg ディスクグループを共有ディスクグループとして登録しないでください。
可能であれば、非共有ディスク上の各ノードごとに rootdg を構成します。
Sun Cluster ソフトウェアでは、次の rootdg ディスクグループの構成方法がサポートされています。
ノードのルートディスクのカプセル化 - この方法によってルートディスクをミラー化でき、ルートディスクが破壊または損傷した場合の代替起動手段を提供できます。ルートディスクをカプセル化するには、2 つの空きディスクスライスのほかに、可能であれば、ディスクの始点または終端に空きシリンダが必要です。
ローカルのルート以外のディスクの使用 - VxVM では、ローカルディスクを初期化またはカプセル化して rootdg として使用できます。基本的には、広域的にアクセス可能なディスクグループや高可用性ディスクグループではなく、そのノードにローカルなディスクグループが作成されます。ルートディスクのカプセル化と同様に、ルート以外のディスクをカプセル化するときも、2 つの空きディスクスライスのほかに、ディスクの始点または終端に空きシリンダが必要です。
詳細については、VxVM のインストールマニュアルを参照してください。
次の手順で、ルートディスクをカプセル化して rootdg ディスクグループを作成します。
VERITAS Volume Manager (VxVM) のライセンスキーを用意します。
クラスタ内のノードのスーパーユーザーになります。
ルートディスクに 0 シリンダのスライスが少なくとも 2 つあり、ディスクの始点または終端に 1 つまたは複数の空きシリンダがあることを確認します。
必要に応じて、format(1M) コマンドを使用して、各 VxVM スライスに 0 シリンダを割り当てます。スライス 7 がボリューム管理ソフトウェア用に予約されている場合は、スライス 7 をフォーマットすることで、ディスク終端に必要な余分な領域を開放できます。
vxinstall(1M) ユーティリティーを起動します。
# vxinstall |
Custom Installation を選択する。
ルートディスクをミラー化する。
クラスタ全体で一意のルートディスク名を選択する。ルートディスクに名前を付ける簡単な方法は、デフォルト名に文字を追加することです。たとえば、指定したデフォルト名が rootdisk の場合は、あるノードのルートディスクには rootdiska、次のノードのルートディスクには rootdiskb という順に名前を付けていきます。
rootdg ディスクグループに他のディスクは追加しない。
その他のコントローラには 4 (Leave these disks alone) を選択する。
停止後の再起動は行わない。
詳細については、VxVM のインストールマニュアルを参照してください。
Dynamic Multipathing (DMP) は無効に設定されているため、次のようなエラーメッセージが表示されることがあります。このメッセージは無視しても問題ありません。
vxvm:vxdmpadm:ERROR:vxdmp module is not loaded on the system.Command invalid. |
/global/.devices/node@nodeid ファイルシステム用の /etc/vfstab ファイルデバイス名を編集します。
この変更は、/global/.devices/node@nodeid ファイルシステムがルートディスク上にあることを VxVM が認識するために必要です。
既存のデバイス名を、/globaldevices エントリで使用されている名前に変更します。このエントリは、コメントアウトされています。次に、/etc/vfstab ファイルの /globaldevices および /global/.devices/node@2 エントリの例を示します。
#device device mount FS fsck mount mount #to mount to fsck point type pass at boot options ... #/dev/dsk/c1t3d0s3 /dev/rdsk/c1t3d0s3 /globaldevices ufs 2 yes - ... /dev/did/dsk/d4s3 /dev/did/rdsk/d4s3 /global/.devices/node@2 ufs 2 no global |
/global/.devices/node@2 エントリを次のように変更します。
#device device mount FS fsck mount mount #to mount to fsck point type pass at boot options ... #/dev/dsk/c1t3d0s3 /dev/rdsk/c1t3d0s3 /globaldevices ufs 2 yes - ... /dev/dsk/c1t3d0s3 /dev/rdsk/c1t3d0s3 /global/.devices/node@2 ufs 2 no global |
任意のノードから、scshutdown(1M) コマンドを使用してクラスタを停止します。
# scshutdown |
非クラスタモードで各ノードを再起動します。
各ノードで次のコマンドを実行して、非クラスタモードで各ノードを再起動します。
ok boot -x |
クラスタモードでノードを再起動しないでください。
次のようなメッセージがノードで表示された場合は、Control-D キーを押して起動を続行します。
fsck を手動で実行するよう指示されますが、無視してください。Control-D キーを押して起動を続行し、残りのルートディスクのカプセル化手順を完了します。
WARNING - Unable to repair the /global/.devices/node@1 filesystem. Run fsck manually (fsck -F ufs /dev/vx/rdsk/rootdisk3vola). Exit the shell when done to continue the boot process. Type control-d to proceed with normal startup, (or give root password for system maintenance): |
クラスタが各ノードで広域的にマウントできるようにするには、/global/.devices/node@nodeid ファイルシステムにさらに変更を加える必要があります。このような必要条件があるため、この再起動中は、1 つのノード以外は /global/.devices/node@nodeid ファイルシステムをマウントできず、警告メッセージが表示されます。
VxVM によってルートディスクがカプセル化され、/etc/vfstab エントリが更新されます。
手順 8 で正常にマウントされた /global/.devices/node@nodeid ファイルシステムをマウント解除します。
# umount /global/.devices/node@nodeid |
このファイルシステムをマウント解除することにより、手順 10 で、変更を初期化するためにノードを 2 回再起動しなくても、ディスクグループに再度マイナー番号を割り当てることができます。このファイルシステムは、手順 14 での再起動中に自動的に再マウントされます。
クラスタの各ノードで rootdg ディスクグループに再度マイナー番号を指定します。
クラスタ全体で一意で 1000 未満の rootdg マイナー番号を指定し、マイナー番号が共有ディスクグループと衝突するのを防ぎます。効果的なマイナー番号の指定は、最初のノードに 100、2 つ目のノードに 200 という順に割り当てていく方法です。
# vxdg reminor rootdg n |
rootdg マイナー番号を指定します。
このコマンドの実行後に次のような警告メッセージが表示されることがありますが、無視してください。
vxvm:vxdg:WARNING:Volume swapvol:Device is open, will renumber on reboot |
新しいマイナー番号がルートディスクボリュームに適用されます。スワップボリュームには、再起動後に再度番号が割り当てられます。
# ls -l /dev/vx/dsk/rootdg total 0 brw------- 1 root root 55,100 Apr 4 10:48 rootdiska3vol brw------- 1 root root 55,101 Apr 4 10:48 rootdiska7vol brw------- 1 root root 55, 0 Mar 30 16:37 rootvol brw------- 1 root root 55, 7 Mar 30 16:37 swapvol |
/usr ファイルシステムがルートディスク上のルート (/) ファイルシステムに連結されていない場合は、クラスタの各ノードで /usr ボリュームのデバイスノードを手作業で更新します。
既存の /usr デバイスノードを削除します。
# rm /dev/vx/dsk/usr # rm /dev/vx/dsk/rootdg/usr # rm /dev/vx/rdsk/usr # rm /dev/vx/rdsk/rootdg/usr |
/usr ファイルシステムに割り当てられた新しいマイナー番号を確認します。
# vxprint -l -v usrvol Disk group: rootdg Volume: usrvol ... device: minor=102 bdev=55/102 cdev=55/102 path=/dev/vx/dsk/rootdg/usrvol |
新しいマイナー番号を使用し、新しい /usr デバイスノードを作成します。
# mknod /dev/vx/dsk/usr b major_number new-minor-number # mknod /dev/vx/dsk/rootdg/usr b major_number new-minor-number # mknod /dev/vx/dsk/usr c major_number new-minor-number # mknod /dev/vx/dsk/rootdg/usr c major_number new-minor-number |
/var ファイルシステムがルートディスク上のルート (/) ファイルシステムと連結されていない場合は、クラスタの各ノードで /var ボリュームのデバイスノードを手作業で更新します。
既存の /var デバイスノードを削除します。
# rm /dev/vx/dsk/var # rm /dev/vx/dsk/rootdg/var # rm /dev/vx/rdsk/var # rm /dev/vx/rdsk/rootdg/var |
/var ファイルシステムに割り当てられた新しいマイナー番号を確認します。
# vxprint -l -v usrvol Disk group: rootdg Volume: usrvol ... device: minor=103 bdev=55/102 cdev=55/102 path=/dev/vx/dsk/rootdg/usrvol |
新しいマイナー番号を使用し、新しい /var デバイスノードを作成します。
# mknod b /dev/vx/dsk/var major_number new-minor-number # mknod b /dev/vx/dsk/rootdg/var major_number new-minor-number # mknod c /dev/vx/dsk/var major_number new-minor-number # mknod c /dev/vx/dsk/rootdg/var major_number new-minor-number |
任意のノードからクラスタを停止します。
# scshutdown |
各ノードをクラスタモードで起動します。
ok boot |
(省略可能) クラスタの各ノードでルートディスクをミラー化します。
ルートのミラー化については、VxVM のマニュアルを参照してください。
ルートディスクをミラー化した場合は、クラスタの各ノードで、そのノードのルートディスクのミラー化に使用したディスクに関連付けられた raw ディスクデバイスグループの localonly プロパティを有効にします。
各ノードについて、異なる raw ディスクデバイスグループを構成します。このグループはルートディスクをミラー化するときにそのノードが排他的に使用します。起動デバイスが複数のノードに接続されている場合に、その起動デバイスが不意にノードを使用できなくなるのを防ぐために、localonly プロパティは有効にしておいてください。
# scconf -c -D name=rawdisk_groupname,localonly=true |
raw ディスクデバイスグループのクラスタに固有な名前を指定します。
scdidadm -L コマンドを使用して、raw ディスクデバイスグループの完全なデバイス ID (DID) 擬似ドライバ名を表示します。 次の例では、raw ディスクデバイスグループ名 dsk/d1 は、出力の第 3 列から取られたもので、これが完全な DID 擬似ドライバ名に当たります。scconf コマンドは次に、ノード phys-schost-3 が、そのルート ディスクをミラー化するために排他的に使用する raw ディスクデバイスグループ dsk/d1 を構成します。
# scdidadm -L ... 1 phys-schost-3:/dev/rdsk/c0t0d0 /dev/did/rdsk/d1 phys-schost-3# scconf -c -D name=dsk/d1,localonly=true |
localonly プロパティの詳細については、scconf_dg_rawdisk(1M) のマニュアルページを参照してください。
「共有ディスクグループの作成と登録を行う」に進み、共有ディスクグループを作成します。
次の手順で、ローカルのルート以外のディスクをカプセル化または初期化することによって rootdg ディスクグループを作成します。
VERITAS Volume Manager (VxVM) のライセンスキーを用意します。
ノードのスーパーユーザーになります。
(省略可能) ディスクをカプセル化する場合は、各ディスクに 0 シリンダのスライスが少なくとも 2 つあることを確認します。
必要に応じて、format(1M) コマンドを使用して、各 VxVM スライスに 0 シリンダを割り当てます。
vxinstall(1M) ユーティリティーを起動します。
# vxinstall |
Custom Installation を選択する。
ルートディスクをカプセル化しない。
rootdg ディスクグループに追加する任意のディスクを選択する。
自動再起動を行わない。
リソースグループまたはデバイスグループをノードから退避させます。
# scswitch -S -h node |
すべてのリソースグループとデバイスグループを退避します。
リソースまたはデバイスグループを退避させるノード名を指定します。
ノードを再起動します。
# shutdown -g 0 -y -i 6 |
「共有ディスクグループの作成と登録を行う」に進み、共有ディスクグループを作成します。
次の手順で、VxVM ディスクグループとボリュームを作成します。
この手順は、追加するディスクグループを構成するディスクに物理的に接続されているノードから実行します。
ディスクグループをディスクデバイスグループとしてクラスタに登録した後に、VxVM コマンドを使用して VxVM ディスクグループをインポートまたはデポートしないでください。ディスクグループのインポートやデポートは、すべて Sun Cluster ソフトウェアで処理できます。Sun Cluster ディスクデバイスグループの管理手順については、『Sun Cluster 3.0 のシステム管理』を参照してください。
次の情報を用意します。
ディスクドライブのマッピング。記憶装置の設置方法については、『Sun Cluster 3.0 Hardware Guide』の該当する章を参照してください。
『Sun Cluster 3.0 ご使用にあたって』の以下のワークシートに必要事項を記入したもの。
「ローカルファイルシステム配置のワークシート」
「ディスクデバイスグループ構成のワークシート」
「ボリューム管理ソフトウェア構成のワークシート」
計画のガイドラインについては、第 1 章「Sun Cluster 構成の計画」を参照してください。
ディスクセットの所有権を持つノードのスーパーユーザーになります。
VxVM ディスクグループとボリュームを作成します。
任意の方法で VxVM ディスクグループとボリュームを作成します。
ダーティリージョンログ (DRL) を使用することで、ノードに障害が発生した場合のボリューム回復時間を短縮できます。ただし、DRL を使用すると I/O スループットが低下することがあります。
この手順を完了する方法については、VERITAS Volume Manager のマニュアルを参照してください。
ディスクグループを Sun Cluster ディスクデバイスグループとして登録します。
scsetup(1M) ユーティリティーを起動します。
# scsetup |
ディスクデバイスグループで作業を行うには、3 (Device groups) を入力します。
ディスクデバイスグループを登録するには、1 (Register a VxVM disk group) を入力します。
指示に従って、Sun Cluster ディスクデバイスグループとして登録する VxVM ディスクデバイスグループを入力します。
ディスクデバイスグループを登録する際に、次のエラーが発生する場合は、「ディスクデバイスグループに新しいマイナー番号を割り当てる」の手順に従ってください。この手順を使用すると、既存のディスクデバイスグループのマイナー番号と衝突しない新しいマイナー番号を割り当てることができます。
scconf:Failed to add device group - in use |
作業が完了したら、q (Quit) を入力して scsetup ユーティリティーを終了します。
ディスクデバイスグループが登録されたことを確認します。
次のコマンドを実行して表示される新しいディスクのディスクデバイス情報を検索します。
# scconf -pv | egrep disk-device-group |
VxVM ディスクグループまたはボリュームの構成情報を変更する場合は、Sun Cluster ディスクデバイスグループを再登録します。ディスクデバイスグループを再登録することによって、広域名前空間が正しい状態になります。ディスクデバイスグループの再登録の手順については、『Sun Cluster 3.0 のシステム管理』を参照してください。
「ディスクグループを確認する」に進み、VxVM ディスクグループを確認します。
マイナー番号が別のディスクグループと衝突しているためにディスクデバイスグループを登録できない場合は、ディスクデバイスグループに未使用のマイナー番号を割り当てます。新しいマイナー番号を割り当ててから、Sun Cluster ディスクデバイスグループとしてディスクグループを再登録します。
クラスタのノードのスーパーユーザーになります。
使用中のマイナー番号を確認します。
# ls -l /global/.devices/node@1/dev/vx/dsk/* |
1000 の倍数で使用されていない値を、ディスクグループのベースとなるマイナー番号として選択します。
ディスクグループにベースとなるマイナー番号を割り当てます。
# vxdg reminor diskgroup base_minor_number |
「共有ディスクグループの作成と登録を行う」の手順 4 に戻り、ディスクグループを Sun Cluster ディスクデバイスグループとして登録します。
次の例は、マイナー番号 16000 〜 16002 と 4000 〜 4001 が使用されていることを示します。ここでは、vxdg reminor コマンドを使用して、ベースとなるマイナー番号 5000 が使用されるよう、新しいディスクグループに再度マイナー番号を割り当てています。
# ls -l /global/.devices/node@1/dev/vx/dsk/* /global/.devices/node@1/dev/vx/dsk/dg1 brw------- 1 root root 56,16000 Oct 7 11:32 dg1v1 brw------- 1 root root 56,16001 Oct 7 11:32 dg1v2 brw------- 1 root root 56,16002 Oct 7 11:32 dg1v3 /global/.devices/node@1/dev/vx/dsk/dg2 brw------- 1 root root 56,4000 Oct 7 11:32 dg2v1 brw------- 1 root root 56,4001 Oct 7 11:32 dg2v2 # vxdg reminor dg3 5000 |
ディスクグループを Sun Cluster ディスクデバイスグループとして登録する必要があります。「共有ディスクグループの作成と登録を行う」の 手順 4 に進んでください。
クラスタの各ノードで次の手順を実行します。
ルートディスクグループ (rootdg) にローカルディスクだけが含まれていること、および共有ディスクグループが現在の主ノードだけにインポートされていることを確認します。
# vxdisk list |
すべてのボリュームが起動していることを確認します。
# vxprint |
すべての共有ディスクグループが Sun Cluster ディスクデバイスグループとして登録されており、オンラインであることを確認します。
# scstat -D |
「クラスタファイルシステムを追加する」に進み、クラスタファイルシステムを構成します。