我有一個包含檔案的 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