almacenamiento - azure storage portal
¿Cómo elimino una cuenta de almacenamiento de Azure que contiene un blob arrendado? (9)
Algunas veces, a través del nuevo portal, eliminamos la cuenta de almacenamiento azul, pero no podemos eliminarla y obtener este error: "Error al eliminar la cuenta de almacenamiento ''jason1disks796''. Error: la cuenta de almacenamiento no se puede eliminar debido a que sus artefactos están en uso. "
Podemos usar PowerShell para enumerar todos los blobs de VHD de la cuenta de almacenamiento ( módulo 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
Si su cuenta de almacenamiento está en el módulo ASM , puede usar esta secuencia de comandos para eliminar la cuenta de almacenamiento:
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
Además, hay otro escenario, no hay contenedor o blob en esta cuenta de almacenamiento ( una cuenta de almacenamiento vacía , no podemos encontrar blob o contenedor en esta cuenta de almacenamiento a través de PowerShell o portal), cuando usamos portal para eliminar la cuenta de almacenamiento y el mensaje de error "Error al eliminar la cuenta de almacenamiento ''jason1disks796''. Error: la cuenta de almacenamiento no se puede eliminar debido a que sus artefactos están en uso ". En este escenario, podemos crear una nueva máquina virtual y especificar la cuenta de almacenamiento a la cuenta de almacenamiento problemática, luego eliminarla nuevamente.
Estaba jugando con máquinas virtuales duraderas de Windows Azure. Al final, eliminé la máquina virtual (con éxito) e intenté eliminar la cuenta de almacenamiento asociada.
La solicitud para eliminar la cuenta de almacenamiento falla.
En el Portal de vista previa (manage.windowsazure.com) cuando elimino la cuenta de almacenamiento obtengo este error:
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.
En el portal anterior (windows.azure.com) aparece este error:
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.
Al intentar eliminar el blob (un VHD de 30 GB) en Azure Storage Explorer, aparece este error:
There is currently a lease on the blob and no lease ID was specified in the request.
Así que mi evaluación es que este blob está alquilado (por la máquina virtual anterior, ahora eliminada) y no puedo eliminarlo a menos que pueda obtener este ID de arrendamiento.
La pregunta es: ¿cómo puedo eliminar este blob y, en consecuencia, la cuenta de almacenamiento?
Como FM ya ha declarado; hay un escenario en el que al eliminar una máquina virtual, el disco aún se muestra como adjunto a la máquina virtual aunque la máquina virtual se haya eliminado.
Para mí, esto sucedió porque tenía un límite de gasto establecido. Cuando se alcanza el límite de gasto, sus servicios están deshabilitados. Se eliminarán todas las pasarelas VPN que haya creado y las máquinas virtuales. Luego, para colmo, los discos conectados a las máquinas virtuales eliminadas aún piensan que están conectados :(
Encontré este blog que explica el problema y muestra cómo usar powershell para resolverlo.
Espero que esto ayude a otros usuarios.
Desafortunadamente, la respuesta de Fernando no funcionó para mí, ya que el almacenamiento fue "huérfano", ya que eliminé su máquina virtual antes de eliminar el almacenamiento. No pude encontrar una forma de hacerlo desde el portal, así que instalé azure-cli y, después de la autenticación, ejecuté los siguientes comandos:
azure storage account delete <my-account>
Esto falla y el mensaje de error contiene el nombre del culpable, por ejemplo:
error: Storage account <my-account> has some active image(s) and/or disk(s), eg <my-image>. Ensure these image(s) and/or disk(s) are removed before deleting this storage
Luego eliminé la imagen ofensiva
azure vm disk delete <my-image>
Y intenté de nuevo eliminar el almacenamiento, esta vez con éxito.
azure storage account delete <my-account>
En mi caso, el almacenamiento no se pudo eliminar debido a vmimages.
Utilice el comando power shell
get-azurevmimage | Where-Object -Property Category -in -Value "user"
para listar todas las imágenes Para eliminar TODAS LAS IMÁGENES use la siguiente secuencia de comandos:
get-azurevmimage | Where-Object -Property Category -in -Value "user" |
foreach {
echo "remove $($_.ImageName)"
Remove-AzureVMImage –ImageName $($_.ImageName)
}
La clave de la solución es el mensaje de que el contenedor tiene un artefacto de disco activo y el consejo de eliminarlo del repositorio.
El procedimiento para eliminar la imagen del disco del repositorio blob es:
- Vaya al Portal de administración de Windows Azure .
- Haga clic en Máquinas virtuales.
- Haga clic en Discos.
- Haga clic en el disco.
- Haga clic en Eliminar disco.
Después de eso, la cuenta de almacenamiento puede ser eliminada.
Notas:
- Esto se aplica incluso si ya ha eliminado todas sus máquinas virtuales y muestra 0; todavía habrá artefactos debajo de la pestaña de discos.
- Los discos se separan de una máquina virtual eliminada de forma asíncrona, pueden transcurrir algunos minutos después de que se elimine la máquina virtual para que se borre este campo.
Ver también: no se puede eliminar VHD, "Actualmente hay un contrato de arrendamiento en el blob ..."
Lamentablemente, existe el caso en el que se eliminó la máquina virtual pero Disks muestra la máquina virtual conectada al blob (un VHD de 30 GB) que impide la eliminación. También está el caso del uso de Azure Storage Explorer. Se encuentra un blob de VHD orfan pero alquilado que no se puede eliminar y no hay referencia en el Portal de vista previa.
Puede usar Iaas Management Studio : romper el alquiler, eliminar el blob y luego eliminar la imagen huérfana.
Vaya a máquinas virtuales, luego haga clic en discos. Marque el disco y elija eliminar el disco en la parte inferior. Ahora puede elegir si desea mantener o eliminar el vhd correspondiente.
Es importante primero eliminar el disco a través de máquinas virtuales para no eliminar mediante almacenamiento.
Verifique antes de eliminar su cuenta de almacenamiento; debe haber máquinas virtuales asociadas, discos e imágenes para cada cuenta de almacenamiento que haya creado. Ir al portal Azure
Seleccione la pestaña Máquinas virtuales en el panel izquierdo Haga clic en Instancias, imágenes y discos
Tenga en cuenta que las máquinas virtuales individuales tienen sus discos adjuntos que se muestran en el área Discos. Antes de eliminar una máquina virtual, primero elimine los discos asociados y elimine la máquina virtual que tiene el disco en segundo lugar. Luego, elimine la última cuenta de almacenamiento. También busque Red en el mismo panel lateral izquierdo si está asociado con la cuenta que desea eliminar.
En el nuevo portal de Azure actualizado, se modifican muchas de las páginas de configuración mencionadas anteriormente. Puede ver las opciones de Imágenes y discos en el panel "Todos los recursos". En la versión más nueva de un portal de Azure, puede identificar fácilmente las máquinas virtuales, sus discos asociados y su cuenta de almacenamiento claramente en sus paneles verticales adyacentes, todo en una página con diferentes imágenes de iconos.