Microsoft SQL Server con SMB3

9 abril 2019
Josep Ma Solanes 0

Esta entrada muestra como montar una instancia de Microsoft SQL Server con SMB3, ubicando las bases de datos SQL Server en una carpeta compartida; ya sea desde un servidor de archivos Microsoft Windows Server o desde una cabina de almacenamiento NetApp con el protocolo SMB3.

¿Por que esta configuración? Pues hay unos cuantos, entre ellos:

  • porque cada vez tienen más importancia y generalización las redes Ethernet en contra de las redes Fibre Channel
  • porque simplifica los montajes en alta disponibilidad y escalables.
  • porque es necesaria con la utilización de containers.
  • porque combinado con las cabinas NetApp mejoro los tiempos de recuperación, clonaje, etc….
  • … porque ya va siendo hora de aplicar las nuevas tecnologías en nuestras redes.

Preparar carpeta para disponer del Microsoft SQL Server con SMB3

El requisito para poder disponer de las bases de datos SQL Server con SMB3 es que el servidor de archivos soporte este protocolo. Y estamos de enhorabuena al poder hacerlo desde un servidor o clúster de archivos Microsoft Windows Server o directamente desde una cabina de almacenamiento NetApp utilizando este protocolo.

Preparar la carpeta compartida para alojar las bases de datos

Asignar el usuario de servicio del SQL Server con control total sobre la carpeta y subcarpetas donde alojar la instancia del SQL Server. El procedimiento a seguir es el mismo tanto para el servidor de archivos Microsoft Windows Server como para una cabina de almacenamiento NetApp.

Desde un equipo Microsoft Windows, con permisos de administrador sobre el equpo cliente, cargar una consola de administración MMC. Ir a Inicio, ejecutar (combinación de teclas Windows+R)

Escribir el comando mmc y hacer clic en el botón OK para continuar.

Se inicia una consola de administración en blanco. Hay que cargar el complemento de carpetas compartidas. Ir al menú Archivo y hacer clic en la opción Añadir o quitar complemento (Control + M).

Seleccionar el complemento Carpetas Compartidas (Shared folders) y hacer clic en el botón Añadir.

Seleccionar otro ordenador y indicar el nombre del servidor de archivos Windows Server o el que utiliza la cabina NetApp para compartir archivos CIFS. Hacer clic en el botón Finalizar.

Se ha añadido correctamente el complemento, hacer clic en el botón OK para cerrar este cuadro de diálogo.

Desplegar el árbol de opciones de carpetas compartidas hasta localizar Compartidas. Hacer clic con el botón derecho del ratón encima de Compartidas y seleccionar Nueva compartición.

Se inicia un asistente, hacer clic en el botón Siguiente para continuar.

Indicar la ruta local del servidor de archivos o cabina NetApp de la carpeta que se compartirá. Para facilitar esta opción recomiendo hacer clic en el botón de Navegar.

Se visualiza las unidades y carpetas del servidor donde se quiere crear la carpeta compartida. Para esta entrada, crear una nueva carpeta debajo de la unidad C$ con el nombre SQLServerSMB3. Seleccionar la unidad C$ o la que corresponda y hacer clic en el botón Crear nueva carpeta.

Una vez esté creada la carpeta, seleccionarla y hacer clic en el botón OK para aceptar los cambios.

Continuar el asistente haciendo clic en el botón Siguiente.

Indicar el nombre de la carpeta compartida, el que se tendrá que utilizar en la instalación de SQL Server con SMB3. También, por defecto profesional, me gusta desactivar el uso de los archivos sin conexión en las carpetas compartidas que no le corresponden, como es este el caso. Hacer clic en el botón Cambio de archivos sin conexión y seleccionar la opción que NO estarán disponibles sin conexión. Hacer clic en el botón Siguiente para continuar.

Permisos de acceso a esta carpeta. Como no, seleccionar la opción personalizar permisos y hacer clic en el botón Personalizar.

En la pestaña de permisos de compartir, seleccionar Todos y asignar el permiso de Control Total.

En la pestaña de Seguridad, hacer clic en el botón Avanzadas.

Hacer clic en el botón desactivar herencia (a la pregunta de qué hacer con los permisos actuales, contestar que dejarlos) y marcar el checkbox de sustituir todos los permisos de los objetos hijo. Hacer clic en el botón OK para continuar. A la pregunta de si estamos seguros, contestar que .

Volviendo al cuadro de diálogo de permisos, hacer clic en el botón Edit para modificarlos.

Eliminar todos los usuarios menos los Administradores. Seleccionar cada usuario que no corresponda y hacer clic en el botón Eliminar.E

Añadir el usuario asignado al servicio de SQL Server y al agente de SQL Server (en su caso), haciendo clic en el botón Añadir.

Asignar el permiso de Control Total a los usuarios de servicio de SQL Server. Hacer clic en el botón OK para continuar en los cuadros de diálogo que han quedado abiertos.

Hacer clic en el botón Finalizar para acabar de configurar la carpeta compartida.

Resumen de la operación. Hacer clic en Finalizar para cerrar el asistente.

Carpeta compartida creada y accesible desde la red, ya se puede empezar con la instalación del SQL Server con SMB3.

Modificar carpeta compartida en NetApp

Para los que no dispongáis de cabinas NetApp podéis saltar este apartado, para los otros, tenéis que modificar la carpeta compartida para poder balancear las controladoras, sin pérdida de servicio.

Desde la consola de administración del SVM de NetApp, acceder a las carpetas compartidas y localizar la que se acaba de crear para poner las bases de datos. Botón derecho y seleccionar Editar.

Marcar el checkbox de activar la disponibilidad continua para Hyper-V y SQL. Así de sencillo. Hacer clic en el botón Guardar y cerrar.

Instalación de Microsoft SQL Server con SMB3

Arrancar el instalador del SQL Server. Seleccionar el tipo de licencia y hacer clic en el botón siguiente para continuar.

Aceptar los términos de la licencia marcando el checkbox correspondiente. Hacer clic en el botón siguiente para continuar.

Después de los requerimientos iniciales, prestar atención a la advertencia de cortafuegos, en no dejarse de crear una regla sobre el servicio cuando este esté instalado. Hacer clic en el botón Siguiente para continuar.

Seleccionar las opciones a instalar según las necesidades del servidor. Indicar los directorios de instalación de los binarios, en qué es recomendable instalarlos en una unidad dedicada aparte del sistema operativo. Hacer clic en el botón Siguiente cuando todo esté dispuesto.

Indicar el nombre de la instancia de SQL Server. Por defecto utilizar el nombre MSSQLSERVER. Hacer clic en el botón Siguiente para continuar.

Indicar las cuentas de servicio para iniciar el SQL Server. En la instalación del SQL Server con SMB3 es muy importante, ya que la cuenta con la que se inicia el servicio es el que tiene que acceder al recurso compartido donde se ubicarán las bases de datos y que se ha configurado en el punto anterior.

No os olvidéis de configurar correctamente el Collation del servidor de base de datos según las necesidades del mismo. Hacer clic en el botón Siguiente cuando todo sea lo deseado.

Configuración del método de autenticación de la base de datos, así como los permisos de administrador sobre el mismo. Recomiendo añadir un grupo de seguridad para el propio SQL Server donde se añadirán los usuarios administradores de la base de datos.

En la pestaña Data Directories hay el grano de esta entrada, indicar el Directorio raíz de los datos. Por defecto es el local, pero como que queremos instalar las bases de datos en una ubicación de red, se tiene que indicar la ruta UNC donde guardar la instancia y base de datos. De esta manera, siguiendo el ejemplo, tenemos:

  • Data root directory. La ubicación para las bases de datos de la instancia: \srvdc19.jmsolanes.local\SQLServer
  • User database directory. La ubicación, por defecto, donde crear los nuevos archivos con datos de las bases de datos: \srvdc19.jmsolanes.local\SQLServer\Data
  • User database log directory. La ubicación, por defecto, donde crear los nuevos archivos de logs de las bases de datos: \srvdc19.jmsolanes.local\SQLServer\Logs
  • Backup Directory. La ubicación, por defecto, donde crear los archivos con la copia de seguridad de la base de datos: \srvdc19.jmsolanes.local\SQLServer\Backup. No pondremos todos los huevos en la misma cesta, en producción es muy recomendable que las copias de seguridad estén en otra ubicación donde no haya los datos productivos.

En la pestaña TempDB, para la base de datos Temporal de la instancia, hay que definirla en una ruta UNC. Con todos los datos informados correctamente, ya se puede hacer clic en el botón Siguiente para continuar.

Al aceptar las modificaciones, indicando las ubicaciones para las bases de datos en rutas UNC, saldrá un aviso de comprobar que haya los permisos correctos en la carpeta compartida para que la instancia de SQL Server pueda gestionar las bases de datos. Simplemente, confirmar que la carpeta tiene los permisos adecuados (recordar, el usuario del servicio de SQL Server tiene permiso de Control Total sobre la carpeta y subcarpetas) y hacer clic en el botón de Si para continuar.

Resumen de los parámetros de instalación. Revisarlos y, si todo está correcto, hacer clic en el botón Instalar para continuar. Recordar también, que en esta ventana se nos muestra donde se ubica el archivo con la instalación desatendida de lo que se acaba de configurar. Puede ser una buena opción guardarlo para futuros despliegues en masa.  Aquí os dejo el mío. Recordad la instalación de SQL Server en modo desatendido para aplicarlo.

Finalización de la instalación del SQL Server donde todo tiene que estar correcto. Hacer clic en el botón Cerrar para continuar.

Recuerdo que tenía una advertencia de cortafuegos sobre el acceso al SQL Server. Ahora es el momento de crear la regla en el mismo, para el servicio de SQL Server. Lo haremos con la PowerShell. Hacer clic en el botón Inicio con el botón derecho del ratón y seleccionar la opción Windows PowerShell (Admin) o, si está instalada arrancar la nueva consola PowerShell core con privilegios de administradores con el comando pwsh.

Ejecutar el comando para abrir todos los puertos sobre el servicio de SQL Server que acabamos de instalar.

new-NetFirewallRule -Name "SQL Server" -DisplayName "SQL Server service" -Enabled true -Profile Any -Direction Inbound -Action Allow -Protocol TCP -Program "E:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\Binn\sqlservr.exe"

Acceso y comprobaciones

En un equipo externo, con el Microsoft SQL Server Management Studio, hacer la conexión al servidor SQL para comprobar que todo funciona correctamente. Comprobar en las propiedades del servidor (botón derecho encima del nombre del servidor SQL Server) que las bases de datos se crearán en las rutas UNC.

Se puede hacer una primera prueba creando una nueva base de datos sobre el SQL Server. En la carpeta de bases de datos, botón derecho, hacer clic en Nueva base de datos.

Indicar un nombre de base de datos y validar que la ruta donde se ubicará la nueva base de datos son las rutas UNC deseadas.

Se crea la nueva base de datos como siempre y con el mismo acceso que siempre. Sin embargo hay una pequeña diferencia, la base de datos reside en otro servidor o cabina de almacenamiento, no está en el propio equipo como lo estaría en un montaje tradicional por SAN.

Accediendo a la carpeta compartida visualizamos los archivos de las base de datos, los archivos de la instancia, etc…

¿Te ha gustado el artículo? Lo puedes compartir en las redes sociales. También puedes dejar tu opinión, comentario o sugerencia. ¡Gracias!

Similar Posts by The Author: