リソース使用中の VMFS データストアのアンマウントおよび削除の問題を解決する方法

vSphere から古い VMFS データストアを削除しようとすると、残留ファイルやホストのログがそのストレージを指し示しているため、しばしば面倒な作業となります。すべてを移行し、すべての仮想マシンを停止し、領域をクリアしたと思っても、vSphere がデータストアがビジー状態のように動作することがあります。信じてください、これはよくあることです。「ファイルシステムがビジーです」または「リソースが使用中です」というエラーメッセージは通常、データストアにまだ紐付けられた隠しファイルまたはログを示しています。このような状況が発生すると、vSphere が停止するため、典型的な「データストアを削除する」だけでは解決しません。そのため、特に標準的な方法で問題が解決しない場合は、いくつかの追加手順を知っておくことで、問題を解決できる場合があります。このガイドでは、データ損失のリスクやホスト構成の混乱を招くことなく、頑固な VMFS データストアを最終的にアンマウントして削除する方法をいくつか詳しく説明します。

vSphere でスタックした VMFS データストアを修復する方法

方法1: 残留ログを確認し、スクラッチの場所を移動する

この方法は、データストアがESXiホストのログまたはシステム設定で参照され続けている場合に有効です。これにより、データストアがビジー状態になる可能性があります。まず、vSphere ClientまたはSSH経由でESXiホストに直接ログインし、 詳細システム設定でScratchConfig. CurrentScratchLocationSyslog.global.logDirを確認してください 。VMFSデータストアを指している場合は、変更することでリソースを解放できます。

  • 管理>設定>詳細システム設定に移動します
  • ScratchConfig. CurrentScratchLocationSyslog.global.logDirを検索します。
  • どちらかが削除したいVMFSデータストアを指している場合は、/var/log/esxiのような新しいディレクトリを設定します。

ログとスクラッチの場所を変更したら、ホストを再起動するか、少なくとも Syslog Server サービスを再起動してください(SSH経由でservices.sh restart syslogまたは を実行)。これにより、残っている参照がクリアされます。その後、vSphereクライアントのストレージetc/init.d/syslog restartで再度アンマウントを試してください。ホストを再起動するだけでキャッシュがクリアされ、データストアが削除可能になる場合があります。

方法2: SSH経由でのパーティションの手動削除

上記の方法で問題が解決しない場合は、もう少し深く掘り下げてみましょう。ただし、パーティションの削除はリスクを伴うため、十分に注意してください。削除するパーティションが正しいこと、そしてそこに重要なデータが含まれていないことを確認してください。

  1. SSH経由でESXiホストに接続します(セキュリティとユーザーの下のサービスでSSHが有効になっていることを確認してください)
  2. データストアの UUID をディスク デバイスに一致させます。
    esxcfg-scsidevs -c | grep naa.6001438005df0dee0000700004be0000

    どのディスクに対応しているかメモしておいてください。以下の方法でも確認できます。

    esxcfg-scsidevs -m | grep naa.6001438005df0dee0000700004be0000
  3. 次のコマンドで、そのデータストアで使用されているスペースの量を確認します。
    df -h | grep MSA2000_LUN1
  4. ディスク上のパーティション テーブルを確認します。
    partedUtil getptbl /vmfs/devices/disks/naa.6001438005df0dee0000700004be0000

    これにより、パーティションが 1 つ (おそらく VMFS) か複数かが表示されます。

  5. VMFS に対応する ID 1のパーティションが見つかった場合は、次のコマンドで削除します。
    partedUtil delete /vmfs/devices/disks/naa.6001438005df0dee0000700004be0000 1

この手順は少し手間がかかりますが、VMFSパーティションをディスクから直接削除します。その後、vSphereのストレージビューを更新し、デバイスの接続を再度試みてください。環境によっては、このプロセスによってデータストアのロックが解除され、エラーが発生することなく安全に削除できる場合があります。

ええ、この操作はパーティションテーブルを壊してしまう可能性があるので、正しいディスクで作業しているかをもう一度確認してください。一歩間違えれば、ディスク全体が消去されてしまう可能性があります。しかし、自信があれば、たいていは頑固な削除の問題も解決できます。

パーティションが削除されたら、データストアを通常通りアンマウントして削除できるはずです。これは一種のハックですが、他の方法がすべて失敗した場合、特に長期間使用されていたり設定が誤っているデータストアがホスト参照を保持している場合など、必要な場合があります。

まとめ

  • スクラッチ ディレクトリとログ ディレクトリの設定がアクティブ データストアを指している場合は、それらを確認して変更します。
  • 参照をクリアするには、ホストまたは syslog サービスを再起動します。
  • 必要に応じて、SSH を使用してディスク デバイス ID を一致させ、パーティション テーブルを確認し、VMFS パーティションを慎重に削除します。
  • 最後に、vSphere でデータストアをアンマウントして削除します。

まとめ

VMFSデータストアのスタックに対処するのは面倒ですが、時にはホストをビジー状態にしている隠しファイルやパーティションをさがすだけで済むこともあります。SSHコマンド、特にパーティションを削除する際は特に注意が必要です。注意しないと、間違ったディスクを消去してしまう可能性があります。この記事が、重要なデータを失うことなく、これらの頑固なストレージを最終的に解決するのに役立つことを願っています。これで何時間ものフラストレーションから解放されることを祈っています!