Configuración del almacenamiento para SQL Server en máquinas virtuales de Azure
Se aplica a: SQL Server en máquina virtual de Azure
En este artículo se enseña cómo configurar el almacenamiento para la instancia de SQL Server en máquinas virtuales (VM) de Azure implementadas mediante Azure Marketplace con SSD Premium.
Las VM con SQL Server implementadas mediante imágenes de marketplace siguen automáticamente los procedimientos recomendados de almacenamiento predeterminados, los cuales se pueden modificar durante la implementación. Algunos de estos valores de configuración se pueden cambiar después de la implementación.
Nota:
Este artículo solo se aplica a SQL Server en máquinas virtuales de Azure mediante Premium Storage, no al almacenamiento SSD Premium v2.
Requisitos previos
Para usar la configuración del almacenamiento automática, la máquina virtual requiere las siguientes características:
- Aprovisionada con una imagen de la galería de SQL Server.
- Usa el modelo de implementación de Resource Manager.
- Usa discos SSD Premium.
Nuevas máquinas virtuales
En las secciones siguientes se describe cómo configurar el almacenamiento para nuevas máquinas virtuales de SQL Server.
Portal de Azure
Si aprovisiona una máquina virtual de Azure mediante una imagen de la galería de SQL Server, seleccione Cambiar configuración en Almacenamiento, en la pestaña Configuración de SQL Server, para abrir la página Configurar almacenamiento. Puede dejar los valores predeterminados o modificar el tipo de configuración de disco, con el fin de disfrutar la que mejor se adapte a sus necesidades en función de la carga de trabajo.
Nota:
Si seleccionó un tamaño de máquina virtual compatible, puede usar SSD Premium v2, lo que le proporciona un control pormenorizado sobre el tamaño del disco, las IOPS y el rendimiento.
Elija la ubicación de la unidad para los archivos de datos y de registro. Para ello, especifique el tipo y el número de discos. Use los valores de IOPS a fin de determinar la mejor configuración de almacenamiento para satisfacer sus necesidades empresariales. Al seleccionar Premium Storage, el almacenamiento en caché se establece en ReadOnly (Solo lectura) para la unidad de datos y en None (Ninguno) para la unidad de registro, según los procedimientos recomendados de rendimiento de SQL Server en VM de Azure.
La configuración del disco es totalmente personalizable, es decir, se pueden configurar la topología de almacenamiento, el tipo de disco y las IOPS según lo que necesite para la carga de trabajo de SQL Server. También tiene la capacidad de usar Ultradisk como opción en el Tipo de disco si la máquina virtual con SQL Server se encuentra en una de las regiones admitidas y ha habilitado Ultra Disks para su suscripción.
Especifique la configuración de la base de datos tempdb
en Almacenamiento de TempDb, como la ubicación de los archivos de base de datos, así como el número de archivos, el tamaño inicial y el tamaño de crecimiento automático en MB.
- Actualmente, durante la implementación, el número máximo de archivos
tempdb
es de 8, pero se pueden agregar más archivos después de implementar la máquina virtual con SQL Server. - Si configura la instancia
tempdb
de SQL Server en D: volumen de SSD local como se recomienda, la extensión Agente de IaaS de SQL administra las carpetas y los permisos necesarios al volver a aprovisionar. Esto no requiere que haya creado la máquina virtual SQL con una imagen de Azure Marketplace.
Además, tiene la capacidad de establecer el almacenamiento en caché de los discos. Las máquinas virtuales de Azure tienen una tecnología de almacenamiento en caché multinivel llamada Blob Cache (Caché de blob) cuando se usa con discos Prémium. Blob Cache usa una combinación de la RAM de la máquina virtual y el disco SSD local para almacenar en caché.
El almacenamiento en caché de disco para SSD Premium puede ser ReadOnly (Solo lectura), *ReadWrite (Lectura y escritura), o None (Ninguno).
El almacenamiento en caché de solo lectura ReadOnly es muy beneficioso para los archivos de datos de SQL Server almacenados en Premium Storage. El almacenamiento en caché ReadOnly ofrece una latencia de lectura baja y una IOPS de lectura y un rendimiento altos, ya que las lecturas se realizan desde la caché, que está dentro de la memoria de la VM y del disco SSD local. Estas lecturas son mucho más rápidas que las que se realizan del disco de datos, que proceden de Azure Blob Storage. Premium Storage no cuenta las lecturas que se atienden desde la caché hacia las IOPS y el rendimiento del disco. Por lo tanto, la aplicación es capaz de lograr una IOPS y un rendimiento totales mayores.
La configuración de la caché None (Ninguno) se debe usar para los discos que hospedan el archivo de registro de SQL Server, ya que el archivo de registro se escribe secuencialmente y no se beneficia del almacenamiento en caché ReadOnly (solo lectura).
El almacenamiento en caché de lectura y escritura ReadWrite no debe usarse para hospedar archivos de SQL Server, ya que SQL Server no admite la coherencia de los datos con la memoria caché de lectura y escritura ReadWrite. Escribe la capacidad para residuos de la memoria caché de blobs de solo lectura ReadOnly y las latencias aumentan ligeramente si las escrituras atraviesan las capas de la caché de blobs de solo lectura ReadOnly.
Sugerencia
Asegúrese de que la configuración de almacenamiento coincide con las limitaciones impuestas por el tamaño de máquina virtual seleccionado. Si se eligen parámetros de almacenamiento que superen el límite de rendimiento del tamaño de la máquina virtual, se emitirá una advertencia:
The desired performance might not be reached due to the maximum virtual machine disk performance cap
. Reduzca el límite de IOPS, para lo que debe cambiar el tipo de disco, o aumente el límite de rendimiento, para lo que debe aumentar el tamaño de la máquina virtual. Esto no detendrá el aprovisionamiento.
En función de lo que elija, Azure realiza las siguientes tareas de configuración del almacenamiento después de crear la máquina virtual:
- Crea y asocia discos SSD Premium a la máquina virtual.
- Configura los discos de datos para que sean accesibles para SQL Server.
- Configura los discos de datos en un grupo de almacenamiento en función de los requisitos de tamaño y rendimiento (IOPS y rendimiento) especificados.
- Asocia el grupo de almacenamiento a una unidad nueva en la máquina virtual.
Para ver información más detallada acerca de cómo crear una máquina virtual con SQL Server en Azure Portal, consulte el tutorial de aprovisionamiento.
Plantillas de Resource Manager
Si utiliza las siguientes plantillas de Resource Manager, se asocian dos discos de datos premium de forma predeterminada, sin configuración del grupo de almacenamiento. Sin embargo, puede personalizar estas plantillas para cambiar el número de discos de datos premium que se asocian a la máquina virtual.
- Creación de máquinas virtuales con Automated Backup
- Creación de máquinas virtuales con la aplicación de revisión automatizada
- Creación de máquinas virtuales con la integración de AKV
Plantilla de inicio rápido
Puede usar la siguiente plantilla de inicio rápido para implementar una máquina virtual con SQL Server mediante la optimización de almacenamiento.
- Creación de una máquina virtual con optimización de almacenamiento
- Creación de una máquina virtual mediante Ultradisk
Nota:
Es posible que algunos tamaños de máquina virtual no tengan almacenamiento temporal o local. Si implementa una instancia de SQL Server en una máquina virtual de Azure sin almacenamiento temporal, los archivos de registro y datos de tempdb
se colocan en la carpeta de datos.
Máquinas virtuales existentes
Nota:
El almacenamiento solo se puede configurar para las máquinas virtuales con SQL Server que se implementaron desde una imagen de SQL Server en Azure Marketplace y actualmente no se admiten para discos SSD Premium v2. Para modificar las configuraciones de disco en una máquina virtual de Azure con SQL Server autoinstalado, use el panel Discos.
Modificación de unidades existentes
Para las máquinas virtuales de SQL Server existentes que se han implementado a través de Azure Marketplace, puede modificar algunos ajustes de almacenamiento en Azure Portal a través del recurso Máquinas virtuales SQL, o en el panel Discos.
Para modificar la configuración de almacenamiento, abra el recurso máquinas virtuales SQL y seleccione Configuración de almacenamiento en Configuración, donde podrá:
- Agregar discos adicionales
- Configurar o ampliar los discos existentes
Al seleccionar Configurar, se abre la página de extensión de la unidad de datos, lo que permite cambiar el tipo de disco, así como agregar discos adicionales. También puede agregar discos a través del panel Discos.
Si ya ha alcanzado el máximo de discos admitidos para un tamaño de máquina virtual determinado, es posible que tenga que cambiar el tamaño de la máquina virtual.
Modificación de tempdb
También es posible modificar la configuración de tempdb
mediante la página Configuración de almacenamiento, como el número de archivos tempdb
, así como el tamaño inicial y la proporción de crecimiento automático. Seleccione Configurar junto a tempdb para abrir la página Configuración de tempdb.
Elija Sí junto a Configurar archivos de datos tempdb para modificar la configuración y, después, elija Sí junto a Administrar carpetas de base de datos tempdb al reiniciar para permitir que Azure administre la configuración, carpeta y permisos de tempdb
la próxima vez que se inicie el servicio de SQL Server. Esto no requiere que haya creado la máquina virtual SQL con una imagen de Azure Marketplace.
Reinicie su servicio SQL Server para aplicar sus cambios.
Aumento del tamaño del disco temporal
Para aumentar el tamaño del disco temporal, cambie el tamaño de la máquina virtual a una SKU que admita un tamaño de disco superior para el almacenamiento temporal.
Cambios automatizados
Esta sección proporciona una referencia para los cambios en la configuración del almacenamiento que Azure realiza automáticamente durante el aprovisionamiento de la máquina virtual de SQL Server o la configuración en Azure Portal.
- Azure configura un bloque de almacenamiento desde el almacenamiento seleccionado de la máquina virtual. En la sección siguiente de este artículo se proporcionan los detalles de la configuración del bloque de almacenamiento.
- La configuración automática del almacenamiento siempre utiliza discos de datos P30 de discos SSD Premium. Por lo tanto, hay una asignación 1:1 entre el número de terabytes seleccionado y el número de discos de datos asociados a la máquina virtual.
Para más información, consulte la página Storage pricing (Precios de almacenamiento) en la pestaña Almacenamiento en disco .
Creación del grupo de almacenamiento
Azure usa la siguiente configuración para crear el grupo de almacenamiento en máquinas virtuales de SQL Server.
Configuración | Value |
---|---|
Stripe size (Tamaño de las franjas) | 64 KB |
Tamaños de disco | 1 TB cada uno |
Cache | Lectura |
Tamaño de la asignación | Tamaño de la unidad de asignación NTFS = 64 KB |
Recuperación | Recuperación simple (sin resistencia) |
Número de columnas | Número de discos de datos hasta 81 |
1 Después de crear el grupo de almacenamiento, no puede modificar el número de columnas en el grupo de almacenamiento.
Nota:
Use Optimize-StoragePoo y Optimize-Volume para reequilibrar la asignación de espacio en un grupo y optimizar el rendimiento de los tipos de carga de trabajo que tienen patrones de E/S en cola totalmente aleatorios.
Habilitar el almacenamiento en caché
Para SSD Premium, puede cambiar la directiva de almacenamiento en caché en el nivel de disco. Para ello, puede usar Azure Portal, PowerShell o la CLI de Azure.
Para cambiar una directiva de almacenamiento en caché en Azure Portal, siga estos pasos:
Detenga el servicio SQL Server.
Inicie sesión en Azure Portal.
Vaya a la máquina virtual y seleccione Discos en Configuración.
Seleccione la directiva de almacenamiento en caché adecuada para el disco en el menú desplegable: Read Only (Solo lectura) o None (Ninguno).
Una vez que el cambio surta efecto, reinicie la VM con SQL Server e inicie el servicio SQL Server.
Habilitar el acelerador de escritura
El Acelerador de escritura es una función de disco que solo está disponible para las máquinas virtuales (VM) de la serie M. La finalidad de esta característica es mejorar la latencia de E/S de las operaciones de escritura en Azure Premium Storage cuando se necesita una latencia de E/S de un solo dígito, debido a las cargas de trabajo de OLTP o a los entornos de almacenamiento de datos de elevado volumen.
Antes de habilitar el Acelerador de escritura, revise algunas de las restricciones para confirmar que son aceptables para su empresa.
Detenga toda la actividad de SQL Server y cierre el servicio SQL Server antes de realizar cambios en la directiva de aceleración de escritura.
Si los discos están seccionados, habilite la aceleración de escritura para cada disco de forma individual; la máquina virtual de Azure debe estar apagada antes de realizar los cambios.
Para habilitar la aceleración de escritura mediante Azure Portal, haga lo siguiente:
Detenga el servicio SQL Server. Si los discos están seccionados, apague la máquina virtual.
Inicie sesión en Azure Portal.
Vaya a la máquina virtual y seleccione Discos en Configuración.
En el menú desplegable, elija la opción de caché con Acelerador de escritura del disco.
Cuando el cambio surta efecto, inicie la máquina virtual y el servicio SQL Server.
Seccionamiento del disco
Para disfrutar de un mayor rendimiento, puede agregar más discos de datos y usar el seccionamiento de discos. Para determinar el número de discos de datos, analice el rendimiento y el ancho de banda necesarios para los archivos de datos de SQL Server, incluido el registro y tempdb
. Los límites de rendimiento y ancho de banda varían según el tamaño de la VM. Para obtener más información, consulte el Tamaño de VM.
Para Windows 8/Windows Server 2012 o posterior, use espacios de almacenamiento con las siguientes directrices:
Configure la intercalación (tamaño de sección) en 64 KB (65 536 bytes) para evitar que el rendimiento se vea afectado debido a una mala alineación de las particiones. Esta característica debe establecerse con PowerShell.
Establezca recuento de columnas = número de discos físicos. Use PowerShell (no la interfaz de usuario del Administrador del servidor) al configurar más de 8 discos.
Por ejemplo, aquí PowerShell crea un nuevo grupo de almacenamiento con el tamaño de intercalación de 64 KB y un número de columnas igual a la cantidad de disco físico en el bloque de almacenamiento:
$PhysicalDisks = Get-PhysicalDisk | Where-Object {$_.FriendlyName -like "*2" -or $_.FriendlyName -like "*3"}
New-StoragePool -FriendlyName "DataFiles" -StorageSubsystemFriendlyName "Windows Storage on <VM Name>" `
-PhysicalDisks $PhysicalDisks | New-VirtualDisk -FriendlyName "DataFiles" `
-Interleave 65536 -NumberOfColumns $PhysicalDisks.Count -ResiliencySettingName simple `
-UseMaximumSize |Initialize-Disk -PartitionStyle GPT -PassThru |New-Partition -AssignDriveLetter `
-UseMaximumSize |Format-Volume -FileSystem NTFS -NewFileSystemLabel "DataDisks" `
-AllocationUnitSize 65536 -Confirm:$false
En Windows Server 2016 y versiones superiores, el valor predeterminado de -StorageSubsystemFriendlyName
es Windows Storage on <VM Name>
.
Para Windows 2008 R2 o versiones anteriores, puede usar discos dinámicos (volúmenes seccionados del SO) y el tamaño de la franja siempre es 64 KB. Esta opción está en desuso a partir de Windows 8 y Windows Server 2012. Para obtener información, vea la declaración de soporte técnico en Servicio de disco virtual está realizando la transición a la API de administración de almacenamiento de Windows.
Si usa Espacios de almacenamiento directo (S2D) con instancias del clúster de conmutación por error de SQL Server, debe configurar un solo grupo. Aunque se pueden crear diferentes volúmenes en ese único grupo, todos ellos compartirán las mismas características, como por ejemplo, la misma directiva de almacenamiento en caché.
Determine el número de discos asociados al grupo de almacenamiento en función de sus expectativas de carga. Tenga en cuenta que diferentes tamaños de máquina virtual permiten diferentes números de discos de datos conectados. Para más información, consulte Tamaños de las máquinas virtuales Linux en Azure.
Problemas conocidos
La opción "Configurar disco" o el panel "Configuración de almacenamiento" del recurso de máquina virtual de SQL están atenuados
La página Almacenamiento puede estar atenuada en el panel de recursos Máquinas virtuales de SQL en Azure Portal por los siguientes motivos:
- La extensión Agente de IaaS de SQL se encuentra en estado de error. Elimine y luego registre la VM con SQL Server con la extensión una vez más.
- Ha personalizado el grupo de almacenamiento.
- Está usando una imagen que no es de Marketplace.
- Ha creado la máquina virtual con discos no administrados. Solo se admiten los discos administrados.
La opción Extender disco está atenuada
La opción Extender disco puede estar atenuada por los siguientes motivos:
- Ha personalizado el grupo de almacenamiento. Si necesita ampliar el disco, agregue discos al grupo de almacenamiento para ampliar el disco virtual.
- Ha cambiado los nombres de disco virtual o volumen de sus valores predeterminados:
- Nomenclatura de bloque de almacenamiento: SQLVMStoragePool1, SQLVMStoragePool2, SQLVMStoragePool3.
- Disco virtual: SQLVMVirtualDisk1, SQLVMVirtualDisk2, SQLVMVirtualDisk3.
- Volúmenes: SQLVMDATA1, SQLVMLOG y SQLVMTEMPDB.
- Ha instalado un clúster de Windows en la VM con SQL Server, por lo que no se admite la extensión de discos.
Tengo un disco con 1 TB de espacio sin asignar que no puedo quitar del bloque de almacenamiento.
No hay ninguna opción para quitar el espacio sin asignar de un disco que pertenece a un grupo de almacenamiento.
Mi registro de transacciones está lleno
Revise Solución de problemas de un registro de transacciones lleno si el registro se llena.
No se puede configurar el almacenamiento con el recurso de máquinas virtuales SQL
El panel Configuración de almacenamiento para el recurso máquinas virtuales SQL en Azure Portal puede no estar disponible, estar atenuado o que al seleccionar Extender discos no haga nada, en los escenarios siguientes:
- Máquinas virtuales con instancias de SQL Server autoinstaladas. Actualmente, solo se admiten imágenes de máquina virtual con SQL Server de Azure Marketplace.
- Máquinas virtuales de SQL Server con SSDv2 Premium. Actualmente, solo se admiten máquinas virtuales de SQL Server con SSD Premium.
- Cuando TCP/IP está deshabilitado en Administrador de configuración de SQL Server.