임대 Blob이 포함 된 Azure 저장소 계정을 어떻게 삭제합니까?


155

저는 Windows Azure 내구성이 뛰어난 가상 머신을 가지고 놀고있었습니다. 결국 가상 머신을 성공적으로 삭제하고 관련 스토리지 계정을 삭제하려고했습니다.

스토리지 계정 삭제 요청이 실패합니다.

저장소 계정을 삭제할 때 미리보기 포털 (manage.windowsazure.com)에서이 오류가 발생합니다.

Failed to delete Storage account 'portalvhdscwtwycpsxxxxx'

Details:

Storage account portalvhdscwtwycpsxxxxx has 1 container(s) which have an active image and/or disk artifacts. Ensure those artifacts are removed from the image repository before deleting this storage account.

이전 포털 (windows.azure.com)에서이 오류가 발생합니다.

Submit Failed

Storage account portalvhdscwtwycpsxxxxx has 1 container(s) which have an active image and/or disk artifacts. Ensure those artifacts are removed from the image repository before deleting this storage account.

Azure Storage Explorer에서 Blob 자체 (30GB VHD)를 삭제하려고하면이 오류가 발생합니다.

There is currently a lease on the blob and no lease ID was specified in the request.

따라서 내 평가에 따르면이 블롭이 임대되어 (이전에는 삭제 된 가상 머신에 의해)이 임대 ID를 얻을 수 없으면 삭제할 수 없습니다.

문제는이 얼룩과 결과적으로 저장소 계정을 어떻게 삭제합니까?입니다.

답변:


332

솔루션의 핵심은 컨테이너에 활성 디스크 아티팩트가 있다는 메시지와이를 저장소에서 제거하라는 조언입니다.

Blob 저장소에서 디스크 이미지를 제거하는 절차는 다음과 같습니다.

  • Windows Azure 관리 포털로 이동하십시오 .
  • 가상 머신을 클릭하십시오.
  • 디스크를 클릭하십시오.
  • 디스크를 클릭하십시오.
  • 디스크 삭제를 클릭하십시오.

그런 다음 저장소 계정을 삭제할 수 있습니다.

노트:

  • 모든 가상 머신을 이미 삭제하고 0을 표시 한 경우에도 적용됩니다. 디스크 탭에는 여전히 아티팩트가 있습니다.
  • 디스크는 삭제 된 VM에서 비동기 적으로 분리되며이 필드를 지우려면 VM을 삭제 한 후 몇 분이 걸릴 수 있습니다.

참조 : VHD를 삭제할 수 없습니다.“현재 블롭에 임대가 있습니다…”


한 가지 중요한 참고 사항 : IE9에서는 삭제 단추가 제대로 작동하지 않습니다. IE에서는이 작업을 수행 할 수 없었지만 Chrome에서는 아무런 문제가 없었습니다.
Paul Keister

@PaulKeister Firefox 17.0.1에서도 버그가 있습니다. 나는 몇 번 시도했다.
Justin Skiles

@DavideIcardi의 의견 외에도 MSDN 포럼 의이 스레드에서 Blob 임대가 비동기 적으로 해제 되며이 작업은 최대 2 시간 지속될 수 있다고 설명합니다.
edymtt

1
이전 포털> 스토리지> 목록에서 스토리지 계정을 선택하고 상단의 컨테이너 탭을 클릭 한 다음 vhds를 클릭하고 삭제할 Blob을 선택해야했습니다. 이제 저장소 계정을 삭제할 수 있습니다.
chdev77

1
@ chdev77을 분리했습니다. 디스크를 표시하려면 이전 포털로 이동해야했습니다. 와우, 그것은 짜증나게했다!
harristrader

16

불행히도 스토리지를 삭제하기 전에 VM을 삭제했기 때문에 스토리지가 "고아"이므로 Fernando의 답변이 효과 가 없었습니다. 포털에서이를 수행하는 방법을 찾을 수 없으므로 azure-cli를 설치 했으며 인증 후 다음 명령을 실행했습니다.

azure storage account delete <my-account>

실패하고 오류 메시지에 범인 이름이 포함됩니다. 예 :

error: Storage account <my-account> has some active image(s) and/or disk(s), e.g. <my-image>. Ensure these image(s) and/or disk(s) are removed before deleting this storage

그런 다음 문제가되는 이미지를 삭제했습니다.

azure vm disk delete <my-image>

이번에는 저장소를 삭제하려고 다시 시도했습니다.

azure storage account delete <my-account>


2
똑같은 문제가있었습니다. 포털에서 삭제할 수없는 고아 디스크와 이미지가 많이 있습니다. 4 개월 전에이 답변을 찾았다면!
James Wilson

12

불행하게도 VM이 삭제되었지만 디스크에 삭제를 제외하고 Blob (30GB VHD)에 연결된 VM이 표시되는 경우가 있습니다. 또한 Azure 저장소 탐색기를 사용하는 경우 삭제할 수없는 Orfan이지만 임대 된 VHD Blob을 찾을 수 있으며 Preview Portal에는 참조가 없습니다.


3
그의 대답은 모든 상황에서 정확하지는 않습니다. 현재 "가상 머신-> 디스크"섹션에 나열된 3 개의 "디스크"가 있으며 삭제할 수 없습니다 (따라서 Blob을 삭제할 수 없음). 내가 아는 유일한 방법은 포털을 사용하는 것입니다. kieselmediagroup.blob.core.windows.net/misc/2012-08-21_1019.png
Jason

@Jason이 이미 언급했듯이 해당 가상 머신을 이미 삭제 한 경우에도 디스크를 삭제할 수 없습니다. 내 경험상 타이밍 문제 일 것 같습니다. 몇 분 정도 기다리면 삭제할 수 있습니다.
Davide Icardi

4
3 개월을 기다렸습니다 ... 타이밍 문제를 계속 기다려야합니까?
Dawesi

VHD 디스크 이미지는 찾아보기 (새 포털에서)
Stan Bashtavenko에서

8

가상 머신으로 이동 한 다음 디스크를 클릭하십시오. 디스크를 표시하고 하단에서 디스크 삭제를 선택하십시오. 해당 vhd를 유지하거나 삭제할지 여부를 선택할 수 있습니다.

스토리지를 통해 삭제하지 말고 가상 머신을 통해 디스크를 삭제하는 것이 중요합니다.


1
많은 사람들이 RTFM을 가지고 있다고 생각합니다. 이들은 고아 임대 고정 vhd입니다 ... 나는 같은 문제가 있습니다 .Azure에 아무런 영향을 미치지 않지만 두 개의 VHD는 임대 및 고정 될 때 삭제되지 않습니다 (임대 할 것이 없기 때문에 버그입니다)
Dawesi


5

제 경우에는 vmimage로 인해 스토리지를 삭제할 수 없습니다.

파워 쉘 명령 사용

get-azurevmimage | Where-Object-속성 범주 -in -Value "user"

삭제하려면 모든 이미지를 나열하는 모든 당신의 이미지는 다음과 같은 스크립트를 사용 :

get-azurevmimage | Where-Object -Property Category -in -Value "user" |   
foreach {
        echo "remove $($_.ImageName)"
        Remove-AzureVMImage –ImageName $($_.ImageName)
        }

클래식 Azure 관리 포털의 이미지 탭 (가상 컴퓨터 섹션 내부)에서도 이미지를 삭제할 수 있습니다.
바그너 베르톨리 니 주니어

4

FM이 이미 언급했듯이; VM을 삭제할 때 VM이 삭제 된 경우에도 디스크가 여전히 VM에 연결된 것으로 표시되는 시나리오가 있습니다.

나에게 이것은 지출 한도를 설정했기 때문에 발생했습니다. 지출 한도에 도달하면 서비스가 비활성화됩니다. 생성 한 모든 VPN 게이트웨이와 VM이 삭제됩니다. 그런 다음 삭제 된 VM에 연결된 디스크에서 제거하려면 여전히 연결된 것으로 생각합니다.

내가 발견 한 이 블로그 문제와 해결하려면 PowerShell을 사용하는 방법을 보여줍니다 설명합니다.

이것이 다른 사용자에게 도움이되기를 바랍니다.


1
큰! 당신의 링크는 그가 며칠 후에 당신이 당신의 vhd를 풀어 놓을
Yannick Smits

0

때때로 새로운 포털을 통해 Azure 스토리지 계정을 삭제했지만 삭제할 수없고 다음 오류가 발생합니다.”스토리지 계정 'jason1disks796'을 (를) 삭제하지 못했습니다. 오류 : 아티팩트가 사용 중이므로 스토리지 계정을 삭제할 수 없습니다. "

PowerShell을 사용하여 스토리지 계정 ( ARM 모듈 ) 의 모든 VHD Blob을 나열 할 수 있습니다 .

PS > Login-AzureRmAccount
PS > $RGName = "jason1"
PS > $SAName = "jason1disks796"
PS > $ConName = "vhds"
PS > $TempObj = New-Object -TypeName PSCustomObject
PS > $TempObj |Add-Member -Name BlobName -MemberType NoteProperty -Value $null
PS > $TempObj |Add-Member -Name LeaseState -MemberType NoteProperty -Value $null
PS > $Keylist = Get-AzureRmStorageAccountKey -ResourceGroupName $RGName -StorageAccountName $SAName
PS > $Key = $Keylist[0].Value
PS > $Ctx = New-AzureStorageContext -StorageAccountName $SAName -StorageAccountKey $Key
PS > Get-AzureStorageContainer -Context $ctx
CloudBlobContainer : Microsoft.WindowsAzure.Storage.Blob.CloudBlobContainer
Permission         : Microsoft.WindowsAzure.Storage.Blob.BlobContainerPermissions
PublicAccess       : Off
LastModified       : 1/19/2017 1:27:21 AM +00:00
ContinuationToken  :
Context            : Microsoft.WindowsAzure.Commands.Common.Storage.AzureStorageContext
Name               : vhds
PS > $List = Get-AzureStorageBlob -Blob *.vhd -Container $ConName -Context $Ctx
PS > $List | ForEach-Object { $TempObj.BlobName = $_.Name; $TempObj.LeaseState = $_.ICloudBlob.Properties.LeaseState; $TempObj }

BlobName              LeaseState
--------              ----------
SQL20170119092405.vhd     Leased

PS > Get-AzureStorageBlob -Blob * -Container $con -Context $ctx | Remove-AzureStorageBlob
PS > Remove-AzureRmStorageAccount -ResourceGroupName $RGname -Name $SAName

스토리지 계정이 ASM 모듈 에있는 경우이 스크립트를 사용하여 스토리지 계정을 제거 할 수 있습니다.

Add-AzureAccount
$SAName = "jason1161"
$ConName = "vhds"
$TempObj = New-Object -TypeName PSCustomObject
$TempObj |Add-Member -Name BlobName -MemberType NoteProperty -Value $null
$TempObj |Add-Member -Name LeaseState -MemberType NoteProperty -Value $null
$Keylist = Get-AzureStorageKey -StorageAccountName $SAName
$Key = $Keylist.primary
$Ctx = New-AzureStorageContext -StorageAccountName $SAName -StorageAccountKey $Key
$List = Get-AzureStorageBlob -Blob *.vhd -Container $ConName -Context $Ctx
$List | ForEach-Object { $TempObj.BlobName = $_.Name; $TempObj.LeaseState = $_.ICloudBlob.Properties.LeaseState; $TempObj }
PS > Get-AzureStorageBlob -Blob * -Container $con -Context $ctx | Remove-AzureStorageBlob
PS > Remove-AzureStorageAccount -Name $SAName

또한 포털을 사용하여 스토리지 계정을 삭제할 때이 스토리지 계정에 컨테이너 또는 Blob이없는 다른 시나리오가 있습니다 ( 빈 스토리지 계정 ,이 스토리지 계정에서 Blob 또는 컨테이너를 찾을 수 없음). 스토리지 계정 'jason1disks796'을 (를) 삭제하지 못했습니다. 오류 : 아티팩트가 사용 중이므로 스토리지 계정을 삭제할 수 없습니다.” 이 시나리오에서는 새 VM을 생성하고 문제가있는 스토리지 계정에 스토리지 계정을 지정한 다음 다시 삭제할 수 있습니다.


0

저장소 계정을 삭제하기 전에 확인하십시오. 생성 한 각 스토리지 계정마다 연결된 가상 머신, 디스크 및 이미지가 있어야합니다. Azure Portal로 이동

왼쪽 창에서 가상 머신 탭을 선택하십시오. 인스턴스 이미지 및 디스크를 클릭하십시오.

개별 가상 머신에는 디스크 영역에 표시되는 연결된 디스크가 있습니다. 가상 머신을 삭제하기 전에 관련 디스크를 먼저 삭제하고 가상 머신에서 디스크를 두 번째로 삭제 한 다음 스토리지 계정을 마지막으로 삭제하십시오. 또한 삭제하려는 계정과 연결된 경우 동일한 왼쪽 창에서 네트워크를 찾으십시오.

새로 업데이트 된 Azure Portal에서 위에서 설명한 구성 페이지 중 많은 부분이 변경되었습니다. "모든 리소스"창에서 이미지 및 디스크 옵션을 볼 수 있습니다. 최신 버전의 Azure Portal에서는 서로 다른 아이콘 이미지를 사용하여 한 페이지에서 인접한 세로 창에서 VM과 연결된 디스크 및 저장소 계정을 명확하게 쉽게 식별 할 수 있습니다.


0

GUI를 사용하여 Azure를 관리하고 PowerShell을 사용하거나 다른 답변을 할 생각이없는 사용자는 이제 저장소를 삭제하려고 할 때 "첨부되지 않은 이미지 삭제"를 선택하여 고정 된 저장소 계정을 삭제할 수 있습니다.

번거 로움없이 스토리지를 자동으로 삭제합니다.


나는 이것을 지금 막했지만 확인란의 정확한 문구를 잊어 버렸습니다.
Vylix
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.