Oracle Hierarchical Storage Manager and StorageTek QFS Software 高可用性構成は、ファイルシステムとアーカイブサービスを中断なしでメンテナンスするために設計されています。高可用性ソリューションでは、Oracle Hierarchical Storage Manager または QFS software は、Oracle Solaris Cluster ソフトウェア、冗長なハードウェア、および冗長な通信と統合されています。そのため、ホストシステムまたはコンポーネントで障害が発生したり、管理者によってサービスが停止されたりした場合に、Oracle HSM サービスは、ユーザーとアプリケーションがアクセスできる代替のホストに自動的にフェイルオーバーします。したがって、高可用性構成により、装置とシステムの障害による停止時間を最小限に抑えられます。
ただし、高可用性構成は複雑であり、予期しない相互作用と、場合によってはデータの破損を防ぐために、慎重に設計して配備する必要があります。そのため、この章はサポートされる構成の説明から始まります。このセクションを確認して、可用性の要件にもっとも適う構成を選択してください。後続のセクションでは、選択した構成の設定方法について説明します。
Oracle Solaris Cluster の共有構成ではハードウェアアーキテクチャーを混在させることはできません。すべてのノードが、SPARC アーキテクチャー、x86-64 アーキテクチャー (Solaris 11.1 のみ)、または 32 ビットの x86 アーキテクチャー (Solaris 10 以前) のいずれかを使用する必要があります。
クラスタ化されたマルチホストソリューションでは、ファイルシステム、アプリケーション、オペレーティングシステム、クラスタソフトウェア、およびストレージ間の相互作業は、格納されているデータの整合性を確保するために慎重に制御する必要があります。複雑さと潜在的リスクを最小限に抑えるために、サポートされる高可用性 Oracle HSM 構成は、特定の 4 セットの配備要件に合わせて調整されています。
高可用性 QFS (HA-QFS) 構成は、ホストの障害時に QFS 非共有のスタンドアロンファイルシステムがアクセス可能な状態のままにします。ファイルシステムは、Solaris Cluster ソフトウェアがタイプ SUNW.HAStoragePlus
のリソースとして管理する 2 ノードクラスタ内の両方のノード上に構成されます。ただし、どんな場合でも QFS ファイルシステムをマウントするのは 1 つのノードのみです。ファイルシステムをマウントするノードで障害が発生した場合、クラスタリングソフトウェアは、自動的にフェイルオーバーを開始して、残りのノードでファイルシステムを再マウントします。
クライアントは、ファイルサーバーとして機能するアクティブなクラスタノードを使用して、ネットワークファイルシステム (NFS)、高可用性 NFS (HA-NFS)、または SMB/CIFS 共有経由でデータにアクセスします。
実装手順については、高可用性 QFS 非共有ファイルシステムを参照してください。
クラスタ外部の高可用性クライアント (HA-COTC) 構成では、サーバーで障害が発生した場合でも、QFS ファイルシステムクライアントがデータに引き続きアクセスできるように、QFS メタデータサーバーの可用性が維持されます。ファイルシステムは共有されます。QFS のアクティブおよび潜在的なメタデータサーバーは、Solaris Cluster ソフトウェアによって管理される 2 ノードクラスタにホストされます。タイプ SUNW.qfs
の Oracle HSM 高可用性リソースは、クラスタ内の共有ファイルシステムサーバーのフェイルオーバーを管理します。すべてのクライアントがクラスタの外部にホストされます。クラスタ化されたサーバーは、メタデータの可用性を確保し、入出力ライセンスを発行し、ファイルシステムの整合性を維持します。
アクティブなメタデータサーバーをホストするノードで障害が発生した場合、Solaris Cluster ソフトウェアは、正常なノードで潜在的な MDS を自動的にアクティブにし、フェイルオーバーを開始します。QFS ファイルシステムは共有されているため、新たにアクティブにされたメタデータサーバーノードにすでにマウントされており、クライアントにマウントされたままになります。クライアントは、引き続きメタデータの更新と入出力リースを受信するため、ファイルシステムは中断なしで続行できます。
HA-COTC 構成では、mm
メタデータデバイスと mr
データデバイスが物理的に切り離された高パフォーマンスの ma
ファイルシステムを使用する必要があります。汎用 ms
ファイルシステムと md
デバイスはサポートされません。
標準のネットワークファイルシステム (NFS) または SMB/CIFS を使用して、Oracle HSM を実行しないクライアントと HA-COTC ファイルシステムを共有できます。ただし、HA-NFS はサポートされていません。
実装手順については、高可用性 QFS 共有ファイルシステム、クラスタの外部にあるクライアントを参照してください。
高可用性 Oracle Hierarchical Storage Manager (HA-SAM) 構成では、サーバーホストで障害が発生した場合でも QFS メタデータサーバーと Oracle Hierarchical Storage Manager アプリケーションが動作を継続できるようにすることにより、アーカイブファイルシステムの可用性が維持されます。ファイルシステムは、Solaris Cluster ソフトウェアによって管理される 2 ノードクラスタにホストされた、アクティブおよび潜在的な QFS メタデータサーバーの間で共有されます。タイプ SUNW.qfs
の Oracle HSM 高可用性リソースは、サーバーのフェイルオーバーを管理します。
アクティブな Oracle HSM メタデータサーバーノードで障害が発生した場合、クラスタリングソフトウェアは、潜在的なメタデータサーバーノードを自動的にアクティブにして、フェイルオーバーを開始します。QFS ファイルシステムは共有されており、すべてのノードにすでにマウントされているため、データとメタデータへのアクセスは中断されません。
クライアントは、ファイルサーバーとして機能するアクティブなクラスタノードを使用して、高可用性ネットワークファイルシステム (HA-NFS)、NFS、または SMB/CIFS 共有経由でデータにアクセスします。
実装手順については、高可用性 Oracle HSM 共有アーカイブファイルシステム を参照してください。
Solaris Cluster-Oracle Real Application Cluster (SC-RAC) 構成では、QFS ファイルシステムを使用する高可用性のデータベースソリューションがサポートされます。RAC ソフトウェアは入出力要求の調整、ワークロードの分散、およびクラスタのノードで実行されている複数の Oracle データベースインスタンスの単一で一貫性のあるデータベースファイルセットの維持を行います。SC-RAC 構成では、Oracle データベース、Oracle Real Application Cluster (RAC)、および QFS software は、クラスタ内の複数のノードで実行されます。Solaris Cluster ソフトウェアは、タイプ SUNW.qfs
のリソースとしてクラスタを管理します。1 つのノードは、QFS 共有ファイルシステムのメタデータサーバー (MDS) として構成されています。残りのノードは、クライアントとしてファイルシステムを共有する潜在的なメタデータサーバーとして構成されています。アクティブなメタデータサーバーノードで障害が発生した場合、Solaris Cluster ソフトウェアは、正常なノード上の潜在的なメタデータサーバーを自動的にアクティブにして、フェイルオーバーを開始します。QFS ファイルシステムは共有されており、すべてのノードにすでにマウントされているため、データへのアクセスは中断されません。
高可用性 QFS (HA-QFS) ファイルシステムを構成するには、タイプ SUNW.HAStoragePlus
のリソースとして管理される 2 ノードの Solaris Cluster に 2 つの同一のホストを設定します。その後、両方のノードで QFS 非共有ファイルシステムを構成します。いつでも 1 つのノードのみがファイルシステムをマウントします。ただし、1 つのノードで障害が発生した場合、クラスタリングソフトウェアは、自動的にフェイルオーバーを開始して、残っているノードでファイルシステムを再マウントします。
高可用性 QFS (HA-QFS) ファイルシステムを設定するには、次のように進めます。
必要に応じて、高可用性ネットワークファイルシステム (HA-NFS) 共有を構成します。
HA-NFS を設定するための詳細な手順は、Oracle Solaris Cluster オンラインドキュメントライブラリに含まれている『Oracle Solaris Cluster Data Service for Network File System (NFS) ガイド』に記載されています。
クラスタノードの 1 つに root
としてログインします。
この例では、ホストは qfs1mds-node1
および qfs1mds-node2
です。ホスト qfs1mds-node1
にログインします。
[qfs1mds-node1]root@solaris:~#
ホストで必要な QFS ファイルシステムを構成しますが、マウントしないでください。
汎用の ms
ファイルシステムの構成または高パフォーマンス ma
ファイルシステムの構成の手順を使用して、ファイルシステムを構成します。HA-QFS 構成では QFS 共有ファイルシステムはサポートされません。
残りのクラスタノードに root
としてログインします。
この例では、ssh
を使用してホスト qfs1mds-node2
にログインします。
[qfs1mds-node1]root@solaris:~# ssh root@qfs1mds-node2 Password: [qfs1mds-node2]root@solaris:~#
2 番目のノードで同一の QFS ファイルシステムを構成します。
次のように進めます。
クラスタノードの 1 つに root
としてログインします。
この例では、ホストは qfs1mds-node1
および qfs1mds-node2
です。ホスト qfs1mds-node1
にログインします。
[qfs1mds-node1]root@solaris:~#
Solaris Cluster ソフトウェアで SUNW.HAStoragePlus
リソースタイプを定義します (まだ定義していない場合)。コマンド clresourcetype
register
SUNW.HAStoragePlus
を使用します。
HAStoragePlus
は、ディスクデバイスグループ、クラスタファイルシステム、およびローカルファイルシステムの間の依存関係を定義して管理する Solaris Cluster リソースタイプです。これは、サービスの再起動の試行時に必要なすべてのコンポーネントの準備が整うように、フェイルオーバー後のデータサービスの開始を調整します。詳細は、SUNW.HAStoragePlus
のマニュアルページを参照してください。
[qfs1mds-node1]root@solaris:~# clresourcetype register SUNW.HAStoragePlus [qfs1mds-node1]root@solaris:~#
タイプ SUNW.HAStoragePlus
の新しい Solaris Cluster リソースと、そのリソースを含める新しいリソースグループを作成します。コマンド /usr/global/bin/clresource
create
-g
resource-group
-t
SUNW.HAStoragePlus
-x
FilesystemMountPoints=/global/
mount-point
-x
FilesystemCheckCommand=/bin/true
QFS-resource
を使用します。ここでは:
resource-group
は、ファイルシステムリソースグループに選択した名前です。
mount-point
は、QFS ファイルシステムがマウントされているディレクトリです。
QFS-resource
は、SUNW.HAStoragePlus
リソースに選択した名前です。
この例では、マウントポイントディレクトリ /global/qfs1
および SUNW.HAStoragePlus
リソース haqfs
とともにリソースグループ qfsrg
を作成します (次のコマンドは 1 行で入力します。改行はバックスラッシュ文字でエスケープされます)。
[qfs1mds-node1]root@solaris:~# clresource create -g qfsrg -t SUNW.HAStoragePlus \ -x FilesystemMountPoints=/global/hsmqfs1/qfs1 \ -x FilesystemCheckCommand=/bin/true haqfs [qfs1mds-node1]root@solaris:~#
クラスタ内のノードを表示します。コマンド clresourcegroup
status
を使用します。
この例では、QFS ファイルシステムホストノードは qfs1mds-1
と qfs1mds-2
です。ノード qfs1mds-1
は Online
であるため、ファイルシステムをマウントして qfsrg
リソースグループをホストするプライマリノードです。
[qfs1mds-node1]root@solaris:~# clresourcegroup status === Cluster Resource Groups === Group Name Node Name Suspended Status ---------- --------- --------- ------ qfsrg qfs1mds-1 No Online qfs1mds-2 No Offline [qfs1mds-node1]root@solaris:~#
リソースグループをセカンダリノードに移動して、リソースグループが正しくフェイルオーバーするようにします。Solaris Cluster コマンド clresourcegroup
switch
-n
node2
group-name
を使用します。ここで node2
はセカンダリノードの名前で、group-name
は HA-QFS リソースグループに選択した名前です。次に、clresourcegroup status
を使用して結果を確認します。
この例では、haqfs
リソースグループを qfs1mds-node2
に移動して、指定したノードでリソースグループがオンラインになることを確認します。
[qfs1mds-node1]root@solaris:~# clresourcegroup switch -n qfs1mds-node2 qfsrg [qfs1mds-node1]root@solaris:~# clresourcegroup status === Cluster Resource Groups === Group Name Node Name Suspended Status ---------- --------- --------- ------ qfsrg qfs1mds-1 No Offline qfs1mds-2 No Online [qfs1mds-node1]root@solaris:~#
リソースグループをプライマリノードに戻します。Solaris Cluster コマンド clresourcegroup
switch
-n
node1
group-name
を使用します。ここで node1
はプライマリノードの名前で、group-name
は HA-QFS リソースグループに選択した名前です。次に、clresourcegroup status
を使用して結果を確認します。
この例では、qfsrg
リソースグループを qfs1mds-node1
に正常に戻します。
[qfs1mds-node1]root@solaris:~# clresourcegroup switch -n qfs1mds-node1 qfsrg [qfs1mds-node1]root@solaris:~# clresourcegroup status === Cluster Resource Groups === Group Name Node Name Suspended Status ---------- ------------- --------- ------ qfsrg qfs1mds-node1 No Online qfs1mds-node2 No Offline [qfs1mds-node1]root@solaris:~#
高可用性ネットワークファイルシステム (HA-NFS) 共有を構成する必要がある場合、この時点で行います。手順については、Oracle Solaris Cluster オンラインドキュメントライブラリに含まれている『Oracle Solaris Cluster Data Service for Network File System (NFS) ガイド』を参照してください。
サイドバンドデータベース機能を使用する計画がある場合、レポートデータベースの構成に進みます。
それ以外の場合は、通知とロギングの構成に進みます。
クラスタ外部の高可用性クライアント (HA-COTC) 構成は、Solaris Cluster ソフトウェアによって管理される高可用性クラスタのノードに重要なメタデータサーバー (MDS) をホストする非アーカイブ QFS 共有ファイルシステムです。この配置によって、QFS メタデータとファイルアクセスのリースでフェイルオーバーが保護されるため、サーバーで障害が発生した場合にファイルシステムクライアントはデータへのアクセスを失いません。ただし、Solaris Cluster が QFS 共有データの制御のために QFS software と競合しないように、ファイルシステムクライアントとデータデバイスはクラスタの外部にとどまります。
HA-COTC ファイルシステムを構成するには、次のタスクを実行します。
必要に応じて、NFS と SMB/CIFS を使用した複数のホストからファイルシステムへのアクセスの説明に従ってネットワークファイルシステム (NFS) 共有を構成します。高可用性 NFS (HA-NFS) はサポートされません。
QFS 共有ファイルシステムでは、すべてのホストがファイルシステムのメタデータにアクセスできるように、メタデータサーバーで hosts ファイルを構成する必要があります。hosts ファイルは、/etc/opt/SUNWsamfs/
ディレクトリに mcf
ファイルとともに格納されています。共有ファイルシステムの初期作成中に、sammkfs
-S
コマンドを実行すると、このファイルに格納されている設定を使用して共有が構成されます。ここで、次の手順を使用して作成します。
HA-COTC クラスタのプライマリノードに root
としてログインします。
この例では、ホストは qfs1mds-node1
および qfs1mds-node2
です。ホスト qfs1mds-node1
にログインします。
[qfs1mds-node1]root@solaris:~#
クラスタ構成を表示します。/usr/global/bin/cluster
show
コマンドを使用します。それぞれの Node Name
のレコードを見つけて、各ネットワークアダプタの privatehostname
、Transport Adapter
の名前、および ip_address
プロパティーを記録します。
コマンドの出力はかなり長くなる可能性があるため、次の例では、長い表示は省略記号 (...) を使用して省略されています。
この例では、それぞれのノードには、qfe3
と hme0
の 2 つのネットワークインタフェースがあります。
hme0
アダプタには、クラスタがノード間の内部通信に使用するプライベートネットワークの IP アドレスがあります。Solaris Cluster ソフトウェアは、各プライベートアドレスに対応するプライベートホスト名を割り当てます。
デフォルトでは、プライマリノードのプライベートホスト名は clusternode1-priv
で、セカンダリノードのプライベートホスト名は clusternode2-priv
です。
qfe3
アダプタには、クラスタがデータ転送に使用するパブリック IP アドレスとパブリックホスト名である qfs1mds-node1
と qfs1mds-node2
があります。
[qfs1mds-node1]root@solaris:~# cluster show ... === Cluster Nodes === Node Name: qfs1mds-node1... privatehostname: clusternode1-priv... Transport Adapter List: qfe3, hme0... Transport Adapter: qfe3... Adapter Property(ip_address): 172.16.0.12... Transport Adapter: hme0... Adapter Property(ip_address): 10.0.0.129... Node Name: qfs1mds-node2... privatehostname: clusternode2-priv... Transport Adapter List: qfe3, hme0... Adapter Property(ip_address): 172.16.0.13... Transport Adapter: hme0 Adapter Property(ip_address): 10.0.0.122
テキストエディタを使用して、メタデータサーバーでファイル /etc/opt/SUNWsamfs/hosts.
family-set-name
を作成します。ここで、family-set-name
は、ファイルシステムのファミリセット名です。
この例では、vi
テキストエディタを使用してファイル hosts.qfs1
を作成します。ホストテーブル内の列を示すために、コメントを示すハッシュ記号 (#) で各行を開始して、いくつかのオプションの見出しを追加します。
[qfs1mds-node1]root@solaris:~# vi /etc/opt/SUNWsamfs/hosts.qfs1 # /etc/opt/SUNWsamfs/hosts.qfs1 # Server On/ Additional #Host Name Network Interface Ordinal Off Parameters #------------ ----------------------------- ------- --- ----------
テーブルの最初の列に、プライマリメタデータサーバーノードとセカンダリメタデータサーバーノードのホスト名、その後にいくつかの空白文字を入力します。それぞれのエントリを別の行に入力してください。
hosts ファイルでは、行は行 (レコード) で、空白文字は列 (フィールド) 区切り文字です。この例では、最初の 2 行の「Host Name
」列には、ファイルシステムのメタデータサーバーをホストするクラスタノードのホスト名である、値 qfs1mds-node1
と qfs1mds-node2
が含まれています。
# Server On/ Additional #Host Name Network Interface Ordinal Off Parameters #------------ ----------------------------- ------- --- ---------- qfs1mds-node1 qfs1mds-node2
各行の 2 番目の列では、ホスト Host Name
の Network Interface
情報の指定を開始します。それぞれの HA-COTC クラスタノードの Solaris Cluster プライベートホスト名またはプライベートネットワークアドレスと、その後に続けてコンマを入力します。
HA-COTC サーバーノードは、高可用性クラスタ内のサーバー間の通信にプライベートホスト名を使用します。この例では、Solaris Cluster ソフトウェアによって割り当てられたデフォルトの名前であるプライベートホスト名 clusternode1-priv
および clusternode2-priv
を使用します。
# Server On/ Additional #Host Name Network Interface Ordinal Off Parameters #------------ ----------------------------- ------- --- ---------- qfs1mds-node1 clusternode1-priv, qfs1mds-node2 clusternode2-priv,
各行の 2 番目の列にあるコンマのあとに、アクティブなメタデータサーバーの仮想パブリックホスト名と、その後に空白文字を続けて入力します。
HA-COTC サーバーノードは、パブリックデータネットワークを使用して、すべてがクラスタの外部にあるクライアントと通信します。アクティブなメタデータサーバーの IP アドレスとホスト名はフェイルオーバー中に変わる (qfs1mds-node1
から qfs1mds-node2
、およびその逆) ため、両方に仮想ホスト名 qfs1mds
を使用します。あとで、qfs1mds
の要求をアクティブなメタデータサーバーに常にルーティングするように Solaris Cluster ソフトウェアを構成します。
# Server On/ Additional #Host Name Network Interface Ordinal Off Parameters #------------ ----------------------------- ------- --- ---------- qfs1mds-node1 clusternode1-priv,qfs1mds qfs1mds-node2 clusternode2-priv,qfs1mds
各行の 3 番目の列に、サーバーの番号 (アクティブなメタデータサーバーの場合は 1
、潜在的なメタデータサーバーの場合は 2
) とその後にスペースを続けて入力します。
この例では、メタデータサーバーは 1 つしかなく、プライマリノード qfs1mds-node1
がアクティブなメタデータサーバーであるため番号は 1
で、セカンダリノード qfs1mds-node2
の番号は 2
です。
# Server On/ Additional #Host Name Network Interface Ordinal Off Parameters #------------ ----------------------------- ------- --- ---------- qfs1mds-node1 clusternode1-priv,qfs1mds 1 qfs1mds-node2 clusternode2-priv,qfs1mds 2
各行の 4 番目の列に、0
(ゼロ) とその後に空白文字を続けて入力します。
4 列目の 0
(ゼロ)、-
(ハイフン)、または空白値は、ホストが「on」(共有ファイルシステムへのアクセスありで構成) であることを示します。1
(数字の 1) は、ホストが「off」(ファイルシステムへのアクセスなしで構成) であることを示します (共有ファイルシステムを管理する際のこれらの値の使用については、samsharefs
のマニュアルページを参照してください)。
# Server On/ Additional #Host Name Network Interface Ordinal Off Parameters #------------ ----------------------------- ------- --- ---------- qfs1mds-node1 clusternode1-priv,qfs1mds 1 0 qfs1mds-node2 clusternode2-priv,qfs1mds 2 0
プライマリノードの行の 5 番目の列に、キーワード server
を入力します。
server
キーワードは、デフォルトのアクティブなメタデータサーバーを示します。
# Server On/ Additional
#Host Name Network Interface Ordinal Off Parameters
#------------ ----------------------------- ------- --- ----------
qfs1mds-node1 clusternode1-priv,qfs1mds 1 0 server
qfs1mds-node2 clusternode2-priv,qfs1mds 2 0
クライアントホストごとに 1 行追加して、Server Ordinal
値を 0
に設定します。その後、ファイルを保存してエディタを閉じます。
サーバー番号 0
は、サーバーではなくクライアントとしてのホストを示します。HA-COTC クライアントはクラスタのメンバーではないため、クラスタのパブリックデータネットワークを介してのみ通信します。パブリック IP アドレスのみが指定されています。この例では、2 つのクライアント qfs1client1
および qfs1client2
を、ホスト名ではなくそのパブリック IP アドレス 172.16.0.133
および 172.16.0.147
を使用して追加します。
# Server On/ Additional #Host Name Network Interface Ordinal Off Parameters #------------ ----------------------------- ------- --- ---------- qfs1mds-node1 clusternode1-priv,qfs1mds 1 0 server qfs1mds-node2 clusternode2-priv,qfs1mds 2 0 qfs1client1 172.16.0.133 0 0 qfs1client2 172.16.0.147 0 0 :wq [qfs1mds-node1]root@solaris:~#
グローバル /etc/opt/SUNWsamfs/hosts.
family-set-name
ファイルのコピーを潜在的な QFS メタデータサーバー (2 番目の HA-COTC クラスタノード) に配置します。
次に、QFS サーバーおよび HA-COTC クラスタの外部にあるクライアント上にローカル hosts ファイルを作成します。
クラスタの外部にあるクライアントとファイルシステムを共有する高可用性構成では、クライアントが、Solaris Cluster ソフトウェアによって定義されたパブリックデータネットワークを使用してファイルシステムサーバーのみと通信するようにする必要があります。これを行うには、特別に構成された QFS ローカル hosts ファイルを使用して、クライアントと、サーバー上の複数のネットワークインタフェース間のネットワークトラフィックを選択的にルーティングします。
それぞれのファイルシステムホストは、メタデータサーバー上の /etc/opt/SUNWsamfs/hosts.
family-set-name
ファイルを最初にチェックすることで、ほかのホストのネットワークインタフェースを識別します。次に、個別の /etc/opt/SUNWsamfs/hosts.
family-set-name
.local
ファイルを確認します。ローカル hosts ファイルが存在しない場合、ホストはグローバル hosts ファイルに指定されたインタフェースアドレスをグローバルファイルに指定された順序で使用します。ただし、ローカル hosts ファイルが存在する場合、ホストはグローバルファイルと比較して、両方のファイルに一覧表示されたインタフェースのみをローカルファイルに指定された順序で使用します。各ファイルでさまざまな配列のさまざまなアドレスを使用すると、さまざまなホストで使用されているインタフェースを制御できます。
ローカル hosts ファイルを構成するには、次に概要を示す手順を使用します。
HA-COTC クラスタのプライマリノードに root
としてログインします。
この例では、ホストは qfs1mds-node1
および qfs1mds-node2
です。ホスト qfs1mds-node1
にログインします。
[qfs1mds-node1]root@solaris:~#
アクティブおよび潜在的なそれぞれのメタデータサーバーでローカル hosts ファイルを作成します。パスとファイル名 /etc/opt/SUNWsamfs/hosts.
family-set-name
.local
を使用します。ここで family-set-name
は、共有ファイルシステムの装置 ID です。アクティブおよび潜在的なサーバーで使用するネットワーク用のインタフェースのみを含めてください。
この例では、アクティブなメタデータサーバーと潜在的なメタデータサーバーが、プライベートネットワークを介して相互に通信し、クライアントとはパブリックネットワークを介して通信するようにします。そのため、アクティブなサーバーと潜在的なサーバーのローカル hosts ファイル hosts.qfs1.local
には、アクティブなサーバーと潜在的なサーバーのクラスタのプライベートアドレスのみが表示されています。
[qfs1mds-node1]root@solaris:~# vi /etc/opt/SUNWsamfs/hosts.qfs1.local # /etc/opt/SUNWsamfs/hosts.qfs1.local # Server On/ Additional #Host Name Network Interface Ordinal Off Parameters #------------ ----------------------------- ------- --- ---------- qfs1mds-node1 clusternode1-priv 1 0 server qfs1mds-node2 clusternode2-priv 2 0 qfs1client1 172.16.0.133 0 0 qfs1client2 172.16.0.147 0 0 :wq [qfs1mds-node1]root@solaris:~# ssh root@qfs1mds-node2 Password:
[qfs1mds-node2]root@solaris:~# vi /etc/opt/SUNWsamfs/hosts.qfs1.local # /etc/opt/SUNWsamfs/hosts.qfs1.local # Server On/ Additional #Host Name Network Interface Ordinal Off Parameters #------------ ----------------------------- ------- --- ---------- qfs1mds-node1 clusternode1-priv 1 0 server qfs1mds-node2 clusternode2-priv 2 0 qfs1client1 172.16.0.133 0 0 qfs1client2 172.16.0.147 0 0 :wq [qfs1mds-node2]root@solaris:~# exit [qfs1mds-node1]root@solaris:~#
テキストエディタを使用して、各クライアントでローカル hosts ファイルを作成します。パスとファイル名 /etc/opt/SUNWsamfs/hosts.
family-set-name
.local
を使用します。ここで family-set-name
は、共有ファイルシステムの装置 ID です。クライアントで使用するネットワーク用のインタフェースのみを含めてください。その後、ファイルを保存してエディタを閉じます。
この例では、vi
エディタを使用します。クライアントがパブリックデータネットワークのみを介してサーバーのみと通信するようにします。そのため、ファイルには、アクティブなメタデータサーバー qfs1mds
の仮想ホスト名のみが含まれています。Solaris Cluster ソフトウェアは、qfs1mds
の要求をどちらかアクティブな方のサーバーノードにルーティングします。
[qfs1mds-node1]root@solaris:~# ssh root@qfsclient1 Password: [qfs1client1]root@solaris:~# vi /etc/opt/SUNWsamfs/hosts.qfs1.local # /etc/opt/SUNWsamfs/hosts.qfs1.local # Server On/ Additional #Host Name Network Interface Ordinal Off Parameters #------------ ----------------------------- ------- --- ---------- qfs1mds qfs1mds 1 0 server :wq qfs1client1]root@solaris:~# exit [qfs1mds-node1]root@solaris:~# ssh root@qfs1client2 Password: [qfs1client2]root@solaris:~# vi /etc/opt/SUNWsamfs/hosts.qfs1.local # /etc/opt/SUNWsamfs/hosts.qfs1.local # Server On/ Additional #Host Name Network Interface Ordinal Off Parameters #------------ ----------------------------- ------- --- ---------- qfs1mds qfs1mds 1 0 server :wq [qfs1client2]root@solaris:~# exit [qfs1mds-node1]root@solaris:~#
アクティブなメタデータサーバーを構成するには、次のタスクを実行します。
HA-COTC クラスタのプライマリノードと QFS 共有ファイルシステムのアクティブなメタデータサーバーの両方としての役割を果たすクラスタノードを選択します。root
としてログインします。
この例では、qfs1mds-node1
がプライマリノードおよびアクティブなメタデータサーバーです。
[qfs1mds-node1]root@solaris:~#
QFS ファイルシステムに使用されるグローバルストレージデバイスを選択します。Solaris Cluster コマンド /usr/global/bin/cldevice
list
-v
を使用します。
Solaris Cluster ソフトウェアは、クラスタノードに接続されているすべてのデバイスに一意のデバイス ID (DID) を割り当てます。グローバルデバイスは、クラスタ内のすべてのノードからアクセスできるのに対して、ローカルデバイスは、ローカルデバイスをマウントするホストからのみアクセス可能です。グローバルデバイスはフェイルオーバー後にアクセス可能な状態のままになります。ローカルデバイスはそうではありません。
この例では、デバイス d1
、d2
、d7
、および d8
は両方のノードからアクセス可能ではありません。そのため、高可用性 QFS 共有ファイルシステムの構成時にデバイス d3
、d4
、および d5
の中から選択します。
[qfs1mds-node1]root@solaris:~# cldevice list -v DID Device Full Device Path ---------- ---------------- d1 qfs1mds-node1:/dev/rdsk/c0t0d0 d2 qfs1mds-node1:/dev/rdsk/c0t6d0 d3 qfs1mds-node1:/dev/rdsk/c1t1d0 d3 qfs1mds-node2:/dev/rdsk/c1t1d0 d4 qfs1mds-node1:/dev/rdsk/c1t2d0 d4 qfs1mds-node2:/dev/rdsk/c1t2d0 d5 qfs1mds-node1:/dev/rdsk/c1t3d0 d5 qfs1mds-node2:/dev/rdsk/c1t3d0 d6 qfs1mds-node2:/dev/rdsk/c0t0d0 d7 qfs1mds-node2:/dev/rdsk/c0t1d0
選択したプライマリノードで、md
または mr
データデバイスを使用する高パフォーマンス ma
ファイルシステムを作成します。テキストエディタで /etc/opt/SUNWsamfs/mcf
ファイルを開きます。
この例では、ファイルシステム qfs1
を構成します。デバイス d3
をメタデータデバイス (装置タイプ mm
) として構成して、d4
および d5
をデータデバイス (装置タイプ mr
) として使用します。
[qfs1mds-node1]root@solaris:~# vi /etc/opt/SUNWsamfs/mcf # Equipment Equipment Equipment Family Device Additional # Identifier Ordinal Type Set State Parameters #------------------ --------- --------- ------- ------ ---------------- qfs1 100 ma qfs1 - /dev/did/dsk/d3s0 101 mm qfs1 - /dev/did/dsk/d4s0 102 mr qfs1 - /dev/did/dsk/d5s1 103 mr qfs1 -
/etc/opt/SUNWsamfs/mcf
ファイルで、ファイルシステムエントリの Additional Parameters
列に shared
パラメータを入力します。ファイルを保存します。
[qfs1mds-node1]root@solaris:~# vi /etc/opt/SUNWsamfs/mcf # Equipment Equipment Equipment Family Device Additional # Identifier Ordinal Type Set State Parameters #------------------ --------- --------- ------- ------ ---------------- qfs1 100 ma qfs1 - shared /dev/did/dsk/d3s0 101 mm qfs1 - /dev/did/dsk/d4s0 102 mr qfs1 - /dev/did/dsk/d5s1 103 mr qfs1 - :wq [qfs1mds-node1]root@solaris:~#
エラーを mcf
ファイルで確認します。コマンド /opt/SUNWsamfs/sbin/sam-fsd
を使用して、見つかったエラーを修正します。
sam-fsd
コマンドは、Oracle HSM 構成ファイルを読み取り、ファイルシステムを初期化します。エラーが発生した場合は停止します。この例では、ホスト qfs1mds-node1
で mcf
ファイルを確認します。
[qfs1mds-node1]root@solaris:~# sam-fsd
...
Would start sam-archiverd()
Would start sam-stagealld()
Would start sam-stagerd()
Would start sam-amld()
[qfs1mds-node1]root@solaris:~#
ファイルシステムを作成します。コマンド /opt/SUNWsamfs/sbin/
sammkfs
-S
family-set-name
を使用します。ここで family-set-name
は、ファイルシステムの装置 ID です。
sammkfs
コマンドは、プライマリノード qfs1mds-node1
上の hosts.
family-set-name
および mcf
ファイルを読み取り、指定されたプロパティーを使用して共有ファイルシステムを作成します。
[qfs1mds-node1]root@solaris:~# sammkfs -S qfs1 Building 'qfs1' will destroy the contents of devices: ... Do you wish to continue? [y/N]yes ... [qfs1mds-node1]root@solaris:~#
デフォルトでは、Solaris Cluster ソフトウェアは、クラスタの排他的使用のためにディスクデバイスを隔離します。ただし、HA-COTC 構成では、メタデータ (mm
) デバイスのみがクラスタの一部です。データ (mr
) デバイスは、クラスタの外部にあるファイルシステムクライアントと共有され、クライアントホストに直接接続されています。そのため、データ (mr
) デバイスは、クラスタソフトウェアの制御の範囲外にする必要があります。これは、次の 2 つの方法のいずれかで実現できます。
HA-COTC クラスタのプライマリノードおよび QFS 共有ファイルシステムのアクティブなメタデータサーバーにログインします。root
としてログインします。
この例では、qfs1mds-node1
がプライマリノードおよびアクティブなメタデータサーバーです。
[qfs1mds-node1]root@solaris:~#
/etc/opt/SUNWsamfs/mcf
ファイルで定義されているデータ (mr
) デバイスごとに、フェンシングを無効にします。コマンド cldevice
set
-p
default_fencing=
nofencing-noscrub
device-identifier
を使用します。ここで device-identifier
は、mcf
ファイルの最初の列に表示されているデバイスのデバイス ID です。
メタデータ (mm
) デバイスのフェンシングを無効にしないでください。HA-COTC 構成では、QFS メタデータ (mm
) デバイスはクラスタの一部ですが、QFS 共有データ (mr
) デバイスはそうではありません。データデバイスは、クラスタの外部にあるクライアントに直接接続されています。このため、HA-COTC データ (mr
) デバイスは、Solaris Cluster ソフトウェアによって管理されないローカルデバイスとして管理する必要があります。それ以外の場合、Solaris Cluster ソフトウェアと QFS は相反する目的で動作し、データが破損する可能性があります。
上の例では、デバイス d4
および d5
をファイルシステム qfs1
のデータデバイスとして構成しました。そのため、これらのデバイスのフェンシングをグローバルに無効にします (次のコマンドは 1 行で入力します。改行はバックスラッシュ文字でエスケープされます)。
[qfs1mds-node1]root@solaris:~# cldevice set -p \ default_fencing=nofencing-noscrub d4 [qfs1mds-node1]root@solaris:~# cldevice set -p \ default_fencing=nofencing-noscrub d5
HA-COTC クラスタのプライマリノードおよび QFS 共有ファイルシステムのアクティブなメタデータサーバーにログインします。root
としてログインします。
この例では、qfs1mds-node1
がプライマリノードおよびアクティブなメタデータサーバーです。
[qfs1mds-node1]root@solaris:~#
ファイルシステムの一部であるすべてのデータ (mr
) デバイスを localonly
デバイスグループに配置します。コマンド cldevicegroup
set
-d
device-identifier-list
-p
localonly=
true
-n
active-mds-node
device-group
を使用します。ここで、device-list
は、デバイス ID のコンマ区切りリスト、active-mds-node
は、アクティブなメタデータサーバーが通常常駐しているプライマリノード、device-group
は、デバイスグループに選択した名前です。
次の例では、データデバイス d4
および d5
(mcf
装置番号 102
と 103
) をプライマリノード上のローカルデバイスグループ mdsdevgrp
に配置します (次のコマンドは 1 行で入力します。改行はバックスラッシュ文字でエスケープされます)。
[qfs1mds-node1]root@solaris:~# cldevicegroup set -d d4,d5 -p localonly=true \ -n node1mds mdsdevgrp [qfs1mds-node1]root@solaris:~#
HA-COTC クラスタのプライマリノードおよび QFS 共有ファイルシステムのアクティブなメタデータサーバーにログインします。root
としてログインします。
この例では、qfs1mds-node1
がプライマリノードおよびアクティブなメタデータサーバーです。
[qfs1mds-node1]root@solaris:~#
オペレーティングシステムの /etc/vfstab
ファイルをバックアップします。
[qfs1mds-node1]root@solaris:~# cp /etc/vfstab /etc/vfstab.backup
テキストエディタでオペレーティングシステムの /etc/vfstab
ファイルを開き、新しいファイルシステムの行を開始します。最初の列 (「Device
to
Mount
」) にファイルシステム名を入力して、その後に 1 つ以上の空白文字を続けて入力します。
この例では、vi
テキストエディタを使用します。qfs1
ファイルシステムの行を開始します。
[qfs1mds-node1]root@solaris:~# vi /etc/vfstab #File #Device Device Mount System fsck Mount Mount #to Mount to fsck Point Type Pass at Boot Options #-------- ------- ------------ ------ ---- ------- --------------------- /devices - /devices devfs - no - /proc - /proc proc - no - ... qfs1 -
/etc/vfstab
ファイルの 2 番目の列 (「Device
to
fsck
」) に、ハイフン (-
) とその後に 1 つ以上の空白文字を続けて入力します。
ハイフンは、オペレーティングシステムにファイルシステムの整合性チェックをスキップするよう指示します。これらのチェックは、SAMFS ファイルシステムではなく UFS を対象としています。
[qfs1mds-node1]root@solaris:~# vi /etc/vfstab
#File
#Device Device Mount System fsck Mount Mount
#to Mount to fsck Point Type Pass at Boot Options
#-------- ------- ------------ ------ ---- ------- ---------------------
/devices - /devices devfs - no -
/proc - /proc proc - no -
...
qfs1 -
/etc/vfstab
ファイルの 3 番目の列に、クラスタを基準とした相対的なファイルシステムのマウントポイントを入力します。システムのルートディレクトリの直下にはないサブディレクトリを選択します。
QFS 共有ファイルシステムをルートの直下にマウントすると、SUNW.qfs
リソースタイプの使用時にフェイルオーバーの問題が発生する可能性があります。この例では、クラスタ上のマウントポイントを /global/ha-cotc/qfs1
に設定します。
#File
#Device Device Mount System fsck Mount Mount
#to Mount to fsck Point Type Pass at Boot Options
#-------- ------- -------------------- ------ ---- ------- --------------
/devices - /devices devfs - no -
/proc - /proc proc - no -
...
qfs1 - /global/ha-cotc/qfs1
QFS 共有ファイルシステムの場合と同様に、/etc/vfstab
ファイルレコードの残りのフィールドに入力します。次に、ファイルを保存し、エディタを閉じます。
#File #Device Device Mount System fsck Mount Mount #to Mount to fsck Point Type Pass at Boot Options #-------- ------- -------------------- ------ ---- ------- -------------- /devices - /devices devfs - no - /proc - /proc proc - no - ... qfs1 - /global/ha-cotc/qfs1 samfs - no shared :wq [qfs1mds-node1]root@solaris:~#
高可用性共有ファイルシステムのマウントポイントを作成します。
-p
(親) オプションを指定して mkdir
コマンドを使用すると、/global
ディレクトリが作成されます (まだ存在しない場合)。
[qfs1mds-node1]root@solaris:~# mkdir -p /global/ha-cotc/qfs1
プライマリノードで高可用性共有ファイルシステムをマウントします。
[qfs1mds-node1]root@solaris:~# mount /global/ha-cotc/qfs1
2 ノードクラスタのセカンダリノードは、潜在的なメタデータサーバーとして機能します。潜在的なメタデータサーバーは、メタデータデバイスにアクセスできるホストであるため、メタデータサーバーの役割を担うことができます。そのため、プライマリノード上のアクティブなメタデータサーバーで障害が発生した場合、Solaris Cluster ソフトウェアはセカンダリノードにフェイルオーバーし、潜在的なメタデータサーバーをアクティブにできます。潜在的なメタデータサーバーを構成するには、次のタスクを実行します。
HA-COTC クラスタのセカンダリノードに root
としてログインします。
この例では、qfs1mds-node2
がセカンダリノードおよび潜在的なメタデータサーバーです。
[qfs1mds-node2]root@solaris:~#
/etc/opt/SUNWsamfs/mcf
ファイルをプライマリノードからセカンダリノードにコピーします。
エラーを mcf
ファイルで確認します。コマンド /opt/SUNWsamfs/sbin/sam-fsd
を使用して、見つかったエラーを修正します。
sam-fsd
コマンドは、Oracle HSM 構成ファイルを読み取り、ファイルシステムを初期化します。エラーが発生した場合は停止します。この例では、ホスト qfs1mds-node1
で mcf
ファイルを確認します。
[qfs1mds-node2]root@solaris:~# sam-fsd
...
Would start sam-archiverd()
Would start sam-stagealld()
Would start sam-stagerd()
Would start sam-amld()
[qfs1mds-node2]root@solaris:~#
HA-COTC クラスタのセカンダリノードに root
としてログインします。
この例では、qfs1mds-node2
がセカンダリノードです。
[qfs1mds-node2]root@solaris:~#
オペレーティングシステムの /etc/vfstab
ファイルをバックアップします。
[qfs1mds-node2]root@solaris:~# cp /etc/vfstab /etc/vfstab.backup
テキストエディタでオペレーティングシステムの /etc/vfstab
ファイルを開き、新しいファイルシステムの行を追加します。次に、ファイルを保存し、エディタを閉じます。
この例では、vi
エディタを使用します。
[qfs1mds-node2]root@solaris:~# vi /etc/vfstab #File #Device Device Mount System fsck Mount Mount #to Mount to fsck Point Type Pass at Boot Options #-------- ------- -------------------- ------ ---- ------- ------------- /devices - /devices devfs - no - /proc - /proc proc - no - ... qfs1 - /global/ha-cotc/qfs1 samfs - no shared :wq [qfs1mds-node2]root@solaris:~#
セカンダリノードで高可用性共有ファイルシステムのマウントポイントを作成します。
[qfs1mds-node2]root@solaris:~# mkdir -p /global/ha-cotc/qfs1 [qfs1mds-node2]root@solaris:~#
セカンダリノードで高可用性共有ファイルシステムをマウントします。
[qfs1mds-node2]root@solaris:~# mount /global/ha-cotc/qfs1 [qfs1mds-node2]root@solaris:~#
Solaris Cluster ソフトウェアによって管理されるクラスタ内に Oracle HSM 共有ファイルシステムをホストする場合、Oracle HSM software によって定義されるリソースタイプである SUNW.qfs
クラスタリソースを作成することで、メタデータサーバーのフェイルオーバーを構成します (詳細は、SUNW.qfs
のマニュアルページを参照)。HA-COTC 構成のリソースを作成して構成するには、次のように進めます。
HA-COTC クラスタのプライマリノードに root
としてログインします。
この例では、qfs1mds-node1
がプライマリノードです。
[qfs1mds-node1]root@solaris:~#
Solaris Cluster ソフトウェアの QFS リソースタイプ SUNW.qfs
を定義します。コマンド clresourcetype
register
SUNW.qfs
を使用します。
[qfs1mds-node1]root@solaris:~# clresourcetype register SUNW.qfs [qfs1mds-node1]root@solaris:~#
登録ファイルが見つからないために登録が失敗した場合、Solaris Cluster がリソースタイプの登録ファイル /opt/cluster/lib/rgm/rtreg/
を保持するディレクトリに、/opt/SUNWsamfs/sc/etc/
ディレクトリへのシンボリックリンクを配置します。
Oracle HSM ソフトウェアのインストール前に、Oracle Solaris Cluster ソフトウェアをインストールしませんでした。通常、Oracle HSM は、インストール時に Solaris Cluster を検出すると、SUNW.qfs
登録ファイルの場所を自動的に指定します。そのため、リンクを手動で作成する必要があります。
[qfs1mds-node1]root@solaris:~# cd /opt/cluster/lib/rgm/rtreg/ [qfs1mds-node1]root@solaris:~# ln -s /opt/SUNWsamfs/sc/etc/SUNW.qfs SUNW.qfs [qfs1mds-node1]root@solaris:~#
QFS メタデータサーバーのリソースグループを作成します。Solaris Cluster コマンド clresourcegroup
create
-n
node-list
group-name
を使用します。ここで node-list
は、2 つのクラスタノード名のコンマ区切りリストで、group-name
はリソースグループに使用する名前です。
この例では、HA-COTC サーバーノードをメンバーとして使用してリソースグループ qfsrg
を作成します (次のコマンドは 1 行で入力します。改行はバックスラッシュ文字でエスケープされます)。
[qfs1mds-node1]root@solaris:~# clresourcegroup create -n \ qfs1mds-node1,qfs1mds-node2 qfsrg [qfs1mds-node1]root@solaris:~#
新しいリソースグループで、アクティブなメタデータサーバーの仮想ホスト名を設定します。Solaris Cluster コマンド clreslogicalhostname
create
-g
group-name
virtualMDS
を使用します。ここで group-name
は QFS リソースグループの名前で、virtualMDS
は仮想ホスト名です。
共有ファイルシステムの hosts ファイルで使用したものと同じ仮想ホスト名を使用します。この例では、仮想ホスト qfs1mds
を qfsr
リソースグループ内に作成します。
[qfs1mds-node1]root@solaris:~# clreslogicalhostname create -g qfsrg qfs1mds
QFS ファイルシステムリソースをリソースグループに追加します。コマンド clresource
create
-g
group-name
-t
SUNW.qfs
-x
QFSFileSystem=
mount-point
-y
Resource_dependencies=
virtualMDS
resource-name
を使用します。ここでは:
group-name
は、QFS リソースグループの名前です。
mount-point
は、クラスタ内のファイルシステムのマウントポイントである、システムのルートディレクトリの直下にはないサブディレクトリです。
QFS 共有ファイルシステムをルートの直下にマウントすると、SUNW.qfs
リソースタイプの使用時にフェイルオーバーの問題が発生する可能性があります。
virtualMDS
は、アクティブなメタデータサーバーの仮想ホスト名です。
resource-name
は、リソースに指定する名前です。
この例では、リソースグループ qfsrg
にタイプ SUNW.qfs
の hasqfs
という名前のリソースを作成します。SUNW.qfs
拡張プロパティー QFSFileSystem
を /global/ha-cotc/qfs1
マウントポイントに設定して、標準プロパティー Resource_dependencies
をアクティブなメタデータサーバー qfs1mds
の論理ホストに設定します (次のコマンドは 1 行で入力します。改行はバックスラッシュ文字でエスケープされます)。
[qfs1mds-node1]root@solaris:~# clresource create -g qfsrg -t SUNW.qfs \ -x QFSFileSystem=/global/ha-cotc/qfs1 -y Resource_dependencies=qfs1mds hasqfs
リソースグループをオンラインにします。コマンド clresourcegroup
online
-emM
group-name
を使用します。ここで group-name
は、QFS リソースグループの名前です。
この例では、qfsr
リソースグループをオンラインにします。
[qfs1mds-node1]root@solaris:~# clresourcegroup manage qfsrg [qfs1mds-node1]root@solaris:~# clresourcegroup online -emM qfsrg
QFS リソースグループを必ずオンラインにしてください。Solaris Cluster clresourcegroup
status
コマンドを使用します。
この例では、qfsrg
リソースグループは、プライマリノード sam1mds-node1
では online
です。
[qfs1mds-node1]root@solaris:~# clresourcegroup status === Cluster Resource Groups === Group Name Node Name Suspended Status ---------- ------------- --------- ------ qfsrg qfs1mds-node1 No Online qfs1mds-node2 No Offline
リソースグループをセカンダリノードに移動して、リソースグループが正しくフェイルオーバーするようにします。Solaris Cluster コマンド clresourcegroup
switch
-n
node2
group-name
を使用します。ここで node2
はセカンダリノードの名前で、group-name
は HA-QFS リソースグループに選択した名前です。次に、clresourcegroup status
を使用して結果を確認します。
この例では、qfsrg
リソースグループを qfs1mds-node2
に移動して、指定したノードでリソースグループがオンラインになることを確認します。
[qfs1mds-node1]root@solaris:~# clresourcegroup switch -n qfs1mds-node2 qfsrg [qfs1mds-node1]root@solaris:~# clresourcegroup status === Cluster Resource Groups === Group Name Node Name Suspended Status ---------- ------------- --------- ------ qfsrg qfs1mds-node1 No Offline qfs1mds-node2 No Online
リソースグループをプライマリノードに戻します。Solaris Cluster コマンド clresourcegroup
switch
-n
node1
group-name
を使用します。ここで node1
はプライマリノードの名前で、group-name
は HA-QFS リソースグループに選択した名前です。次に、clresourcegroup status
を使用して結果を確認します。
この例では、qfsrg
リソースグループを qfs1mds-node1
に正常に戻します。
[qfs1mds-node1]root@solaris:~# clresourcegroup switch -n qfs1mds-node1 qfsrg [qfs1mds-node1]root@solaris:~# clresourcegroup status === Cluster Resource Groups === Group Name Node Name Suspended Status ---------- ------------- --------- ------ qfsrg qfs1mds-node1 No Online qfs1mds-node2 No Offline
クライアントがクラスタ内のメタデータサーバーの高可用性構成を妨げないように、各ホストを、ファイルシステムのメタデータデバイスにアクセスできない QFS クライアントとして構成します。
HA-COTC 共有ファイルシステムのクライアントごとに、次のように進めます。
HA-COTC クラスタ内のプライマリノードにログインします。root
としてログインします。
[qfs1mds-node1]root@solaris:~#
クラスタのデバイス構成を表示します。Solaris Cluster コマンド /usr/global/bin/cldevice
list
-v
を使用します。
[qfs1mds-node1]root@solaris:~# cldevice list -v DID Device Full Device Path ---------- ---------------- d1 qfs1mds-node1:/dev/rdsk/c0t0d0 d2 qfs1mds-node1:/dev/rdsk/c0t6d0 ... d7 qfs1mds-node2:/dev/rdsk/c0t1d0 [qfs1mds-node1]root@solaris:~#
cldevice
list
-v
コマンドの出力を調べます。各 QFS データ (mr
) デバイスのデバイス ID に対応する /dev/rdsk/
パスをメモします。
この例では、QFS データデバイスは d4
および d5
です。
[qfs1mds-node1]root@solaris:~# cldevice list -v DID Device Full Device Path ---------- ---------------- d1 qfs1mds-node1:/dev/rdsk/c0t0d0 d2 qfs1mds-node1:/dev/rdsk/c0t6d0 d3 qfs1mds-node1:/dev/rdsk/c1t1d0 d3 qfs1mds-node2:/dev/rdsk/c1t1d0 d4 qfs1mds-node1:/dev/rdsk/c1t2d0 d4 qfs1mds-node2:/dev/rdsk/c1t2d0 d5 qfs1mds-node1:/dev/rdsk/c1t3d0 d5 qfs1mds-node2:/dev/rdsk/c1t3d0 d6 qfs1mds-node2:/dev/rdsk/c0t0d0 d7 qfs1mds-node2:/dev/rdsk/c0t1d0 [qfs1mds-node1]root@solaris:~#
HA-COTC クラスタのクライアントホストに root
としてログインします。
この例では、qfs1client1
がクライアントホストです。
[qfs1mds-node1]root@solaris:~# ssh root@qfs1client1 [qfs1client1]root@solaris:~#
クライアントホスト上で、共有ファイルシステムの構成情報を取得します。samfsconfig
/dev/rdsk/*
コマンドを使用します。
samfsconfig
/dev/rdsk/*
コマンドは、指定されたパスで、QFS ファイルシステムに属する接続済みデバイスを検索します。この例では、このコマンドは、qfs1
データ (mr
) デバイスのパスを検索します。想定どおり、メタデータ (mm
) デバイスが見つからないため、共有データデバイスが一覧表示される前に、「Missing
slices
」および「Ordinal
0
」メッセージが返されます。
[qfs1client1]root@solaris:~# samfsconfig /dev/rdsk/* # Family Set 'qfs1' Created Thu Dec 21 07:17:00 2013 # Missing slices # Ordinal 0 # /dev/rdsk/c1t2d0s0 102 mr qfs1 - # /dev/rdsk/c1t3d0s1 103 mr qfs1 -
samfsconfig
コマンドの出力を、サーバー上の Solaris Cluster cldevice
list
コマンドの出力と比較します。両方で mr
データデバイスの同じデバイスパスが報告されることを確認します。
コントローラ番号 (c
N
) は異なる可能性がありますが、samfsconfig
および cldevice
list
コマンドは、同じデバイスを示します。この例では、samfsconfig
および cldevice
list
コマンドは、同じデバイスを指しています。
メタデータサーバーノードでは、/etc/opt/SUNWsamfs/mcf
ファイルは、クラスタデバイス ID d4
および d5
を使用して、共有の mr
データデバイス 102
および 103
を識別します。
/dev/did/dsk/d4s0 102 mr qfs1 - /dev/did/dsk/d5s1 103 mr qfs1 -
メタデータサーバーノードで cldevice
list
コマンドを使用すると、クラスタデバイス ID d4
および d5
がパス /dev/rdisk/c1t2d0
および /dev/rdisk/c1t3d0
にマップされます。
d4 qfs1mds-node1:/dev/rdsk/c1t2d0 d5 qfs1mds-node1:/dev/rdsk/c1t3d0
クライアントノードでは、samfsconfig
コマンドは、パス /dev/rdisk/c1t2d0
および /dev/rdisk/c1t3d0
を持つ共有の mr
データデバイス 102
および 103
も識別します。
/dev/rdsk/c1t2d0s0 102 mr qfs1 - /dev/rdsk/c1t3d0s1 103 mr qfs1 -
テキストエディタでクライアントの /etc/opt/SUNWsamfs/mcf
ファイルを開きます。HA-COTC 共有ファイルシステムのエントリを追加します。このエントリは、メタデータサーバー mcf
ファイル内の対応するエントリと正確に一致するべきです。
この例では、vi
エディタを使用して、QFS 共有ファイルシステム qfs1
(装置番号 100
) のエントリを作成します。
[qfs1client1]root@solaris:~# vi /etc/opt/SUNWsamfs/mcf # Equipment Equipment Equipment Family Device Additional # Identifier Ordinal Type Set State Parameters #------------------ --------- --------- ------- ------ ---------------- qfs1 100 ma qfs1 - shared
新しい行で、HA-COTC 共有ファイルシステムのメタデータ (mm
) デバイスのエントリを開始します。最初の列 (「Equipment
Identifier
」) に、キーワード nodev
を入力します。
# Equipment Equipment Equipment Family Device Additional
# Identifier Ordinal Type Set State Parameters
#------------------ --------- --------- ------- ------ ----------------
qfs1 100 ma qfs1 - shared
nodev
HA-COTC ファイルシステムのメタデータ (mm
) デバイスの残りのフィールドに、メタデータサーバー mcf
ファイルで使用される同じ装置番号、ファミリセット、およびデバイス状態パラメータを入力します。
# Equipment Equipment Equipment Family Device Additional # Identifier Ordinal Type Set State Parameters #------------------ --------- --------- ------- ------ ---------------- qfs1 100 ma qfs1 - shared nodev 101 mm qfs1 -
データ (mr
) デバイスの完全なエントリを samfsconfig
出力からコピーします。クライアントの /etc/opt/SUNWsamfs/mcf
ファイルにエントリを貼り付けます。samfsconfig
によって挿入される先頭のコメント (#
) 記号を削除します。次に、ファイルを保存し、エディタを閉じます。
# Equipment Equipment Equipment Family Device Additional # Identifier Ordinal Type Set State Parameters #------------------ --------- --------- ------- ------ ----------------- qfs1 100 ma qfs1 - shared nodev 101 mm qfs1 - /dev/rdsk/c1t2d0s0 102 mr qfs1 - /dev/rdsk/c1t3d0s1 103 mr qfs1 - :wq [qfs1client1]root@solaris:~#
エラーを mcf
ファイルで確認します。コマンド /opt/SUNWsamfs/sbin/sam-fsd
を使用して、見つかったエラーを修正します。
sam-fsd
コマンドは、Oracle HSM 構成ファイルを読み取り、ファイルシステムを初期化します。エラーが発生した場合は停止します。この例では、ホスト qfs1client1
で mcf
ファイルを確認します。
[qfs1client1]root@solaris:~# sam-fsd
...
Would start sam-archiverd()
Would start sam-stagealld()
Would start sam-stagerd()
Would start sam-amld()
[qfs1client1]root@solaris:~#
クライアントオペレーティングシステムの /etc/vfstab
ファイルをテキストエディタで開いて、サーバーで使用される同じパラメータを使用して新しいファイルシステムのエントリを追加します。次に、ファイルを保存し、エディタを閉じます。
この例では、vi
エディタを使用します。
[qfs1client1]root@solaris:~# vi /etc/vfstab #File #Device Device Mount System fsck Mount Mount #to Mount to fsck Point Type Pass at Boot Options #-------- ------- -------------------- ------ ---- ------- ------------- /devices - /devices devfs - no - /proc - /proc proc - no - ... qfs1 - /global/ha-cotc/qfs1 samfs - no shared :wq [qfs1client1]root@solaris:~#
クライアントで、高可用性共有ファイルシステムのマウントポイントを作成します。
[qfs1client1]root@solaris:~# mkdir -p /global/qfs1 [qfs1client1]root@solaris:~#
クライアントで、高可用性共有ファイルシステムをマウントします。
例
[qfs1client1]root@solaris:~# mount /global/qfs1 [qfs1client1]root@solaris:~#
すべての HA-COTC クライアントが構成されるまでこの手順を繰り返します。
サイドバンドデータベース機能を使用する計画がある場合、レポートデータベースの構成に進みます。
それ以外の場合は、通知とロギングの構成に進みます。
高可用性 Oracle Hierarchical Storage Manager (HA-SAM) 構成では、サーバーホストで障害が発生した場合でも QFS メタデータサーバーと Oracle Hierarchical Storage Manager アプリケーションが動作を継続できるようにすることにより、アーカイブファイルシステムの可用性が維持されます。ファイルシステムは、Solaris Cluster ソフトウェアによって管理される 2 ノードクラスタにホストされた、アクティブおよび潜在的な QFS メタデータサーバーの間で共有されます。アクティブなクラスタノードで障害が発生した場合、クラスタリングソフトウェアは、残っているノードで潜在的な Oracle HSM サーバーをアクティブにして、実行中の操作に対する制御を渡します。QFS ファイルシステムと Oracle HSM アプリケーションのローカルストレージディレクトリは共有され、すでにマウントされているため、データとメタデータへのアクセスは中断されません。
HA-SAM 構成では、アクティブなメタデータサーバーを介してすべての入出力を送信することで、クラスタ環境でのファイルシステムの整合性が確保されます。HA-SAM ファイルシステムはアクセシビリティーの理由でのみ共有します。潜在的なメタデータサーバーホストは、ほかの SAM-QFS 共有ファイルシステム構成の場合のようにファイルシステムクライアントとしては使用できません。潜在的なメタデータサーバーは、ノードのフェイルオーバー中にアクティブにしないかぎり入出力を実行しません。HA-SAM ファイルシステムは NFS を使用してクライアントと共有できます。ただし、共有がアクティブなメタデータサーバーノードから排他的にエクスポートされるようにする必要があります。
高可用性アーカイブファイルシステムは、3 つの Solaris Cluster リソースタイプに依存します。
SUNW.hasam
プライマリホストで障害が発生した場合、SUNW.hasam
リソースは Oracle Hierarchical Storage Manager アプリケーションのフェイルオーバーを管理します。SUNW.hasam
ソフトウェアは、Oracle HSM software ディストリビューションに付属しています。
SUNW.qfs
プライマリホストで障害が発生した場合、SUNW.qfs
リソースは、QFS メタデータサーバーのフェイルオーバーを管理します。SUNW.qfs
ソフトウェアは、Oracle HSM software ディストリビューションに付属しています (詳細は、SUNW.qfs
のマニュアルページを参照)。
SUNW.HAStoragePlus
プライマリホストで障害が発生した場合、SUNW.HAStoragePlus
リソースは、Oracle Hierarchical Storage Manager のローカルストレージのフェイルオーバーを管理します。Oracle HSM アプリケーションは、変わりやすいアーカイブ情報 (ジョブキューやリムーバブルメディアカタログ) をサーバーホストのローカルファイルシステムに保持します。SUNW.HAStoragePlus
は、標準のリソースタイプとして Solaris Cluster ソフトウェアに含まれています (リソースタイプの詳細は、Oracle Solaris Cluster ドキュメントライブラリで『データサービス計画および管理』ドキュメントを参照してください)。
必要なコンポーネントのインスタンスを構成して、動作中の HA-SAM アーカイブ構成に統合するには、次のタスクを実行します。
必要に応じて、高可用性ネットワークファイルシステム (HA-NFS) 共有を構成します。
HA-NFS を設定するための詳細な手順は、Oracle Solaris Cluster オンラインドキュメントライブラリに含まれている『Oracle Solaris Cluster Data Service for Network File System (NFS) ガイド』に記載されています。
Oracle HSM アーカイブ共有ファイルシステムでは、両方のノードのホストがファイルシステムのメタデータにアクセスできるように、メタデータサーバーで hosts ファイルを構成する必要があります。hosts ファイルは、/etc/opt/SUNWsamfs/
ディレクトリに mcf
ファイルとともに格納されています。共有ファイルシステムの初期作成中に、sammkfs
-S
コマンドを実行すると、このファイルに格納されている設定を使用して共有が構成されます。ここで、次の手順を使用して作成します。
HA-SAM クラスタのプライマリノードに root
としてログインします。
この例では、sam1mds-node1
がプライマリノードです。
[sam1mds-node1]root@solaris:~#
クラスタ構成を表示します。/usr/global/bin/cluster
show
コマンドを使用します。出力で、それぞれの Node
Name
のレコードを見つけて、各ネットワークアダプタの privatehostname
、Transport
Adapter
の名前、および ip_address
プロパティーをメモします。
この例では、それぞれのノードには、hme0
と qfe3
の 2 つのネットワークインタフェースがあります。
hme0
アダプタには、クラスタがノード間の内部通信に使用するプライベートネットワークの IP アドレスがあります。Solaris Cluster ソフトウェアは、各プライベートアドレスに対応する privatehostname
を割り当てます。
デフォルトでは、プライマリノードのプライベートホスト名は clusternode1-priv
で、セカンダリノードのプライベートホスト名は clusternode2-priv
です。
qfe3
アダプタには、クラスタがデータ転送に使用するパブリック IP アドレスとパブリックホスト名である sam1mds-node1
と sam1mds-node2
があります。
表示は、省略記号 (...
) を使用して省略されています。
[sam1mds-node1]root@solaris:~# cluster show ... === Cluster Nodes === Node Name: sam1mds-node1... privatehostname: clusternode1-priv... Transport Adapter List: qfe3, hme0... Transport Adapter: qfe3... Adapter Property(ip_address): 172.16.0.12... Transport Adapter: hme0... Adapter Property(ip_address): 10.0.0.129... Node Name: sam1mds-node2... privatehostname: clusternode2-priv... Transport Adapter List: qfe3, hme0... Adapter Property(ip_address): 172.16.0.13... Transport Adapter: hme0... Adapter Property(ip_address): 10.0.0.122
テキストエディタを使用して、ファイル /etc/opt/SUNWsamfs/hosts.
family-set-name
を作成します。ここで、family-set-name
は、/etc/opt/SUNWsamfs/mcf
ファイルによってファイルシステム装置に割り当てられるファミリセット名です。
この例では、vi
テキストエディタを使用してファイル hosts.sam1
を作成します。ホストテーブル内の列を示すために、コメントを示すハッシュ記号 (#
) で各行を開始して、いくつかのオプションの見出しを追加します。
[sam1mds-node1]root@solaris:~# vi /etc/opt/SUNWsamfs/hosts.sam1 # /etc/opt/SUNWsamfs/hosts.sam1 # Server On/ Additional #Host Name Network Interface Ordinal Off Parameters #------------ ----------------------------- ------- --- ----------
テーブルの最初の列に、プライマリメタデータサーバーノードとセカンダリメタデータサーバーノードのホスト名のあとにいくつかの空白文字を付けて、各行に 1 つのエントリを入力します。
hosts ファイルでは、行は行 (レコード) で、空白文字は列 (フィールド) 区切り文字です。この例では、最初の 2 行の「Host Name
」列には、ファイルシステムのメタデータサーバーをホストするクラスタノードのホスト名である、値 sam1mds-node1
と sam1mds-node2
が含まれています。
# Server On/ Additional #Host Name Network Interface Ordinal Off Parameters #------------ ----------------------------- ------- --- ---------- sam1mds-node1 sam1mds-node2
各行の 2 番目の列では、Host Name
列に一覧表示されているホストの Network Interface
情報の指定を開始します。それぞれの HA-SAM クラスタノードの Solaris Cluster プライベートホスト名またはプライベートネットワークアドレスと、その後にコンマを続けて入力します。
HA-SAM サーバーノードは、高可用性クラスタ内のサーバー間の通信にプライベートホスト名を使用します。この例では、Solaris Cluster ソフトウェアによって割り当てられたデフォルトの名前であるプライベートホスト名 clusternode1-priv
および clusternode2-priv
を使用します。
# Server On/ Additional #Host Name Network Interface Ordinal Off Parameters #------------ ----------------------------- ------- --- ---------- sam1mds-node1 clusternode1-priv, sam1mds-node2 clusternode2-priv,
各行の 2 番目の列にあるコンマのあとに、アクティブなメタデータサーバーのパブリックホスト名と、その後に空白文字を続けて入力します。
HA-SAM サーバーノードは、パブリックデータネットワークを使用して、クラスタの外部にあるホストと通信します。アクティブなメタデータサーバーの IP アドレスとホスト名はフェイルオーバー中に変わる (sam1mds-node1
から sam1mds-node2
、およびその逆) ため、両方に仮想ホスト名 sam1mds
を使用します。あとで、sam1mds
の要求をアクティブなメタデータサーバーに常にルーティングするように Solaris Cluster ソフトウェアを構成します。
# Server On/ Additional #Host Name Network Interface Ordinal Off Parameters #------------ ----------------------------- ------- --- ---------- sam1mds-node1 clusternode1-priv,sam1mds sam1mds-node2 clusternode2-priv,sam1mds
各行の 3 番目の列に、サーバーの番号 (アクティブなメタデータサーバーの場合は 1
、潜在的なメタデータサーバーの場合は 2
) とその後にスペースを続けて入力します。
この例では、メタデータサーバーは 1 つしかなく、プライマリノード sam1mds-node1
がアクティブなメタデータサーバーであるため番号は 1
で、セカンダリノード sam1mds-node2
の番号は 2
です。
# Server On/ Additional #Host Name Network Interface Ordinal Off Parameters #------------ ----------------------------- ------- --- ---------- sam1mds-node1 clusternode1-priv,sam1mds 1 sam1mds-node2 clusternode2-priv,sam1mds 2
各行の 4 番目の列に、0
(ゼロ) とその後に空白文字を続けて入力します。
4 列目の 0
、-
(ハイフン)、または空白値は、ホストが「on」 (共有ファイルシステムへのアクセスありで構成) であることを示します。1
(数字の 1) は、ホストが「off」(ファイルシステムへのアクセスなしで構成) であることを示します (共有ファイルシステムを管理する際のこれらの値の使用については、samsharefs
のマニュアルページを参照してください)。
# Server On/ Additional #Host Name Network Interface Ordinal Off Parameters #------------ ----------------------------- ------- --- ---------- sam1mds-node1 clusternode1-priv,sam1mds 1 0 sam1mds-node2 clusternode2-priv,sam1mds 2 0
プライマリノードの行の 5 番目の列に、キーワード server
を入力します。その後、ファイルを保存してエディタを閉じます。
server キーワードは、デフォルトのアクティブなメタデータサーバーを示します。
# Server On/ Additional #Host Name Network Interface Ordinal Off Parameters #------------ ----------------------------- ------- --- ---------- sam1mds-node1 clusternode1-priv,sam1mds 1 0 server sam1mds-node2 clusternode2-priv,sam1mds 2 0 :wq [sam1mds-node1]root@solaris:~#
グローバル /etc/opt/SUNWsamfs/hosts.
family-set-name
ファイルのコピーを潜在的なメタデータサーバーに格納します。
高可用性アーカイブ共有ファイルシステムでは、Solaris Cluster ソフトウェアによって定義されたプライベートネットワークを使用してサーバーが相互に通信するようにする必要があります。これを行うには、特別に構成されたローカル hosts ファイルを使用して、サーバー上のネットワークインタフェース間のネットワークトラフィックを選択的にルーティングします。
それぞれのファイルシステムホストは、メタデータサーバー上の /etc/opt/SUNWsamfs/hosts.
family-set-name
ファイルを最初にチェックすることで、ほかのホストのネットワークインタフェースを識別します。次に、個別の /etc/opt/SUNWsamfs/hosts.
family-set-name
.local
ファイルを確認します。ローカル hosts ファイルが存在しない場合、ホストはグローバル hosts ファイルに指定されたインタフェースアドレスをグローバルファイルに指定された順序で使用します。ただし、ローカル hosts ファイルが存在する場合、ホストはグローバルファイルと比較して、両方のファイルに一覧表示されたインタフェースのみをローカルファイルに指定された順序で使用します。各ファイルでさまざまな配列のさまざまなアドレスを使用すると、さまざまなホストで使用されているインタフェースを制御できます。
ローカル hosts ファイルを構成するには、次に概要を示す手順を使用します。
HA-SAM クラスタのプライマリノードに root
としてログインします。
この例では、sam1mds-node1
がプライマリノードです。
[sam1mds-node1]root@solaris:~#
テキストエディタで、パスとファイル名 /etc/opt/SUNWsamfs/hosts.
family-set-name
.local
を使用して、アクティブなメタデータサーバー上でローカル hosts ファイルを作成します。ここで、family-set-name
は、/etc/opt/SUNWsamfs/mcf
ファイルによってファイルシステム装置に割り当てられるファミリセット名です。潜在的なサーバーとの通信時にアクティブなサーバーに使用させるネットワークインタフェースのみを含めます。その後、ファイルを保存してエディタを閉じます。
この例では、アクティブなメタデータサーバーと潜在的なメタデータサーバーがプライベートネットワークを介して相互に通信するようにします。そのため、アクティブなメタデータサーバーである hosts.sam1.local
のローカル hosts ファイルには、アクティブなサーバーと潜在的なサーバーのクラスタのプライベートアドレスのみが表示されています。
[sam1mds-node1]root@solaris:~# vi /etc/opt/SUNWsamfs/hosts.sam1.local # Server On/ Additional #Host Name Network Interface Ordinal Off Parameters #------------ ----------------------------- ------- --- ---------- sam1mds-node1 clusternode1-priv 1 0 server sam1mds-node2 clusternode2-priv 2 0 :wq [sam1mds-node1]root@solaris:~#
セカンダリクラスタノードに root
としてログインします。
この例では、sam1mds-node2
がセカンダリノードです。
[sam1mds-node1]root@solaris:~# ssh root@sam1mds-node2 Password: [sam1mds-node2]root@solaris:~#
テキストエディタを使用して、潜在的なメタデータサーバーでローカル hosts ファイルを作成します。パスとファイル名 /etc/opt/SUNWsamfs/hosts.
family-set-name
.local
を使用します。ここで、family-set-name
は、/etc/opt/SUNWsamfs/mcf
ファイルによってファイルシステム装置に割り当てられるファミリセット名です。アクティブなサーバーとの通信時に潜在的なサーバーに使用させるネットワークインタフェースのみを含めます。その後、ファイルを保存してエディタを閉じます。
この例では、アクティブなメタデータサーバーと潜在的なメタデータサーバーがプライベートネットワークを介して相互に通信するようにします。そのため、潜在的なメタデータサーバーである hosts.sam1.local
のローカル hosts ファイルには、アクティブなサーバーと潜在的なサーバーのクラスタのプライベートアドレスのみが表示されています。
[sam1mds-node2]root@solaris:~# vi /etc/opt/SUNWsamfs/hosts.sam1.local # Server On/ Additional #Host Name Network Interface Ordinal Off Parameters #------------ ----------------------------- ------- --- ---------- sam1mds-node1 clusternode1-priv 1 0 server sam1mds-node2 clusternode2-priv 2 0 :wq [sam1mds-node2]root@solaris:~# exit [sam1mds-node1]root@solaris:~#
HA-SAM クラスタのプライマリノードと QFS 共有ファイルシステムのアクティブなメタデータサーバーの両方としての役割を果たすクラスタノードを選択します。root
としてログインします。
この例では、sam1mds-node1
がプライマリノードです。
[sam1mds-node1]root@solaris:~#
QFS ファイルシステムに使用されるグローバルストレージデバイスを選択します。コマンド /usr/global/bin/cldevice
list
-v
を使用します。
Solaris Cluster ソフトウェアは、クラスタノードに接続されているすべてのデバイスに一意のデバイス ID (DID) を割り当てます。グローバルデバイスは、クラスタ内のすべてのノードからアクセスできるのに対して、ローカルデバイスは、ローカルデバイスをマウントするホストからのみアクセス可能です。グローバルデバイスはフェイルオーバー後にアクセス可能な状態のままになります。ローカルデバイスはそうではありません。
この例では、デバイス d1
、d2
、d7
、および d8
は両方のノードからアクセス可能ではありません。そのため、高可用性 QFS 共有ファイルシステムの構成時にデバイス d3
、d4
、および d5
の中から選択します。
[sam1mds-node1]root@solaris:~# cldevice list -v DID Device Full Device Path ---------- ---------------- d1 sam1mds-node1:/dev/rdsk/c0t0d0 d2 sam1mds-node1:/dev/rdsk/c0t6d0 d3 sam1mds-node1:/dev/rdsk/c1t1d0 d3 sam1mds-node2:/dev/rdsk/c1t1d0 d4 sam1mds-node1:/dev/rdsk/c1t2d0 d4 sam1mds-node2:/dev/rdsk/c1t2d0 d5 sam1mds-node1:/dev/rdsk/c1t3d0 d5 sam1mds-node2:/dev/rdsk/c1t3d0 d6 sam1mds-node2:/dev/rdsk/c0t0d0 d7 sam1mds-node2:/dev/rdsk/c0t1d0
選択したプライマリノードで、mr
データデバイスを使用する高パフォーマンスの ma
ファイルシステムを作成します。テキストエディタで /etc/opt/SUNWsamfs/mcf
ファイルを開きます。
この例では、ファイルシステム sam1
を構成します。デバイス d3
をメタデータデバイス (装置タイプ mm
) として構成して、d4
および d5
をデータデバイス (装置タイプ mr
) として使用します。
[sam1mds-node1]root@solaris:~# vi /etc/opt/SUNWsamfs/mcf # Equipment Equipment Equipment Family Device Additional # Identifier Ordinal Type Set State Parameters #------------------ --------- --------- ------- ------ ----------------- sam1 100 ma sam1 - /dev/did/dsk/d3s0 101 mm sam1 - /dev/did/dsk/d4s0 102 mr sam1 - /dev/did/dsk/d5s1 103 mr sam1 -
/etc/opt/SUNWsamfs/mcf
ファイルで、ファイルシステムエントリの Additional Parameters
列に shared
パラメータを入力します。ファイルを保存します。
[sam1mds-node1]root@solaris:~# vi /etc/opt/SUNWsamfs/mcf # Equipment Equipment Equipment Family Device Additional # Identifier Ordinal Type Set State Parameters #------------------ --------- --------- ------- ------ ----------------- sam1 100 ma sam1 - shared /dev/did/dsk/d3s0 101 mm sam1 - /dev/did/dsk/d4s0 102 mr sam1 - /dev/did/dsk/d5s1 103 mr sam1 - :wq [sam1mds-node1]root@solaris:~#
エラーを mcf
ファイルで確認します。コマンド /opt/SUNWsamfs/sbin/sam-fsd
を使用して、見つかったエラーを修正します。
sam-fsd
コマンドは、Oracle HSM 構成ファイルを読み取り、ファイルシステムを初期化します。エラーが発生した場合は停止します。この例では、ホスト sam1mds-node1
で mcf
ファイルを確認します。
[sam1mds-node1]root@solaris:~# sam-fsd
...
Would start sam-archiverd()
Would start sam-stagealld()
Would start sam-stagerd()
Would start sam-amld()
[sam1mds-node1]root@solaris:~#
ファイルシステムを作成します。コマンド /opt/SUNWsamfs/sbin/sammkfs
-S
family-set-name
を使用します。ここで、family-set-name
は、/etc/opt/SUNWsamfs/mcf
ファイルによってファイルシステム装置に割り当てられるファミリセット名です。
sammkfs
コマンドは、hosts.
family-set-name
および mcf
ファイルを読み取って、指定されたプロパティーを使用して Oracle HSM ファイルシステムを作成します。
[sam1mds-node1]root@solaris:~# sammkfs -S sam1 Building 'sam1' will destroy the contents of devices: ... Do you wish to continue? [y/N]yes ... [sam1mds-node1]root@solaris:~#
テキストエディタでオペレーティングシステムの /etc/vfstab
ファイルを開き、新しいファイルシステムの行を開始します。最初の列にファイルシステム名、空白文字、2 番目の列にハイフン、さらに空白を入力します。
この例では、vi
テキストエディタを使用します。sam1
ファイルシステムの行を開始します。ハイフンは、オペレーティングシステムが UFS ツールを使用してファイルシステムの整合性チェックを試行しないようにします。
[sam1mds-node1]root@solaris:~# vi /etc/vfstab #File #Device Device Mount System fsck Mount Mount #to Mount to fsck Point Type Pass at Boot Options #-------- ------- ------------ ------ ---- ------- --------------------- /devices - /devices devfs - no - /proc - /proc proc - no - ... sam1 -
/etc/vfstab
ファイルの 3 番目の列に、クラスタを基準とした相対的なファイルシステムのマウントポイントを入力します。システムのルートディレクトリの直下にはないサブディレクトリを選択します。
QFS 共有ファイルシステムをルートの直下にマウントすると、SUNW.qfs
リソースタイプの使用時にフェイルオーバーの問題が発生する可能性があります。この例では、クラスタ上のマウントポイントを /global/ha-sam/sam1
に設定します。
#File
#Device Device Mount System fsck Mount Mount
#to Mount to fsck Point Type Pass at Boot Options
#-------- ------- ------------------- ------ ---- ------- ---------------
/devices - /devices devfs - no -
/proc - /proc proc - no -
...
sam1 - /global/ha-sam/sam1
Oracle HSM 共有ファイルシステムの場合と同様に、/etc/vfstab
ファイルレコードの残りのフィールドに入力します。次に、ファイルを保存し、エディタを閉じます。
#File #Device Device Mount System fsck Mount Mount #to Mount to fsck Point Type Pass at Boot Options #-------- ------- ------------------- ------ ---- ------- --------------- /devices - /devices devfs - no - /proc - /proc proc - no - ... sam1 - /global/ha-sam/sam1 samfs - no shared :wq [sam1mds-node1]root@solaris:~#
高可用性ファイルシステムのマウントポイントを作成します。
-p
(親) オプションを指定して mkdir
コマンドを使用すると、/global
ディレクトリが作成されます (まだ存在しない場合)。
[sam1mds-node1]root@solaris:~# mkdir -p /global/ha-sam/sam1
プライマリノードで高可用性共有ファイルシステムをマウントします。
[sam1mds-node1]root@solaris:~# mount /global/ha-sam/sam1
2 ノードクラスタのセカンダリノードは、潜在的なメタデータサーバーとして機能します。潜在的なメタデータサーバーは、メタデータデバイスにアクセスできるホストであるため、メタデータサーバーの役割を担うことができます。そのため、プライマリノード上のアクティブなメタデータサーバーで障害が発生した場合、Solaris Cluster ソフトウェアはセカンダリノードにフェイルオーバーし、潜在的なメタデータサーバーをアクティブにできます。
HA-SAM クラスタのセカンダリノードに root
としてログインします。
この例では、sam1mds-node2
がセカンダリノードです。
[sam1mds-node2]root@solaris:~#
/etc/opt/SUNWsamfs/mcf
ファイルをプライマリノードからセカンダリノードにコピーします。
エラーを mcf
ファイルで確認します。コマンド /opt/SUNWsamfs/sbin/sam-fsd
を使用して、見つかったエラーを修正します。
sam-fsd
コマンドは、Oracle HSM 構成ファイルを読み取り、ファイルシステムを初期化します。エラーが発生した場合は停止します。この例では、ホスト sam1mds-node1
で mcf
ファイルを確認します。
[sam1mds-node2]root@solaris:~# sam-fsd
...
Would start sam-archiverd()
Would start sam-stagealld()
Would start sam-stagerd()
Would start sam-amld()
[sam1mds-node2]root@solaris:~#
ファイルシステムを作成します。コマンド /opt/SUNWsamfs/sbin/sammkfs
-S
family-set-name
を使用します。ここで、family-set-name
は、/etc/opt/SUNWsamfs/mcf
ファイルによってファイルシステム装置に割り当てられるファミリセット名です。
sammkfs
コマンドは、hosts.
family-set-name
および mcf
ファイルを読み取って、指定されたプロパティーを使用して Oracle HSM ファイルシステムを作成します。
[sam1mds-node2]root@solaris:~# sammkfs sam1 Building 'sam1' will destroy the contents of devices: ... Do you wish to continue? [y/N]yes ... [sam1mds-node2]root@solaris:~#
テキストエディタでオペレーティングシステムの /etc/vfstab
ファイルを開き、新しいファイルシステムの行を追加します。次に、ファイルを保存し、エディタを閉じます。
この例では、vi
エディタを使用します。
[sam1mds-node2]root@solaris:~# vi /etc/vfstab #File #Device Device Mount System fsck Mount Mount #to Mount to fsck Point Type Pass at Boot Options #-------- ------- ------------------- ------ ---- ------- -------------- /devices - /devices devfs - no - /proc - /proc proc - no - ... sam1 - /global/ha-sam/sam1 samfs - no shared :wq [sam1mds-node2]root@solaris:~#
セカンダリノードで高可用性共有ファイルシステムのマウントポイントを作成します。
[sam1mds-node2]root@solaris:~# mkdir -p /global/ha-sam/sam1
セカンダリノードで高可用性共有ファイルシステムをマウントします。
[sam1mds-node2]root@solaris:~# mount /global/ha-sam/sam1
HA-SAM ソリューションのために高可用性リソースを管理するリソースグループを作成します。
HA-SAM クラスタのプライマリクラスタノードに root
としてログインします。
この例では、プライマリノードは sam1mds-node1
です。
[sam1mds-node1]root@solaris:~#
HA-SAM ソリューションリソースを管理するための Solaris Cluster リソースグループを作成します。コマンド clresourcegroup
create
-n
node1
,node2
groupname
を使用します。ここでは:
node1
は、プライマリクラスタノードのホスト名です。
node2
は、セカンダリクラスタノードのホスト名です。
groupname
は、HA-SAM リソースグループに選択した名前です。
この例では、has-rg
という名前のリソースグループを作成して、ホスト sam1mds-node1
および sam1mds-node2
を含めます (次のコマンドは 1 行で入力します。改行はバックスラッシュ文字でエスケープされます)。
[sam1mds-node1]root@solaris:~# clresourcegroup create \ -n sam1mds-node1,sam1mds-node2 has-rg
次のフェイルオーバーを正常に回復するには、Oracle HSM software は、フェイルオーバーの発生時に実行されていたアーカイブ操作を再開する必要があります。アーカイブ操作を再開するには、ソフトウェアは、システム構成と、通常はアクティブなメタデータサーバーのローカルファイルシステムに格納されている状態情報にアクセスできる必要があります。そのため、クラスタ内の両方のノードから常にアクセス可能な状態になっている高可用性ローカルファイルシステムに必要な情報を移動する必要があります。
必要なファイルシステムを作成するには、次のように進めます。
HA-SAM クラスタのプライマリノードに root
としてログインします。
この例では、プライマリノードは sam1mds-node1
です。
[sam1mds-node1]root@solaris:~#
プライマリクラスタノードで、グローバルデバイスの空きスライス上に UFS ファイルシステムを作成します。コマンド newfs
/dev/global/dsk/d
X
s
Y
を使用します。ここで X
は、グローバルデバイスのデバイス ID (DID) 番号で、Y
はスライス番号です。
この例では、/dev/global/dsk/d10s0
上に新しいファイルシステムを作成します。
[sam1mds-node1]root@solaris:~# newfs /dev/global/dsk/d10s0 newfs: construct a new file system /dev/global/dsk/d10s0: (y/n)? y /dev/global/dsk/d10s0: 1112940 sectors in 1374 cylinders of 15 tracks, 54 sectors 569.8MB in 86 cyl groups (16 c/g, 6.64MB/g, 3072 i/g) super-block backups(for fsck -b #) at: 32, 13056, 26080, 39104, 52128, 65152, 78176, 91200, 104224, . . . [sam1mds-node1]root@solaris:~#
プライマリクラスタノードで、オペレーティングシステムの /etc/vfstab
ファイルをテキストエディタで開きます。新しい UFS ファイルシステムの行を追加します。ファイルを保存して、エディタを閉じます。
新しい行は、/dev/global/dsk/d
X
s
Y
/dev/global/dsk/d
X
s
Y
/global/
mount_point
ufs
5
no
global
形式の空白文字区切りリストにしてください。ここでは:
X
は、ファイルシステムを保持するグローバルデバイスのデバイス ID (DID) 番号です。
Y
は、ファイルシステムを保持するスライスの番号です。
/dev/global/dsk/d
X
s
Y
は、マウントされるファイルシステムデバイスの名前です。
/dev/global/dsk/d
X
s
Y
は、fsck
コマンドによってチェックされるファイルシステムデバイスの名前です。
mount_point
は、UFS ファイルがマウントされるサブディレクトリの名前です。
ufs
は、ファイルシステムタイプです。
5
は、推奨される fsck
パス番号です。
no
は、起動時にファイルシステムをマウントしないようにオペレーティングシステムに指示します。
global
は、両方のノードからアクセスできるようにファイルシステムをマウントします。
次の例では、vi
エディタを使用します。ファイルシステム名は /dev/global/dsk/d10s0
で、マウントポイントは /global/
hasam_cfg
です (ファイルシステムエントリは 1 行です。ページに収めるために改行が挿入され、バックスラッシュ文字でエスケープされています)。
[sam1mds-node1]root@solaris:~# vi /etc/vfstab #File #Device Device Mount System fsck Mount Mount #to Mount to fsck Point Type Pass at Boot Options #-------- ------- ------------------- ------ ---- ------- -------------- /devices - /devices devfs - no - /proc - /proc proc - no - ... sam1 - /global/ha-samsam1 samfs - no shared /dev/global/dsk/d10s0 /dev/global/rdsk/d10s0 /global/hasam_cfg ufs 5 \ no global :wq [sam1mds-node2]root@solaris:~#
プライマリクラスタノードで、高可用性ローカルファイルシステムのマウントポイントを作成します。コマンド mkdir
-p
/global/
mount_point
を使用します。ここで mount_point
は、選択したマウントポイントディレクトリです。
この例では、ディレクトリ /global/hasam_cfg
を作成します。
[sam1mds-node1]root@solaris:~# mkdir -p /global/hasam_cfg
セカンダリクラスタノードに root
としてログインします。
この例では、セカンダリノードは sam1mds-node2
です。ssh
を使用してログインします。
[sam1mds-node1]root@solaris:~# ssh root@sam1mds-node2 Password: [sam1mds-node2]root@solaris:~#
セカンダリノードで、オペレーティングシステムの /etc/vfstab
ファイルをテキストエディタで開きます。新しい UFS ファイルシステム用の同一のエントリを追加します。ファイルを保存して、エディタを閉じます。
[sam1mds-node1]root@solaris:~# ssh root@sam1mds-node2 Password: [sam1mds-node2]root@solaris:~# vi /etc/vfstab #File #Device Device Mount System fsck Mount Mount #to Mount to fsck Point Type Pass at Boot Options #-------- ------- ------------------- ------ ---- ------- -------------- /devices - /devices devfs - no - /proc - /proc proc - no - ... sam1 - /global/ha-samsam1 samfs - no shared /dev/global/dsk/d10s0 /dev/global/rdsk/d10s0 /global/hasam_cfg ufs 5 \ no global :wq [sam1mds-node1]root@solaris:~#
セカンダリノードで、同じマウントポイントを作成します。
この例では、/global/hasam_cfg
ディレクトリを作成します。次に、ssh
セッションを閉じて、プライマリノードでの作業を再開します。
[sam1mds-node2]root@solaris:~# mkdir -p /global/hasam_cfg [sam1mds-node2]root@solaris:~# exit [sam1mds-node1]root@solaris:~#
プライマリノードで、高可用性ローカルファイルシステムをマウントします。コマンド mount
/global/
mount_point
を使用します。ここで mount_point
は、選択したマウントポイントディレクトリです。
このコマンドは、両方のノードで UFS ファイルシステムをマウントします。この例では、/global/
hasam_cfg
でファイルシステムをマウントします。
[sam1mds-node1]root@solaris:~# mount /global/hasam_cfg [sam1mds-node1]root@solaris:~#
プライマリノードで、Oracle HSM ステージング情報を保持するためのサブディレクトリを作成します。コマンド mkdir
-p
/global/
mount_point
/catalog
を使用します。ここで mount_point
は、選択したマウントポイントディレクトリです。
[sam1mds-node1]root@solaris:~# mkdir /global/hasam_cfg/catalog [sam1mds-node1]root@solaris:~#
プライマリノードで、Oracle HSM アーカイブカタログを保持するためのサブディレクトリを作成します。コマンド mkdir
-p
/global/
mount_point
/stager
を使用します。ここで mount_point
は、選択したマウントポイントディレクトリです。
[sam1mds-node1]root@solaris:~# mkdir /global/hasam_cfg/stager [sam1mds-node1]root@solaris:~#
HA-SAM クラスタのプライマリノードに root
としてログインします。
この例では、プライマリノードは sam1mds-node1
です。
[sam1mds-node1]root@solaris:~#
プライマリノードで、catalog/
および stager/
ディレクトリを /var/opt/SUNWsamfs/
内のデフォルトの場所から一時的な場所にコピーします。
この例では、ディレクトリを /var/tmp/
に再帰的にコピーします (次の最初のコマンドは 1 行で入力します。改行はバックスラッシュ文字でエスケープされます)。
[sam1mds-node1]root@solaris:~# cp -r /var/opt/SUNWsamfs/catalog \ /var/tmp/catalog [sam1mds-node1]root@solaris:~# cp -r /var/opt/SUNWsamfs/stager /var/tmp/stager [sam1mds-node1]root@solaris:~#
プライマリノードで、catalog/
および stager/
ディレクトリを /var/opt/SUNWsamfs/
から削除します。
[sam1mds-node1]root@solaris:~# rm -rf /var/opt/SUNWsamfs/catalog [sam1mds-node1]root@solaris:~# rm -rf /var/opt/SUNWsamfs/stager [sam1mds-node1]root@solaris:~#
プライマリノードで、カタログ情報のデフォルトの場所から高可用性 UFS ローカルファイルシステム内の新しい場所へのシンボリックリンクを作成します。コマンド ln
-s
/global/
mount_point
/catalog
/var/opt/SUNWsamfs/catalog
を使用します。ここでは:
mount_point
は、高可用性ローカルファイルシステムがノードのルートファイルシステムに接続するサブディレクトリの名前です。
/var/opt/SUNWsamfs/catalog
はデフォルトの場所です。
シンボリックリンクは、カタログ情報の要求を新しい場所に自動的にリダイレクトします。この例では、新しい場所 /global/hasam_cfg/catalog
を指す catalog
リンクを作成します (次のコマンドは 1 行で入力します。改行はバックスラッシュ文字でエスケープされます)。
[sam1mds-node1]root@solaris:~# ln -s /global/hasam_cfg/catalog \ /var/opt/SUNWsamfs/catalog [sam1mds-node1]root@solaris:~#
プライマリノードで、ステージング情報のデフォルトの場所から高可用性 UFS ローカルファイルシステム内の新しい場所へのシンボリックリンクを作成します。コマンド ln
-s
/global/
mount_point
/stager
/var/opt/SUNWsamfs/stager
を使用します。ここでは:
mount_point
は、高可用性ローカルファイルシステムがノードのルートファイルシステムに接続するサブディレクトリの名前です。
/var/opt/SUNWsamfs/stager
はデフォルトの場所です。
シンボリックリンクは、ステージャー情報の要求を新しい場所に自動的にリダイレクトします。この例では、新しい場所 /global/hasam_cfg/stager
を指す stager
リンクを作成します (次のコマンドは 1 行で入力します。改行はバックスラッシュ文字でエスケープされます)。
[sam1mds-node1]root@solaris:~# ln -s /global/hasam_cfg/stager \ /var/opt/SUNWsamfs/stager [sam1mds-node1]root@solaris:~#
プライマリノードで、シンボリックリンクによってデフォルトの /var/opt/SUNWsamfs/catalog
および /var/opt/SUNWsamfs/stager
ディレクトリが置き換えられていることを確認します。リンクが高可用性ファイルシステムの新しい場所を指すことを確認します。
この例では、リンクは適切です。
[sam1mds-node1]root@solaris:~# ls -l /var/opt/SUNWsamfs/catalog lrwxrwxrwx 1 root other ... /var/opt/SUNWsamfs/catalog -> /global/hasam_cfg/catalog [sam1mds-node1]root@solaris:~# ls -l /var/opt/SUNWsamfs/stager lrwxrwxrwx 1 root other ... /var/opt/SUNWsamfs/stager -> /global/hasam_cfg/stager [sam1mds-node1]root@solaris:~#
catalog/
および stager/
ディレクトリの内容を一時的な場所から高可用性ファイルシステムにコピーします。
この例では、catalog/
および stager/
ディレクトリを /var/tmp/
から新しい場所 /global/hasam_cfg/stager
にコピーします (次のコマンドは 1 行で入力します。改行はバックスラッシュ文字でエスケープされます)。
[sam1mds-node1]root@solaris:~# cp -rp /var/tmp/catalog/* \ /var/opt/SUNWsamfs/catalog [sam1mds-node1]root@solaris:~# cp -rp /var/tmp/stager/* \ /var/opt/SUNWsamfs/stager [sam1mds-node1]root@solaris:~#
HA-SAM クラスタのセカンダリノードに root
としてログインします。
この例では、ssh
(セキュアシェル) を使用してセカンダリノード sam1mds-node2
にログインします。
[sam1mds-node1]root@solaris:~# ssh root@sam1mds-node2 Password: [sam1mds-node2]root@solaris:~#
セカンダリノードで、カタログ情報のデフォルトの場所から高可用性 UFS ローカルファイルシステム内の新しい場所へのシンボリックリンクを作成します。コマンド ln
-s
/global/
mount_point
/catalog
/var/opt/SUNWsamfs/catalog
を使用します。ここでは:
mount_point
は、高可用性ローカルファイルシステムがノードのルートファイルシステムに接続するサブディレクトリの名前です。
/var/opt/SUNWsamfs/catalog
はデフォルトの場所です。
シンボリックリンクは、カタログ情報の要求を新しい場所に自動的にリダイレクトします。この例では、新しい場所 /global/hasam_cfg/catalog
を指す catalog
リンクを作成します (次のコマンドは 1 行で入力します。改行はバックスラッシュ文字でエスケープされます)。
[sam1mds-node2]root@solaris:~# ln -s /global/hasam_cfg/catalog \ /var/opt/SUNWsamfs/catalog [sam1mds-node2]root@solaris:~#
セカンダリノードで、ステージング情報のデフォルトの場所から高可用性 UFS ローカルファイルシステム内の新しい場所へのシンボリックリンクを作成します。コマンド ln
-s
/global/
mount_point
/stager
/var/opt/SUNWsamfs/stager
を使用します。ここでは:
mount_point
は、高可用性ローカルファイルシステムがノードのルートファイルシステムに接続するサブディレクトリの名前です。
/var/opt/SUNWsamfs/stager
はデフォルトの場所です。
シンボリックリンクは、ステージャー情報の要求を新しい場所に自動的にリダイレクトします。この例では、新しい場所 /global/hasam_cfg/stager
を指す stager
リンクを作成します (次のコマンドは 1 行で入力します。改行はバックスラッシュ文字でエスケープされます)。
[sam1mds-node2]root@solaris:~# ln -s /global/hasam_cfg/stager \ /var/opt/SUNWsamfs/stager [sam1mds-node2]root@solaris:~#
セカンダリノードで、シンボリックリンクによってデフォルトの /var/opt/SUNWsamfs/catalog
および /var/opt/SUNWsamfs/stager
ディレクトリが置き換えられていることを確認します。リンクが高可用性ファイルシステムの新しい場所を指すことを確認します。
この例では、リンクは適切です。そのため、ssh
セッションを閉じて、プライマリノードで作業を再開します。
[sam1mds-node2]root@solaris:~# ls -l /var/opt/SUNWsamfs/catalog lrwxrwxrwx 1 root other ... /var/opt/SUNWsamfs/catalog -> /global/hasam_cfg/catalog [sam1mds-node2]root@solaris:~# ls -l /var/opt/SUNWsamfs/stager lrwxrwxrwx 1 root other ... /var/opt/SUNWsamfs/stager -> /global/hasam_cfg/stager [sam1mds-node2]root@solaris:~# exit [sam1mds-node1]root@solaris:~#
HA-SAM クラスタのプライマリノードで、SUNW.HAStoragePlus
リソースタイプをクラスタ構成の一部として登録します。Solaris Cluster コマンド clresourcetype
register
SUNW.HAStoragePlus
を使用します。
[sam1mds-node1]root@solaris:~# clresourcetype register SUNW.HAStoragePlus [sam1mds-node1]root@solaris:~#
プライマリノードで、SUNW.HAStoragePlus
リソースタイプの新しいインスタンスを作成して、これを Solaris Cluster リソースグループに関連付けます。コマンド clresource
create
-g
groupname
-t
SUNW.HAStoragePlus
-x
FilesystemMountPoints=
mountpoint
-x
AffinityOn=TRUE
resourcename
を使用します。ここでは:
groupname
は、HA-SAM リソースグループに選択した名前です。
SUNW.HAStoragePlus
は、ローカルファイルシステムのフェイルオーバーをサポートする Solaris Cluster リソースタイプです。
mountpoint
は、カタログとステージャーファイルを保持する高可用性ローカルファイルシステムのマウントポイントです。
resourcename
は、リソース自体に選択した名前です。
この例では、タイプ SUNW.HAStoragePlus
の has-cfg
という名前のリソースを作成します。新しいリソースをリソースグループ has-rg
に追加します。次に、リソースの拡張プロパティーを構成します。FilesystemMountPoints
を /global/hasam_cfg
に設定して、AffinityOn
を TRUE
に設定します (次のコマンドはそれぞれ 1 行で入力します。改行はバックスラッシュ文字でエスケープされます)。
[sam1mds-node1]root@solaris:~# clresource create -g has-rg \ -t SUNW.HAStoragePlus -x FilesystemMountPoints=/global/hasam_cfg \ -x AffinityOn=TRUE has-cfg [sam1mds-node1]root@solaris:~#
Oracle HSM software によって定義されたリソースタイプである SUNW.qfs
クラスタリソースを作成して、メタデータサーバーのフェイルオーバーを構成します (詳細は、SUNW.qfs
のマニュアルページを参照)。HA-SAM 構成のリソースを作成して構成するには、次のように進めます。
HA-SAM クラスタのプライマリクラスタノードに root
としてログインします。
この例では、プライマリノードは sam1mds-node1
です。
[sam1mds-node1]root@solaris:~#
Solaris Cluster ソフトウェア用にリソースタイプ SUNW.qfs
を定義します。コマンド clresourcetype
register
SUNW.qfs
を使用します。
[sam1mds-node1]root@solaris:~# clresourcetype register SUNW.qfs [qfs1mds-node1]root@solaris:~#
登録ファイルが見つからないために登録が失敗した場合、Solaris Cluster がリソースタイプの登録ファイル /opt/cluster/lib/rgm/rtreg/
を保持するディレクトリに、/opt/SUNWsamfs/sc/etc/
ディレクトリへのシンボリックリンクを配置します。
Oracle HSM software をインストールする前に Oracle Solaris Cluster ソフトウェアをインストールしなかった場合、登録は失敗します。通常、Oracle HSM は、インストール時に Solaris Cluster を検出すると、SUNW.qfs
登録ファイルの場所を自動的に指定します。この例では、リンクを手動で作成します。
[qfs1mds-node1]root@solaris:~# cd /opt/cluster/lib/rgm/rtreg/ [qfs1mds-node1]root@solaris:~# ln -s /opt/SUNWsamfs/sc/etc/SUNW.qfs SUNW.qfs [qfs1mds-node1]root@solaris:~#
新しいリソースグループで、アクティブなメタデータサーバーの仮想ホスト名を設定します。Solaris Cluster コマンド clreslogicalhostname
create
-g
group-name
virtualMDS
を使用します。ここでは:
group-name
は、QFS リソースグループの名前です。
virtualMDS
は仮想ホスト名です。
共有ファイルシステムの hosts ファイルで使用したものと同じ仮想ホスト名を使用します。この例では、仮想ホスト名 sam1mds
を has-rg
リソースグループに追加します。
[sam1mds-node1]root@solaris:~# clreslogicalhostname create -g has-rg sam1mds [qfs1mds-node1]root@solaris:~#
Oracle HSM ファイルシステムリソースをリソースグループに追加します。コマンド clresource
create
-g
groupname
-t
SUNW.qfs
-x
QFSFileSystem=
mount-point
を使用します。ここでは:
groupname
は、HA-SAM リソースグループに選択した名前です。
SUNW.qfs
は、QFS ファイルシステムメタデータサーバーのフェイルオーバーをサポートする Solaris Cluster リソースタイプです。
mount-point
は、クラスタ内のファイルシステムのマウントポイントである、システムのルートディレクトリの直下にはないサブディレクトリです。
QFS 共有ファイルシステムをルートの直下にマウントすると、SUNW.qfs
リソースタイプの使用時にフェイルオーバーの問題が発生する可能性があります。
resource-name
は、リソース自体に選択した名前です。
この例では、リソースグループ has-rg
にタイプ SUNW.qfs
の has-qfs
という名前のリソースを作成します。SUNW.qfs
拡張プロパティー QFSFileSystem
を /global/ha-sam/sam1
マウントポイントに設定します。標準プロパティー Resource_dependencies
を、アクティブなメタデータサーバーを表す仮想ホスト名である sam1mds
に設定します (次のコマンドは 1 行で入力します。改行はバックスラッシュ文字でエスケープされます)。
[sam1mds-node1]root@solaris:~# clresource create -g has-rg -t SUNW.qfs \ -x QFSFileSystem=/global/ha-sam/sam1 -y Resource_dependencies=sam1mds has-qfs [sam1mds-node1]root@solaris:~#
次に、Oracle Hierarchical Storage Manager アプリケーションのフェイルオーバーを構成します。
Oracle HSM SUNW.hasam
リソースを作成することで、Oracle Hierarchical Storage Manager アプリケーションのフェイルオーバーを構成します。このリソースタイプは、Oracle HSM プロセスの正常なシャットダウンと再起動を調整します。
Oracle HSM アプリケーションのフェイルオーバーを構成するには、次のように進めます。
HA-SAM クラスタのプライマリクラスタノードに root
としてログインします。
この例では、プライマリノードは sam1mds-node1
です。
[sam1mds-node1]root@solaris:~#
Solaris Cluster ソフトウェア用にリソースタイプ SUNW.hasam
を定義します。コマンド clresourcetype
register
SUNW.hasam
を使用します。
[sam1mds-node1]root@solaris:~# clresourcetype register SUNW.hasam [sam1mds-node1]root@solaris:~#
Oracle HSM SUNW.hasam
リソースをリソースグループに追加します。コマンド clresource
create
-g
groupname
-t
SUNW.hasam
-x
QFSName=
fs-name
-x
CatalogFileSystem=
mount-point
resource-name
を使用します。ここでは:
groupname
は、HA-SAM リソースグループに選択した名前です。
SUNW.hasam
は、Oracle Hierarchical Storage Manager アプリケーションのフェイルオーバーをサポートする Solaris Cluster リソースタイプです。
mount-point
は、Oracle HSM アーカイブカタログを保持するグローバルファイルシステムのマウントポイントです。
resource-name
は、リソース自体に選択した名前です。
この例では、リソースグループ has-rg
にタイプ SUNW.hasam
の has-sam
という名前のリソースを作成します。SUNW.hasam
拡張プロパティー QFSName
を、mcf
ファイルで指定された QFS ファイルシステム名 sam1
に設定します。SUNW.hasam
拡張プロパティー CatalogFileSystem
を /global/hasam_cfg
マウントポイントに設定します。
[sam1mds-node1]root@solaris:~# clresource create -g has-rg -t SUNW.hasam \ -x QFSName=sam1 -x CatalogFileSystem=/global/hasam_cfg has-sam [sam1mds-node1]root@solaris:~#
HA-SAM クラスタのプライマリクラスタノードに root
としてログインします。
この例では、プライマリノードは sam1mds-node1
です。
[sam1mds-node1]root@solaris:~#
高可用性ローカルファイルシステムが使用可能である場合を除き、QFS ファイルシステムは起動すべきではありません。そのため、SUNW.qfs
リソースを SUNW.HAStoragePlus
リソースに依存させます。Solaris Cluster コマンド clresource set -p Resource_dependencies=
dependency
resource-name
を使用します。ここでは:
dependency
は、SUNW.HAStoragePlus
リソースの名前です。
resource-name
は、SUNW.qfs
リソースの名前です。
この例では、SUNW.qfs
リソースを SUNW.HAStoragePlus
リソース has-cfg
に依存させます (次のコマンドは 1 行で入力します。改行はバックスラッシュ文字でエスケープされます)。
[sam1mds-node1]root@solaris:~# clresource set \ -p Resource_dependencies=has-cfg has-qfs [sam1mds-node1]root@solaris:~#
アクティブな QFS メタデータサーバーがオンラインである場合を除き、クラスタは仮想ホスト名を使用可能にするべきではありません。そのため、仮想ホスト名は SUNW.qfs
リソースに依存させます。Solaris Cluster コマンド clresource set -p Resource_dependencies=
virtualMDS
resource-name
を使用します。ここでは:
virtualMDS
は、アクティブな Oracle HSM メタデータサーバーを表す仮想ホスト名です。
resource-name
は、SUNW.qfs
リソースの名前です。
この例では、SUNW.qfs
リソースの設定時に作成した仮想ホスト名は sam1mds
です。リソース自体の名前は has-qfs
です (次のコマンドは 1 行で入力します。改行はバックスラッシュ文字でエスケープされます)。
[sam1mds-node1]root@solaris:~# clresource set \ -p Resource_dependencies=sam1mds has-qfs [sam1mds-node1]root@solaris:~#
HA-SAM クラスタのプライマリクラスタノードに root
としてログインします。
この例では、プライマリノードは sam1mds-node1
です。
[sam1mds-node1]root@solaris:~#
リソースグループをオンラインにします。Solaris Cluster コマンド clresourcegroup
manage
groupname
, and clresourcegroup
online
-emM
groupname
を使用します。ここで groupname
は HA-SAM リソースグループの名前です。
この例では、has-rg
リソースグループをオンラインにします。
[sam1mds-node1]root@solaris:~# clresourcegroup manage has-rg [sam1mds-node1]root@solaris:~# clresourcegroup online -emM has-rg [sam1mds-node1]root@solaris:~#
HA-SAM リソースグループを必ずオンラインにしてください。Solaris Cluster clresourcegroup
status
コマンドを使用します。
この例では、has-rg
リソースグループは、プライマリノード sam1mds-node1
上では online
です。
[sam1mds-node1]root@solaris:~# clresourcegroup status === Cluster Resource Groups === Group Name Node Name Suspended Status ---------- ------------- --------- ------ has-rg sam1mds-node1 No Online sam1mds-node2 No Offline [sam1mds-node1]root@solaris:~#
次に、リソースグループを正しくフェイルオーバーさせます。リソースグループをセカンダリノードに移動します。Solaris Cluster コマンド clresourcegroup
switch
-n
node2
groupname
を使用します。ここで node2
は、セカンダリノードの名前で、groupname
は、HA-SAM リソースグループに選択した名前です。次に、clresourcegroup
status
を使用して結果を確認します。
この例では、has-rg
リソースグループを sam1mds-node2
に移動して、指定したノードでリソースグループがオンラインになることを確認します。
[sam1mds-node1]root@solaris:~# clresourcegroup switch -n sam1mds-node2 has-rg [sam1mds-node1]root@solaris:~# clresourcegroup status === Cluster Resource Groups === Group Name Node Name Suspended Status ---------- ------------- --------- ------ has-rg sam1mds-node1 No Offline sam1mds-node2 No Online [sam1mds-node1]root@solaris:~#
リソースグループをプライマリノードに戻します。Solaris Cluster コマンド clresourcegroup
switch
-n
node1
groupname
を使用します。ここで node1
は、プライマリノードの名前で、groupname
は、HA-SAM リソースグループに選択した名前です。次に、clresourcegroup status
を使用して結果を確認します。
この例では、has-rg
リソースグループを sam1mds-node1
に正常に戻します。
[sam1mds-node1]root@solaris:~# clresourcegroup switch -n sam1mds-node1 has-rg [sam1mds-node1]root@solaris:~# clresourcegroup status === Cluster Resource Groups === Group Name Node Name Suspended Status ---------- ------------- --------- ------ has-rg sam1mds-node1 No Online sam1mds-node2 No Offline [sam1mds-node1]root@solaris:~#
必要に応じて、この時点で高可用性ネットワークファイルシステム (HA-NFS) 共有を構成します。
HA-NFS を設定するための詳細な手順は、Oracle Solaris Cluster オンラインドキュメントライブラリに含まれている『Oracle Solaris Cluster Data Service for Network File System (NFS) ガイド』に記載されています。
サイドバンドデータベース機能を使用する計画がある場合、レポートデータベースの構成に進みます。
それ以外の場合は、通知とロギングの構成に進みます。
Solaris Cluster-Oracle Real Application Cluster (SC-RAC) 構成では、Solaris Cluster ソフトウェアは、Oracle Database および Oracle Real Application Cluster (RAC) ソフトウェアもホストするノードにマウントされている SUNW.qfs
リソースとして QFS 共有ファイルシステムを管理します。すべてのノードが QFS サーバーとして構成され、そのうちの 1 つがアクティブなメタデータサーバー、その他は潜在的なメタデータサーバーとなります。アクティブなメタデータサーバーノードで障害が発生した場合、Solaris Cluster ソフトウェアは、正常なノード上の潜在的なメタデータサーバーを自動的にアクティブにして、フェイルオーバーを開始します。入出力は Oracle RAC を使用して調整され、QFS ファイルシステムは共有され、すべてのノード上にすでにマウントされています。そのため、データへのアクセスは中断されません。
SC-RAC 構成では、RAC ソフトウェアは入出力要求の調整、ワークロードの分散、およびクラスタノードで実行されている複数の Oracle データベースインスタンスの単一で一貫性のあるデータベースファイルセットの維持を行います。RAC ではファイルシステムの整合性が確保されているため、QFS の潜在的なメタデータサーバーは、共有ファイルシステムのクライアントとして入出力を実行できます。追加情報については、Oracle Solaris Cluster オンラインドキュメントライブラリで Oracle Real Application Cluster に関する Oracle Solaris Cluster Data Service のドキュメントを参照してください。
SC-RAC ファイルシステムを構成するには、次のタスクを実行します。
プライマリ SC-RAC クラスタノード上でのアクティブな QFS メタデータサーバーの構成、またはソフトウェア RAID ストレージを使用した SC-RAC ノード上での QFS メタデータサーバーの構成
必要に応じて、NFS と SMB/CIFS を使用した複数のホストからファイルシステムへのアクセスの説明に従ってネットワークファイルシステム (NFS) 共有を構成します。高可用性 NFS (HA-NFS) はサポートされません。
QFS 共有ファイルシステムでは、すべてのホストがファイルシステムのメタデータにアクセスできるように、メタデータサーバーで hosts ファイルを構成する必要があります。hosts ファイルは、/etc/opt/SUNWsamfs/
ディレクトリに mcf
ファイルとともに格納されています。共有ファイルシステムの初期作成中に、sammkfs
-S
コマンドを実行すると、このファイルに格納されている設定を使用して共有が構成されます。ここで、次の手順を使用して作成します。
SC-RAC クラスタのプライマリクラスタノードに root
としてログインします。
この例では、プライマリノードは qfs1rac-node1
です。
[qfs1rac-node1]root@solaris:~#
クラスタ構成を表示します。コマンド /usr/global/bin/cluster
show
を使用します。出力で、それぞれの Node Name
のレコードを見つけて、各ネットワークアダプタの privatehostname
、Transport
Adapter
の名前、および ip_address
プロパティーを記録します。
この例では、それぞれのノードには、qfe3
と hme0
の 2 つのネットワークインタフェースがあります。
hme0
アダプタには、クラスタがノード間の内部通信に使用するプライベートネットワークの IP アドレスがあります。Solaris Cluster ソフトウェアは、各プライベートアドレスに対応する privatehostname
を割り当てます。
デフォルトでは、プライマリノードのプライベートホスト名は clusternode1-priv
で、セカンダリノードのプライベートホスト名は clusternode2-priv
です。
qfe3
アダプタには、クラスタがデータ転送に使用するパブリック IP アドレスとパブリックホスト名である qfs1rac-node1
と qfs1rac-node2
があります。
表示は、省略記号 (...
) を使用して省略されています。
[qfs1rac-node1]root@solaris:~# cluster show
...
=== Cluster Nodes ===
Node Name: qfs1rac-node1...
privatehostname: clusternode1-priv...
Transport Adapter List: qfe3, hme0...
Transport Adapter: qfe3...
Adapter Property(ip_address): 172.16.0.12...
Transport Adapter: hme0...
Adapter Property(ip_address): 10.0.0.129...
Node Name: qfs1rac-node2...
privatehostname: clusternode2-priv...
Transport Adapter List: qfe3, hme0...
Adapter Property(ip_address): 172.16.0.13...
Transport Adapter: hme0
Adapter Property(ip_address): 10.0.0.122...
Node Name: qfs1rac-node3...
privatehostname: clusternod3-priv...
Transport Adapter List: qfe3, hme0...
Adapter Property(ip_address): 172.16.0.33...
Transport Adapter: hme0
Adapter Property(ip_address): 10.0.0.092
テキストエディタを使用して、ファイル /etc/opt/SUNWsamfs/hosts.
family-set-name
を作成します。ここで、family-set-name
は、/etc/opt/SUNWsamfs/mcf
ファイルによってファイルシステム装置に割り当てられるファミリセット名です。
この例では、vi
テキストエディタを使用してファイル hosts.qfs1rac
を作成します。ホストテーブル内の列を示すために、コメントを示すハッシュ記号 (#
) で各行を開始して、いくつかのオプションの見出しを追加します。
[qfs1rac-node1]root@solaris:~# vi /etc/opt/SUNWsamfs/hosts.qfs1rac # /etc/opt/SUNWsamfs/hosts.qfs1rac # Server On/ Additional #Host Name Network Interface Ordinal Off Parameters #------------ -------------------------------- ------- --- ----------
テーブルの最初の列に、プライマリメタデータサーバーノードとセカンダリメタデータサーバーノードのホスト名、その後にいくつかの空白文字を入力します。それぞれのエントリを別の行に入力してください。
hosts ファイルでは、行は行 (レコード) で、空白文字は列 (フィールド) 区切り文字です。この例では、最初の 2 行の「Host Name」列には、クラスタノードのホスト名 qfs1rac-node1
、qfs1rac-node2
、および qfs1rac-node3
が一覧表示されます。
# Server On/ Additional #Host Name Network Interface Ordinal Off Parameters #------------ -------------------------------- ------- --- ---------- qfs1rac-node1 qfs1rac-node2 qfs1rac-node3
各行の 2 番目の列では、ホスト Host Name
の Network Interface
情報の指定を開始します。それぞれの SC-RAC クラスタノードの Solaris Cluster プライベートホスト名またはプライベートネットワークアドレスと、その後に続けてコンマを入力します。
SC-RAC サーバーノードは、高可用性クラスタ内のサーバー間の通信にプライベートホスト名を使用します。この例では、Solaris Cluster ソフトウェアによって割り当てられたデフォルトの名前であるプライベートホスト名 clusternode1-priv
、clusternode2-priv
、および clusternode3-priv
を使用します。
# Server On/ Additional #Host Name Network Interface Ordinal Off Parameters #------------ -------------------------------- ------- --- ---------- qfs1rac-node1 clusternode1-priv, qfs1rac-node2 clusternode2-priv, qfs1rac-node3 clusternode3-priv,
各行の 2 番目の列にあるコンマのあとに、アクティブなメタデータサーバーのパブリックホスト名と、その後に空白文字を続けて入力します。
SC-RAC サーバーノードは、パブリックデータネットワークを使用して、すべてがクラスタの外部にあるクライアントと通信します。アクティブなメタデータサーバーの IP アドレスとホスト名はフェイルオーバー中に変わる (たとえば、qfs1rac-node1
から qfs1rac-node2
) ため、仮想ホスト名 qfs1rac-mds
を使用してアクティブなサーバーを表します。あとで、qfs1rac-mds
の要求を、アクティブなメタデータサーバーを現在ホストしているノードに常にルーティングするように Solaris Cluster ソフトウェアを構成します。
# Server On/ Additional #Host Name Network Interface Ordinal Off Parameters #------------ -------------------------------- ------- --- ---------- qfs1rac-node1 clusternode1-priv,qfs1rac-mds qfs1rac-node2 clusternode2-priv,qfs1rac-mds qfs1rac-node3 clusternode3-priv,qfs1rac-mds
各行の 3 番目の列に、サーバーの番号 (アクティブなメタデータサーバーの場合は 1
、潜在的なメタデータサーバーの場合は 2
) とその後にスペースを続けて入力します。
この例では、プライマリノード qfs1rac-node1
がアクティブなメタデータサーバーです。そのため、これは番号 1
です。2 番目のノード qfs1rac-node2
は、番号 2
などです。
# Server On/ Additional #Host Name Network Interface Ordinal Off Parameters #------------ -------------------------------- ------- --- ---------- qfs1rac-node1 clusternode1-priv,qfs1rac-mds 1 qfs1rac-node2 clusternode2-priv,qfs1rac-mds 2 qfs1rac-node3 clusternode3-priv,qfs1rac-mds 3
各行の 4 番目の列に、0
(ゼロ) とその後に空白文字を続けて入力します。
4 列目の 0
、-
(ハイフン)、または空白値は、ホストが「on」 (共有ファイルシステムへのアクセスありで構成) であることを示します。1
(数字の 1 ) は、ホストが「off
」(構成済みだが、ファイルシステムへのアクセスなし) であることを示します (共有ファイルシステムを管理する際のこれらの値の使用については、samsharefs
のマニュアルページを参照してください)。
# Server On/ Additional #Host Name Network Interface Ordinal Off Parameters #------------ -------------------------------- ------- --- ---------- qfs1rac-node1 clusternode1-priv,qfs1rac-mds 1 0 qfs1rac-node2 clusternode2-priv,qfs1rac-mds 2 0 qfs1rac-node3 clusternode3-priv,qfs1rac-mds 3 0
プライマリノードの行の 5 番目の列に、キーワード server
を入力します。ファイルを保存して、エディタを閉じます。
server キーワードは、デフォルトのアクティブなメタデータサーバーを示します。
# Server On/ Additional #Host Name Network Interface Ordinal Off Parameters #------------ -------------------------------- ------- --- ---------- qfs1rac-node1 clusternode1-priv,qfs1rac-mds 1 0 server qfs1rac-node2 clusternode2-priv,qfs1rac-mds 2 0 qfs1rac-node3 clusternode3-priv,qfs1rac-mds 2 0 :wq [qfs1rac-node1]root@solaris:~#
各ノード上のグローバル /etc/opt/SUNWsamfs/hosts.
family-set-name
ファイルのコピーを SC-RAC クラスタに格納します。
SC-RAC クラスタのプライマリノードと QFS 共有ファイルシステムのアクティブなメタデータサーバーの両方としての役割を果たすクラスタノードを選択します。root
としてログインします。
この例では、プライマリノードは qfs1rac-node1
です。
[qfs1rac-node1]root@solaris:~#
QFS ファイルシステムに使用されるグローバルストレージデバイスを選択します。コマンド /usr/global/bin/cldevice
list
-v
を使用します。
Solaris Cluster ソフトウェアは、クラスタノードに接続されているすべてのデバイスに一意のデバイス ID (DID) を割り当てます。グローバルデバイスは、クラスタ内のすべてのノードからアクセスできるのに対して、ローカルデバイスは、ローカルデバイスをマウントするホストからのみアクセス可能です。グローバルデバイスはフェイルオーバー後にアクセス可能な状態のままになります。ローカルデバイスはそうではありません。
この例では、デバイス d1
、d2
、d6
、d7
、および d8
は、すべてのノードからアクセス可能ではありません。そのため、高可用性 QFS 共有ファイルシステムの構成時にデバイス d3
、d4
、および d5
の中から選択します。
[qfs1rac-node1]root@solaris:~# cldevice list -v DID Device Full Device Path ---------- ---------------- d1 qfs1rac-node1:/dev/rdsk/c0t0d0 d2 qfs1rac-node1:/dev/rdsk/c0t6d0 d3 qfs1rac-node1:/dev/rdsk/c1t1d0 d3 qfs1rac-node2:/dev/rdsk/c1t1d0 d3 qfs1rac-node3:/dev/rdsk/c1t1d0 d4 qfs1rac-node1:/dev/rdsk/c1t2d0 d4 qfs1rac-node2:/dev/rdsk/c1t2d0 d4 qfs1rac-node3:/dev/rdsk/c1t2d0 d5 qfs1rac-node1:/dev/rdsk/c1t3d0 d5 qfs1rac-node2:/dev/rdsk/c1t3d0 d5 qfs1rac-node3:/dev/rdsk/c1t3d0 d6 qfs1rac-node2:/dev/rdsk/c0t0d0 d7 qfs1rac-node2:/dev/rdsk/c0t1d0 d8 qfs1rac-node3:/dev/rdsk/c0t1d0
mr
データデバイスを使用する高パフォーマンスの ma
共有ファイルシステムを作成します。テキストエディタで /etc/opt/SUNWsamfs/mcf
ファイルを開きます。
この例では、ファイルシステム qfs1rac
を構成します。デバイス d3
をメタデータデバイス (装置タイプ mm
) として構成して、d4
および d5
をデータデバイス (装置タイプ mr
) として使用します。
[qfs1rac-node1]root@solaris:~# vi /etc/opt/SUNWsamfs/mcf # Equipment Equipment Equipment Family Device Additional # Identifier Ordinal Type Set State Parameters #------------------ --------- --------- ------- ------ -------------- qfs1rac 100 ma qfs1rac - /dev/did/dsk/d3s0 101 mm qfs1rac - /dev/did/dsk/d4s0 102 mr qfs1rac - /dev/did/dsk/d5s0 103 mr qfs1rac - ...
/etc/opt/SUNWsamfs/mcf
ファイルで、ファイルシステムエントリの Additional Parameters
列に shared
パラメータを入力します。ファイルを保存します。
[qfs1rac-node1]root@solaris:~# vi /etc/opt/SUNWsamfs/mcf # Equipment Equipment Equipment Family Device Additional # Identifier Ordinal Type Set State Parameters #------------------ --------- --------- ------- ------ -------------- qfs1rac 100 ma qfs1rac - shared /dev/did/dsk/d3s0 101 mm qfs1rac - /dev/did/dsk/d4s0 102 mr qfs1rac - /dev/did/dsk/d5s0 103 mr qfs1rac - ... :wq [qfs1rac-node1]root@solaris:~#
エラーを mcf
ファイルで確認します。コマンド /opt/SUNWsamfs/sbin/sam-fsd
を使用して、見つかったエラーを修正します。
sam-fsd
コマンドは、Oracle HSM 構成ファイルを読み取り、ファイルシステムを初期化します。エラーが発生した場合は停止します。この例では、ホスト qfs1rac-node1
上で mcf
ファイルを確認します。
[qfs1rac-node1]root@solaris:~# sam-fsd
...
Would start sam-archiverd()
Would start sam-stagealld()
Would start sam-stagerd()
Would start sam-amld()
[qfs1rac-node1]root@solaris:~#
ファイルシステムを作成します。コマンド /opt/SUNWsamfs/sbin/sammkfs
-S
family-set-name
を使用します。ここで、family-set-name
は、ファイルシステムの装置 ID です。
sammkfs
コマンドは、hosts.
family-set-name
および mcf
ファイルを読み取って、指定されたプロパティーを使用して共有ファイルシステムを作成します。
[qfs1rac-node1]root@solaris:~# sammkfs -S qfs1rac Building 'qfs1rac' will destroy the contents of devices: ... Do you wish to continue? [y/N]yes ... [qfs1rac-node1]root@solaris:~#
テキストエディタでオペレーティングシステムの /etc/vfstab
ファイルを開き、新しいファイルシステムの行を開始します。最初の列にファイルシステム名、空白文字、2 番目の列にハイフン、さらに空白を入力します。
この例では、vi
テキストエディタを使用します。qfs1rac
ファイルシステムの行を開始します。ハイフンは、オペレーティングシステムが UFS ツールを使用してファイルシステムの整合性チェックを試行しないようにします。
[qfs1rac-node1]root@solaris:~# vi /etc/vfstab #File #Device Device Mount System fsck Mount Mount #to Mount to fsck Point Type Pass at Boot Options #-------- ------- --------------- ------ ---- ------- ------------------ /devices - /devices devfs - no - /proc - /proc proc - no - ... qfs1rac -
/etc/vfstab
ファイルの 3 番目の列に、クラスタを基準とした相対的なファイルシステムのマウントポイントを入力します。システムのルートディレクトリの直下にはないサブディレクトリを指定します。
QFS 共有ファイルシステムをルートの直下にマウントすると、SUNW.qfs
リソースタイプの使用時にフェイルオーバーの問題が発生する可能性があります。この例では、qfs1rac
ファイルシステムのマウントポイントは /global/sc-rac/qfs1rac
です。
#File
#Device Device Mount System fsck Mount Mount
#to Mount to fsck Point Type Pass at Boot Options
#-------- ------- ----------------------- ------ ---- ------- ----------
/devices - /devices devfs - no -
/proc - /proc proc - no -
...
qfs1rac - /global/sc-rac/qfs1rac
4 番目の列にファイルシステムタイプ samfs
、5 番目の列に -
(ハイフン)、6 番目の列に no
を入力します。
#File #Device Device Mount System fsck Mount Mount #to Mount to fsck Point Type Pass at Boot Options #-------- ------- ----------------------- ------ ---- ------- ---------- /devices - /devices devfs - no - /proc - /proc proc - no - ... qfs1rac - /global/sc-rac/qfs1rac samfs - no :wq [qfs1rac-node1]root@solaris:~#
/etc/vfstab
ファイルの 7 番目の列に、次に一覧表示されているマウントオプションを入力します。次に、ファイルを保存し、エディタを閉じます。
SC-RAC クラスタ構成では、次のマウントオプションが推奨されます。これらは、この時点で /etc/vfstab
内で指定することも、またはその方が便利な場合はファイル /etc/opt/SUNWsamfs/samfs.cmd
内で指定することもできます。
shared
stripe=1
sync_meta=1
mh_write
qwrite
forcedirectio
notrace
rdlease=300
wrlease=300
aplease=300
この例では、リストはページレイアウトに合うように省略されています。
#File #Device Device Mount System fsck Mount Mount #to Mount to fsck Point Type Pass at Boot Options #-------- ------- -------------------- ------ ---- ------- ------------ /devices - /devices devfs - no - /proc - /proc proc - no - ... qfs1rac - /global/sc-rac/qfs1rac samfs - no shared,...=300 :wq [qfs1rac-node1]root@solaris:~#
高可用性共有ファイルシステムのマウントポイントを作成します。
[qfs1rac-node1]root@solaris:~# mkdir -p /global/sc-rac/qfs1rac [qfs1rac-node1]root@solaris:~#
プライマリノードで高可用性共有ファイルシステムをマウントします。
[qfs1rac-node1]root@solaris:~# mount /global/sc-rac/qfs1rac [qfs1rac-node1]root@solaris:~#
クラスタの残りのノードは、潜在的なメタデータサーバーとして機能します。潜在的なメタデータサーバーは、メタデータデバイスにアクセスできるホストであり、メタデータサーバーの役割を担います。そのため、プライマリノード上のアクティブなメタデータサーバーで障害が発生した場合、Solaris Cluster ソフトウェアはセカンダリノードにフェイルオーバーし、潜在的なメタデータサーバーをアクティブにできます。
SC-RAC クラスタ内の残りのノードごとに、次のように進めます。
ノードに root
としてログインします。
この例では、現在のノードは qfs1rac-node2
です。
[qfs1rac-node2]root@solaris:~#
/etc/opt/SUNWsamfs/mcf
ファイルをプライマリノードから現在のノードにコピーします。
エラーを mcf
ファイルで確認します。コマンド /opt/SUNWsamfs/sbin/sam-fsd
を実行して、見つかったエラーを修正します。
sam-fsd
コマンドは、Oracle HSM 構成ファイルを読み取り、ファイルシステムを初期化します。エラーが発生した場合は停止します。この例では、ホスト qfs1rac-node2
上で mcf
ファイルを確認します。
[qfs1rac-node2]root@solaris:~# sam-fsd
...
Would start sam-archiverd()
Would start sam-stagealld()
Would start sam-stagerd()
Would start sam-amld()
[qfs1rac-node2]root@solaris:~#
テキストエディタでオペレーティングシステムの /etc/vfstab
ファイルを開き、新しいファイルシステムの行を開始します。
この例では、vi
エディタを使用します。
[qfs1rac-node2]root@solaris:~# vi /etc/vfstab #File #Device Device Mount System fsck Mount Mount #to Mount to fsck Point Type Pass at Boot Options #-------- ------- ---------------------- ------ ---- ------- ------------ /devices - /devices devfs - no - /proc - /proc proc - no - ... qfs1rac - /global/sc-rac/qfs1rac samfs - no
/etc/vfstab
ファイルの 7 番目の列に、次に一覧表示されているマウントオプションを入力します。次に、ファイルを保存し、エディタを閉じます。
SC-RAC クラスタ構成では、次のマウントオプションが推奨されます。これらは、この時点で /etc/vfstab
内で指定することも、またはその方が便利な場合はファイル /etc/opt/SUNWsamfs/samfs.cmd
内で指定することもできます。
shared
stripe=1
sync_meta=1
mh_write
qwrite
forcedirectio
notrace
rdlease=300
wrlease=300
aplease=300
この例では、リストはページレイアウトに合うように省略されています。
#File #Device Device Mount System fsck Mount Mount #to Mount to fsck Point Type Pass at Boot Options #-------- ------- ---------------------- ------ ---- ------- ------------ /devices - /devices devfs - no - /proc - /proc proc - no - ... qfs1rac - /global/sc-rac/qfs1rac samfs - no shared,...=300 :wq [qfs1rac-node2]root@solaris:~#
セカンダリノードで高可用性共有ファイルシステムのマウントポイントを作成します。
[qfs1rac-node2]root@solaris:~# mkdir -p /global/sc-rac/qfs1rac [qfs1rac-node2]root@solaris:~#
セカンダリノードで高可用性共有ファイルシステムをマウントします。
[qfs1rac-node2]root@solaris:~# mount /global/sc-rac/qfs1rac [qfs1rac-node2]root@solaris:~#
Solaris Cluster ソフトウェアによって管理されるクラスタ内に Oracle HSM 共有ファイルシステムをホストする場合、Oracle HSM software によって定義されるリソースタイプである SUNW.qfs
クラスタリソースを作成することで、メタデータサーバーのフェイルオーバーを構成します (詳細は、SUNW.qfs
のマニュアルページを参照)。SC-RAC 構成のリソースを作成して構成するには、次のように進めます。
SC-RAC クラスタのプライマリノードに root
としてログインします。
この例では、プライマリノードは qfs1rac-node1
です。
[qfs1rac-node1]root@solaris:~#
Solaris Cluster ソフトウェアの QFS リソースタイプ SUNW.qfs
を定義します。コマンド clresourcetype
register
SUNW.qfs
を使用します。
[qfs1rac-node1]root@solaris:~# clresourcetype registerSUNW.qfs [qfs1rac-node1]root@solaris:~#
登録ファイルが見つからないために登録が失敗した場合、Solaris Cluster がリソースタイプの登録ファイル /opt/cluster/lib/rgm/rtreg/
を保持するディレクトリに、/opt/SUNWsamfs/sc/etc/
ディレクトリへのシンボリックリンクを配置します。
Oracle HSM ソフトウェアのインストール前に、Oracle Solaris Cluster ソフトウェアをインストールしませんでした。通常、Oracle HSM は、インストール時に Solaris Cluster を検出すると、SUNW.qfs
登録ファイルの場所を自動的に指定します。そのため、リンクを手動で作成する必要があります。
[qfs1rac-node1]root@solaris:~# cd /opt/cluster/lib/rgm/rtreg/ [qfs1rac-node1]root@solaris:~# ln -s /opt/SUNWsamfs/sc/etc/SUNW.qfs SUNW.qfs [qfs1rac-node1]root@solaris:~#
QFS メタデータサーバーのリソースグループを作成します。Solaris Cluster コマンド clresourcegroup
create
-n
node-list
group-name
を使用します。ここで node-list
は、クラスタノードのコンマ区切りリストで、group-name
は、リソースグループに使用する名前です。
この例では、SC-RAC サーバーノードをメンバーとして使用してリソースグループ qfsracrg
を作成します (次のコマンドは 1 行で入力します。改行はバックスラッシュ文字でエスケープされます)。
[qfs1rac-node1]root@solaris:~# clresourcegroup create \ -n qfs1rac-node1,qfs1rac-node2 qfsracrg [qfs1rac-node1]root@solaris:~#
新しいリソースグループで、アクティブなメタデータサーバーの仮想ホスト名を設定します。Solaris Cluster コマンド clreslogicalhostname
create
-g
group-name
を使用します。ここで group-name
は QFS リソースグループの名前で、virtualMDS
は仮想ホスト名です。
共有ファイルシステムの hosts ファイルで使用したものと同じ仮想ホスト名を使用します。この例では、qfsracrg
リソースグループに仮想ホスト qfs1rac-mds
を作成します (次のコマンドは 1 行で入力します。改行はバックスラッシュ文字でエスケープされます)。
[qfs1rac-node1]root@solaris:~# clreslogicalhostname create \ -g qfsracrg qfs1rac-mds [qfs1rac-node1]root@solaris:~#
QFS ファイルシステムリソースをリソースグループに追加します。コマンド clresource
create
-g
group-name
-t
SUNW.qfs
-x
QFSFileSystem=
mount-point
-y
Resource_dependencies=
virtualMDS
resource-name
を使用します。ここでは:
group-name
は、QFS リソースグループの名前です。
mount-point
は、クラスタ内のファイルシステムのマウントポイントである、システムのルートディレクトリの直下にはないサブディレクトリです。
QFS 共有ファイルシステムをルートの直下にマウントすると、SUNW.qfs
リソースタイプの使用時にフェイルオーバーの問題が発生する可能性があります。
virtualMDS
は、アクティブなメタデータサーバーの仮想ホスト名です。
resource-name
は、リソースに指定する名前です。
この例では、リソースグループ qfsracrg
内にタイプ SUNW.qfs
の scrac
という名前のリソースを作成します。SUNW.qfs
拡張プロパティー QFSFileSystem
を /global/sc-rac/qfs1rac
マウントポイントに設定します。標準プロパティー Resource_dependencies
をアクティブなメタデータサーバーの論理ホスト qfs1rac-mds
に設定します (次のコマンドは 1 行で入力します。改行はバックスラッシュ文字でエスケープされます)。
[qfs1rac-node1]root@solaris:~# create -g qfsracrg -t SUNW.qfs \ -x QFSFileSystem=/global/sc-rac/qfs1rac \ -y Resource_dependencies=qfs1rac-mds scrac [qfs1rac-node1]root@solaris:~#
リソースグループをオンラインにします。Solaris Cluster コマンド clresourcegroup
manage
group-name
および clresourcegroup
online
-emM
group-name
を使用します。ここで group-name
は、QFS リソースグループの名前です。
この例では、qfsracrg
リソースグループをオンラインにします。
[qfs1rac-node1]root@solaris:~# clresourcegroup manage qfsracrg [qfs1rac-node1]root@solaris:~# clresourcegroup online -emM qfsracrg [qfs1rac-node1]root@solaris:~#
QFS リソースグループを必ずオンラインにしてください。Solaris Cluster コマンド clresourcegroup
status
を使用します。
この例では、qfsracrg
リソースグループは、プライマリノード qfs1rac-node1
上では online
です。
[qfs1rac-node1]root@solaris:~# clresourcegroup status === Cluster Resource Groups === Group Name Node Name Suspended Status ---------- ------------- --------- ------ qfsracrg qfs1rac-node1 No Online qfs1rac-node2 No Offline qfs1rac-node3 No Offline [qfs1rac-node1]root@solaris:~#
リソースグループを正しくフェイルオーバーさせます。リソースグループをセカンダリノードに移動します。Solaris Cluster コマンド clresourcegroup
switch
-n
node2
group-name
を使用します。ここで node2
は、セカンダリノードの名前で、group-name
は、HA-SAM リソースグループに選択した名前です。次に、clresourcegroup
status
を使用して結果を確認します。
この例では、qfsracrg
リソースグループを qfs1rac-node2
および qfs1rac-node3
に移動して、指定したノードでリソースグループがオンラインになることを確認します。
[qfs1rac-node1]root@solaris:~# clresourcegroup switch -n qfs1rac-node2 qfsracrg [qfs1rac-node1]root@solaris:~# clresourcegroup status === Cluster Resource Groups === Group Name Node Name Suspended Status ---------- ------------- --------- ------ qfsracrg qfs1rac-node1 No Offline qfs1rac-node2 No Online qfs1rac-node3 No Offline [qfs1rac-node1]root@solaris:~# clresourcegroup switch -n qfs1rac-node3 qfsracrg [qfs1rac-node1]root@solaris:~# clresourcegroup status === Cluster Resource Groups === Group Name Node Name Suspended Status ---------- ------------- --------- ------ qfsracrg qfs1rac-node1 No Offline qfs1rac-node2 No Offline qfs1rac-node3 No Online [qfs1rac-node1]root@solaris:~#
リソースグループをプライマリノードに戻します。Solaris Cluster コマンド clresourcegroup
switch
-n
node1
group-name
を使用します。ここで node1
は、プライマリノードの名前で、group-name
は、HA-SAM リソースグループに選択した名前です。次に、clresourcegroup
status
を使用して結果を確認します。
この例では、qfsracrg
リソースグループを qfs1rac-node1
に正常に戻します。
[qfs1rac-node1]root@solaris:~# clresourcegroup switch -n qfs1rac-node1 qfsracrg [qfs1rac-node1]root@solaris:~# clresourcegroup status === Cluster Resource Groups === Group Name Node Name Suspended Status ---------- ------------- --------- ------ samr qfs1rac-node1 No Online qfs1rac-node2 No Offline qfs1rac-node3 No Offline [qfs1rac-node1]root@solaris:~#
サイドバンドデータベース機能を使用する計画がある場合、レポートデータベースの構成に進みます。
それ以外の場合は、通知とロギングの構成に進みます。
高可用性ファイルシステムには、冗長なプライマリストレージデバイス上のデータとメタデータを格納する必要があります。冗長なディスク配列ハードウェアは、メタデータには RAID-1 または RAID-10、データには RAID-5 を使用してこの冗長性を提供できます。ただし、標準のデュアルポート SCSI ディスクデバイスまたは JBOD (just a bunch of disks) 配列をプライマリストレージとして使用する必要がある場合、必要な冗長性をソフトウェアで提供する必要があります。
このため、SC-RAC 構成では、Oracle Solaris Volume Manager (SVM) マルチ所有者ディスクセットに基づくソフトウェアの RAID 構成がサポートされます。このセクションでは、このタイプの SC-RAC ファイルシステム構成を設定する際に行う必要がある基本的な手順の概要について説明します。
冗長なストレージアレイを管理するためには、Solaris Volume Manager のみを使用してください。異なるデバイス上のストレージを連結しないでください。これを行うと、入出力がコンポーネントデバイスに非効率的に分散され、QFS ファイルシステムのパフォーマンスが低下します。
次のタスクを実行します。
Solaris Volume Manager (SVM) は Solaris 11 以降の Solaris には付属しなくなりました。ただし、Solaris Cluster 4 ソフトウェアでは引き続き Solaris Volume Manager がサポートされます。そのため、ソフトウェアを使用するには、Solaris 10 9/10 リリースに組み込まれているバージョンをダウンロードしてインストールする必要があります。クラスタ内のノードごとに、次のように進めます。
ノードに root
としてログインします。
次の例では、Solaris Image Packaging System (IPS) を使用してクラスタノード qfs2rac-node1
を構成します。
[qfs2rac-node1]root@solaris:~#
ローカルで入手可能な Solaris Volume Manager (SVM) パッケージを確認します。コマンド pkg
info
svm
を使用します。
[qfs2rac-node1]root@solaris:~# pkg info svm pkg: info: no packages matching the following patterns you specified are installed on the system. Try specifying -r to query remotely: svm [qfs2rac-node1]root@solaris:~#
パッケージがローカルで見つからない場合は、Solaris Image Packaging System (IPS) リポジトリを確認します。コマンド pkg
-r
svm
を使用します。
[qfs2rac-node1]root@solaris:~# pkg -r svm Name: storage/svm Summary: Solaris Volume Manager Description: Solaris Volume Manager commands Category: System/Core State: Not installed Publisher: solaris Version: 0.5.11 Build Release: 5.11 Branch: 0.175.0.0.0.2.1 Packaging Date: October 19, 2011 06:42:14 AM Size: 3.48 MB FMRI: pkg://solaris/storage/svm@0.5.11,5.11-0.175.0.0.0.2.1:20111019T064214Z [qfs2rac-node1]root@solaris:~#
パッケージをインストールします。コマンド pkg
install
storage/svm
を使用します。
[qfs2rac-node1]root@solaris:~# pkg install storage/svm Packages to install: 1 Create boot environment: No Create backup boot environment: Yes Services to change: 1 DOWNLOAD PKGS FILES XFER (MB) Completed 1/1 104/104 1.6/1.6 PHASE ACTIONS Install Phase 168/168 PHASEITEMS Package State Update Phase 1/1 Image State Update Phase 2/2 [qfs2rac-node1]root@solaris:~#
インストールが終了したら、metadb
の場所を確認します。コマンド which
metadb
を使用します。
[qfs2rac-node1]root@solaris:~# which metadb /usr/sbin/metadb [qfs2rac-node1]root@solaris:~#
インストールを確認します。コマンド metadb
を使用します。
[qfs2rac-node1]root@solaris:~# metadb
[qfs2rac-node1]root@solaris:~#
metadb
がエラーを返す場合は、kernel/drv/md.conf
ファイルが存在するかどうかを確認します。
[qfs2rac-node1]root@solaris:~# metadb metadb: <HOST>: /dev/md/admin: No such file or directory [qfs2rac-node1]root@solaris:~# ls -l /kernel/drv/md.conf -rw-r--r-- 1 root sys 295 Apr 26 15:07 /kernel/drv/md.conf [qfs2rac-node1]root@solaris:~#
kernel/drv/md.conf
ファイルが存在しない場合は、作成します。root
をファイルの所有者にして、sys
をグループの所有者にします。権限は 644
に設定します。
この例では、vi
エディタを使用してファイルを作成します。ファイルの内容は次のようになります。
[qfs2rac-node1]root@solaris:~# vi kernel/drv/md.conf ################################################### #pragma ident "@(#)md.conf 2.1 00/07/07 SMI" # # Copyright (c) 1992-1999 by Sun Microsystems, Inc. # All rights reserved. # name="md" parent="pseudo" nmd=128 md_nsets=4; #################################################### :wq [qfs2rac-node1]root@solaris:~# chown root:sys kernel/drv/md.conf [qfs2rac-node1]root@solaris:~# chmod 644 [qfs2rac-node1]root@solaris:~#
md.conf
ファイルを動的に再スキャンして、デバイスツリーが更新されていることを確認します。コマンド update_drv
-f
md
を使用します。
この例では、デバイスツリーが更新されます。したがって、Solaris Volume Manager はインストールされています。
[qfs2rac-node1]root@solaris:~# update_drv -f md [qfs2rac-node1]root@solaris:~# ls -l /dev/md/admin lrwxrwxrwx 1 root root 31 Apr 20 10:12 /dev/md/admin -> ../../devices/pseudo/md@0:admin [qfs2rac-node1]root@solaris:~#
SC-RAC 構成内のすべてのノードに root
としてログインします。
この例では、ノード qfs2rac-node1
にログインします。次に、新しい端末ウィンドウを開き、ssh
を使用してノード qfs2rac-node2
および qfs2rac-node3
にログインします。
[qfs2rac-node1]root@solaris:~# [qfs2rac-node1]root@solaris:~# ssh root@qfs2rac-node2 Password: [qfs2rac-node2]root@solaris:~# [qfs2rac-node1]root@solaris:~# ssh root@qfs2rac-node3 Password: [qfs2rac-node3]root@solaris:~#
Oracle Solaris Cluster 4.x を Solaris 11.x 以降で使用していて、まだ実行していない場合は、先に進む前に、各ノードに Solaris Volume Manager をインストールします。
Solaris 11 以降、Solaris Volume Manager はデフォルトではインストールされません。
各ノード上で新しい状態データベースデバイスを接続して、状態データベースの複製を 3 つ作成します。コマンド metadb
-a
-f
-c3
device-name
を使用します。ここで、device-name
は、c
X
t
Y
d
Y
s
Z
形式の物理デバイス名です。
Solaris Cluster デバイス ID (DID) は使用しないでください。物理デバイス名を使用してください。この例では、3 つすべてのクラスタノード上に状態データベースデバイスを作成します。
[qfs2rac-node1]root@solaris:~# metadb -a -f -c3 /dev/rdsk/c0t0d0 [qfs2rac-node2]root@solaris:~# metadb -a -f -c3 /dev/rdsk/c0t6d0 [qfs2rac-node3]root@solaris:~# metadb -a -f -c3 /dev/rdsk/c0t4d0
1 つのノード上に Solaris Volume Manager のマルチ所有者ディスクグループを 1 つ作成します。コマンド metaset
-s
diskset
-M
-a
-h
host-list
を使用します。ここで、host-list
は、所有者の空白文字区切りリストです。
Solaris Volume Manager では、ディスクセットごとに最大 4 つのホストがサポートされます。この例では、qfs2rac-node1
でディスクグループ datadisks
を作成して、3 つのノード qfs2rac-node1
、qfs2rac-node2
、および qfs2rac-node3
を所有者として指定します (次のコマンドは 1 行で入力します。改行はバックスラッシュ文字でエスケープされます)。
[qfs2rac-node1]root@solaris:~# metaset -s datadisks -M -a -h qfs2rac-node1 \ qfs2rac-node2 qfs2rac-node3
ノードの 1 つでデバイスを表示します。Solaris Cluster コマンド cldevice
list
-n
-v
を使用します。
[qfs2rac-node1]root@solaris:~# cldevice list -n -v DID Device Full Device Path ---------- ---------------- d13 qfs2rac-node1:/dev/rdsk/c6t600C0FF00000000000332B62CF3A6B00d0 d14 qfs2rac-node1:/dev/rdsk/c6t600C0FF0000000000876E950F1FD9600d0 d15 qfs2rac-node1:/dev/rdsk/c6t600C0FF0000000000876E9124FAF9C00d0 ... [qfs2rac-node1]root@solaris:~#
cldevice
list
-n
-v
コマンドの出力で、ミラー化するデバイスを選択します。
この例では、4 つのミラー用に 4 つのデバイスのペア d21
と d13
、d14
と d17
、d23
と d16
、および d15
と d19
を選択します。
[qfs2rac-node1]root@solaris:~# cldevice list -n -v DID Device Full Device Path ---------- ---------------- d13 qfs2rac-node1:/dev/rdsk/c6t600C0FF00000000000332B62CF3A6B00d0 d14 qfs2rac-node1:/dev/rdsk/c6t600C0FF0000000000876E950F1FD9600d0 d15 qfs2rac-node1:/dev/rdsk/c6t600C0FF0000000000876E9124FAF9C00d0 d16 qfs2rac-node1:/dev/rdsk/c6t600C0FF00000000000332B28488B5700d0 d17 qfs2rac-node1:/dev/rdsk/c6t600C0FF000000000086DB474EC5DE900d0 d18 qfs2rac-node1:/dev/rdsk/c6t600C0FF0000000000876E975EDA6A000d0 d19 qfs2rac-node1:/dev/rdsk/c6t600C0FF000000000086DB47E331ACF00d0 d20 qfs2rac-node1:/dev/rdsk/c6t600C0FF0000000000876E9780ECA8100d0 d21 qfs2rac-node1:/dev/rdsk/c6t600C0FF000000000004CAD5B68A7A100d0 d22 qfs2rac-node1:/dev/rdsk/c6t600C0FF000000000086DB43CF85DA800d0 d23 qfs2rac-node1:/dev/rdsk/c6t600C0FF000000000004CAD7CC3CDE500d0 d24 qfs2rac-node1:/dev/rdsk/c6t600C0FF000000000086DB4259B272300d0 .... [qfs2rac-node1]root@solaris:~#
選択したデバイスを同じノード上のディスクセットに追加します。コマンド metaset
-a
devicelist
を使用します。ここで、devicelist
は、1 つ以上のクラスタデバイス ID のスペース区切りリストです。
この例では、一覧表示されているディスクをマルチ所有者ディスクセット dataset1
に追加します (次のコマンドは 1 行で入力します。改行はバックスラッシュ文字でエスケープされます)。
[qfs2rac-node1]root@solaris:~# metaset -s dataset1 -M -a -h /dev/did/rdsk/d21 \ /dev/did/rdsk/d13 /dev/did/rdsk/d14 /dev/did/rdsk/d17 /dev/did/rdsk/d23 \ /dev/did/rdsk/d16 /dev/did/rdsk/d15 /dev/did/rdsk/d19 [qfs2rac-node1]root@solaris:~#
コンポーネント間の関係を明確な状態に保つには、作成する RAID-0 論理ボリュームと RAID-1 ミラーの命名スキームを決定します。
一般に、RAID-1 ミラーには d
n
(n
は整数) という名前が付けられます。RAID-1 ミラーを構成する RAID-0 ボリュームには、d
n
X
という名前が付けられます。ここで、X
は、ミラー内でのデバイスの位置を表す整数 (通常、双方向ミラーの場合は 0
または 1
) です。
この手順全体の例では、RAID-0 論理ボリュームのペアから双方向 RAID-1 ミラーを作成します。そのため、ミラーには、d1
、d2
、d3
、d4
などの名前を付けます。その後、RAID-0 ボリュームの各ペアには、そのペアを含む RAID-1 ミラーに基づいてd10
と d11
、d20
と d21
、d30
と d31
、d40
と d41
のように名前を付けます。
マルチ所有者ディスクセットを作成したノードにログインします。root
としてログインします。
上の例では、qfs2rac-node1
上にディスクセットを作成しました。
[qfs2rac-node1]root@solaris:~#
最初の RAID-0 論理ボリュームを作成します。コマンド metainit
-s
diskset-name
device-name
number-of-stripes
components-per-stripe
component-names
を使用します。ここでは:
diskset-name
は、ディスクセットに選択した名前です。
device-name
は、RAID-0 論理ボリュームに選択した名前です。
number-of-stripes
は 1
です。
components-per-stripe
は 1
です。
component-name
は、RAID-0 ボリュームで使用するディスクセットコンポーネントのデバイス名です。
この例では、マルチ所有者ディスクセット dataset1
でクラスタ (DID)デバイス /dev/did/dsk/d21s0
を使用して、RAID-0 論理ボリューム d10
を作成します。
[qfs2rac-node1]root@solaris:~# metainit -s dataset1 d10 1 1 /dev/did/dsk/d21s0 [qfs2rac-node1]root@solaris:~#
残りの RAID-0 論理ボリュームを作成します。
[qfs2rac-node1]root@solaris:~# metainit -s dataset1 d11 1 1 /dev/did/dsk/d13s0 [qfs2rac-node1]root@solaris:~# metainit -s dataset1 d20 1 1 /dev/did/dsk/d14s0 [qfs2rac-node1]root@solaris:~# metainit -s dataset1 d21 1 1 /dev/did/dsk/d17s0 [qfs2rac-node1]root@solaris:~# metainit -s dataset1 d30 1 1 /dev/did/dsk/d23s0 [qfs2rac-node1]root@solaris:~# metainit -s dataset1 d31 1 1 /dev/did/dsk/d16s0 [qfs2rac-node1]root@solaris:~# metainit -s dataset1 d40 1 1 /dev/did/dsk/d15s0 [qfs2rac-node1]root@solaris:~# metainit -s dataset1 d41 1 1 /dev/did/dsk/d19s0 ... [qfs2rac-node1]root@solaris:~#
最初の RAID-1 ミラーを作成します。コマンド metainit
-s
diskset-name
RAID-1-mirrorname
-m
RAID-0-volume0
を使用します。ここでは:
diskset-name
は、マルチ所有者ディスクセットの名前です。
RAID-1-mirrorname
は、RAID-1 ミラー化ボリュームの名前です。
RAID-0-volume0
は、ミラーに追加する最初の RAID-0 論理ボリュームです。
この例では、ミラー d1
を作成して、最初の RAID-0 ボリューム d10
をミラー内に追加します。
[qfs2rac-node1]root@solaris:~# metainit -s dataset1 d1 -m d10 [qfs2rac-node1]root@solaris:~#
残りの RAID-0 ボリュームを最初の RAID-1 ミラーに追加します。コマンド metattach
-s
diskset-name
RAID-1-mirrorname
RAID-0-volume
を使用します。ここでは:
diskset-name
は、マルチ所有者ディスクセットの名前です
RAID-1-mirrorname
は、RAID-1 ミラー化ボリュームの名前です
RAID-0-volume
は、ミラーに追加する RAID-0 論理ボリュームです。
この例では、d1
は双方向ミラーであるため、単一の RAID-0 ボリューム d11
を追加します。
[qfs2rac-node1]root@solaris:~# metattach -s dataset1 d11 d1 [qfs2rac-node1]root@solaris:~#
残りのミラーを作成します。
この例では、ミラー d2
、d3
、d4
などを作成します。
[qfs2rac-node1]root@solaris:~# metainit -s dataset1 d2 -m d20 [qfs2rac-node1]root@solaris:~# metattach -s dataset1 d21 d2 [qfs2rac-node1]root@solaris:~# metainit -s dataset2 d3 -m d30 [qfs2rac-node1]root@solaris:~# metattach -s dataset2 d31 d3 [qfs2rac-node1]root@solaris:~# metainit -s dataset2 d4 -m d40 [qfs2rac-node1]root@solaris:~# metattach -s dataset2 d41 d4 ... [qfs2rac-node1]root@solaris:~#
QFS ファイルシステムのメタデータを保持するミラーを選択します。
次の例では、ミラー d1
および d2
を選択します。
選択したミラーで、QFS メタデータを保持するソフトパーティションを作成します。ミラーごとに、コマンド metainit
-s
diskset-name
partition-name
-p
RAID-1-mirrorname
size
を使用します。ここでは:
diskset-name
は、マルチ所有者ディスクセットの名前です。
partition-name
は、新しいパーティションの名前です。
RAID-1-mirrorname
は、ミラーの名前です。
size
は、パーティションのサイズです。
この例では、2 つの 500G バイトのパーティション d53
および d63
を、ミラー d1
およびミラー d2
上にそれぞれ作成します。
[qfs2rac-node1]root@solaris:~# metainit -s dataset1 d53 -p d1 500g [qfs2rac-node1]root@solaris:~# metainit -s dataset1 d63 -p d2 500g
まだ実行していない場合は、手順すべての SC-RAC クラスタノードにおける QFS 共有ファイルシステムの hosts ファイルの作成を実行します。終了したら、ここに戻ります。
SC-RAC クラスタのプライマリノードと QFS 共有ファイルシステムのアクティブなメタデータサーバーの両方としての役割を果たすクラスタノードを選択します。root
としてログインします。
この例では、ノード qfs2rac-node1
を選択します。
[qfs2rac-node1]root@solaris:~#
プライマリノード上で、高パフォーマンスの ma
共有ファイルシステムを作成します。Solaris Volume Manager のミラー化ディスクボリュームを mm
メタデータデバイスおよび mr
データデバイスとして使用します。テキストエディタで /etc/opt/SUNWsamfs/mcf
ファイルを開いて、必要な編集を行なって、ファイルを保存します。
この例では、vi
テキストエディタを使用して、ファイルシステム qfs2rac
を作成します。ミラー化ボリューム d1
および d2
上のパーティションは、ファイルシステムの 2 つの mm
メタデータデバイス 110
および 120
として機能します。ミラー化ボリューム d3
および d4
は、ファイルシステムの 2 つの mr
データデバイス 130
および 140
として機能します。
[qfs2rac-node1]root@solaris:~# vi /etc/opt/SUNWsamfs/mcf # /etc/opt/SUNWsamfs/mcf file: # # Equipment Equipment Equipment Family Device Additional # Identifier Ordinal Type Set State Parameters # ----------------------- --------- -------- ------- ------ ---------- qfs2rac 100 ma qfs2rac on shared /dev/md/dataset1/dsk/d53 110 mm qfs2rac on /dev/md/dataset1/dsk/d63 120 mm qfs2rac on /dev/md/dataset1/dsk/d3 130 mr qfs2rac on /dev/md/dataset1/dsk/d4 140 mr qfs2rac on :wq [qfs2rac-node1]root@solaris:~#
エラーを mcf
ファイルで確認します。コマンド /opt/SUNWsamfs/sbin/
sam-fsd
を使用して、見つかったエラーを修正します。
sam-fsd
コマンドは、Oracle HSM 構成ファイルを読み取り、ファイルシステムを初期化します。エラーが発生した場合は停止します。この例では、ホスト qfs2rac-node1
上で mcf
ファイルを確認します。
[qfs2rac-node1]root@solaris:~# sam-fsd
...
Would start sam-archiverd()
Would start sam-stagealld()
Would start sam-stagerd()
Would start sam-amld()
[qfs2rac-node1]root@solaris:~#
ファイルシステムを作成します。コマンド /opt/SUNWsamfs/sbin/
sammkfs
-S
family-set-name
を使用します。ここで family-set-name
は、ファイルシステムの装置 ID です。
sammkfs
コマンドは、hosts.
family-set-name
および mcf
ファイルを読み取って、指定されたプロパティーを使用して共有ファイルシステムを作成します。
[qfs2rac-node1]root@solaris:~# sammkfs -S qfs2rac Building 'qfs2rac' will destroy the contents of devices: ... Do you wish to continue? [y/N]yes ... [qfs2rac-node1]root@solaris:~#
テキストエディタでオペレーティングシステムの /etc/vfstab
ファイルを開き、新しいファイルシステムの行を開始します。最初の列にファイルシステム名、空白文字、2 番目の列にハイフン、さらに空白を入力します。
この例では、vi
テキストエディタを使用します。qfs2rac
ファイルシステムの行を開始します。ハイフンは、オペレーティングシステムが UFS ツールを使用してファイルシステムの整合性チェックを試行しないようにします。
[qfs2rac-node1]root@solaris:~# vi /etc/vfstab #File #Device Device Mount System fsck Mount Mount #to Mount to fsck Point Type Pass at Boot Options #-------- ------- ---------------------- ------ ---- ------- ------------ /devices - /devices devfs - no - /proc - /proc proc - no - ... qfs2rac -
/etc/vfstab
ファイルの 3 番目の列に、クラスタを基準とした相対的なファイルシステムのマウントポイントを入力します。システムのルートディレクトリの直下にはないマウントポイントサブディレクトリを指定します。
QFS 共有ファイルシステムをルートの直下にマウントすると、SUNW.qfs
リソースタイプの使用時にフェイルオーバーの問題が発生する可能性があります。この例では、qfs2rac
ファイルシステムのマウントポイントは /global/sc-rac/qfs2rac
です。
#File #Device Device Mount System fsck Mount Mount #to Mount to fsck Point Type Pass at Boot Options #-------- ------- ---------------------- ------ ---- ------- ------------ /devices - /devices devfs - no - /proc - /proc proc - no - ... qfs2rac - /global/sc-rac/qfs2rac samfs - no
/etc/vfstab
ファイルの 4 番目の列に、ファイルシステムタイプ (samfs
) を入力します。
#File
#Device Device Mount System fsck Mount Mount
#to Mount to fsck Point Type Pass at Boot Options
#-------- ------- ---------------------- ------ ---- ------- ------------
/devices - /devices devfs - no -
/proc - /proc proc - no -
...
qfs2rac - /global/sc-rac/qfs2rac samfs
/etc/vfstab
ファイルの 5 番目の列に、fsck
パスオプション (-
) を入力します。
#File
#Device Device Mount System fsck Mount Mount
#to Mount to fsck Point Type Pass at Boot Options
#-------- ------- ---------------------- ------ ---- ------- ------------
/devices - /devices devfs - no -
/proc - /proc proc - no -
...
qfs2rac - /global/sc-rac/qfs2rac samfs -
/etc/vfstab
ファイルの 6 番目の列に、ブート時のマウントオプション (no
) を入力します。
#File
#Device Device Mount System fsck Mount Mount
#to Mount to fsck Point Type Pass at Boot Options
#-------- ------- ---------------------- ------ ---- ------- ------------
/devices - /devices devfs - no -
/proc - /proc proc - no -
...
qfs2rac - /global/sc-rac/qfs2rac samfs - no
/etc/vfstab
ファイルの 7 番目の列に、sw_raid
マウントオプションと、SC-RAC 構成で推奨されるマウントオプションを入力します。次に、ファイルを保存し、エディタを閉じます。
次のマウントオプションが推奨されます。これらは、この時点で /etc/vfstab
内で指定することも、またはその方が便利な場合はファイル /etc/opt/SUNWsamfs/samfs.cmd
内で指定することもできます。
shared
stripe=1
sync_meta=1
mh_write
qwrite
forcedirectio
notrace
rdlease=300
wrlease=300
aplease=300
この例では、マウントオプションリストはページレイアウトに合うように省略されています。
#File #Device Device Mount System fsck Mount Mount #to Mount to fsck Point Type Pass at Boot Options #-------- ------- ---------------------- ------ ---- ------- ------------ /devices - /devices devfs - no - /proc - /proc proc - no - ... qfs2rac - /global/sc-rac/qfs2rac samfs - no shared,...sw_raid :wq [qfs2rac-node1]root@solaris:~#
高可用性共有ファイルシステムのマウントポイントを作成します。
[qfs2rac-node1]root@solaris:~# mkdir -p /global/sc-rac/qfs2rac [qfs2rac-node1]root@solaris:~#
プライマリノードで高可用性共有ファイルシステムをマウントします。
[qfs2rac-node1]root@solaris:~# mount /global/sc-rac/qfs2rac [qfs2rac-node1]root@solaris:~#
2 番目のノードを設定します。残りの SC-RAC クラスタノード上での潜在的な QFS メタデータサーバーの構成の手順を使用します。
フェイルオーバーを構成します。SC-RAC メタデータサーバーのフェイルオーバーの構成の手順を使用します。その後、ここに戻ります。
Solaris Volume Manager のミラー化ボリュームを使用して、SC-RAC の構成を正常に行いました。
サイドバンドデータベース機能を使用する計画がある場合、レポートデータベースの構成に進みます。
それ以外の場合は、通知とロギングの構成に進みます。