SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

VMs で使っていた VHD が消せない場合の対処方法

one comment

Windows Azure の Virtual Machines (VMs) で仮想マシンのインスタンスは存在していないのですが、インスタンスで使用していたディスク (VHD) が削除できないという状態になってしまいました。
# VMs が使用できるようになった時に

仮想マシンは 0 になっており、インスタンスは存在していないのですが、接続先があるディスクとして認識がされています。
image

接続先がある状態ですので、削除はグレーアウトしています。
image

ストレージ BLOB から直接削除しようとしてもエラーとなってしまいます。
image

こんな時にどうすればよいのか思っていたのですが、ずっと調べずに放っておいたところ 「解決策、フォーラムに掲載されていますよ」と教えていただいたので試してみました。

フォーラムの該当の記事は以下のものになります。
Error deleting VHD: There is currently a lease on the blob and no lease ID was specified in the request

このような状態になった場合は、PowerShell から VHD のリースを解放してから削除する必要があるようです。

詳細な手順は上記の記事に書かれておりますので簡略な流れだけ記載すると、

  1. Windows Azure PowerShell を こちら からダウンロードしてインストール
  2. Windows Azure PowerShell から [Get-AzurePublishSettingsFile] を実行して、publishsetting をダウンロード
  3. スクリプト内で Microsoft.WindowsAzure.StorageClient を使用しているので、Winodws Azure SDK をインストール
  4. Windows Azure PowerShell を起動し、 ダウンロードした publishsetting  を使用して記事に掲載されている BreakLease.ps1 を実行
    # .BreakLease.ps1 -uri <リースを開放したい VHD の URL>

Microsoft.WindowsAzure.StorageClient を使用するために BreakLease.ps1 を実行する前には、Add-type を実行してアセンブリに対してパスを通しておく必要があります。

Import-AzurePublishSettingsfile $env:userprofiledownloads*.publishsettings
Add-Type -Path ‘C:Program FilesMicrosoft SDKsWindows Azure.NET SDK2012-10binMicrosoft.WindowsAzure.StorageClient.dll’
.BreakLease.ps1 -uri <VHD の URL>

 

リースの解放をした後であれば VHD のファイルを削除することができるようになります。
image

状態によっては [Please delete the disk first.] [Please delete the OS image first.] の後の break を # でコメント化しないといけないこともありそうですが。

また、Storage から VHD を削除できても、VMs のディスクとしては存在しない仮想マシンに割り当てられているディスクとして認識してしまった状態になり、ポータルや PowerShell から消せない状態になってしまうこともあるようです。
# VMs のプレビューが出た初期のほうの問題みたいですが。

このような場合は、八方ふさがりになってしまうため、フォーラムの以下の記事のように個別対応が必要となるようです。
VHD Deletion Issues (not the lease problem)

対応をしていただくと、どの仮想マシンにも割り当てられていないディスクというように修正をしていただけ、ポータルから削除をすることができるようになります。

Share

Written by Masayuki.Ozawa

2月 26th, 2013 at 8:46 pm

Posted in Windows Azure

Tagged with

One Response to 'VMs で使っていた VHD が消せない場合の対処方法'

Subscribe to comments with RSS or TrackBack to 'VMs で使っていた VHD が消せない場合の対処方法'.

  1. […] VMs で使っていた VHD が消せない場合の対処方法 at SE の雑記2 users […]

Leave a Reply