各クラスタノードで、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) のマニュアルページを参照してください。
「共有ディスクグループの作成と登録を行う」に進み、共有ディスクグループを作成します。