Bagaimana cara menghapus akun penyimpanan Azure yang berisi gumpalan sewaan?

155

Saya sedang bermain dengan mesin virtual Windows Azure yang tahan lama. Pada akhirnya, saya menghapus mesin virtual (berhasil) dan mencoba menghapus akun penyimpanan terkait.

Permintaan untuk menghapus akun penyimpanan gagal.

Di Portal Pratinjau (kelola.windowsazure.com) ketika saya menghapus akun penyimpanan saya mendapatkan kesalahan ini:

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.

Di portal sebelumnya (windows.azure.com) saya mendapatkan kesalahan ini:

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.

Mencoba menghapus gumpalan itu sendiri (VHD 30GB) di Azure Storage Explorer, saya mendapatkan kesalahan ini:

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

Jadi penilaian saya adalah bahwa gumpalan ini disewa (oleh mesin virtual sebelumnya, sekarang dihapus) dan saya tidak bisa menghapusnya kecuali saya bisa mendapatkan ID sewa ini.

Pertanyaannya adalah: bagaimana saya bisa menghapus gumpalan ini dan, akibatnya, akun penyimpanan?

Fernando Correia
sumber

Jawaban:

332

Kunci dari solusinya adalah pesan bahwa wadah memiliki artefak disk aktif dan saran untuk menghapusnya dari repositori.

Prosedur untuk menghapus gambar disk dari repositori blob adalah:

Setelah itu, akun penyimpanan dapat dihapus.

Catatan:

  • Ini berlaku bahkan jika Anda sudah menghapus semua Mesin Virtual Anda dan itu menunjukkan 0; masih akan ada artefak di bawah tab disk.
  • Disk terlepas dari VM yang dihapus secara tidak sinkron, mungkin diperlukan beberapa menit setelah VM dihapus agar bidang ini dihapus.

Lihat juga: Tidak dapat menghapus VHD, "Saat ini ada sewa di gumpalan ..."

Fernando Correia
sumber
Satu catatan penting: tombol hapus tidak berfungsi dengan benar dengan IE9. Saya tidak bisa mengikuti ini dengan IE, tetapi dengan Chrome saya tidak punya masalah.
Paul Keister
@ PaulKeister Buggy di Firefox 17.0.1 juga. Saya harus mencoba beberapa kali.
Justin Skiles
Selain komentar @ DavideIcardi: pada utas ini di forum MSDN dijelaskan bahwa sewa gumpalan dilepaskan secara tidak sinkron dan operasi ini dapat berlangsung paling lama 2 jam.
edymtt
1
Saya harus pergi ke portal lama> Penyimpanan> pilih akun penyimpanan dari daftar> klik tab Wadah di bagian atas> klik vhds> pilih gumpalan untuk dihapus. Sekarang Anda dapat menghapus akun penyimpanan.
chdev77
1
ditto @ chdev77. Saya juga harus pergi ke portal lama agar disk muncul. Wow itu menyebalkan sekali!
harristrader
16

Sayangnya, jawaban Fernando tidak berhasil untuk saya, karena penyimpanannya "yatim", karena saya menghapus VM-nya sebelum menghapus penyimpanan. Saya tidak dapat menemukan cara untuk melakukannya dari portal sehingga saya telah menginstal azure-cli , dan setelah otentikasi menjalankan perintah berikut:

azure storage account delete <my-account>

Ini gagal, dan pesan kesalahan berisi nama pelakunya, misalnya:

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

Lalu saya menghapus gambar yang menyinggung

azure vm disk delete <my-image>

Dan mencoba lagi untuk menghapus penyimpanan, kali ini berhasil.

azure storage account delete <my-account>

suram
sumber
2
Punya masalah yang sama persis. Saya memiliki banyak disk dan gambar yatim yang tidak dapat Anda hapus di portal. Kalau saja saya menemukan jawaban ini empat bulan lalu!
James Wilson
12

Sayangnya ada kasus di mana VM telah dihapus tetapi Disk menunjukkan VM yang melekat pada gumpalan (VHD 30GB) yang menghalangi penghapusan. Juga ada kasus menggunakan Azure Storage Explorer Anda menemukan orfan tetapi gumpalan VHD sewaan yang tidak dapat dihapus dan tidak ada referensi di Portal Pratinjau.

FM
sumber
3
Jawabannya tidak benar dalam SEMUA keadaan. Saat ini saya memiliki tiga (3) "Disk" yang terdaftar di bagian "Mesin Virtual -> Disk", yang tidak dapat dihapus (maka gumpalan tidak dapat dihapus). Saya tidak tahu bagaimana cara menyingkirkan mereka karena satu-satunya cara saat ini yang saya tahu adalah menggunakan portal. kieselmediagroup.blob.core.windows.net/misc/2012-08-21_1019.png
Jason
Seperti yang sudah dicatat oleh @Jason, kadang-kadang Anda tidak dapat menghapus disk juga jika Anda sudah menghapus mesin virtual yang sesuai. Dalam pengalaman saya sepertinya hanya masalah waktu. Cobalah untuk menunggu beberapa menit dan Anda harus dapat menghapusnya.
Davide Icardi
4
Saya sudah menunggu 3 bulan ... haruskah saya terus menunggu masalah waktu?
Sulawesi
Anda dapat menemukan gambar disk VHD di bawah Browse (di portal baru)
Stan Bashtavenko
8

Pergi ke mesin virtual, lalu klik pada cakram. Tandai disk dan pilih hapus disk di bagian bawah. Anda sekarang dapat memilih apakah Anda ingin menyimpan atau menghapus vhd yang sesuai.

Pertama-tama penting untuk menghapus disk melalui mesin virtual untuk tidak menghapus melalui penyimpanan.

Philluxx
sumber
1
Saya pikir banyak dari Anda memiliki RTFM dan bukan pertanyaannya. Ini adalah yatim piatu yang disewa terkunci VHD ... Saya memiliki masalah yang sama, di mana saya TIDAK memiliki apa-apa di Azure tetapi dua VHD dan mereka tidak akan menghapus karena mereka disewa dan dikunci (yang merupakan bug, karena tidak ada yang menyewakannya)
Sulawesi
5

Dalam kasus saya, penyimpanan tidak dapat dihapus karena vmimages.

Gunakan perintah shell daya

dapatkan-azurevmimage | Di mana-Objek -Kategori Properti -di -Nilai "pengguna"

untuk membuat daftar semua gambar Untuk menghapus SEMUA GAMBAR ANDA gunakan skrip berikut:

get-azurevmimage | Where-Object -Property Category -in -Value "user" |   
foreach {
        echo "remove $($_.ImageName)"
        Remove-AzureVMImage –ImageName $($_.ImageName)
        }
Andreas Stolle
sumber
Anda dapat menghapus gambar dari tab Gambar (di dalam bagian mesin virtual) di Classic Azure Management Portal juga.
Wagner Bertolini Junior
4

Seperti yang telah dinyatakan oleh FM; ada skenario di mana ketika menghapus VM disk masih menunjukkan terpasang ke VM meskipun VM telah dihapus.

Bagi saya ini terjadi karena saya telah menetapkan batas pengeluaran. Ketika batas pengeluaran tercapai, layanan Anda dinonaktifkan. Gateway VPN apa pun yang telah Anda buat dan VM akan dihapus. Kemudian untuk melengkapinya dari disk yang terpasang ke VM yang dihapus masih berpikir mereka terpasang :(

Saya telah menemukan blog ini yang menjelaskan masalah ini dan menunjukkan cara menggunakan PowerShell untuk menyelesaikannya.

Semoga ini bisa membantu pengguna lain.

Richard Weston
sumber
1
Bagus! tautan Anda membawa saya ke alat yang ia buat beberapa hari kemudian yang memungkinkan Anda untuk "tidak menyenangkan" vhd Anda: biztalkgurus.com/biztalk_server/biztalk_blogs/b/biztalk/archive/…
Yannick Smits
0

Terkadang kami melalui portal baru untuk menghapus akun penyimpanan biru, tetapi kami tidak dapat menghapusnya dan mendapatkan kesalahan ini: ”Gagal menghapus akun penyimpanan 'jason1disks796'. Kesalahan: Akun penyimpanan tidak dapat dihapus karena artefaknya sedang digunakan.

Kita dapat menggunakan PowerShell untuk mendaftar semua gumpalan VHD dari akun penyimpanan ( modul ARM ):

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

Jika akun penyimpanan Anda ada dalam modul ASM , Anda dapat menggunakan skrip ini untuk menghapus akun penyimpanan:

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

Selain itu, ada skenario lain, tidak ada wadah atau gumpalan di akun penyimpanan ini (akun penyimpanan kosong , kami tidak dapat menemukan gumpalan atau wadah di akun penyimpanan ini melalui PowerShell atau portal), ketika kami menggunakan portal untuk menghapus akun penyimpanan , dan pesan kesalahan ”Gagal menghapus akun penyimpanan 'jason1disks796'. Kesalahan: Akun penyimpanan tidak dapat dihapus karena artefaknya sedang digunakan ”. Dalam skenario ini kita dapat membuat VM baru dan menentukan akun penyimpanan ke Akun Penyimpanan bermasalah, lalu menghapusnya lagi.

Jason Ye
sumber
0

Periksa sebelum menghapus akun penyimpanan Anda; harus ada mesin virtual terkait, Disk dan Gambar untuk setiap akun penyimpanan yang Anda buat. Buka portal Azure

Pilih tab Mesin Virtual di panel kiri. Klik pada Instances Images and Disks

Perhatikan bahwa, mesin Virtual Individual memiliki disk terlampir yang menunjukkan pada area Disk. Sebelum menghapus mesin Virtual, hapus dulu disk terkait dan hapus mesin virtual tersebut pada disk kedua. Kemudian hapus akun penyimpanan yang terakhir. Juga perhatikan Network di panel sebelah kiri yang sama jika ada yang terkait dengan akun yang ingin Anda hapus.

Di portal Azure baru yang diperbarui, banyak halaman konfigurasi yang disebutkan di atas diubah. Anda dapat melihat opsi Gambar dan Disk di panel "Semua sumber daya". Dalam versi yang lebih baru dari portal Azure, Anda dapat dengan mudah mengidentifikasi VM terkait Disk dan akun Storage-nya dengan jelas pada panel vertikal yang berdekatan semua dalam satu halaman dengan gambar ikon yang berbeda.

vembutech
sumber
0

Bagi mereka yang bergantung pada GUI untuk mengelola Azure dan tidak memiliki ide untuk menggunakan PowerShell atau melakukan jawaban lain, Anda sekarang dapat menghapus akun penyimpanan yang macet dengan mencentang "Hapus gambar yang tidak dilampirkan" ketika mencoba menghapus penyimpanan.

Ini akan secara otomatis menghapus penyimpanan tanpa banyak kesulitan.

Vylix
sumber
Saya sudah melakukan ini sekarang, tetapi lupa kata-kata yang tepat dari kotak centang.
Vylix