概要
この記事では、Dell Isilon Clusterを適切にシャットダウンする手順と、クラスターの不適切なシャットダウンに関連するリスクについて説明します。
注意:クラスターを不適切にシャットダウンすると、データの可用性と整合性に問題が発生する可能性があります。
クラスター内で不適切にシャットダウンされたノードは、NVRAMバッテリーの寿命(ノードのタイプに応じて約3〜5日)よりも長くシステムの電源が切れないようにする必要があります。データがまだノード ジャーナルに保存されていて、ノードの電源がNVRAMバッテリーの寿命を超えて切れた場合は、データが失われ、クラスターを再構築する必要があります。
この記事の手順や情報について質問がある場合は、Dell Isilonテクニカル サポートにお問い合わせください。
手順
クラスターのシャットダウン手順では、root認証情報と、クラスター内のノードへのシリアル コンソール アクセスが必要です。その手順は5つのフェーズに分かれています。
シャットダウン プロセスを開始する前に、手順全体を読んでください。そうすることで、各手順を完了するためのコンテキストと順序を確実に理解できます。
注意:サポート終了日(EOSL)を迎えたOneFSのバージョンを実行している場合は、サポートされているバージョンのOneFSにアップグレードしてください。
フェーズ1:予防メンテナンスを実行する
これらの手順は、スケジュールされたシャットダウンの約4〜8週間前に実行します。このフェーズの目的は、シャットダウン手順を妨げる可能性のある不明または潜在的なハードウェアまたはファームウェアの問題を特定することです。
注意:Isilonクラスターをシャットダウンする前に、フェーズ1のすべての手順に従うことを強くお勧めします。
クラスター全体を直ちにシャットダウンする必要がある場合は、OneFSコマンドライン インターフェイスまたはOneFS Web管理インターフェイスを使用して、すべてのノードを同時にシャットダウンできます。
デル・テクノロジーズでは、緊急シャットダウン手順が発生した場合にデータの整合性を保つために、
フェーズ3のすべての手順に従うことを強くお勧めします。
- 必要に応じて、履歴参照用のログをアップロードします。
# isi_gather_info
- Isilonヘルス チェックを実行またはリクエストします。
- これにより、クラスターの正常性を評価し、クラスターが良好でサポート可能かつ動作可能な状態であることを確認します。
- お客様は、次の記事に従ってこれを実行できます:「PowerScale:Isilon On-Cluster Analysisツールを実行する方法」
- また、リモート リアクティブ(カスタマー サポート)チームが実行できます。これは、サポートされているコード バージョンのクラスターに対して有効な保守契約を結んでいるすべてのお客様が利用できます。これらの要件を満たしている場合は、Dellオンライン サポート サイトで「Isilonヘルス チェック」をリクエストするサービス リクエスト(SR)を開きます。次のコマンドを実行して、ヘルス チェックの完全なログを提供します。
# isi_gather_info
*ヘルス チェックは、クラスターの問題を修正したり、クラスターの構成、パフォーマンス、ワークフローを評価したりすることを目的としていません。
- 次の手順を実行して、各ノードの「コールド リブート」を実行します。このアクティビティーには、メンテナンス ウィンドウをスケジュールする必要があります。
注:このプロセスにより、ノードの電源が再びオンになったときにのみ検出されるメモリー エラーまたはドライブ障害モードを特定できます。
注:このプロセスにより、NFSv3を除くすべての接続が中断します。このメンテナンス テストでノードが再起動されている間にクライアント アクティビティーを中断しない、より長いプロセスの手順については、Isilonサポートにお問い合わせください。
- クラスター内の各ノードを一度に1つずつシャットダウンします。各ノードをシャットダウンするには、次の手順を実行します。
- 任意のノードへのSSH接続を開きます。次のコマンドを実行して、各ノードをシャットダウンします。
isi config
shutdown <node_lnn>
- ノードの背面にある緑色の電源インジケーターLEDが点灯していないことを確認して、各ノードの電源がオフになっていることを確認します。
- 電源ボタンを押して、ノードの電源を再びオンにします。
- 次のコマンド:
isi status -q
を実行して、出力の「Health DASR」列が「OK」であることを確認し、ノードがクラスターに再参加し、正常であることを確認します。
- 「Health DASR」列にノードの問題が示されている場合、またはクラスターへの再参加に失敗した場合は、次のノードをシャットダウンする前にこれらの問題を解決します。
問題の例を以下に示します。ノード1はクラスターに正常に再参加しましたが、「Health DASR」列は注意が必要であることを示しています。
mycluster-1# isi status -q
Cluster Name: mycluster
Cluster Health: [ ATTN]
Cluster Storage: HDD SSD
Size: 11G (23G Raw) 0 (0 Raw)
VHS Size: 11G
Used: 7.9G (69%) 0 (n/a)
Avail: 3.5G (31%) 0 (n/a)
Health Throughput (bps) HDD Storage SSD Storage
ID |IP Address |DASR | In Out Total| Used / Size |Used / Size
-------------------+-----+-----+-----+-----+-----------------+-----------------
1|10.1.16.141 |-A-- | 0| 150K| 150K| 2.0G/ 2.8G( 69%)| (No SSDs)
2|10.1.16.142 |-OK- | 98K| 13K| 112K| 2.0G/ 2.8G( 69%)| (No SSDs)
3|10.1.16.143 |-OK- | 0| 44K| 44K| 2.0G/ 2.8G( 69%)| (No SSDs)
4|10.1.16.144 |-OK- | 0| 512| 512| 2.0G/ 2.8G( 69%)| (No SSDs)
-------------------+-----+-----+-----+-----+-----------------+-----------------
Cluster Totals: | 98K| 208K| 306K| 7.9G/ 11G( 69%)| (No SSDs)
Health Fields: D = Down, A = Attention, S = Smartfailed, R = Read-Only
- 各ノードを再起動した後、クラスター全体の正常性を再確認します。任意のノードへのSSH接続を開き、次のコマンドを実行します。
isi status -q
すべてのノードの「Health DASR」列に「OK」と表示されていることを確認します。
注:時間的に余裕がなく、各ノードに対してコールド リブート アプローチを実行できない場合は、代わりに各ノードに対して次のコマンドを実行して、ローリング リブートまたは「ウォーム リブート」を実行することで、潜在的なハードウェアの問題をプロアクティブに発見できます。
isi config
reboot <node_lnn>
ただし、潜在的なハードウェアの問題をより効果的に特定するには、コールド リブート アプローチを使用することを強くお勧めします。
フェーズ2:クラスター内の各ノードをシャットダウンする
これらの手順は、Isilonクラスターをシャットダウンした日に実行する必要があります。クラスター全体のシャットダウン中に、いくつかの要因によりシャットダウン プロセスに影響を与えたり、プロセスが遅延したりする場合があります。例えば、ノードへの未処理のデータ書き込みがシャットダウンに影響する場合があります。手順1と2の目的は、シャットダウン コマンドを実行する前に、すべてのクライアントがクラスターから切断され、ノード ジャーナルからファイル システムにデータが適切に保存されていることを確認することです。iSCSIクライアントを使用している場合は、iSCSIサービスを無効にする前に必ずクライアントをシャットダウンしてください。
手順3では、シリアル コンソールを使用してクラスター内の各ノードを順番にシャットダウンする方法について説明します。この方法が推奨される理由は、次のノードに進む前に各ノードが適切にシャットダウンされていることを確認し、必要に応じて調整や問題の修正をしてクラスターを適切にシャットダウンするためです。ただし、この方法では、シャットダウン コマンドを実行するために各ノードにシリアル コンソールを接続する必要があるため、時間がかかる場合があります。「クラスター内のすべてのノードを同時にシャットダウンする」セクションでは、OneFSコマンドライン インターフェイスまたはOneFS Web管理インターフェイスを使用してクラスターをシャットダウンする方法について説明します。この方法は、手順3よりも時間はかかりませんが、シャットダウン プロセス中に問題が発生したノードを特定するのが難しくなります。
- Isilonでは、書き込み負荷の高いクライアントがシャットダウン手順を妨げないように、クライアントからクラスターを分離することを推奨しています。これを行うには、クラスターで実行されているクライアント向けサービスを無効にします。クライアント向けサービスを無効化するには、次の手順を実行します。
- クライアント向けサービスごとに次のコマンドを実行して、クラスターで実行されているクライアント向けサービスまたはプロトコルを特定します。
isi services apache2
isi services isi_hdfs_d
isi services isi_iscsi_d
isi services ndmpd
isi services nfs
isi services smb
isi services vsftpd
- B. 各コマンドの出力に基づいて、クラスターで「有効」になっているサービスをメモします。次の例では、SMBサービスは有効ですが、NFSサービスは無効になっています。
mycluster-4# isi services smb
Service 'smb' is enabled.
mycluster-4# isi services nfs
Service 'nfs' is disabled.
mycluster-4#
- クライアント向けサービスを無効にします。この手順の後、すべてのクライアントはただちにクラスターへの接続を失います。サービスを無効にするには、有効にしたサービスに関連する次のコマンドを実行します。
isi services apache2 disable
isi services isi_hdfs_d disable
isi services isi_iscsi_d disable
isi services ndmpd disable
isi services nfs disable
isi services smb disable
isi services vsftpd disable
iSCSIクライアントを使用している場合は、手順2を実行する前に、iSCSIクライアントのLUNがアンマウントされていることを確認します。次のコマンド: isi iscsi list
を実行して、すべてのiSCSIクライアントがクラスターから切断されていることを確認します。
注:iSCSIサービスを無効にする場合は、 isi_iscsi_d disable
コマンドを実行する前にiSCSIクライアントがシャットダウンされていることを確認してください。マウントされたiSCSI LUNが停止すると、クライアントが損傷を受けることがあり、通常はバックアップからのリカバリーが必要になります。
- 次のコマンド:
isi_for_array isi_flush
コマンドを実行する前にiSCSIクライアントがシャットダウンされていることを確認してください。次のような出力が各ノードに表示されます。
mycluster-4# isi_for_array isi_flush
mycluster-1: Flushing cache...
mycluster-1: Cache flushing complete.
注:未処理の書き込みが多数ある大規模なクラスターでは、この手順が完了するまでに数分かかる場合があります。
ノードがデータのフラッシュに失敗した場合は、次のような出力が表示されます。この場合、ノード1とノード2はフラッシュ コマンドに失敗しています。
mycluster-4# isi_for_array isi_flush
mycluster-1: Flushing cache...
vinvalbuf: flush failed, 1 clean and 0 dirty bufs remaining
mycluster-2: Flushing cache...
fsync: giving up on dirty
次のコマンド: isi_for_array isi_flush
を再度実行します。フラッシュに失敗したノードがある場合は、Dell Isilonテクニカル サポートにお問い合わせください。次の手順に進む前に、すべてのノードで正常にフラッシュが完了している必要があります。
注:ジャーナルからファイル システムにデータをフラッシュしていないノードの電源を切ると、データ ロスのリスクが大幅に高まります。シャットダウン手順に関するサポートが必要な場合は、Dell Isilonテクニカル サポートにお問い合わせください。
- クラスター内の各ノードを順番にシャットダウンし、出力を監視します。この方法をお勧めするのは、クラスター内の次のノードをシャットダウンする前に問題を特定して解決できるためです。次の手順を実行して、各ノードをシャットダウンします。
注意:クラスターをシャットダウンするために、次のコマンドを実行しないでください: isi_for_array shutdown -p
この手順でパニックまたは再起動するノードは、さらに調査が必要です。特に、続行する前に、すべてのノードでノード ジャーナルからファイル システムにデータをフラッシュする必要があります。
Warning: ジャーナルからファイル システムにデータをフラッシュしていないノードの電源を切ると、データ ロスのリスクが大幅に高まります。シャットダウン手順に関するサポートが必要な場合は、Dell Isilonテクニカル サポートにお問い合わせください。
- 各ノードにシリアル コンソールを接続します。
- 次のコマンドを実行します。
isi config
shutdown
ノードが正常にシャットダウンされると、次のような出力が表示されます。
Powering the system off using ACPI
注:keyboard, video, mouse (KVM)スイッチを介してノードにアクセスできず、代わりにノートパソコンを使用する必要がある場合は、この手順が完了するまでに数時間かかることがあります。
- C. コンソールを監視して、ハードウェア関連の障害イベントを探します。以下の出力は、ノード ジャーナルが正常に保存されたことを示す一例です。
2014-03-22T00:35:19Z <1.5> mycluster-3(id11) isi_save_journal[44868]: Attempting to save journal to default location
2014-03-22T00:35:19Z <1.5> mycluster-3(id11) isi_save_journal[44868]: Saving journal to /var/journal/journal.gz
2014-03-22T00:35:19Z <1.5> mycluster-3(id11) isi_save_journal[44868]: All data saved successfully
2014-03-22T00:37:29Z <1.5> mycluster-3(id11) isi_save_journal[45074]: Attempting to save journal to default location
2014-03-22T00:37:29Z <1.5> mycluster-3(id11) isi_save_journal[45074]: A valid backup journal already exists. Not saving.
An example of a node journal save failure is highlighted in the output below:
2014-03-21T23:39:09Z <1.4> mycluster-3(id11) /sbin/shutdown: ERROR: Validation failed for backup journal. Shutdown aborted
2014-03-21T23:39:09Z <1.4> mycluster-3(id11) /sbin/shutdown: Failed command output:
ノード ジャーナルが保存されなかったというエラーが表示された場合は、フェーズ3の手順を実行してジャーナルを手動で保存できます。
クラスター内のすべてのノードを同時にシャットダウンする
緊急時は、クラスター内のすべてのノードを同時にシャットダウンできます。ただし、この方法では問題が発生した場合に各ノードのステータスと出力を監視できないため、推奨されません。これらの手順に従う場合は、以下の手順を実行した後に、フェーズ3のすべての手順に従って、すべてのノードが適切にシャットダウンしたことを確認することを強くお勧めします。
注:この手順でパニックまたは再起動するノードは、さらに調査が必要です。特に、続行する前に、すべてのノードでノード ジャーナルからファイル システムにデータをフラッシュする必要があります。
Warning: ジャーナルからファイル システムにデータをフラッシュしていないノードの電源を切ると、データ ロスのリスクが大幅に高まります。シャットダウン手順に関するサポートが必要な場合は、Dell Isilonテクニカル サポートにお問い合わせください。
クラスター内のすべてのノードをシャットダウンするには、OneFSコマンドライン インターフェイスまたはOneFS Web管理インターフェイスを使用します。
OneFSコマンドライン インターフェイスから、次のコマンドを実行します。
# isi config shutdown all
注:クラスターをシャットダウンするために、次のコマンドを実行しないでください: isi_for_array shutdown -p
(OneFS 8.0以降のOneFS Web管理インターフェイスからコマンドを実行してクラスターをシャットダウンしないでください)。
フェーズ3:ノードが正常にシャットダウンしたことを確認する
ノードの背面にある電源インジケーターLEDを見て、ノードが正しくシャットダウンしていることを確認します。すべての電源インジケーターLEDが暗いか、消灯している必要があります。これは、ノードが正常にシャットダウンしたことを示します。
Warning: ノードが正常にシャットダウンしていない状態でノードの電源を切断すると、データ ロスのリスクが大幅に高まります。データのリカバリーには時間のかかる手順が必要で、場合によってはクラスター全体を再構築する必要があります。
Warning: ノードがシャットダウンしない、ジャーナルが保存されていないなど、シャットダウン操作が正常に完了したかどうか疑問がある場合は、Dellテクニカル サポートにお問い合わせください。
ノードの背面にある電源インジケーター ライトがまだ点灯している場合、ノードはシャットダウンされていません。ノードがシャットダウンしていない場合、または(
フェーズ2の手順3Cから)ノード ジャーナルが正しく保存されなかったことがコンソール出力に表示される場合は、ノードをシャットダウンする前に、ジャーナルを手動で保存して、そのデータがディスクにコミットされていることを確認する必要があります。
- ジャーナルを手動で保存し、ノードをシャットダウンするには、次の手順を実行します。
- ノードがコマンドライン インターフェイスに応答している場合は、次のコマンドを実行してノードを再起動します。
# isi config reboot
- ノードがコマンドライン インターフェイスに応答しない場合は、ノードの背面にある電源ボタンを押したままにして、ノードを手動で再起動します。これにより、ノードの電源がオフになります。30秒待ってから、電源ボタンを1回押して、ノードを再度起動します。次のステップに進みます。
Warning: 手動によるノードの再起動は、この手順でのみ使用することをお勧めします。他の状況では、ノードを手動でシャットダウンしないでください。データ ロスが発生する可能性があります。
- ノードを再起動した後、再度ログインし、次の手順に従ってジャーナルを保存します。
- 次のコマンドを実行して、ノードの正常なシャットダウンを再試行します。
# isi config shutdown
- それでも出力にジャーナルが保存されなかったと表示される場合は、次のコマンドを実行してジャーナルを手動で保存します。
# isi_save_journal
- それでもジャーナルが保存されない場合は、ファイル システム/ifsをアンマウントし、次のコマンドを実行してジャーナルを強制保存します。
# isi_kill_busy && umount /ifs
- isi_checkjournalコマンドを実行して、ジャーナルが保存されていることを確認します。
# isi_checkjournal
- ジャーナルが正常に保存されたと出力に表示されるまで、次の手順に進まないでください。
必要に応じてDellテクニカル サポートにお問い合わせください。
フェーズ4:電源を切断する
クラスターが正常にシャットダウンされ、ノードの電源がオフになって初めて、電源をクラスターから切断できます。
Warning: ノードが正常にシャットダウンされていない場合は、ノードの電源を切断しないでください。これを行うと、データが失われ、リカバリー手順に時間がかかり、場合によってはクラスター全体を再構築する必要がある場合があります。
NVRAMバッテリー
クライアントがノードにファイルを書き込むと、その書き込みはまずノードのジャーナル カードでホストされている不揮発性RAM (NVRAM)に格納されます。しばらくすると、OneFSはそれらの書き込みをディスクにコミットします。予期しない停電が発生した場合にNVRAMに格納されているデータを保護するために、各ノードにはNVRAMバッテリーが装備されています(冗長性のために2個)。電源がオフになっていても電源に接続されたままのノードは、NVRAMバッテリーをリフレッシュし続けます。電源がノードから切断されると、NVRAMバッテリーの消耗が始まります。現行世代のノード(X200、S200、X400、NL400)のバッテリー持続時間は約5日間です。旧世代のノードでは、NVRAMバッテリーの持続時間は約3日間でした。
デル・テクノロジーズでは、停電時に長時間NVRAMバッテリーに依存しないように、ノードを適切にシャットダウンすることを推奨します。
注:IsilonがNVRAMを使用してデータの整合性を確保する方法の詳細については、OneFS Web管理ガイドおよびCLI管理ガイドの「ファイル システムの構造」セクションを参照してください。
ノード上のNVRAMバッテリーが完全に消耗した場合、ノードは読み取り専用モードで起動し、NVRAMバッテリーが完全に充電されるまで約30分間読み取り専用モードのままになります。バッテリーが充電されると、ノードは自動的に通常の読み取り/書き込みモードに戻ります。
Warning: 不適切なシャットダウンが原因でデータがNVRAMに保存されたままで、NVRAMバッテリーの寿命よりも長くノードに電源が供給されないと、データ ロスが発生し、リカバリー手順に時間がかかり、場合によってはクラスター全体の再構築が必要になります。
フェーズ5:クラスター内の各ノードの電源をオンにする
これらの手順は、Isilonクラスターを再起動する準備ができたときに実行する必要があります。
- 各ノードの電源をリストアします。
- 各ノードの前面パネルまたは背面にある電源ボタンを押して起動します。
- すべてのノードの電源がオンになったら、
isi status -q
コマンドを実行してクラスターの正常性を確認します。続行する前に、「Health DASR」列ですべてのノードが「OK」であり、読み取り専用(R)モードでないことを確認します。正常なクラスターの場合は、次のような出力が表示されます。
Cluster Name: mycluster
Cluster Health: [ OK ]
Cluster Storage: HDD SSD
Size: 11G (23G Raw) 0 (0 Raw)
VHS Size: 11G
Used: 7.9G (69%) 0 (n/a)
Avail: 3.5G (31%) 0 (n/a)
Health Throughput (bps) HDD Storage SSD Storage
ID |IP Address |DASR | In Out Total| Used / Size |Used / Size
-------------------+-----+-----+-----+-----+-----------------+-----------------
1|10.1.16.141 |-OK- | 0| 150K| 150K| 2.0G/ 2.8G( 69%)| (No SSDs)
2|10.1.16.142 |-OK- | 98K| 13K| 112K| 2.0G/ 2.8G( 69%)| (No SSDs)
3|10.1.16.143 |-OK- | 0| 44K| 44K| 2.0G/ 2.8G( 69%)| (No SSDs)
4|10.1.16.144 |-OK- | 0| 512| 512| 2.0G/ 2.8G( 69%)| (No SSDs)
-------------------+-----+-----+-----+-----+-----------------+-----------------
Cluster Totals: | 98K| 208K| 306K| 7.9G/ 11G( 69%)| (No SSDs)
Health Fields: D = Down, A = Attention, S = Smartfailed, R = Read-Only
- フェーズ2の手順1bで作成した有効なサービスのリストを確認し、次のコマンドを1つまたは複数実行して無効にしたサービスを有効にします。
isi services apache2 enable
isi services isi_hdfs_d enable
isi services isi_iscsi_d enable
isi services ndmpd enable
isi services nfs enable
isi services smb enable
isi services vsftpd enable
- クライアントがクラスターに接続し、通常のワークフローを実行できることを確認します。クラスターは正常に機能している必要があります。
- 収集した完全なログをアップロードします。
# isi_gather_info --esrs
- リモート リアクティブ(カスタマー サポート)チームが、Isilonヘルス チェックを実行またはリクエストします。
ヘルス チェックを実行する手順:
PowerScale:Isilon On-Cluster Analysisツールを実行する方法
- リモート リアクティブ サポート チームを介してヘルス チェックをリクエストします。
これは、サポートされているコード バージョンのクラスターに対して有効な保守契約を結んでいるすべてのお客様が利用できます。
これらの要件を満たしている場合は、Dellオンライン サポート サイトでサービス リクエスト(SR)を開き、「Isilonヘルス チェック」をリクエストします。
*ヘルス チェックは、クラスターの問題を修正したり、クラスターの構成、パフォーマンス、ワークフローを評価したりすることを目的としていません。