sql >> Base de Datos >  >> RDS >> Sqlserver

Alta disponibilidad de SQL Server:agregue un nuevo disco a una instancia de clúster de conmutación por error existente

En mi artículo anterior, expliqué el proceso paso a paso para instalar un nodo en una instancia de clúster de conmutación por error de SQL Server existente. Junto con eso, también he demostrado la conmutación por error manual y la conmutación por error automática.

En este artículo, voy a demostrar el proceso de agregar un disco en un clúster de conmutación por error y luego mover la base de datos existente a una nueva unidad.

Primero, para agregar un disco en el clúster, debemos realizar los siguientes pasos:
1. Cree un nuevo disco virtual iSCSI.
2. Conéctese al nuevo disco virtual iSCSI mediante el iniciador iSCSI de los nodos del clúster de conmutación por error.
3. Agregue un nuevo disco a un almacenamiento de clúster de conmutación por error existente.
4. Mueva el archivo de base de datos de muestra al nuevo disco.
Primero, déjeme darle una breve introducción a la configuración de demostración. He creado cuatro máquinas virtuales en mi computadora. Aquí están los detalles:

Máquina virtual Nombre de host Dirección IP Propósito
Controlador de dominio DC.Local 192.168.1.110 Esta máquina virtual se utilizará como controlador de dominio.
SAN SAN.DC.Local 192.168.1.111 Esta máquina virtual se utilizará como SAN virtual. Creé dos discos virtuales iSCSI que conectaré desde los nodos del clúster de conmutación por error mediante el iniciador iSCSI.
Nodo SQL primario SQL01.DC.Local 192.168.1.112 En esta máquina virtual, instalaremos la instancia en clúster de conmutación por error.
Nodo SQL secundario SQL02.DC.Local 192.168.1.113 En esta máquina virtual, instalaremos el nodo secundario de la instancia del clúster de conmutación por error.

En SAN.DC.Local , he creado tres unidades iSCSI. Los detalles son los siguientes:

nombre de la unidad iSCSI Propósito
Datos Sql En esta unidad, estamos almacenando archivos de bases de datos de usuarios y archivos TempDB.
Registro de Sql En esta unidad, almacenamos los archivos de registro de las bases de datos de los usuarios.
quórum Esta unidad se usa como quórum.

A continuación se muestra la captura de pantalla de nuestra configuración:

Cree un disco iSCSI

Como mencioné anteriormente, primero debemos crear una unidad virtual iSCSI. En este caso, usaré PowerShell para crear y configurar discos virtuales iSCSI de tamaño fijo. El tamaño del disco virtual es de 8 GB. Para crear una nueva unidad iSCSI, ejecute el siguiente comando.

New-IscsiVirtualDisk –Path F:\new-sql-data\new-sql-data.vhdx –SizeBytes (8GB) –UseFixed

Para verificar que el disco iSCSI se haya creado correctamente, abra el S siempre M gerente y haga clic en discos virtuales iSCSI en el panel izquierdo. Ver la siguiente imagen:

Ahora debemos crear un objetivo iSCSI. Los servidores remotos pueden conectarse a un disco virtual mediante el nombre de destino. Aquí, crearé un objetivo llamado new-sql-data . Para crear un objetivo iSCSI llamado "nuevos datos SQL ” y asígnelo a SQL02.dc.Local y SQL02.dc.Local , ejecute el siguiente comando.

New-IscsiServerTarget -TargetName "new-sql-data" -InitiatorIds @("IQN:iqn.1991-05.com.microsoft:sql01.dc.local", "IQN:iqn.1991-05.com.microsoft:sql02.dc.local")

Una vez creado el destino iSCSI, debemos asignar nuestro disco virtual al destino iSCSI. Para hacer eso, ejecute la siguiente consulta:

Add-IscsiVirtualDiskTargetMapping -TargetName new-sql-data –Path "F:\new-sql-data\new-sql-data.vhdx"

Una vez que la asignación de destino se haya completado con éxito, actualice el panel del disco virtual iSCSI en el Administrador del servidor. Ver la siguiente imagen:

Conéctese al nuevo disco virtual iSCSI utilizando el iniciador iSCSI de los nodos del clúster de conmutación por error

Ahora, conectémonos a esta unidad desde SQL01.dc.local nodo usando RDP.

Para conectarse al disco virtual iSCSI mediante el iniciador iSCSI, abra el iniciador iSCSI y haga clic en Actualizar botón para descubrir el objetivo. Ahora puede elegir el nombre de destino adecuado de la lista "Objetivos descubiertos " caja de texto. Seleccione el objetivo apropiado y haga clic en C conectar . Ver la siguiente imagen:

Una vez que estamos conectados al disco virtual, puede ver el disco en la D riesgo M gerente sección bajo C ordenador M administración . Para usar el disco dentro del clúster, debemos realizar las siguientes tareas:

  • Ponga el disco en línea. Para ello, haga clic con el botón derecho en D Prueba 4 y seleccione En línea . Ver la siguiente imagen:

  • Una vez que el disco esté en línea, inicialícelo. Para ello, haga clic con el botón derecho en Disco 4 y seleccione Inicializar disco . Ver la siguiente imagen:

  • Una vez inicializado el disco, haga clic derecho en Disco 4 y seleccione Nuevo volumen simple para crear una partición. Ver la siguiente imagen:

De igual forma, debemos conectar la unidad virtual desde el SQL02.dc.local nodo. Para hacer eso, conecte el SQL02.dc.local nodo usando RDP, abra el iniciador iSCSI y haga clic en el botón Actualizar botón para descubrir el objetivo. Ahora puede elegir el nombre de destino apropiado de los Objetivos descubiertos caja de texto. Seleccione el objetivo apropiado y haga clic en C conectar . Ver la siguiente imagen:

Agregue el nuevo disco a un almacenamiento de clúster de conmutación por error existente.

Para agregar este disco al almacenamiento del clúster, conéctese a SQL01.Dc.Local usando RDP, abra la F sobretodo C brillo M gerente , conéctese a SQLCluster.DC.Local , seleccione D riesgos en el panel izquierdo y haga clic en A dd disco . Se abrirá el cuadro de diálogo "Agregar disco al clúster". En este cuadro de diálogo, se mostrará el nuevo disco en clúster. Ver la siguiente imagen:

Una vez que se agrega el nuevo disco, puede verlo en el menú del disco del Administrador de clústeres de conmutación por error. Ver la siguiente imagen:

Mueva el archivo de la base de datos de muestra al nuevo disco.

Una vez que se agrega el disco, vamos a mover un archivo de base de datos de muestra a la nueva unidad. He creado una base de datos llamada de base de datos de moda en SQL01.dc.local . Queremos mover su archivo de datos al nuevo disco. Para hacer eso, conéctese a PowerShell y luego conéctese a la instancia de SQL Server usando el 'SQLCmd ' comando.

Una vez que esté conectado a la instancia, ejecute el siguiente comando para desconectar la base de datos.

exec sp_detach_db [demodatabase]
go

Una vez que se haya desconectado la base de datos, copie el archivo de datos de la unidad F (unidad antigua) a la unidad E (unidad nueva) y ejecute el siguiente comando para adjuntar la base de datos.

CREATE DATABASE demodatabase
    ON (FILENAME = 'E:\SQLData\demodatabase.mdf'),   
    (FILENAME = 'F:\SQLLog\demodatabase_log.ldf')   
    FOR ATTACH; 
GO

Cuando ejecute el comando anterior, recibirá el siguiente error:

Msg 5184, Level 16, State 2, Server SQLCLUST, Line 1
Cannot use file 'E:\SQLData\demodatabase.mdf' for clustered server. Only formatted files on which the cluster resource of the server has a dependency can be used. Either the disk resource containing the file is not present in the cluster group or the cluster resource of the Sql Server does not have a dependency on it.

Este error ocurre porque no agregamos el nuevo disco al grupo de recursos del clúster y a la Dependencia AND del rol MSSQLSERVER. Ver la siguiente imagen:

Para corregir este error, debemos agregar el nuevo disco al rol MSSQLSERVER. Para ello, abra el Administrador de clústeres de conmutación por error, haga clic en Seleccionar roles, haga clic con el botón derecho en SQL Server (MSSQLSERVER ) y elija Agregar almacenamiento . Ver la siguiente imagen:

El Añadir almacenamiento se abrirá el cuadro de diálogo. De la lista de almacenamiento disponible, elija el disco que creamos. Ver la siguiente imagen:

Una vez que agregamos el almacenamiento, podemos verificarlo desde la pestaña de recursos del rol MSSQLSERVER. Ver la siguiente imagen:

Una vez que se agrega el disco, también debemos agregarlo a la dependencia AND de SQL Server. . Para ello, haga clic con el botón derecho en SQL Server en la lista de recursos bajo MSSQLSERVER rol y seleccione P propiedades . En la P propiedades cuadro de diálogo, vaya a Dependencias y seleccione Cluster Disk 4 desde el cuadro desplegable en los Recursos columna.

Una vez que se agrega el recurso de disco, intente adjuntar la base de datos usando el siguiente comando:

CREATE DATABASE demodatabase
    ON (FILENAME = 'E:\SQLData\demodatabase.mdf'),   
    (FILENAME = 'F:\SQLLog\demodatabase_log.ldf')   
    FOR ATTACH; 
GO

El comando se ejecutará con éxito. Para verificar que el archivo se haya copiado en la ubicación adecuada, ejecute la siguiente consulta en PowerShell.

select db_name(database_id) as [database name], physical_name from sys.master_files where db_name(database_id) ='demodatabase'

El siguiente es el resultado:

Database Name		physical_name
------------ 		---------------------------------
demodatabase		E:\SQLData\demodatabase.mdf
demodatabase		F:\SQLLog\demodatabase_log.ldf

Como puede ver, el archivo de la base de datos se ha movido a la nueva unidad.

Resumen

En este artículo, he explicado el proceso paso a paso de agregar un disco a una instancia de clúster de conmutación por error de SQL Server existente. En el próximo artículo, explicaré cómo mover las bases de datos del sistema a un nuevo disco en clúster.

¡Estén atentos!