Wie lösche ich ein Azure-Speicherkonto mit einem geleasten Blob?

155

Ich habe mit dauerhaften virtuellen Windows Azure-Maschinen gespielt. Am Ende habe ich die virtuelle Maschine (erfolgreich) gelöscht und versucht, das zugehörige Speicherkonto zu löschen.

Die Anforderung zum Löschen des Speicherkontos schlägt fehl.

Im Vorschau-Portal (manage.windowsazure.com) wird beim Löschen des Speicherkontos folgende Fehlermeldung angezeigt:

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.

Auf dem vorherigen Portal (windows.azure.com) wird folgende Fehlermeldung angezeigt:

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.

Beim Versuch, den Blob selbst (eine 30-GB-VHD) im Azure Storage Explorer zu löschen, wird folgende Fehlermeldung angezeigt:

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

Meine Einschätzung ist also, dass dieser Blob geleast ist (von der vorherigen, jetzt gelöschten virtuellen Maschine) und ich ihn nur löschen kann, wenn ich diese Lease-ID erhalten kann.

Die Frage ist: Wie kann ich diesen Blob und folglich das Speicherkonto löschen?

Fernando Correia
quelle

Antworten:

332

Der Schlüssel zur Lösung ist die Meldung, dass der Container ein aktives Festplattenartefakt enthält, und der Hinweis, es aus dem Repository zu entfernen.

Das Verfahren zum Entfernen des Disk-Images aus dem Blob-Repository lautet:

  • Wechseln Sie zum Windows Azure-Verwaltungsportal .
  • Klicken Sie auf Virtuelle Maschinen.
  • Klicken Sie auf Festplatten.
  • Klicken Sie auf die Festplatte.
  • Klicken Sie auf Datenträger löschen.

Danach kann das Speicherkonto gelöscht werden.

Anmerkungen:

  • Dies gilt auch dann, wenn Sie bereits alle Ihre virtuellen Maschinen gelöscht haben und 0 angezeigt wird. Unter der Registerkarte "Datenträger" befinden sich weiterhin Artefakte.
  • Datenträger werden asynchron von einer gelöschten VM getrennt. Nach dem Löschen der VM kann es einige Minuten dauern, bis dieses Feld gelöscht ist.

Siehe auch: VHD kann nicht gelöscht werden. "Der Blob ist derzeit gemietet."

Fernando Correia
quelle
Ein wichtiger Hinweis: Die Schaltfläche Löschen funktioniert mit IE9 nicht ordnungsgemäß. Ich konnte dies mit IE nicht verfolgen, aber mit Chrome hatte ich keine Probleme.
Paul Keister
@PaulKeister Es ist auch in Firefox 17.0.1 fehlerhaft. Ich musste es ein paar Mal versuchen.
Justin Skiles
Zusätzlich zu @ DavideIcardis Kommentar: In diesem Thread im MSDN-Forum wird erklärt, dass die Blob-Lease asynchron freigegeben wird und dieser Vorgang höchstens 2 Stunden dauern kann.
Edymtt
1
Ich musste zum alten Portal gehen> Speicher> Speicherkonto aus Liste auswählen> oben auf die Registerkarte Container klicken> auf vhds klicken> den zu löschenden Blob auswählen. Jetzt können Sie das Speicherkonto löschen.
chdev77
1
ditto @ chdev77. Ich musste auch zum alten Portal gehen, damit die Festplatten angezeigt wurden. Wow das war verdammt nervig!
Harristrader
16

Leider hat Fernandos Antwort bei mir nicht funktioniert, da der Speicher "verwaist" war, da ich seine VM vor dem Löschen des Speichers gelöscht habe. Ich konnte keine Möglichkeit finden, dies über das Portal zu tun, daher habe ich azure-cli installiert und nach der Authentifizierung die folgenden Befehle ausgeführt:

azure storage account delete <my-account>

Dies schlägt fehl und die Fehlermeldung enthält den Namen des Täters, z.

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

Dann habe ich das beleidigende Bild gelöscht

azure vm disk delete <my-image>

Und erneut versucht, den Speicher zu löschen, diesmal erfolgreich.

azure storage account delete <my-account>

dimid
quelle
2
Hatte genau das gleiche Problem. Ich hatte eine Reihe verwaister Datenträger und Bilder, die Sie im Portal nicht löschen können. Wenn ich diese Antworten nur vor vier Monaten gefunden hätte!
James Wilson
12

Leider gibt es den Fall, dass die VM gelöscht wurde, aber Disks zeigt die an den Blob angeschlossene VM (eine 30-GB-VHD) an, die das Löschen ausschließt. Bei Verwendung des Azure-Speicher-Explorers finden Sie auch einen orfan, aber geleasten VHD-Blob, der nicht gelöscht werden kann, und es gibt keinen Verweis im Vorschau-Portal.

FM
quelle
3
Seine Antwort ist nicht unter ALLEN Umständen richtig. Ich habe derzeit drei (3) "Festplatten", die im Abschnitt "Virtuelle Maschinen -> Festplatten" aufgeführt sind und nicht gelöscht werden können (daher kann der Blob nicht gelöscht werden). Ich habe keine Ahnung, wie ich sie loswerden kann, da der einzige aktuelle Weg, den ich kenne, die Nutzung des Portals ist. kieselmediagroup.blob.core.windows.net/misc/2012-08-21_1019.png
Jason
Wie bereits von @Jason bereits erwähnt, können Sie die Festplatte auch dann nicht löschen, wenn Sie die entsprechende virtuelle Maschine bereits gelöscht haben. Nach meiner Erfahrung scheint dies nur ein Zeitproblem zu sein. Versuchen Sie einige Minuten zu warten und Sie sollten in der Lage sein, es zu löschen.
Davide Icardi
4
Ich habe 3 Monate gewartet ... sollte ich weiter auf das Timing-Problem warten?
Dawesi
Sie finden das VHD-Image unter Durchsuchen (im neuen Portal)
Stan Bashtavenko
8

Gehen Sie zu virtuellen Maschinen und klicken Sie auf Discs. Markieren Sie die Disc und wählen Sie unten Disc löschen. Sie können jetzt auswählen, ob Sie die entsprechende vhd behalten oder löschen möchten.

Es ist wichtig, zuerst die Disc über virtuelle Maschinen zu löschen, nicht über den Speicher.

Philluxx
quelle
1
Ich denke, viele von Ihnen haben RTFM und nicht die Frage. Dies sind verwaiste geleaste gesperrte VHDs ... Ich habe das gleiche Problem, bei dem ich NICHTS auf Azure habe, aber zwei VHDs, und sie werden nicht gelöscht, da sie geleast und gesperrt sind (was ein Fehler ist, da es nichts gibt, an das sie geleast werden können).
Dawesi
5

In meinem Fall konnte der Speicher aufgrund von vmimages nicht gelöscht werden.

Verwenden Sie den Power Shell-Befehl

get-azurevmimage | Where-Object -Property Category -in -Value "user"

Um alle Bilder aufzulisten Um ALLE IHRE BILDER zu löschen, verwenden Sie das folgende Skript:

get-azurevmimage | Where-Object -Property Category -in -Value "user" |   
foreach {
        echo "remove $($_.ImageName)"
        Remove-AzureVMImage –ImageName $($_.ImageName)
        }
Andreas Stolle
quelle
Sie können Bilder auch auf der Registerkarte "Bilder" (im Abschnitt "Virtuelle Maschinen") im Classic Azure Management Portal löschen.
Wagner Bertolini Junior
4

Wie FM bereits festgestellt hat; Es gibt ein Szenario, in dem beim Löschen einer VM die Festplatte weiterhin als an die VM angeschlossen angezeigt wird, obwohl die VM gelöscht wurde.

Für mich geschah dies, weil ich ein Ausgabenlimit festgelegt hatte. Wenn das Ausgabenlimit erreicht ist, werden Ihre Dienste deaktiviert. Alle von Ihnen erstellten VPN-Gateways und VMs werden gelöscht. Um das Ganze abzurunden, denken die an die gelöschten VMs angeschlossenen Festplatten immer noch, dass sie angeschlossen sind :(

ich habe gefunden diesen Blog gefunden , der das Problem erklärt und zeigt, wie man Powershell zur Lösung verwendet.

Hoffe das hilft anderen Nutzern.

Richard Weston
quelle
1
großartig! Ihr Link brachte mich zu einem Tool, das er einige Tage später erstellt hat und mit dem Sie Ihr vhd "freigeben" können: biztalkgurus.com/biztalk_server/biztalk_blogs/b/biztalk/archive/…
Yannick Smits
0

Manchmal löschen wir über das neue Portal das Azure-Speicherkonto, aber wir können es nicht löschen und erhalten die folgende Fehlermeldung: "Speicherkonto 'jason1disks796' konnte nicht gelöscht werden. Fehler: Das Speicherkonto kann aufgrund der verwendeten Artefakte nicht gelöscht werden.

Mit PowerShell können Sie alle VHD-Blobs des Speicherkontos ( ARM-Modul ) auflisten :

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

Wenn sich Ihr Speicherkonto im ASM-Modul befindet , können Sie mit diesem Skript das Speicherkonto entfernen:

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

Außerdem gibt es ein anderes Szenario: In diesem Speicherkonto befindet sich kein Container oder Blob ( ein leeres Speicherkonto , in dem kein Blob oder Container in diesem Speicherkonto über PowerShell oder Portal gefunden wird), wenn wir das Speicherkonto über das Portal löschen und die Fehlermeldung "Speicherkonto 'jason1disks796' konnte nicht gelöscht werden. Fehler: Das Speicherkonto kann aufgrund der verwendeten Artefakte nicht gelöscht werden. “ In diesem Szenario können wir eine neue VM erstellen, das Speicherkonto für das problematische Speicherkonto angeben und es dann erneut löschen.

Jason Ye
quelle
0

Überprüfen Sie dies, bevor Sie Ihr Speicherkonto löschen. Für jedes von Ihnen erstellte Speicherkonto müssen die zugehörigen virtuellen Maschinen, Datenträger und Images vorhanden sein. Wechseln Sie zum Azure-Portal

Wählen Sie im linken Bereich die Registerkarte Virtuelle Maschinen. Klicken Sie auf Instanzen, Images und Datenträger

Beachten Sie, dass an einzelne virtuelle Maschinen angehängte Datenträger angehängt sind, die im Bereich Datenträger angezeigt werden. Löschen Sie vor dem Löschen einer virtuellen Maschine zuerst die zugehörigen Datenträger und anschließend die Datenträger an zweiter Stelle. Löschen Sie anschließend das Speicherkonto. Achten Sie auch auf Netzwerk im selben linken Bereich, wenn es sich um ein Konto handelt, das mit dem zu löschenden Konto verknüpft ist.

Im neuen aktualisierten Azure-Portal werden viele der oben genannten Konfigurationsseiten geändert. Sie können die Optionen für Bilder und Datenträger im Bereich "Alle Ressourcen" anzeigen. In der neueren Version eines Azure-Portals können Sie VMs die zugehörigen Festplatten und das Speicherkonto auf den angrenzenden vertikalen Fenstern auf einer Seite mit unterschiedlichen Symbolbildern leicht identifizieren.

vembutech
quelle
0

Für diejenigen, die sich bei der Verwaltung von Azure auf die grafische Benutzeroberfläche verlassen und keine Ahnung haben, PowerShell zu verwenden oder andere Antworten zu geben, können Sie jetzt das feststeckende Speicherkonto löschen, indem Sie beim Löschen des Speichers die Option "Nicht angehängte Bilder löschen" aktivieren.

Der Speicher wird automatisch ohne großen Aufwand gelöscht.

Vylix
quelle
Ich habe dies gerade getan, aber den genauen Wortlaut des Kontrollkästchens vergessen.
Vylix