मैं एक Azure स्टोरेज खाता कैसे हटा सकता हूँ जिसमें एक पट्टा ब्लॉब है?


155

मैं विंडोज एज़्योर टिकाऊ आभासी मशीनों के साथ खेल रहा था। अंत में, मैंने वर्चुअल मशीन (सफलतापूर्वक) को हटा दिया और संबद्ध भंडारण खाते को हटाने की कोशिश की।

संग्रहण खाता हटाने का अनुरोध विफल रहता है।

पूर्वावलोकन पोर्टल पर (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 में मुझे स्वयं ही एक बूँद (30GB VHD) हटाने की कोशिश की जा रही है:

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

इसलिए मेरा आकलन है कि इस बूँद को पट्टे पर दिया गया है (पहले, अब हटाए गए वर्चुअल मशीन से) और मैं इसे हटा नहीं सकता जब तक कि मुझे यह पट्टे की आईडी नहीं मिल सकती।

सवाल यह है: मैं इस बूँद को कैसे हटा सकता हूं और, परिणामस्वरूप, भंडारण खाता?

जवाबों:


332

समाधान की कुंजी यह संदेश है कि कंटेनर में एक सक्रिय डिस्क विरूपण साक्ष्य है और इसे भंडार से निकालने की सलाह है।

बूँद रिपॉजिटरी से डिस्क इमेज हटाने की प्रक्रिया है:

  • पर जाएं विंडोज Azure प्रबंधन पोर्टल
  • वर्चुअल मशीन पर क्लिक करें।
  • डिस्क पर क्लिक करें।
  • डिस्क पर क्लिक करें।
  • डिलीट डिस्क पर क्लिक करें।

उसके बाद, स्टोरेज अकाउंट को डिलीट किया जा सकता है।

टिप्पणियाँ:

  • यह तब भी लागू होता है, जब आपने अपनी सभी वर्चुअल मशीनें हटा दी हों और यह 0 दिखाता हो; अभी भी डिस्क टैब के तहत कलाकृतियां होंगी।
  • डिस्क को हटाए गए VM से अतुल्यकालिक रूप से अलग किया जाता है, इस फ़ील्ड को साफ़ करने के लिए VM को हटाने के बाद कुछ मिनट लग सकते हैं।

इसे भी देखें: VHD को हटाने में असमर्थ, "वर्तमान में बूँद पर पट्टा है ..."


एक महत्वपूर्ण नोट: डिलीट बटन IE9 के साथ ठीक से काम नहीं करता है। मैं IE के साथ इसका पालन नहीं कर सका, लेकिन क्रोम के साथ मुझे कोई समस्या नहीं थी।
पॉल कीस्टर

@PaKKeister यह फ़ायरफ़ॉक्स 17.0.1 पर भी छोटी गाड़ी है। मुझे कई बार कोशिश करनी पड़ी।
जस्टिन स्काइल्स

@ DavideIcardi की टिप्पणी के अलावा: MSDN फोरम पर इस थ्रेड पर यह समझाया गया है कि बूँद पट्टे को अतुल्यकालिक रूप से जारी किया जाता है और यह ऑपरेशन अधिकतम 2 घंटे तक चल सकता है।
एडमिट

1
मुझे पुराने पोर्टल पर जाना था> संग्रहण> सूची से संग्रहण खाता चुनें> शीर्ष पर कंटेनर टैब पर क्लिक करें> vhds पर क्लिक करें> हटाने के लिए बूँद चुनें। अब आप स्टोरेज अकाउंट को डिलीट कर सकते हैं।
चदेव 7777

1
ditto @ chdev77। मुझे डिस्क दिखाने के लिए पुराने पोर्टल पर भी जाना पड़ा। वाह कि नरक के रूप में कष्टप्रद था!
१०:१२

16

दुर्भाग्य से, फर्नांडो का जवाब मेरे लिए काम नहीं करता था, क्योंकि भंडारण "अनाथ" था, क्योंकि मैंने स्टोर को हटाने से पहले अपने वीएम को हटा दिया था। मुझे पोर्टल से इसे करने का कोई तरीका नहीं मिला, इसलिए मैंने 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
ठीक यही समस्या थी। मेरे पास अनाथ डिस्क और चित्रों का एक गुच्छा था, जिन्हें आप पोर्टल में नहीं हटा सकते। अगर केवल मुझे चार महीने पहले यह उत्तर मिला था!
जेम्स विल्सन

12

दुर्भाग्य से ऐसा मामला है जहां वीएम को हटा दिया गया था, लेकिन डिस्क वीएम को बूँद से जुड़ी एक (30 जीबी वीएचडी) दिखाती है। इसके अलावा एज़्योर स्टोरेज एक्सप्लोरर का उपयोग करने का मामला है जिसे आप एक ऑर्फन पाते हैं लेकिन वीएचडी बूँद को किराए पर लेते हैं जिसे हटाया नहीं जा सकता है और पूर्वावलोकन पोर्टल पर कोई संदर्भ नहीं है।


3
उनका जवाब सभी परिस्थितियों में सही नहीं है। मेरे पास वर्तमान में तीन (3) "डिस्क" हैं जो "वर्चुअल मशीन -> डिस्क" अनुभाग के तहत सूचीबद्ध हैं, जिन्हें हटाया नहीं जा सकता (इसलिए बूँद को हटाया नहीं जा सकता)। मुझे पता नहीं है कि पोर्टल के उपयोग का एकमात्र तरीका मुझे पता है कि उनसे कैसे छुटकारा पाया जाए। kieselmediagroup.blob.core.windows.net/misc/2012-08-21_1019.png
जेसन

जैसा कि @ जैसन द्वारा पहले ही नोट किया जा चुका है कि आप डिस्क को डिलीट नहीं कर पा रहे हैं यदि आपने पहले से ही संबंधित वर्चुअल मशीन को डिलीट कर दिया है। मेरे अनुभव में यह सिर्फ एक समयातीत समस्या है। कुछ मिनट प्रतीक्षा करने का प्रयास करें और आपको इसे हटाने में सक्षम होना चाहिए।
डेविड इकार्डी

4
मैंने 3 महीने इंतजार किया है ... क्या मुझे समय जारी करने के लिए इंतजार करना चाहिए?
दाविसी

आप ब्राउज़ (नए पोर्टल में) के तहत वीएचडी डिस्क छवि पा सकते हैं
स्टेन बैशतावेंको

8

वर्चुअल मशीन पर जाएं, फिर डिस्क पर क्लिक करें। डिस्क को चिह्नित करें और नीचे डिस्क को चुनें। अब आप चुन सकते हैं कि क्या आप संबंधित vhd को रखना या हटाना चाहते हैं।

वर्चुअल मशीनों के माध्यम से डिस्क को हटाना महत्वपूर्ण है, भंडारण के माध्यम से हटाना नहीं है।


1
मुझे लगता है कि आप में से कई के पास आरटीएफएम है और सवाल नहीं है। ये अनाधिकृत रूप से लॉक किए गए vhd के हैं ... मेरे पास एक ही मुद्दा है, जहां मुझे Azure पर कुछ भी नहीं मिल रहा है, लेकिन दो VHD है और वे हटाए नहीं जाएंगे क्योंकि वे पट्टे पर हैं और बंद हैं (जो एक बग है, क्योंकि उन्हें पट्टे पर देने के लिए कुछ भी नहीं है)
दाविसी


5

मेरे मामले में, vmimages के कारण संग्रहण को हटाया नहीं जा सका।

पॉवर शेल कमांड का उपयोग करें

get-azurevmimage | कहाँ-वस्तु-समृद्धि श्रेणी में -Value "उपयोगकर्ता"

सभी चित्रों को सूचीबद्ध करने के लिए आप सभी स्क्रिप्ट को हटाने के लिए निम्न स्क्रिप्ट का उपयोग करें:

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

आप क्लासिक एज़्योर मैनेजमेंट पोर्टल पर इमेजेस टैब (वर्चुअल मशीन सेक्शन के अंदर) से भी इमेजेज डिलीट कर सकते हैं।
वैगनर बर्तोलिनी जूनियर

4

जैसा कि एफएम पहले ही बता चुका है; ऐसा कोई परिदृश्य होता है जहां VM को हटाते समय डिस्क तब भी VM के साथ जुड़ी होती है, भले ही VM को हटा दिया गया हो।

मेरे लिए यह इसलिए हुआ क्योंकि मेरे पास एक खर्च की सीमा थी। जब खर्च सीमा प्रभावित होती है, तो आपकी सेवाएं अक्षम हो जाती हैं। आपके द्वारा बनाए गए किसी भी वीपीएन गेटवे और वीएम को हटा दिया जाएगा। फिर इसे हटाए गए वीएम से जुड़े डिस्क को बंद करने के लिए अभी भी लगता है कि वे संलग्न हैं :(

मुझे यह ब्लॉग मिला है मुद्दे की व्याख्या करता है और दिखाता है कि हल करने के लिए कैसे शक्तियां का उपयोग किया जाए।

आशा है कि यह अन्य उपयोगकर्ताओं की मदद करता है।


1
महान! आपके लिंक ने मुझे एक ऐसे उपकरण में ला दिया, जिसे उसने कुछ दिनों बाद बनाया, जो आपको अपने vhd: biztalkgurus.com/biztalk_server/biztalk_blogs/b/biztalk/archic/…
Yannick Smits

0

कभी-कभी हम azure संग्रहण खाते को हटाने के लिए नए पोर्टल के माध्यम से करते हैं, लेकिन हम इसे हटा नहीं सकते हैं और यह त्रुटि प्राप्त कर सकते हैं: "संग्रहण खाता 'jason1disks796' को हटाने में विफल। त्रुटि: इसकी कलाकृतियों के उपयोग में होने के कारण संग्रहण खाता हटाया नहीं जा सकता।"

हम स्टोर खाते के सभी VHD ब्लब्स को सूचीबद्ध करने के लिए PowerShell का उपयोग कर सकते हैं ( 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

यदि आपका संग्रहण खाता 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

इसके अलावा, एक और परिदृश्य है, इस भंडारण खाते में कोई कंटेनर या बूँद नहीं है ( एक खाली भंडारण खाता , हम PowerShell या पोर्टल के माध्यम से इस भंडारण खाते में बूँद या कंटेनर नहीं पा सकते हैं), जब हम भंडारण खाते को हटाने के लिए पोर्टल का उपयोग करते हैं , और त्रुटि संदेश "संग्रहण खाता 'jason1disks796' को हटाने में विफल रहा। त्रुटि: इसकी कलाकृतियों के उपयोग में होने के कारण भंडारण खाते को हटाया नहीं जा सकता है ”। इस परिदृश्य में हम एक नया VM बना सकते हैं और संग्रहण खाते को समस्याग्रस्त संग्रहण खाते में निर्दिष्ट कर सकते हैं, फिर उसे हटा सकते हैं।


0

अपने संग्रहण खाते को हटाने से पहले जांचें; आपके द्वारा बनाए गए प्रत्येक संग्रहण खाते के लिए संबंधित वर्चुअल मशीन (ओं), डिस्क और छवियां होनी चाहिए। Azure पोर्टल पर जाएं

बाईं ओर वर्चुअल मशीन टैब चुनें उदाहरण चित्र और डिस्क पर क्लिक करें

ध्यान दें कि, व्यक्तिगत वर्चुअल मशीनों के अपने संलग्न डिस्क होते हैं, जो डिस्क क्षेत्र पर दिखाई देते हैं। फिर भी एक वर्चुअल मशीन को हटाने के लिए, पहले संबंधित डिस्क को हटा दें और वर्चुअल मशीन को डिस्क को हटा दें। फिर अंतिम स्टोरेज खाते को हटा दें। यदि आप जिस खाते को हटाना चाहते हैं, उसके साथ जुड़ा हुआ है, तो उसी बाएं साइड वाले फलक में नेटवर्क की तलाश करें।

नए अपडेट किए गए एज़्योर पोर्टल में, उपर्युक्त कई कॉन्फ़िगर पेज बदले गए हैं। आप "सभी संसाधन" फलक में छवियाँ और डिस्क विकल्प देख सकते हैं। एक एज़्योर पोर्टल के नए संस्करण में, आप विभिन्न आइकन छवियों के साथ सभी एक पृष्ठ में वीएम को उसके संबंधित डिस्क और उसके स्टोरेज अकाउंट को स्पष्ट रूप से उसके निकटवर्ती ऊर्ध्वाधर पैन पर आसानी से पहचान सकते हैं।


0

उन लोगों के लिए जो एज़्योर को प्रबंधित करने के लिए GUI पर निर्भर हैं और जिनके पास PowerShell का उपयोग करने का कोई विचार नहीं है या अन्य उत्तर नहीं हैं, अब आप स्टोरेज को हटाने की कोशिश करते समय "हटाए गए चित्र हटाएं" की जाँच करके अटक गए स्टोर खाते को हटा सकते हैं।

यह बहुत अधिक परेशानी के बिना स्टोरेज को स्वचालित रूप से हटा देगा।


मैंने अभी यह किया है, लेकिन चेकबॉक्स के सटीक शब्दों को भूल गया।
वायलिक्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.