Administración de la capacidad de almacenamiento en Azure Stack Hub

Puede utilizar este artículo como operador de nube de Azure Stack Hub para aprender a supervisar y administrar la capacidad de almacenamiento de la implementación de Azure Stack Hub. Puede utilizar la guía con el fin de entender la memoria disponible para las máquinas virtuales del usuario. La infraestructura de almacenamiento de Azure Stack Hub asigna un subconjunto de la capacidad total de almacenamiento de la implementación de Azure Stack Hub como servicios de almacenamiento. Los servicios de almacenamiento contienen los datos del inquilino en recursos compartidos de volúmenes que corresponden a los nodos de la implementación.

Como operador en la nube, dispone de una cantidad limitada de almacenamiento con la que trabajar. La cantidad de almacenamiento se define por la solución que se implementa. La solución la proporciona el proveedor OEM cuando se usa una solución de varios nodos, o el hardware en el que se instala el Kit de desarrollo de Azure Stack (ASDK).

Azure Stack Hub solo admite la expansión de la capacidad de almacenamiento mediante la adición de más nodos de unidades de escalado. Para más información, consulte el artículo sobre la incorporación de nodos de unidades de escalado en Azure Stack Hub. La adición de discos físicos a los nodos no expandirá la capacidad de almacenamiento.

Es importante supervisar el almacenamiento disponible para asegurarse de que se mantienen unas operaciones eficientes. Si la capacidad libre restante de un volumen está limitada, planee administrar el espacio disponible para evitar que los recursos compartidos se queden sin capacidad.

Entre las opciones para administrar la capacidad se incluyen:

  • Reclamación de la capacidad.
  • Migración de objetos de almacenamiento.

Cuando se utiliza un volumen de almacenamiento de objetos al 100 %, el servicio de almacenamiento ya no funciona para ese volumen. Para obtener ayuda para restaurar las operaciones del volumen, póngase en contacto con el soporte técnico de Microsoft.

Información sobre discos, contenedores y volúmenes

El usuario del inquilino crea discos, blobs, tablas y colas en los servicios de almacenamiento de Azure Stack Hub. Estos datos de inquilino se ponen en volúmenes sobre el almacenamiento disponible.

Discos

Las máquinas virtuales almacenan y manipulan los datos en discos virtuales. Cada máquina virtual comienza con un disco del sistema operativo, creado a partir de una imagen de Marketplace o una imagen privada. La máquina virtual puede adjuntar cero o más discos de datos. Hay dos tipos de discos que se ofrecen en Azure Stack:

Los discos administrados simplifican la administración de discos para las máquinas virtuales de Azure IaaS, ya que administran las cuentas de almacenamiento asociadas a los discos de las máquinas virtuales. Solo tiene que especificar el tamaño del disco que necesita y Azure Stack Hub creará y administrará el disco automáticamente. Para más información, consulte Introducción a Managed Disks.

Los discos no administrados son archivos VHD almacenados como blobs en páginas en contenedores de almacenamiento en cuentas de almacenamiento de Azure Stack. Los blobs en páginas que crean los inquilinos se conocen como discos de máquina virtual y se almacenan en los contenedores de la cuenta de almacenamiento. Se recomienda usar discos no administrados solo para las VM que necesiten compatibilidad con herramientas de terceros que solo admitan discos no administrados de Azure.

La guía para los inquilinos consiste en colocar cada disco en un contenedor independiente para mejorar el rendimiento de la máquina virtual.

  • Cada contenedor que contiene un disco, o blob en páginas, de una máquina virtual, se considera un contenedor asociado a la máquina virtual que posee el disco.
  • El contenedor que no contiene ningún disco de una máquina virtual se considera un contenedor libre.

Las opciones para liberar espacio en un contenedor asociado son limitadas. Para más información, consulte Distribución de discos no administrados.

Importante

Se recomienda usar solo discos administrados en máquinas virtuales para facilitar la administración. No es necesario que prepare cuentas de almacenamiento y contenedores antes de utilizar discos administrados. Los discos administrados proporcionan una funcionalidad y un rendimiento equivalentes o mejores en comparación con los discos no administrados. Usar discos no administrados no brinda ninguna ventaja y solo se proporcionan por motivos de compatibilidad con versiones anteriores.

Los discos administrados están optimizados para una mejor selección de ubicación en la infraestructura de almacenamiento y tienen una sobrecarga de administración considerablemente menor. Sin embargo, como los discos administrados son de aprovisionamiento fino y el uso final es imprevisible en el momento de la creación, es posible que se sobreutilice el volumen debido a una selección de ubicación no equilibrada en el disco. Los operadores son responsables de supervisar el uso de la capacidad de almacenamiento y evitar este problema.

Si usa plantillas de ARM para aprovisionar nuevas máquinas virtuales, use el siguiente documento para comprender cómo modificar las plantillas para usar discos administrados: Usar plantillas de discos administrados de máquina virtual.

Los discos de máquina virtual se almacenan como archivos dispersos en la infraestructura de almacenamiento. Los discos tienen el tamaño aprovisionado que el usuario solicite en el momento de crear el disco. Sin embargo, solo las páginas distintas de cero escritas en el disco ocupan espacio en la infraestructura de almacenamiento subyacente.

Ejemplo: disco disperso en el volumen de almacenamiento.

A menudo, los discos se crean mediante la copia desde imágenes de plataforma, imágenes administradas, instantáneas u otros discos. Y las instantáneas se toman de los discos. Para aumentar el uso de la capacidad de almacenamiento y reducir el tiempo de operación de copia, el sistema usa la clonación de bloques en ReFS. La clonación de blobs es una operación de metadatos de bajo costo en lugar de una copia completa byte a byte entre archivos. El archivo de origen y el archivo de destino pueden compartir las mismas extensiones; los datos idénticos no se almacenan físicamente varias veces, lo que aumenta la capacidad de almacenamiento.

Ejemplo: extensión compartida en el volumen de almacenamiento.

El uso de capacidad aumenta solo cuando se escribe en los discos y se reducen los datos idénticos. Cuando se elimina una imagen o un disco, es posible que el espacio no se libere inmediatamente porque podría haber discos o instantáneas creados a partir de este que mantengan los datos idénticos y ocupen espacio. El espacio solo esta disponible si se quitan todas las entidades relacionadas.

Ejemplo: Extensión después de la supresión del disco.

Blobs y contenedores

Los usuarios de inquilinos almacenan grandes cantidades de datos sin estructurar con Azure Blob. Azure Stack Hub admite tres tipos de blobs: blobs en bloques, blobs en anexos y blobs en páginas. Para más información sobre los distintos tipos de blobs, consulte Understanding Block Blobs, Append Blobs, and Page Blobs (Descripción de los blobs en bloques, en anexos y en páginas).

Los usuarios inquilinos crean contenedores que se usan para almacenar los datos de blobs. Aunque el usuario decide en qué contenedor va a colocar los blobs, el servicio de almacenamiento utiliza un algoritmo para determinar en qué volumen colocar el contenedor. El algoritmo normalmente elige el volumen con el mayor espacio disponible.

Una vez que el blob se coloca en un contenedor, ese blob puede aumentar para usar más espacio. A medida que agrega nuevos blobs y aumentan los existentes, el espacio disponible en el volumen que contiene ese contenedor se reduce.

Los contenedores no se limitan a un único volumen. Cuando los datos de blobs combinados en un contenedor aumentan hasta usar un 80 % o más de espacio disponible, el contenedor entra en modo de desbordamiento. Cuando se encuentra en modo de desbordamiento, los nuevos blobs que se crean en dicho contenedor se asignan a otro volumen que tenga espacio suficiente. Con el tiempo, un contenedor en modo de desbordamiento puede tener blobs que se distribuyen entre varios volúmenes.

Cuando se utiliza el 90 % (y después el 95 %) del espacio disponible en un volumen, el sistema genera alertas en el portal de administración de Azure Stack Hub. Los operadores en la nube deben revisar la capacidad de almacenamiento disponible y planear el reequilibrio del contenido. El servicio de almacenamiento deja de funcionar cuando se utiliza un disco al 100 % y no se generan alertas adicionales.

Volúmenes

El servicio de almacenamiento crea particiones del almacenamiento disponible en volúmenes separados que se asignan para almacenar los datos del sistema y del inquilino. Los volúmenes combinan las unidades del bloque de almacenamiento para introducir las ventajas de tolerancia a errores, escalabilidad y rendimiento de Espacios de almacenamiento directo. Para más información acerca de los volúmenes en Azure Stack Hub, consulte Administración de la infraestructura de almacenamiento para Azure Stack Hub.

Los volúmenes de almacenamiento de objetos contienen datos de inquilino. Los datos de inquilino incluyen blobs en páginas, blobs en bloques, blobs en anexos, tablas, colas, bases de datos y almacenes de metadatos relacionados. El número de volúmenes de almacenamiento de objetos es igual al número de nodos en la implementación de Azure Stack Hub:

  • En una implementación de cuatro nodos, hay cuatro volúmenes de almacenamiento de objetos. En una implementación de varios nodos, el número de volúmenes no se reduce si un nodo se quita o no funciona correctamente.
  • Si usa el ASDK, hay un único volumen con un solo recurso compartido.

Los volúmenes de almacenamiento de objetos son para el uso exclusivo de los servicios de almacenamiento. No debe modificar, agregar ni quitar directamente ningún archivo de los volúmenes. Solo los servicios de almacenamiento deberían funcionar en los archivos almacenados en estos volúmenes.

Debido a que los objetos de almacenamiento (por ejemplo, blobs) se encuentran contenidos individualmente en un solo volumen, el tamaño máximo de cada objeto no puede superar el tamaño de un volumen. El tamaño máximo de los nuevos objetos depende de la capacidad que queda en un volumen, como el espacio no utilizado cuando se crea ese nuevo objeto.

Cuando un volumen de almacenamiento de objetos tiene poco espacio libre y las acciones para reclamar el espacio no son correctas o no están disponibles, los operadores de la nube de Azure Stack Hub pueden migrar los objetos de almacenamiento de un volumen a otro.

Para obtener información acerca de cómo trabajan los usuarios del inquilino con el almacenamiento de blobs en Azure Stack Hub, consulte los servicios de Azure Stack Hub Storage.

Supervisión de almacenamiento

Utilice Azure PowerShell o el portal de administración para supervisar los recursos compartidos de manera que pueda comprender cuándo está limitado el espacio libre. Cuando utiliza el portal, recibe alertas sobre los recursos compartidos que se están quedando sin espacio.

Uso de PowerShell

Como operador en la nube, puede supervisar la capacidad de almacenamiento de un recurso compartido mediante el cmdlet Get-AzsStorageShare de PowerShell. El cmdlet devuelve el espacio total, el asignado y el disponible en bytes en cada uno de los recursos compartidos.

Ejemplo: Devolver el espacio libre para los recursos compartidos.

  • Capacidad total: el espacio total en bytes que está disponible en el recurso compartido. Este espacio se utiliza para los datos y metadatos que se mantienen en los servicios de almacenamiento.
  • Capacidad usada: es la cantidad de datos en bytes que utilizan todas las extensiones de los archivos que almacenan los datos del inquilino y los metadatos asociados.

Uso del portal de administración

Como operador en la nube, puede utilizar el portal de administración para ver la capacidad de almacenamiento de todos los recursos compartidos.

  1. Inicie sesión en el portal de administración en https://adminportal.local.azurestack.external.

  2. Seleccione Todos los servicios>Almacenamiento>Recursos compartidos de archivos para abrir la lista de recursos compartidos de archivos donde puede ver la información de uso.

    Ejemplo: captura de pantalla de los recursos compartidos de almacenamiento en el portal del administrador de Azure Stack Hub.

    • Total: el espacio total en bytes que está disponible en el recurso compartido. Este espacio se utiliza para los datos y metadatos que se mantienen en los servicios de almacenamiento.
    • Utilizado: es la cantidad de datos en bytes que utilizan todas las extensiones de los archivos que almacenan los datos del inquilino y los metadatos asociados.

Use Azure PowerShell o el portal de administración para supervisar la capacidad aprovisionada y usada y planear la migración para garantizar el funcionamiento normal y continuo del sistema.

Hay tres herramientas para supervisar la capacidad del volumen:

  • Portal y PowerShell para la capacidad de volumen actual.
  • Alertas de espacio de almacenamiento.
  • Métricas de capacidad de volumen.

En esta sección, presentaremos cómo usar estas herramientas para supervisar la capacidad del sistema.

Uso de PowerShell

Como operador en la nube, puede supervisar la capacidad de almacenamiento de un volumen mediante el cmdlet Get-AzsVolume de PowerShell. El cmdlet devuelve el espacio total y el espacio disponible en gigabytes en cada uno de los volúmenes.

Ejemplo: Devolver el espacio libre para los volúmenes.

  • Capacidad total: el espacio total en GB que está disponible en el recurso compartido. Este espacio se utiliza para los datos y metadatos que se mantienen en los servicios de almacenamiento.
  • Capacidad restante: cantidad de espacio disponible en GB para almacenar los datos de inquilino y los metadatos asociados.

Uso del portal de administración

Como operador de la nube, puede utilizar el portal de administración para ver la capacidad de almacenamiento de todos los volúmenes.

  1. Inicie sesión en el portal de administración de Azure Stack Hub (https://adminportal.local.azurestack.external).

  2. Seleccione Todos los servicios>Almacenamiento>Volúmenes para abrir la lista de volúmenes donde puede ver la información de uso.

    Ejemplo: captura de pantalla de los volúmenes de almacenamiento en el portal del administrador de Azure Stack Hub.

    • Total: Espacio total disponible en el volumen. Este espacio se utiliza para los datos y metadatos que se mantienen en los servicios de almacenamiento.
    • Utilizado: es la cantidad de datos que utilizan todas las extensiones de los archivos que almacenan los datos del inquilino y los metadatos asociados.

Alertas de espacio de almacenamiento

Cuando utiliza el portal de administración, recibe alertas sobre los volúmenes que se están quedando sin espacio.

Importante

Como operador en la nube, debe evitar que los recursos compartidos alcancen el uso total. Cuando se utiliza un recurso compartido al 100 %, el servicio de almacenamiento ya no funciona para dicho recurso. Para recuperar el espacio libre y restaurar las operaciones en un recurso compartido que se utiliza al 100 %, debe ponerse en contacto con el soporte técnico de Microsoft.

  • Advertencia: Cuando la utilización de un recurso compartido de archivos supera el 90 %, recibe una alerta de tipo Advertencia en el portal de administración:

    Ejemplo: Captura de pantalla de una alerta de advertencia en el portal de administración de Azure Stack Hub

  • Crítico: Cuando la utilización de un recurso compartido de archivos supera el 95 %, recibe una alerta de tipo Crítica en el portal de administración:

    Ejemplo: Captura de pantalla de una alerta crítica en el portal de administración de Azure Stack Hub

  • Ver detalles: en el portal de administración, puede abrir los detalles de una alerta para ver las opciones de mitigación:

    Ejemplo: Captura de pantalla de la visualización de los detalles de la alerta en el portal de administración de Azure Stack Hub

Métricas de capacidad de volumen

Las métricas de capacidad de volumen proporcionan información más detallada sobre la capacidad aprovisionada y la capacidad usada para distintos tipos de objetos. Los datos de las métricas se conservan durante 30 días. El servicio de supervisión en segundo plano actualiza los datos de las métricas de capacidad de volumen cada hora.

Es necesario comprender el uso de recursos de un volumen mediante la comprobación proactiva del informe de métricas de capacidad. El operador en la nube puede analizar la distribución del tipo de recurso cuando un volumen se aproxima a su totalidad de capacidad para decidir la acción correspondiente para liberar espacio. El operador también puede evitar que el volumen se sobreutilice cuando el tamaño aprovisionado del disco indica que el volumen se ha aprovisionado demasiado.

Azure Monitor proporciona las siguientes métricas para mostrar el uso de la capacidad del volumen:

  • Capacidad total del volumenmuestra la capacidad total de almacenamiento del volumen en megabytes.
  • Capacidad restante del volumen muestra la capacidad de almacenamiento restante del volumen.
  • Capacidad usada de disco de la máquina virtual del volumen muestra el total de espacios ocupados por los objetos relacionados con el disco de la máquina virtual (como los blobs en páginas, los discos administrados o las instantáneas, las imágenes administradas y las imágenes de plataforma). El archivo VHD subyacente de los discos de la máquina virtual puede compartir la misma extensión (consulte Discos) con imágenes, instantáneas u otros discos. Este número podría ser menor que la suma de la capacidad usada de todos los objetos relacionados con el disco de la máquina virtual individual.
  • Capacidad usada por otros objetos del volumen es el tamaño total usado de objetos que no son discos, como los blobs en bloques, los blobs en anexos, las tablas, las colas y los metadatos de blobs.
  • Capacidad aprovisionada de discos de máquina virtual del volumen es el tamaño total aprovisionado de blobs en páginas y discos administrados o instantáneas. Este tamaño es el valor máximo de la capacidad total de disco de todos los discos administrados y blobs en páginas en el volumen específico.

Ejemplo: Métricas de capacidad de volumen.

Para ver las métricas de capacidad de volumen en Azure Monitor:

  1. Confirme que ha instalado y configurado Azure PowerShell. Si necesita instrucciones para configurar el entorno de PowerShell, consulte esta artículo sobre la instalación de PowerShell para Azure Stack Hub. Para iniciar sesión en Azure Stack Hub, consulte Configuración del entorno de operador e inicio de sesión en Azure Stack Hub.

  2. Descargue herramientas de Azure Stack Hub desde el repositorio de GitHub. Para obtener los pasos detallados, consulte Descarga de herramientas de Azure Stack Hub desde GitHub.

  3. Para generar el JSON del panel de capacidad, ejecute DashboardGenerator en CapacityManagement.

    .\CapacityManagement\DashboardGenerator\Create-AzSStorageDashboard.ps1 -capacityOnly $true -volumeType object
    

    Tendría que haber un archivo JSON que cuyo nombre empiece por DashboardVolumeObjStore en la carpeta DashboardGenerator.

  4. Inicie sesión en el portal de administración de Azure Stack Hub (https://adminportal.local.azurestack.external).

  5. En la página Panel, haga clic en Upload(Cargar) y seleccione el archivo JSON generado en el paso 3.

    Ejemplo: Carga del JSON del panel.

  6. Una vez cargado el JSON, se le dirigirá al nuevo panel de capacidad. Cada volumen tiene un gráfico correspondiente en el panel. El número de gráficos es igual al recuento de volúmenes:

    Ejemplo: Panel de capacidad de volumen.

  7. Al hacer clic en uno de los volúmenes, puede comprobar cinco métricas de capacidad del volumen específico en el gráfico detallado:

    Ejemplo: Métricas de capacidad detalladas.

Patrones de uso de volumen

Al comprobar las métricas de capacidad del volumen, el operador en la nube entiende cuánto se utiliza la capacidad de un volumen y qué tipo de recurso ocupa la mayor parte del espacio. El patrón de uso del espacio se podría agrupar en los siguientes tipos, cuyo operador debe realizar una acción diferente para cada uno de los tipos:

Ejemplo: Patrón de uso de volumen.

Infraaprovisionado, capacidad de reserva: hay suficiente capacidad disponible en el volumen y la capacidad total aprovisionada de todos los discos ubicados en este volumen es menor que la capacidad total disponible. El volumen está disponible para más objetos de almacenamiento, como discos y otros objetos (blobs en bloques o anexos, tablas y colas). No es necesario realizar ninguna acción para operar el volumen.

Sobreaprovisionado, capacidad de reserva: la capacidad restante del volumen es alta, pero la capacidad aprovisionada del disco de máquina virtual ya está por encima de la capacidad total del volumen. Por ahora, este volumen todavía tiene espacio para más objetos de almacenamiento. Sin embargo, podría rellenarse con los datos de los discos de máquina virtual ubicados en este volumen. Debe supervisar estrechamente la tendencia de uso de este volumen. Si cambia al patrón sobreaprovisionado, capacidad baja, es posible que deba tomar medidas para liberar el espacio.

Sobreaprovisionado, capacidad baja: la capacidad restante del volumen es baja y la capacidad aprovisionada del disco de máquina virtual y la capacidad usada del disco de máquina virtual es alta.

La capacidad restante baja indica que el volumen está alcanzando el uso completo. Los operadores deben tomar medidas inmediatas para liberar espacio y evitar que el volumen se use al 100 %, lo que bloquearía el servicio de almacenamiento. La alta capacidad usada en el disco de máquina virtual muestra que la mayor parte del uso del volumen son discos de máquina virtual. Consulte las instrucciones de Migración de disco para mover discos del volumen completo a otros volúmenes disponibles para liberar espacio.

Infraaprovisionado, capacidad baja, blobs en bloques altos: la capacidad restante del volumen es baja y la capacidad aprovisionada del disco de máquina virtual y la capacidad usada del disco de máquina virtual es baja, pero la capacidad usada por otros objetos es alta.

El volumen corre el riesgo de ser totalmente utilizado, por lo que el operador debe tomar medidas inmediatas para liberar espacio. La alta capacidad usada por otros objetos indica que la mayor parte de la capacidad del volumen está ocupada por los blobs en bloques o anexos, tablas o colas. Cuando la capacidad disponible del volumen es inferior al 20 %, se habilitaría el desbordamiento del contenedor y no se colocará ningún nuevo objeto de blob en este volumen casi lleno. Sin embargo, los blobs existentes pueden seguir creciendo. Para evitar que los blobs en crecimiento continuo sobreutilicen la capacidad, puede ponerse en contacto con Soporte técnico de Microsoft para consultar los contenedores que ocupan espacio en el volumen específico y decidir si los inquilinos deben limpiar esos contenedores para liberar espacio.

Sobreaprovisionado, capacidad baja, blobs en bloques altos: la capacidad restante del volumen es baja y la capacidad aprovisionada y usada del disco y la capacidad usada por otros objetos es alta. Este volumen tiene un uso elevado de espacio tanto por parte de discos como de otros objetos de almacenamiento. Debe liberar espacio para evitar que el volumen se llene totalmente. En primer lugar, se recomienda seguir las instrucciones de Migración de disco para mover discos del volumen completo a otros volúmenes disponibles. De forma alternativa, puede ponerse en contacto con Soporte técnico de Microsoft para consultar los contenedores que ocupan espacio en el volumen específico y decidir si los inquilinos deben limpiar esos contenedores para liberar espacio.

Administración del espacio disponible

Cuando sea necesario liberar espacio en un volumen, primero utilice los métodos menos invasivos. Por ejemplo, intente recuperar espacio antes de elegir migrar un disco administrado.

Reclamación de capacidad

Puede reclamar la capacidad que utilizan las cuentas de inquilinos que se han eliminado. Esta capacidad se reclama de manera automática cuando se alcanza el período de retención de datos, o bien puede actuar para reclamarla de forma inmediata.

Para más información, consulte la sección "Reclamación de capacidad" de Administración de cuentas de almacenamiento de Azure Stack Hub.

Migración de un contenedor entre volúmenes

Esta opción solo se aplica a sistemas integrados de Azure Stack Hub.

Debido a los patrones de uso de inquilinos, algunos recursos compartidos de inquilino usan más espacio que otros. El resultado puede ser un recurso compartido que se queda sin espacio antes que otros recursos compartidos que están relativamente sin usar.

Puede tratar de liberar espacio en un recurso compartido sobreutilizado al migrar manualmente algunos contenedores de blobs a otro recurso compartido. Puede migrar varios contenedores más pequeños a un solo recurso compartido con capacidad para contenerlos todos. Puede utilizar la migración para mover contenedores libres. Los contenedores libres son contenedores que no contienen un disco para una VM.

La migración consolida todos los blobs de contenedores en el nuevo recurso compartido.

  • Si un contenedor ha entrado en modo de desbordamiento y ha colocado blobs en otros volúmenes, el nuevo recurso compartido debe tener capacidad suficiente para contener todos los blobs que forman parte del contenedor que migre, incluidos los blobs desbordados.

  • El cmdlet de PowerShell Get-AzsStorageContainer identifica únicamente el espacio en uso en el volumen inicial de un contenedor. El cmdlet no identifica el espacio que utilizan los blobs desbordados a volúmenes adicionales. Por lo tanto, el tamaño completo de un contenedor puede no ser evidente. Es posible que la consolidación de un contenedor en un nuevo recurso compartido pueda enviar ese nuevo recurso compartido a una condición de desbordamiento donde se coloquen datos en recursos compartidos adicionales. Como resultado, es posible que tenga que volver a equilibrar los recursos compartidos.

  • Si carece de permisos para un determinado grupo de recursos y no puede utilizar PowerShell para consultar los volúmenes adicionales de datos de desbordamiento, colabore con el propietario de esos grupos de recursos y contenedores para comprender la cantidad total de datos que se van a migrar antes de realizar la migración.

Importante

La migración de blobs para un contenedor es una operación sin conexión que requiere el uso de PowerShell. Hasta que se completa la migración, todos los blobs del contenedor que está migrando permanecen sin conexión y no se pueden utilizar. También debe evitar la actualización de Azure Stack Hub hasta que se completen todas las migraciones en curso.

Migración de contenedores mediante PowerShell

  1. Confirme que ha instalado y configurado Azure PowerShell. Para más información, consulte Administración de recursos de Azure con Azure PowerShell.

  2. Examine el contenedor para entender qué datos hay sobre el recurso compartido que planea migrar. Para identificar los mejores contenedores candidatos para la migración en un volumen, utilice el cmdlet Get-AzsStorageContainer:

    $farm_name = (Get-AzsStorageFarm)[0].name
    $shares = Get-AzsStorageShare -FarmName $farm_name
    $containers = Get-AzsStorageContainer -ShareName $shares[0].ShareName -FarmName $farm_name
    

    A continuación, examine $containers:

    $containers
    

    Ejemplo: $containers

  3. Identifique los mejores recursos compartidos de destino para albergar el contenedor que va a migrar:

    $destinationshare = ($shares | Sort-Object FreeCapacity -Descending)[0]
    

    A continuación, examine $destinationshares:

    $destinationshares
    

    Ejemplo: Recursos compartidos de $destination

  4. Inicie la migración de un contenedor. La migración es asincrónica. Si comienza la migración de otro contenedor antes de que se complete la primera migración, utilice el identificador de trabajo para realizar un seguimiento del estado de cada una.

    $job_id = Start-AzsStorageContainerMigration -StorageAccountName $containers[0].Accountname -ContainerName $containers[0].Containername -ShareName $containers[0].Sharename -DestinationShareUncPath $destinationshares[0].UncPath -FarmName $farm_name
    

    A continuación, examine $jobId. En el ejemplo siguiente, reemplace d62f8f7a-8b46-4f59-a8aa-5db96db4ebb0 por el identificador de trabajo que quiera examinar:

    $jobId
    d62f8f7a-8b46-4f59-a8aa-5db96db4ebb0
    
  5. Use el identificador de trabajo para comprobar el estado del trabajo de migración. Cuando finalice la migración del contenedor, MigrationStatus se establece como Completado.

    Get-AzsStorageContainerMigrationStatus -JobId $job_id -FarmName $farm_name
    

    Captura de pantalla que muestra el estado de la migración.

  6. Puede cancelar un trabajo de migración en curso. Los trabajos de migración cancelados se procesan de forma asincrónica. Puede realizar el seguimiento de las cancelaciones mediante $jobid:

    Stop-AzsStorageContainerMigration -JobId $job_id -FarmName $farm_name
    

    Ejemplo: Estado de reversión

  7. Puede ejecutar de nuevo el comando desde el paso 6, hasta que el estado de la migración sea Cancelado:

    Captura de pantalla que muestra un ejemplo de un estado de migración cancelado.

Traslado de discos de máquinas virtuales

Esta opción solo se aplica a sistemas integrados de Azure Stack Hub.

El método más extremo para administrar el espacio implica el traslado de discos de máquinas virtuales. Como mover un contenedor asociado (uno que contiene un disco de máquina virtual) es complejo, póngase en contacto con el soporte técnico de Microsoft para realizar esta acción.

Migración de un disco administrado entre volúmenes

Esta opción solo se aplica a sistemas integrados de Azure Stack Hub.

Debido a los patrones de uso de inquilinos, algunos volúmenes de inquilino usan más espacio que otros. El resultado puede ser un volumen que se queda sin espacio antes que otros volúmenes que están relativamente sin usar.

Puede tratar de liberar espacio en un volumen sobreutilizado mediante la migración manual de algunos discos administrados a otro volumen. Puede migrar varios discos administrados a un solo volumen con capacidad para contenerlos todos. Use la migración para mover los discos administrados sin conexión. Los discos administrados sin conexión son discos que no están conectados a una máquina virtual.

Importante

La migración de discos administrados es una operación sin conexión que requiere el uso de PowerShell. Debe desasignar las VM propietarias del disco candidato o desasociar los discos candidatos para la migración desde su VM propietaria antes de iniciar el trabajo de migración (una vez que se haya realizado el trabajo de migración, puede reasignar las VM o volver a conectar los discos). Hasta que se complete la migración, todos los discos administrados que se van a migrar deben permanecer reservados o sin conexión y no se pueden usar; de lo contrario, se anulará el trabajo de migración y todos los discos sin migrar permanecerán en sus volúmenes originales. También debe evitar la actualización de Azure Stack Hub hasta que se completen todas las migraciones en curso.

Para migrar discos administrados con PowerShell

  1. Confirme que ha instalado y configurado Azure PowerShell. Si necesita instrucciones para configurar el entorno de PowerShell, consulte esta artículo sobre la instalación de PowerShell para Azure Stack Hub. Para iniciar sesión en Azure Stack Hub, consulte Configuración del entorno de operador e inicio de sesión en Azure Stack Hub.

  2. Examine los discos administrados para comprender qué discos hay en el volumen que planea migrar. Para identificar los mejores discos candidatos a la migración en un volumen, utilice el cmdlet Get-AzsDisk:

    $ScaleUnit = (Get-AzsScaleUnit)[0]
    $StorageSubSystem = (Get-AzsStorageSubSystem -ScaleUnit $ScaleUnit.Name)[0]
    $Volumes = (Get-AzsVolume -ScaleUnit $ScaleUnit.Name -StorageSubSystem $StorageSubSystem.Name | Where-Object {$_.VolumeLabel -Like "ObjStore_*"})
    $SourceVolume  = ($Volumes | Sort-Object RemainingCapacityGB)[0]
    $VolumeName = $SourceVolume.Name.Split("/")[2]
    $VolumeName = $VolumeName.Substring($VolumeName.IndexOf(".")+1)
    $MigrationSource = "\\SU1FileServer."+$VolumeName+"\SU1_"+$SourceVolume.VolumeLabel
    $Disks = Get-AzsDisk -Status OfflineMigration -SharePath $MigrationSource | Select-Object -First 10
    

    A continuación, examine $disks:

    $Disks
    

    Ejemplo: $Disks

  3. Identifique los mejores volúmenes de destino para albergar los discos que va a migrar:

    $DestinationVolume  = ($Volumes | Sort-Object RemainingCapacityGB -Descending)[0]
    $VolumeName = $DestinationVolume.Name.Split("/")[2]
    $VolumeName = $VolumeName.Substring($VolumeName.IndexOf(".")+1)
    $MigrationTarget = "\\SU1FileServer."+$VolumeName+"\SU1_"+$DestinationVolume.VolumeLabel
    
  4. Inicie la migración de los discos administrados. La migración es asincrónica. Si comienza la migración de otros discos antes de que se complete la primera migración, utilice el nombre del trabajo para realizar un seguimiento del estado de cada uno.

    $jobName = "MigratingDisk"
    Start-AzsDiskMigrationJob -Disks $Disks -TargetShare $MigrationTarget -Name $jobName
    
  5. Use el nombre del trabajo para comprobar el estado del trabajo de migración. Cuando finaliza la migración del disco, MigrationStatus se establece como Completado.

    $job = Get-AzsDiskMigrationJob -Name $jobName
    

    Ejemplo: Estado de migración

    Si va a migrar varios discos administrados en un trabajo de migración, también puede comprobar las subtareas del trabajo.

    $job.Subtask
    

    Ejemplo: Estado de la subtarea de migración

  6. Puede cancelar un trabajo de migración en curso. Los trabajos de migración cancelados se procesan de forma asincrónica. Puede realizar un seguimiento de la cancelación mediante el nombre del trabajo hasta que el estado confirme que el trabajo de migración está cancelado:

    Stop-AzsDiskMigrationJob -Name $jobName
    

    Ejemplo: Estado cancelado

Distribución de discos no administrados

Esta opción solo se aplica a sistemas integrados de Azure Stack Hub.

El método más extremo para administrar el espacio implica el traslado de discos no administrados. Si el inquilino agrega varios discos no administrados a un contenedor, la capacidad total usada del contenedor podría aumentar más allá de la capacidad disponible del volumen que lo contiene antes de que el contenedor entre en modo de desbordamiento. Para evitar que un solo contenedor agote el espacio de un volumen, el inquilino podría distribuir los discos no administrados existentes de un contenedor en distintos contenedores. Como distribuir un contenedor asociado (uno que contiene un disco de máquina virtual) es complejo, póngase en contacto con el soporte técnico de Microsoft para realizar esta acción.

Memoria disponible para máquinas virtuales

Azure Stack Hub se creó como un clúster hiperconvergido de proceso y almacenamiento. La convergencia permite el uso compartido de hardware, lo que se conoce como unidad de escalado. En Azure Stack Hub, una unidad de escalado proporciona la disponibilidad y la escalabilidad de los recursos. Una unidad de escalado consta de un conjunto de servidores de Azure Stack Hub, que se conocen como hosts o nodos. El software de infraestructura se hospeda dentro de un conjunto de VM y comparte los mismos servidores físicos que las máquinas virtuales del inquilino. A continuación, las tecnologías de agrupación en clústeres de Windows Server de la unidad de escalado y las instancias individuales de Hyper-V administran todas las máquinas virtuales de Azure Stack Hub. La unidad de escalado simplifica la adquisición y administración de Azure Stack Hub. La unidad de escalado también permite el movimiento y la escalabilidad de todos los servicios en Azure Stack Hub, inquilino e infraestructura.

Puede revisar un gráfico circular en el portal de administración que muestra la memoria libre y ocupada en Azure Stack Hub de la manera siguiente:

Memoria física en Azure Stack Hub

Los componentes siguientes consumen la memoria de la parte de memoria ocupada del gráfico circular.

  • Reserva o uso de sistema operativo del host Se trata de la memoria que usa el sistema operativo (SO) en el host, las tablas de página de memoria virtual, los procesos que se ejecutan en el sistema operativo del host y la memoria caché de Espacios de almacenamiento directo. Dado que este valor depende de la memoria que utilizan los diferentes procesos de Hyper-V que se ejecutan en el host, puede fluctuar.
  • Servicios de infraestructura: se trata de las máquinas virtuales de infraestructura que forman Azure Stack Hub. Esto implica aproximadamente 31 máquinas virtuales que toman 242 GB + (4 GB x número de nodos) de memoria. La utilización de la memoria del componente de servicios de infraestructura puede cambiar a medida que trabajamos para que los servicios de infraestructura sean más escalables y resistentes.
  • Reserva de resistencia: Azure Stack Hub reserva una parte de la memoria para permitir la disponibilidad del inquilino durante un error de host único, así como durante la revisión y actualización para permitir la correcta migración en vivo de las máquinas virtuales.
  • Máquinas virtuales de inquilino Son las máquinas virtuales creadas por los usuarios de Azure Stack Hub. Además de ejecutar VM, las VM que llegan al tejido también consumen memoria. Esto significa que las VM con el estado Creando o Error, o las VM apagadas desde el invitado, consumirán memoria. Sin embargo, las máquinas virtuales que se han desasignado mediante la opción de detención de desasignación del portal de usuarios de Azure Stack Hub, PowerShell y la CLI de Azure no consumirán memoria de Azure Stack Hub.
  • Proveedores de recursos de complementos: máquinas virtuales implementadas para los proveedores de recursos de complementos como SQL, MySQL y App Service.

Capacidad utilizada en una hoja de una instancia de Azure Stack Hub de cuatro nodos

Memoria disponible para la selección de ubicación de la máquina virtual

Como operador de nube para Azure Stack Hub, no hay una manera automatizada para comprobar la memoria asignada de cada máquina virtual. Puede tener acceso a las máquinas virtuales de usuario y calcular la memoria asignada de manera manual. Sin embargo, la memoria asignada no reflejará el uso real. Este valor puede ser menor que el valor asignado.

Esta fórmula se usa para calcular la memoria disponible para las máquinas virtuales:

Memoria disponible para la selección de ubicación de la máquina virtual = Total Host Memory--Resiliency Reserve--Memory used by running tenant VMs - Azure Stack Hub Infrastructure Overhead

Reserva de resistencia = H + R * ((N-1) * H) + V * (N-2)

Donde:

H = Tamaño de memoria de host único

N = Tamaño de unidad de escalado (número de hosts)

R = Reserva/memoria del sistema operativo utilizada por el SO del host, que es 0,15 en esta fórmula

V = Máquina virtual más grande (en términos de memoria) en la unidad de escalado

Sobrecarga de la infraestructura de Azure Stack Hub = 242 GB + (4 GB x n.° de nodos). Esto tiene en cuenta las aproximadamente 31 máquinas virtuales que se usan para hospedar la infraestructura de Azure Stack Hub.

Memoria usada por el sistema operativo del host = 15 por ciento (0,15) de la memoria de host. El valor de reserva del sistema operativo es un valor estimado y puede variar según la capacidad de memoria física del host y la sobrecarga general del sistema operativo.

El valor V, la máquina virtual más grande de la unidad de escalado, se basa dinámicamente en la máquina virtual de inquilino más grande implementada. Por ejemplo, el valor de la máquina virtual más grande podría ser 7 GB o 112 GB, así como cualquier otro tamaño de memoria de la máquina virtual admitido en la solución de Azure Stack Hub. Aquí elegiremos el tamaño de la máquina virtual más grande para tener memoria reservada suficiente para que no se produzca un error en la migración en vivo de esta máquina virtual grande. Cambiar la mayor VM del tejido de Azure Stack Hub provocará un aumento en la reserva de resistencia, además del aumento de memoria de la propia VM.

Por ejemplo, con una unidad de escalado de 12 nodos:

Detalles del sello Valores
sts (N) 12
Memoria por host (H) 384
Memoria total de la unidad de escalado 4608
Reserva del sistema operativo (R) 15 %
Máquina virtual más grande (V) 112
Reserva de resistencia = H + R * ((N-1) * H) + V * (N-2)
Reserva de resistencia = 2137,6

Por lo tanto, con la información anterior puede calcular que una instancia de Azure Stack con 12 nodos de 384 GB por host (total de 4608 GB) tiene 2137 GB reservados para resistencia si la máquina virtual más grande tiene 112 GB de memoria.

Cuando consulta la hoja Capacidad de la memoria física, como se indica a continuación, el valor Usada incluye la reserva de resistencia. El gráfico corresponde a una instancia de Azure Stack Hub de cuatro nodos.

Uso de capacidad de una instancia de Azure Stack Hub de cuatro nodos

Tenga en cuenta estas consideraciones al planear la capacidad de Azure Stack Hub. Además, puede utilizar Azure Stack Hub Capacity Planner.

Pasos siguientes

Para más información sobre cómo ofrecer máquinas virtuales a los usuarios, consulte Administración de la capacidad de almacenamiento en Azure Stack Hub.