Implementación de una infraestructura de SDN mediante SDN Express
Se aplica a: Azure Stack HCI, versiones 22H2 y 21H2, Windows Server 2022, Windows Server 2019 y Windows Server 2016
Importante
Azure Stack HCI ahora forma parte de Azure Local. El cambio de nombre de la documentación del producto está en curso. Sin embargo, las versiones anteriores de Azure Stack HCI, por ejemplo, 22H2 seguirán haciendo referencia a Azure Stack HCI y no reflejarán el cambio de nombre. Más información.
En este artículo se describe cómo implementar una infraestructura de red definida por software (SDN) de un extremo a otro mediante scripts de PowerShell de SDN Express. La infraestructura incluye una controladora de red con alta disponibilidad y, opcionalmente, un equilibrador de carga de software (SLB) y una puerta de enlace, todo ello de alta disponibilidad. Los scripts admiten una implementación por fases, en la que puede implementar solo el componente Controladora de red para lograr un conjunto básico de funcionalidades con requisitos de red mínimos.
También puede implementar una infraestructura de SDN mediante Windows Admin Center o System Center Virtual Machine Manager (VMM). Para obtener más información, consulte Creación de un clúster: Paso 5: SDN y Administración de recursos de SDN en el tejido de VMM.
Importante
No puede usar Microsoft System Center Virtual Machine Manager 2019 para administrar clústeres que ejecutan la versión 21H2 de Azure Stack HCI o Windows Server 2022.
Antes de empezar
Antes de comenzar una implementación de SDN, planee y configure la infraestructura de red física y del host. Vea los artículos siguientes:
- Requisitos de red física
- Requisitos de red de host
- Creación de un clúster mediante Windows Admin Center
- Creación de un clúster mediante Windows PowerShell
- Planeamiento de una infraestructura de red definida por software
No es necesario implementar todos los componentes de SDN. Vea la sección Implementación por fases de Planeamiento de una infraestructura de red definida por software para determinar qué componentes de infraestructura necesita y, a continuación, ejecute los scripts según corresponda.
Asegúrese de que todos los servidores host tengan el sistema operativo Azure Stack HCI instalado. Para más información, consulte Implementación del sistema operativo de Azure Stack HCI.
Requisitos
Se deben cumplir los requisitos siguientes para una implementación correcta de SDN:
- Todos los servidores host deben tener Habilitado Hyper-V.
- Todos los servidores host deben estar unidos a Active Directory.
- Se debe crear un conmutador virtual.
- La red física debe configurarse para las subredes y VLAN definidas en el archivo de configuración.
- El script SDN Express debe ejecutarse desde un equipo con Windows Server 2016 o posterior.
- El archivo VHDX especificado en el archivo de configuración debe ser accesible desde el equipo donde se ejecuta el script de SDN Express.
Descarga del archivo VHDX
SDN usa un archivo VHDX que contiene el sistema operativo Azure Stack HCI o Windows Server como origen para crear las máquinas virtuales de SDN.
Nota:
La versión del sistema operativo en el VHDX debe coincidir con la versión que usan las máquinas de Hyper-V locales de Azure. Todos los componentes de la infraestructura de SDN usan este archivo VHDX.
Para descargar una versión en inglés del archivo VHDX, consulte Descarga del sistema operativo desde Azure Portal. Asegúrese de seleccionar Inglés VHDX en la lista desplegable Elegir idioma .
Actualmente, un archivo VHDX no inglés no está disponible para su descarga. Si necesita una versión que no sea en inglés, descargue el archivo ISO correspondiente y conviértelo en VHDX mediante el Convert-WindowsImage
cmdlet . Debe ejecutar este script desde un equipo cliente Windows. Probablemente deba ejecutar este script como administrador y modificar la directiva de ejecución para scripts mediante el Set-ExecutionPolicy
comando .
La sintaxis siguiente muestra un ejemplo de uso Convert-WindowsImage
de :
Install-Module -Name Convert-WindowsImage
Import-Module Convert-WindowsImage
$wimpath = "E:\sources\install.wim"
$vhdpath = "D:\temp\AzureStackHCI.vhdx"
$edition=1
Convert-WindowsImage -SourcePath $wimpath -Edition $edition -VHDPath $vhdpath -SizeBytes 500GB -DiskLayout UEFI
Nota:
Los archivos de script de SDN Express ya no están disponibles en GitHub.
Instalación del módulo de PowerShell de SDN Express
Ejecute el siguiente comando para instalar la versión más reciente del módulo de PowerShell de SDN Express en la máquina en la que desea ejecutar la instalación de SDN:
Install-Module -Name SDNExpress
Los archivos se instalan automáticamente en el directorio del módulo de PowerShell predeterminado: C:\Program Files\WindowsPowerShell\Modules\SdnExpress\
.
Editar el archivo de configuración
El archivo de datos de configuración de PowerShell MultiNodeSampleConfig.psd1
(ubicado en la ruta de instalación mencionada anteriormente) contiene todos los parámetros y valores necesarios para el script de SDN Express como entrada para los distintos parámetros y opciones de configuración. Este archivo tiene información específica acerca de lo que se debe rellenar en función de si va a implementar solo la controladora de red, o también la puerta de enlace y el equilibrador de carga de software. Para obtener información detallada, consulte Planear una infraestructura de red definida por software.
Vaya a la carpeta C:\Program Files\WindowsPowerShell\Modules\SdnExpress\
y abra el archivo MultiNodeSampleConfig.psd1 en un editor de texto. Cambie los valores de parámetro específicos para que se ajusten a la infraestructura y la implementación, como se describe en la sección siguiente.
Configuración general y parámetros
SdN usa esta configuración y parámetros en general para todas las implementaciones. Para obtener recomendaciones específicas, consulte los Requisitos del rol de máquina virtual de infraestructura de SDN.
- VHDPath: ruta de acceso del archivo VHD usada por todas las máquinas virtuales de infraestructura de SDN (NC, SLB, GW)
- VHDFile : nombre de archivo VHDX usado por todas las máquinas virtuales de infraestructura de SDN
- VMLocation : ruta de acceso de archivo a máquinas virtuales de infraestructura de SDN. Tenga en cuenta que no se admiten las rutas de acceso de convención de nomenclatura universal (UNC). En el caso de las rutas de acceso basadas en el almacenamiento del clúster, use un formato como
C:\ClusterStorage\...
- JoinDomain: dominio al que se unen las máquinas virtuales de infraestructura de SDN
- SDNMacPoolStart: comienzo del grupo de direcciones MAC de las máquinas virtuales de la carga de trabajo de cliente
- SDNMacPoolEnd: final del grupo de direcciones MAC de las máquinas virtuales de la carga de trabajo de cliente
- ManagementSubnet: subred de la red de administración usada por el NC para administrar los componentes de hosts de Hyper-V, SLB y GW
- ManagementGateway: dirección de la puerta de enlace de la red de administración
- ManagementDNS: servidor DNS de la red de administración
- ManagementVLANID: identificador de VLAN de la red de administración
- DomainJoinUsername : nombre de usuario del administrador. Tenga en cuenta que el nombre de usuario debe tener el siguiente formato:
domainname\username
. Por ejemplo, si el dominio escontoso.com
, escriba el nombre de usuario comocontoso\<username>
. No use formatos comocontoso.com\<username>
ousername@contoso.com
- LocalAdminDomainUser : nombre de usuario del administrador local. Tenga en cuenta que el nombre de usuario debe tener el siguiente formato:
domainname\username
. Por ejemplo, si el dominio escontoso.com
, escriba el nombre de usuario comocontoso\<username>
. No use formatos comocontoso.com\<username>
ousername@contoso.com
- RestName: nombre DNS que usan los clientes de administración (como Windows Admin Center) para comunicarse con el NC
- RestIpAddress : dirección IP estática para la API REST, que se asigna desde la red de administración. Se puede usar para la resolución DNS o las implementaciones basadas en IP rest.
- HyperVHosts: servidores host que se administrarán mediante el controlador de red
- NCUsername : nombre de usuario de la cuenta de controladora de red
- ProductKey: clave de producto de las máquinas virtuales de infraestructura de SDN
- SwitchName: solo es necesario si existe más de un conmutador virtual en los hosts de Hyper-V
- VMMemory: memoria (en GB) asignada a las máquinas virtuales de infraestructura. El valor predeterminado es 4 GB.
- VMProcessorCount: número de procesadores asignados a las máquinas virtuales de infraestructura. El valor predeterminado es 8.
- Locale: si no se especifica, se usa la configuración regional del equipo de implementación.
- TimeZone: si no se especifica, se usa la zona horaria local del equipo de implementación.
Las contraseñas se pueden incluir opcionalmente si se almacenan cifradas como cadenas seguras con codificación de texto. Las contraseñas solo se usan si los scripts de SDN Express se ejecutan en el mismo equipo en el que se cifraron las contraseñas; de lo contrario, solicita estas contraseñas:
- DomainJoinSecurePassword: para la cuenta de dominio
- LocalAdminSecurePassword: para la cuenta de administrador local
- NCSecurePassword: para la cuenta del controlador de red
Sección de máquinas virtuales del controlador de red
Se recomienda un mínimo de tres máquinas virtuales de Controladora de red para SDN.
La sección NCs = @()
se usa para las máquinas virtuales del controlador de red. Asegúrese de que la dirección MAC de cada máquina virtual nc está fuera del SDNMACPool
intervalo que se muestra en la configuración general.
- ComputerName: nombre de la máquina virtual del NC
- HostName: nombre de host del servidor donde se encuentra la máquina virtual del NC
- ManagementIP: dirección IP de la red de administración de la máquina virtual del NC
- MACAddress: dirección MAC de la máquina virtual del NC
Sección de máquinas virtuales del equilibrador de carga de software
Se recomienda un mínimo de dos máquinas virtuales del equilibrador de carga de software de SDN.
La sección Muxes = @()
se usa para las máquinas virtuales del SLB. Asegúrese de que los MACAddress
parámetros y PAMACAddress
de cada máquina virtual de SLB están fuera del SDNMACPool
intervalo indicado en la configuración general. Asegúrese de que obtiene el parámetro PAIPAddress
desde fuera del grupo de PA especificado en el archivo de configuración y de que forme parte del valor de PASubnet especificado en el archivo de configuración.
Deje esta sección vacía (Muxes = @()
) si no implementa el componente del SLB:
- ComputerName: nombre de la máquina virtual del SLB
- HostName: nombre de host del servidor donde se encuentra la máquina virtual del SLB
- ManagementIP: dirección IP de la red de administración de la máquina virtual del SLB
- MACAddress: dirección MAC de la máquina virtual del SLB
- PAIPAddress: dirección IP de la red del proveedor (PA) de la máquina virtual del SLB
- PAMACAddress: dirección MAC de la red del proveedor (PA) de la máquina virtual del SLB
Sección de máquinas virtuales de la puerta de enlace
Se recomienda un mínimo de dos máquinas virtuales de puerta de enlace (una activa y otra redundante) para SDN.
La sección Gateways = @()
se usa para las máquinas virtuales de la puerta de enlace. Asegúrese de que el parámetro MACAddress
de cada máquina virtual de la puerta de enlace esté fuera del intervalo SDNMACPool
indicado en la configuración general. FrontEndMac
y BackendMac
deben estar dentro del intervalo SDNMACPool
. Asegúrese de que obtiene los parámetros FrontEndMac
y BackendMac
del final del intervalo SDNMACPool
.
Deje esta sección vacía (Gateways = @()
) si no implementa el componente de la puerta de enlace:
- ComputerName: nombre de la máquina virtual de la puerta de enlace
- HostName: nombre de host del servidor donde se encuentra la máquina virtual de la puerta de enlace
- ManagementIP: dirección IP de la red de administración de la máquina virtual de la puerta de enlace
- MACAddress: dirección MAC de la máquina virtual de la puerta de enlace
- FrontEndMac: dirección MAC de front-end de la red del proveedor de la máquina virtual de la puerta de enlace
- BackEndMac: dirección MAC de back-end de la red del proveedor de la máquina virtual de la puerta de enlace
Configuración adicional para el SLB y la puerta de enlace
Las máquinas virtuales de la puerta de enlace y el SLB usan los siguientes parámetros adicionales. Deje estos valores vacíos si no va a implementar máquinas virtuales de puerta de enlace o SLB:
- SDNASN: número de sistema autónomo (ASN) utilizado por SDN para el emparejamiento con los conmutadores de red
- RouterASN: ASN del enrutador de la puerta de enlace
- RouterIPAddress: dirección IP del enrutador de la puerta de enlace
- PrivateVIPSubnet: dirección IP virtual (VIP) de la subred privada
- PublicVIPSubnet: dirección IP virtual (VIP) de la subred pública
Las máquinas virtuales de puerta de enlace solo usan los siguientes parámetros adicionales. Deje estos valores en blanco si no va a implementar máquinas virtuales de puerta de enlace:
PoolName: nombre de grupo usado por todas las máquinas virtuales de puerta de enlace
GRESubnet: VIP de la subred para GRE (si se usan conexiones GRE)
Capacity: capacidad en Kbps de cada máquina virtual de puerta de enlace del grupo
RedundantCount: número de puertas de enlace en modo redundante. El valor predeterminado es 1. Las puertas de enlace redundantes no tienen ninguna conexión activa. Una vez que una puerta de enlace activa deja de funcionar, las conexiones de esa puerta de enlace se mueven a la puerta de enlace redundante y la puerta de enlace redundante se activa.
Nota:
Si rellena un valor para RedundantCount, asegúrese de que el número total de máquinas virtuales de puerta de enlace sea al menos uno más que RedundantCount. De forma predeterminada, RedundantCount es 1, por lo que debe tener al menos 2 máquinas virtuales de puerta de enlace para asegurarse de que haya al menos 1 puerta de enlace activa para hospedar conexiones de puerta de enlace.
Configuración de redes de superposición de inquilinos
Los siguientes parámetros se usan si va a implementar y administrar redes virtualizadas de superposición para los inquilinos. Si por el contrario usa el controlador de red para administrar redes VLAN tradicionales, estos valores se pueden dejar en blanco.
- PASubnet: subred de la red de direcciones del proveedor (PA)
- PAVLANID: identificador de VLAN de la red de PA
- PAGateway: dirección IP de la puerta de enlace de la red de PA
- PAPoolStart: dirección IP inicial del grupo de la red de PA
- PAPoolEnd: dirección IP final del grupo de la red de PA
Aquí se muestra cómo la red lógica del proveedor de virtualización de red de Hyper-V (HNV) asigna direcciones IP. Úselo para planear el espacio de direcciones de la red del proveedor de HNV.
- Asigna dos direcciones IP a cada servidor físico
- Asigna una dirección IP a cada máquina virtual MUX de SLB.
- Asigna una dirección IP a cada máquina virtual de puerta de enlace.
Ejecutar el script de implementación
El script de SDN Express implementa la infraestructura de SDN que ha especificado. Una vez completado el script, la infraestructura de SDN está lista para su uso en las implementaciones de cargas de trabajo de máquinas virtuales.
Revise el archivo
README.md
para obtener información de última hora sobre cómo ejecutar el script de implementación.Ejecute el siguiente comando desde una cuenta de usuario con credenciales administrativas para los servidores host del clúster:
SDNExpress\scripts\SDNExpress.ps1 -ConfigurationDataFile MultiNodeSampleConfig.psd1 -Verbose
Una vez creadas las máquinas virtuales del NC, configure las actualizaciones dinámicas de DNS para el nombre del clúster del controlador de red en el servidor DNS. Para más información, consulte Actualizaciones dinámicas de DNS.
Archivos de ejemplo de configuración
Los siguientes archivos de ejemplo de configuración para implementar SDN están disponibles en el repositorio de GitHub de Microsoft SDN:
Traditional VLAN networks.psd1: implementa la controladora de red para administrar directivas de red como la de microsegmentación y la de calidad de servicio en redes VLAN tradicionales.
Virtualized networks.psd1: implementa la controladora de red para administrar redes virtuales y directivas de red en redes virtuales.
Software Load Balancer.psd1: implementa la controladora de red y el equilibrador de carga de software para el equilibrio de carga en redes virtuales.
SDN Gateways.psd1: implementa la controladora de red, el equilibrador de carga de software y la puerta de enlace para la conectividad a redes externas.
Volver a reimplementar el controlador de red de SDN
Si se produce un error en la implementación del controlador de red o desea volver a implementarlo, haga lo siguiente:
Elimine todas las máquinas virtuales de controladora de red y sus discos duros virtuales de todas las máquinas.
Para quitar las siguientes claves del Registro de todas las máquinas, ejecute este comando:
Remove-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Services\NcHostAgent\Parameters\' -Name Connections Remove-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Services\NcHostAgent\Parameters\' -Name NetworkControllerNodeNames
Después de quitar la clave del Registro, quite el clúster de la administración de Windows Admin Center y, después, vuelva a agregarlo.
Nota:
Si no realiza este paso, es posible que no vea el asistente para la implementación de SDN en Windows Admin Center.
(Paso adicional solo si tiene previsto desinstalar controladora de red y no volver a implementarla) Ejecute el siguiente cmdlet en todas las máquinas de la instancia local de Azure y, a continuación, omita el último paso.
Disable-VMSwitchExtension -VMSwitchName "<Compute vmswitch name>" -Name "Microsoft Azure VFP Switch Extension"
Ejecute de nuevo el Asistente para la implementación.