すべての Azure ファイル共有ロックを解除する

すべての Azure ファイル共有ロックを解除する

ファイルを含む Azure ファイル共有 (SMB) があります。ファイルの名前を変更または削除しようとすると、「指定されたリソースは SMB クライアントによって使用されている可能性があります」というエラーが表示されます。この SMB 共有に接続するサーバーは複数あり、どのサーバーまたはどのプロセスがロックされているかわかりません。このファイルのロックを解除するにはどうしたらよいですか。または、現在使用中のすべてのファイル ロックを解除するにはどうしたらよいですか。

答え1

私はこの問題の解決策を見つけましたが、これが「通常の」方法ではないと思います。

  • ストレージ アカウントの [ファイアウォールと仮想ネットワーク] セクションを編集し、[選択したネットワーク] に設定します。
  • IPアドレス/範囲を割り当てたり、既存のものを削除したりしないでください。
  • 30分待つ
  • ストレージアカウントの「ファイアウォールと仮想ネットワーク」セクションを設定し、元の設定または「すべてのネットワーク」に設定します。
  • 外部サーバーからの接続が切断され、ロックが解除されました

答え2

最近、まさにこの問題に遭遇しました。AzStorageFileHandleを閉じるAzure CLI からのコマンド。ロックを解除したら削除できるはずです。

Azure CLIに接続し、ストレージアカウントのコンテキストを設定し、ロックを解除するファイルへのパスを入力します。プロセス全体は次の4つのコマンドになります。

connect-azaccount
Set-AzContext -Subscription "<subscription id>"
$context = New-AzStorageContext -StorageAccountName "<storage account name>" -StorageAccountKey "<storage account key found in the storage account key section>"
Close-AzStorageFileHandle -Context $context -ShareName "<share name>" -Path '<path>' -CloseAll

関連情報