ファイルシステムを表現しているリソースを変更している間でも、高可用性ファイルシステムは利用できる必要があります。たとえば、ストレージが動的に提供されている場合、ファイルシステムは利用できる必要があります。このような状況では、高可用性ファイルシステムを表現しているリソースをオンラインのままで変更します。
Sun Cluster 環境では、高可用性ファイルシステムは HAStoragePlus リソースで表現されます。Sun Cluster では、HAStoragePlus をオンラインのままで変更するには、次のようにします。
ファイルシステムを HAStoragePlus リソースに追加する
ファイルシステムを HAStoragePlus リソースから削除する
Sun Cluster ソフトウェアでは、ファイルシステムの名前はオンラインのままでは変更できません。
ゾーンクラスタに対して HAStoragePlus リソースで構成されているファイルシステムを削除する場合、そのゾーンクラスタからファイルシステムの構成も削除する必要があります。ゾーンクラスタからファイルシステムを削除する方法については、『Sun Cluster のシステム管理 (Solaris OS 版)』の「ゾーンクラスタからファイルシステムを削除する」を参照してください。
ローカルファイルシステムまたは広域ファイルシステムを HAStoragePlus リソースに追加する場合、HAStoragePlus リソースは自動的にファイルシステムをマウントします。
クラスタの 1 つのノードで、スーパーユーザーになるか、solaris.cluster.modify RBAC の承認を提供する役割になります。
クラスタの各ノードの /etc/vfstab ファイルにおいて、追加しようとしている各ファイルシステムのマウントポイント用のエントリを追加します。
エントリごとに、mount at boot フィールドと mount options フィールドを次のように設定します。
HAStoragePlus リソースがすでに管理しているファイルシステムのマウントポイントのリストを取得します。
# scha_resource_get -O extension -R hasp-resource -G hasp-rg \ FileSystemMountPoints |
ファイルシステムを追加する先の HAStoragePlus リソースを指定します。
HAStoragePlus リソースを含むリソースグループを指定します。
HAStoragePlus リソースの FileSystemMountPoints 拡張プロパティーを変更して、次のマウントポイントを含むようにします。
HAStoragePlus リソースがすでに管理しているファイルシステムのマウントポイント
HAStoragePlus リソースに追加しようとしているファイルシステムのマウントポイント
# clresource set -p FileSystemMountPoints="mount-point-list" hasp-resource |
HAStoragePlus リソースがすでに管理しているファイルシステムのマウントポイントと、追加しようとしているファイルシステムのマウントポイントをコンマで区切って指定します。リスト内の各エントリの形式は、LocalZonePath: GlobalZonePath です。この形式では、大域パスはオプションです。大域パスが指定されていない場合、大域パスはローカルパスと同じになります。
ファイルシステムを追加する先の HAStoragePlus リソースを指定します。
HAStoragePlus リソースのマウントポイントのリストと、手順 4で指定したリストが一致していることを確認します。
# scha_resource_get -O extension -R hasp-resource -G hasp-rg \ FileSystemMountPoints |
ファイルシステムを追加する先の HAStoragePlus リソースを指定します。
HAStoragePlus リソースを含むリソースグループを指定します。
HAStoragePlus リソースがオンラインであり、障害が発生していないことを確認します。
HAStoragePlus リソースがオンラインであるが障害が発生している場合、リソースの確認は成功しますが、HAStoragePlus によるファイルシステムのマウントは失敗します。
# clresource status hasp-resource |
次に、オンラインの HAStoragePlus リソースにファイルシステムを追加する例を示します。
HAStoragePlus リソースは rshasp という名前であり、リソースグループ rghasp に含まれます。
rshasp という名前の HAStoragePlus リソースはすでに、マウントポイントが /global/global-fs/fs であるファイルシステムを管理しています。
追加しようとしているファイルシステムのマウントポイントは /global/local-fs/fs です。
この例では、各クラスタノード上の /etc/vfstabファイルにはすでに、追加しようとしているファイルシステムのエントリが含まれていると仮定します。
# scha_resource_get -O extension -R rshasp -G rghasp FileSystemMountPoints STRINGARRAY /global/global-fs/fs # clresource set \ -p FileSystemMountPoints="/global/global-fs/fs,/global/local-fs/fs" # scha_resource_get -O extension -R rshasp -G rghasp FileSystemMountPoints rshasp STRINGARRAY /global/global-fs/fs /global/local-fs/fs # clresource status rshasp === Cluster Resources === Resource Name Node Name Status Message -------------- ---------- ------- -------- rshasp node46 Offline Offline node47 Online Online |
HAStoragePlus リソースからファイルシステムを削除するとき、HAStoragePlus リソースはローカルファイルシステムを広域ファイルシステムとはべつに処理します。
HAStoragePlus リソースは、ローカルファイルシステムを自動的にアンマウントします。
HAStoragePlus リソースは広域ファイルシステムをアンマウントしません。
オンラインの HAStoragePlus リソースからファイルシステムを削除する前には、そのファイルシステムを使用しているアプリケーションが存在しないことを確認してください。オンラインの HAStoragePlus リソースからファイルシステムを削除すると、そのファイルシステムは強制的にアンマウントされます。アプリケーションが使用しているファイルシステムが強制的にアンマウントされると、そのアプリケーションは異常終了またはハングする可能性があります。
クラスタの 1 つのノードで、スーパーユーザーになるか、solaris.cluster.modify RBAC の承認を提供する役割になります。
HAStoragePlus リソースがすでに管理しているファイルシステムのマウントポイントのリストを取得します。
# scha_resource_get -O extension -R hasp-resource -G hasp-rg \ FileSystemMountPoints |
ファイルシステムを削除する元の HAStoragePlus リソースを指定します。
HAStoragePlus リソースを含むリソースグループを指定します。
HAStoragePlus リソースの FileSystemMountPoints 拡張プロパティーを変更して、HAStoragePlus リソースに残すファイルシステムのマウントポイントだけを含むようにします。
# clresource set -p FileSystemMountPoints="mount-point-list" hasp-resource |
HAStoragePlus リソースに残そうとしているファイルシステムのマウントポイントをコンマで区切って指定します。このリストには、削除しようとしているファイルシステムのマウントポイントは決して含まないでください。
ファイルシステムを削除する元の HAStoragePlus リソースを指定します。
HAStoragePlus リソースのマウントポイントのリストと、手順 3で指定したリストが一致していることを確認します。
# scha_resource_get -O extension -R hasp-resource -G hasp-rg \ FileSystemMountPoints |
ファイルシステムを削除する元の HAStoragePlus リソースを指定します。
HAStoragePlus リソースを含むリソースグループを指定します。
HAStoragePlus リソースがオンラインであり、障害が発生していないことを確認します。
HAStoragePlus リソースがオンラインであるが障害が発生している場合、リソースの確認は成功しますが、HAStoragePlus によるファイルシステムのアンマウントは失敗します。
# clresource status hasp-resource |
(省略可能) クラスタの各ノードの /etc/vfstab ファイルから、削除しようとしている各ファイルシステムのマウントポイント用のエントリを削除します。
次に、オンラインの HAStoragePlus リソースからファイルシステムを削除する例を示します。
HAStoragePlus リソースは rshasp という名前であり、リソースグループ rghasp に含まれます。
rshasp という名前の HAStoragePlus リソースはすでに、次のようなマウントポイントのファイルシステムを管理しています。
/global/global-fs/fs
/global/local-fs/fs
削除しようとしているファイルシステムのマウントポイントは /global/local-fs/fs です。
# scha_resource_get -O extension -R rshasp -G rghasp FileSystemMountPoints STRINGARRAY /global/global-fs/fs /global/local-fs/fs # clresource set -p FileSystemMountPoints="/global/global-fs/fs" # scha_resource_get -O extension -R rshasp -G rghasp FileSystemMountPoints rshasp STRINGARRAY /global/global-fs/fs # clresource status rshasp === Cluster Resources === Resource Name Node Name Status Message -------------- ---------- ------- -------- rshasp node46 Offline Offline node47 Online Online |
Solaris ZFS (Zettabyte File System) ストレージプールをオンラインの HAStoragePlus リソースに追加する場合、HAStoragePlus リソースは次の処理を行います。
ZFS ストレージプールをインポートする。
ZFS ストレージプール内のすべてのファイルシステムをマウントする。
クラスタ内の任意のノードで、スーパーユーザーになるか、solaris.cluster.modify RBAC の承認を提供する役割になります。
HAStoragePlus リソースがすでに管理している ZFS ストレージプールを判別します。
# clresource show -g hasp-resource-group -p Zpools hasp-resource |
HAStoragePlus リソースを含むリソースグループを指定します。
ZFS ストレージプールを追加する先の HAStoragePlus リソースを指定します。
HAStoragePlus リソースがすでに管理している ZFS ストレージプールの既存のリストに、新しい ZFS ストレージプールを追加します。
# clresource set -p Zpools="zpools-list" hasp-resource |
HAStoragePlus リソースがすでに管理している既存の ZFS ストレージプール名のコンマ区切りリストと、追加する新しい ZFS ストレージプール名を指定します。
ZFS ストレージプールを追加する先の HAStoragePlus リソースを指定します。
HAStoragePlus リソースが管理する ZFS ストレージプールの新しいリストと、手順 2で生成したリストを比較します。
# clresource show -g hasp-resource-group -p Zpools hasp-resource |
HAStoragePlus リソースを含むリソースグループを指定します。
ZFS ストレージプールの追加先である HAStoragePlus リソースを指定します。
HAStoragePlus リソースがオンラインであり、障害が発生していないことを確認します。
HAStoragePlus リソースがオンラインで障害が発生した場合は、リソースの検証自体は成功したことになります。ただし、HAStoragePlus リソースによる ZFS ファイルシステムのインポートとマウントの試みは失敗しています。この場合、以前の一連の手順を繰り返す必要があります。
# clresourcegroup status hasp-resource |
オンラインの HAStoragePlus リソースから Solaris ZFS (Zettabyte File System) ストレージプールを削除する場合、HAStoragePlus リソースは次の処理を行います。
ZFS ストレージプール内のファイルシステムをアンマウントする。
ノードから ZFS ストレージプールをエクスポートする。
クラスタ内の任意のノードで、スーパーユーザーになるか、solaris.cluster.modify RBAC の承認を提供する役割になります。
HAStoragePlus リソースがすでに管理している ZFS ストレージプールを判別します。
# clresource show -g hasp-resource-group -p Zpools hasp-resource |
HAStoragePlus リソースを含むリソースグループを指定します。
ZFS ストレージプールの削除元である HAStoragePlus リソースを指定します。
HAStoragePlus リソースが現在管理している ZFS ストレージプールのリストから ZFS ストレージプールを削除します。
# clresource set -p Zpools="zpools-list" hasp-resource |
HAStoragePlus リソースが現在管理している ZFS ストレージプール名のコンマ区切りリストから、削除する ZFS ストレージプール名を除いたものを指定します。
ZFS ストレージプールの削除元である HAStoragePlus リソースを指定します。
HAStoragePlus リソースが現在管理する ZFS ストレージプールの新しいリストと、手順 2で生成したリストを比較します。
# clresource show -g hasp-resource-group -p Zpools hasp-resource |
HAStoragePlus リソースを含むリソースグループを指定します。
ZFS ストレージプールの削除元である HAStoragePlus リソースを指定します。
HAStoragePlus リソースがオンラインであり、障害が発生していないことを確認します。
HAStoragePlus リソースがオンラインで障害が発生した場合は、リソースの検証自体は成功したことになります。ただし、HAStoragePlus リソースによる ZFS ファイルシステムのアンマウントとエクスポートの試みは失敗しています。この場合、以前の一連の手順を繰り返す必要があります。
# clresourcegroup status SUNW.HAStoragePlus + |
FileSystemMountPoints 拡張プロパティーの変更中に障害が発生した場合、HAStoragePlus リソースの状態はオンラインであり、かつ、障害が発生しています。障害を修正した後、HAStoragePlus の状態はオンラインです。
変更が失敗した原因となる障害を特定します。
# clresource status hasp-resource |
障害が発生した HAStoragePlus リソースの状態メッセージは、その障害を示します。可能性のある障害は、次のとおりです。
ファイルシステムが存在するはずのデバイスが存在しません。
fsck コマンドによるファイルシステムの修復が失敗しました。
追加しようとしたファイルシステムのマウントポイントが存在しません。
追加しようとしたファイルシステムがマウントできません。
削除しようとしたファイルシステムがアンマウントできません。
変更が失敗した原因となる障害を修正します。
HAStoragePlus リソースの FileSystemMountPoints 拡張プロパティーを変更する手順を繰り返します。
# clresource set -p FileSystemMountPoints="mount-point-list" hasp-resource |
高可用性ファイルシステムの変更が失敗したときに指定したマウントポイントをコンマで区切って指定します。
変更しようとしている HAStoragePlus リソースを指定します。
HAStoragePlus リソースがオンラインであり、障害が発生していないことを確認します。
# clresource status |
次に、障害が発生した HAStoragePlus リソースの状態の例を示します。fsck コマンドによるファイルシステムの修復が失敗したため、このリソースには障害が発生しています。
# clresource status === Cluster Resources === Resource Name Node Name Status Status Message -------------- ---------- ------- ------------- rshasp node46 Offline Offline node47 Online Online Faulted - Failed to fsck: /mnt. |
Zpools 拡張プロパティーの変更中に障害が発生した場合、HAStoragePlus リソースの状態はオンラインであり、かつ、障害が発生しています。障害を修正した後、HAStoragePlus の状態はオンラインです。
変更が失敗した原因となる障害を特定します。
# clresource status hasp-resource |
障害が発生した HAStoragePlus リソースの状態メッセージは、その障害を示します。可能性のある障害は、次のとおりです。
ZFS のプール zpool がインポートに失敗した。
ZFS のプール zpool がエクスポートに失敗した。
変更が失敗した原因となる障害を修正します。
HAStoragePlus リソースの Zpools 拡張プロパティーを変更する手順を繰り返します。
# clresource set -p Zpools="zpools-list" hasp-resource |
HAStoragePlus が現在管理している ZFS ストレージプール名のコンマ区切りリストから、削除する ZFS ストレージプール名を除いたものを指定します。
変更しようとしている HAStoragePlus リソースを指定します。
HAStoragePlus リソースがオンラインであり、障害が発生していないことを確認します。
# clresource status |
次に、障害が発生した HAStoragePlus リソースの状態の例を示します。ZFS のプール zpool がインポートに失敗したため、このリソースには障害が発生しています。
# clresource status hasp-resource === Cluster Resources === Resource Name Node Name Status Status Message -------------- ---------- ------- ------------- hasp-resource node46 Online Faulted - Failed to import:hazpool node47 Offline Offline |