SDN Express를 사용하여 SDN 인프라 배포
적용 대상: Azure Stack HCI, 버전 22H2 및 21H2; Windows Server 2022, Windows Server 2019, Windows Server 2016
이 항목에서는 SDN Express PowerShell 스크립트를 사용하여 종단 간 SDN(소프트웨어 정의 네트워크) 인프라를 배포합니다. 인프라에는 고가용성(HA) NC(네트워크 컨트롤러) 및 필요에 따라 고가용성 SLB(소프트웨어 부하 분산 장치) 및 GW(고가용성 게이트웨이)가 포함됩니다. 스크립트는 네트워크 컨트롤러 구성 요소만 배포하여 최소한의 네트워크 요구 사항으로 핵심 기능 집합을 달성할 수 있는 단계별 배포를 지원합니다.
Windows 관리 Center 또는 System Center VMM(Virtual Machine Manager)을 사용하여 SDN 인프라를 배포할 수도 있습니다. 자세한 내용은 클러스터 만들기 - 5단계: SDN을 참조하고 VMM 패브릭에서 SDN 리소스 관리를 참조 하세요.
Important
Microsoft System Center Virtual Machine Manager 2019를 사용하여 Azure Stack HCI, 버전 21H2 또는 Windows Server 2022를 실행하는 클러스터를 관리할 수 없습니다.
시작하기 전에
SDN 배포를 시작하기 전에 실제 및 호스트 네트워크 인프라를 계획하고 구성합니다. 다음 문서를 참조하세요.
- 물리적 네트워크 요구 사항
- 호스트 네트워크 요구 사항
- Windows 관리 Center를 사용하여 클러스터 만들기
- Windows PowerShell을 사용하여 클러스터 만들기
- 소프트웨어 정의 네트워크 인프라 계획
모든 SDN 구성 요소를 배포할 필요는 없습니다. 필요한 인프라 구성 요소를 확인하고 그에 따라 스크립트를 실행하려면 소프트웨어 정의 네트워크 인프라 계획의 단계별 배포 섹션을 참조하세요.
모든 호스트 서버에 Azure Stack HCI 운영 체제가 설치되어 있는지 확인합니다. 이 작업을 수행하는 방법은 Azure Stack HCI 운영 체제 배포를 참조하세요.
요구 사항
성공적인 SDN 배포를 위해서는 다음 요구 사항을 충족해야 합니다.
- 모든 호스트 서버에는 Hyper-V를 사용하도록 설정해야 합니다.
- 모든 호스트 서버를 Active Directory에 조인해야 합니다.
- 가상 스위치를 만들어야 합니다.
- 구성 파일에 정의된 서브넷 및 VLAN에 대해 물리적 네트워크를 구성해야 합니다.
- SDN Express 스크립트는 Windows Server 2016 이상 컴퓨터에서 실행해야 합니다.
- 구성 파일에 지정된 VHDX 파일은 SDN Express 스크립트가 실행되는 컴퓨터에서 연결할 수 있어야 합니다.
VHDX 파일 다운로드
SDN은 Azure Stack HCI 또는 Windows Server OS(운영 체제)를 포함하는 VHDX 파일을 SDN VM(가상 머신)을 만들기 위한 원본으로 사용합니다.
참고 항목
VHDX의 OS 버전은 Azure Stack HCI Hyper-V 호스트에서 사용하는 버전과 일치해야 합니다. 이 VHDX 파일은 모든 SDN 인프라 구성 요소에서 사용됩니다.
VHDX 파일의 영어 버전을 다운로드하려면 Azure Portal에서 Azure Stack HCI 운영 체제 다운로드를 참조하세요. 언어 선택 드롭다운 목록에서 영어 VHDX를 선택해야 합니다.
현재 영어 이외의 VHDX 파일을 다운로드할 수 없습니다. 영어 이외의 버전이 필요한 경우 해당 ISO 파일을 다운로드하고 cmdlet을 사용하여 Convert-WindowsImage
VHDX로 변환합니다. Windows 클라이언트 컴퓨터에서 이 스크립트를 실행해야 합니다. 이 스크립트를 관리istrator로 실행하고 명령을 사용하여 Set-ExecutionPolicy
스크립트에 대한 실행 정책을 수정해야 할 수 있습니다.
다음 구문은 사용 Convert-WindowsImage
예제를 보여줍니다.
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
GitHub 리포지토리 다운로드
SDN Express 스크립트 파일은 GitHub에 있습니다. 첫 번째 단계는 배포 컴퓨터에 필요한 파일 및 폴더를 가져오는 것입니다.
Microsoft SDN GitHub 리포지토리로 이동합니다.
리포지토리에서 코드 드롭다운 목록을 확장한 다음 복제 또는 ZIP 다운로드를 선택하여 지정된 배포 컴퓨터에 SDN 파일을 다운로드합니다.
참고 항목
지정된 배포 컴퓨터에서 Windows Server 2016 이상을 실행해야 합니다.
ZIP 파일을 추출하고 배포 컴퓨터의
C:\
폴더에 폴더를 복사SDNExpress
합니다.
구성 파일 편집
PowerShell MultiNodeSampleConfig.psd1
구성 데이터 파일에는 다양한 매개 변수 및 구성 설정에 대한 입력으로 SDN Express 스크립트에 필요한 모든 매개 변수 및 설정이 포함되어 있습니다. 이 파일에는 네트워크 컨트롤러 구성 요소만 배포하는지 또는 소프트웨어 부하 분산 장치 및 게이트웨이 구성 요소만 배포하는지 여부에 따라 작성해야 하는 항목에 대한 특정 정보가 있습니다. 자세한 내용은 소프트웨어 정의 네트워크 인프라 계획 항목을 참조하세요.
폴더로 C:\SDNExpress\scripts
이동하고 즐겨 찾는 텍스트 편집기에서 파일을 엽니다 MultiNodeSampleConfig.psd1
. 인프라 및 배포에 맞게 특정 매개 변수 값을 변경합니다.
일반 설정 및 매개 변수
설정 및 매개 변수는 SDN에서 일반적으로 모든 배포에 사용됩니다. 특정 권장 사항은 SDN 인프라 VM 역할 요구 사항을 참조 하세요.
- VHDPath - 모든 SDN 인프라 VM에서 사용되는 VHD 파일 경로(NC, SLB, GW)
- VHDFile - 모든 SDN 인프라 VM에서 사용되는 VHDX 파일 이름
- VMLocation - SDN 인프라 VM에 대한 파일 경로입니다. UNC(유니버설 명명 규칙) 경로는 지원되지 않습니다. 클러스터 스토리지 기반 경로의 경우 다음과 같은 형식을 사용합니다.
C:\ClusterStorage\...
- JoinDo기본 - SDN 인프라 VM이 조인되는 기본
- SDNMacPoolStart - 클라이언트 워크로드 VM에 대한 MAC 풀 주소 시작
- SDNMacPoolEnd - 클라이언트 워크로드 VM에 대한 끝 MAC 풀 주소
- ManagementSubnet - NC에서 Hyper-V 호스트, SLB 및 GW 구성 요소를 관리하는 데 사용하는 관리 네트워크 서브넷
- ManagementGateway - 관리 네트워크의 게이트웨이 주소
- ManagementDNS - 관리 네트워크에 대한 DNS 서버
- ManagementVLANID - 관리 네트워크에 대한 VLAN ID
- Do기본JoinUsername - 관리자 사용자 이름입니다. 사용자 이름은 다음과 같은 형식
domainname\username
이어야 합니다. 예를 들어 do기본이contoso.com
면 사용자 이름을 .로contoso\<username>
입력합니다. 같은contoso.com\<username>
형식을 사용하지 마세요.username@contoso.com
- Local관리Do기본User - 로컬 관리자 사용자 이름입니다. 사용자 이름은 다음과 같은 형식
domainname\username
이어야 합니다. 예를 들어 do기본이contoso.com
면 사용자 이름을 .로contoso\<username>
입력합니다. 같은contoso.com\<username>
형식을 사용하지 마세요.username@contoso.com
- RestName - 관리 클라이언트(예: Windows 관리 Center)에서 NC와 통신하는 데 사용하는 DNS 이름
- RestIpAddress - 관리 네트워크에서 할당되는 REST API의 고정 IP 주소입니다. DNS 확인 또는 REST IP 기반 배포에 사용할 수 있습니다.
- HyperVHosts - 네트워크 컨트롤러에서 관리할 호스트 서버
- NCUsername - 네트워크 컨트롤러 계정 사용자 이름
- ProductKey - SDN 인프라 VM의 제품 키
- SwitchName - Hyper-V 호스트에 둘 이상의 가상 스위치가 있는 경우에만 필요합니다.
- VMMemory - 인프라 VM에 할당된 메모리(GB)입니다. 기본값은 4GB입니다.
- VMProcessorCount - 인프라 VM에 할당된 프로세서 수입니다. 기본값은 8입니다.
- 로캘 - 지정하지 않으면 배포 컴퓨터의 로캘이 사용됩니다.
- TimeZone - 지정하지 않으면 배포 컴퓨터의 현지 표준 시간대가 사용됩니다.
암호는 텍스트로 인코딩된 보안 문자열로 암호화된 경우 선택적으로 포함할 수 있습니다. 암호는 암호가 암호화된 동일한 컴퓨터에서 SDN Express 스크립트를 실행하는 경우에만 사용되며, 그렇지 않으면 다음 암호를 묻는 메시지가 표시됩니다.
- Do기본JoinSecurePassword - 할 일기본 계정
- Local관리SecurePassword - 로컬 관리자 계정
- NCSecurePassword - 네트워크 컨트롤러 계정
네트워크 컨트롤러 VM 섹션
SDN에는 최소 3개의 네트워크 컨트롤러 VM이 권장됩니다.
이 NCs = @()
섹션은 네트워크 컨트롤러 VM에 사용됩니다. 각 NC VM의 MAC 주소가 일반 설정에 나열된 범위 밖에 SDNMACPool
있는지 확인합니다.
- ComputerName - NC VM의 이름
- HostName - NC VM이 있는 서버의 호스트 이름
- ManagementIP - NC VM에 대한 관리 네트워크 IP 주소
- MACAddress - NC VM의 MAC 주소
소프트웨어 Load Balancer VM 섹션
SDN에는 최소 두 개의 소프트웨어 Load Balancer VM이 권장됩니다.
이 Muxes = @()
섹션은 SLB VM에 사용됩니다. 각 SLB VM의 MACAddress
매개 변수와 PAMACAddress
매개 변수가 일반 설정에 나열된 범위 밖에 SDNMACPool
있는지 확인합니다. 구성 파일에 지정된 PA 풀 외부에서 매개 변수를 가져와 PAIPAddress
야 하지만 구성 파일에 지정된 PASubnet의 일부인지 확인합니다.
SLB 구성 요소를 배포하지 않는 경우 이 섹션을 비워 둡니다(Muxes = @()
).
- ComputerName - SLB VM의 이름
- HostName - SLB VM이 있는 서버의 호스트 이름
- ManagementIP - SLB VM에 대한 관리 네트워크 IP 주소
- MACAddress - SLB VM의 MAC 주소
- PAIPAddress - SLB VM에 대한 공급자 PA(네트워크 IP 주소)
- PAMACAddress - SLB VM에 대한 PA(공급자 네트워크 IP 주소)
게이트웨이 VM 섹션
SDN에는 최소 2개의 게이트웨이 VM(활성 VM 1개 및 중복 1개)이 권장됩니다.
이 Gateways = @()
섹션은 게이트웨이 VM에 사용됩니다. 각 게이트웨이 VM의 매개 변수가 일반 설정에 SDNMACPool
나열된 범위 밖에 있는지 확인 MACAddress
합니다. BackendMac
범위 FrontEndMac
내에 SDNMACPool
있어야 합니다. 범위의 끝에서 매개 변수와 BackendMac
매개 변수를 가져오는 FrontEndMac
지 확인합니다SDNMACPool
.
게이트웨이 구성 요소를 배포하지 않으면 이 섹션을 비워 둡니다(Gateways = @()
).
- ComputerName - 게이트웨이 VM의 이름
- HostName - 게이트웨이 VM이 있는 서버의 호스트 이름
- ManagementIP - 게이트웨이 VM에 대한 관리 네트워크 IP 주소
- MACAddress - 게이트웨이 VM의 MAC 주소
- FrontEndMac - 게이트웨이 VM에 대한 공급자 네트워크 프런트 엔드 MAC 주소
- BackEndMac - 게이트웨이 VM에 대한 공급자 네트워크 백 엔드 MAC 주소
SLB 및 게이트웨이에 대한 추가 설정
다음 추가 매개 변수는 SLB 및 게이트웨이 VM에서 사용됩니다. SLB 또는 게이트웨이 VM을 배포하지 않는 경우 다음 값을 비워 둡니다.
- SDNASN - SDN에서 네트워크 스위치와 피어하는 데 사용하는 ASN(자치 시스템 번호)
- RouterASN - 게이트웨이 라우터 ASN
- RouterIPAddress - 게이트웨이 라우터 IP 주소
- PrivateVIPSubnet - 프라이빗 서브넷 에 대한 VIP(가상 IP 주소)
- PublicVIPSubnet - 공용 서브넷 에 대한 가상 IP 주소
다음 추가 매개 변수는 게이트웨이 VM에서만 사용됩니다. 게이트웨이 VM을 배포하지 않는 경우 다음 값을 비워 둡니다.
PoolName - 모든 게이트웨이 VM에서 사용하는 풀 이름
GRESubnet - GRE용 VIP 서브넷(GRE 연결을 사용하는 경우)
용량 - 풀의 각 게이트웨이 VM에 대한 Kbps 용량
RedundantCount - 중복 모드의 게이트웨이 수입니다. 기본값은 1입니다. 중복 게이트웨이에는 활성 연결이 없습니다. 활성 게이트웨이가 다운되면 해당 게이트웨이의 연결이 중복 게이트웨이로 이동하고 중복 게이트웨이가 활성화됩니다.
참고 항목
RedundantCount에 대한 값을 입력하는 경우 게이트웨이 VM의 총 수가 RedundantCount보다 하나 이상 많은지 확인합니다. 기본적으로 RedundantCount 는 1이므로 게이트웨이 연결을 호스트하는 활성 게이트웨이가 1개 이상 있는지 확인하려면 게이트웨이 VM이 2개 이상 있어야 합니다.
테넌트 오버레이 네트워크에 대한 설정
테넌트에 대한 오버레이 가상화된 네트워크를 배포하고 관리하는 경우 다음 매개 변수가 사용됩니다. 네트워크 컨트롤러를 사용하여 기존 VLAN 네트워크를 관리하는 경우 이러한 값을 비워 둘 수 있습니다.
- PASubnet - PA(공급자 주소) 네트워크의 서브넷
- PAVLANID - PA 네트워크에 대한 VLAN ID
- PAGateway - PA 네트워크 게이트웨이의 IP 주소
- PAPoolStart - PA 네트워크 풀의 시작 IP 주소
- PAPoolEnd - PA 네트워크 풀의 끝 IP 주소
HNV(Hyper-V 네트워크 가상화) 공급자 논리 네트워크가 IP 주소를 할당하는 방법은 다음과 같습니다. 이를 사용하여 HNV 공급자 네트워크의 주소 공간을 계획할 수 있습니다.
- 각 물리적 서버에 두 개의 IP 주소를 할당합니다.
- 각 SLB MUX VM에 하나의 IP 주소를 할당합니다.
- 각 게이트웨이 VM에 하나의 IP 주소를 할당합니다.
배포 스크립트 실행
SDN Express 스크립트는 지정된 SDN 인프라를 배포합니다. 스크립트가 완료되면 SDN 인프라를 VM 워크로드 배포에 사용할 준비가 됩니다.
배포 스크립트를
README.md
실행하는 방법에 대한 최신 정보를 보려면 파일을 검토합니다.클러스터 호스트 서버에 대한 관리 자격 증명을 사용하여 사용자 계정에서 다음 명령을 실행합니다.
SDNExpress\scripts\SDNExpress.ps1 -ConfigurationDataFile MultiNodeSampleConfig.psd1 -Verbose
NC VM을 만든 후 DNS 서버에서 네트워크 컨트롤러 클러스터 이름에 대한 동적 DNS 업데이트를 구성합니다. 자세한 내용은 동적 DNS 업데이트를 참조 하세요.
구성 샘플 파일
SDN을 배포하기 위한 다음 구성 샘플 파일은 Microsoft SDN GitHub 리포지토리에서 사용할 수 있습니다.
기존 VLAN networks.psd1 - 기존 VLAN 네트워크에서 마이크로 세그멘션 및 서비스 품질과 같은 네트워크 정책을 관리하기 위한 네트워크 컨트롤러를 배포합니다.
가상화된 networks.psd1 - 가상 네트워크에서 가상 네트워크 및 네트워크 정책을 관리하기 위한 네트워크 컨트롤러를 배포합니다.
소프트웨어 Load Balancer.psd1 - 가상 네트워크에서 부하 분산을 위해 네트워크 컨트롤러 및 소프트웨어 Load Balancer를 배포합니다.
SDN Gateways.psd1 - 외부 네트워크에 연결하기 위해 네트워크 컨트롤러, 소프트웨어 부하 분산 장치 및 게이트웨이를 배포합니다.
SDN 네트워크 컨트롤러 다시 배포
네트워크 컨트롤러 배포가 실패하거나 다시 배포하려는 경우 다음을 수행합니다.
모든 서버 노드에서 모든 네트워크 컨트롤러 VM 및 해당 VHD를 삭제합니다.
이 명령을 실행하여 모든 호스트에서 다음 레지스트리 키를 제거합니다.
Remove-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Services\NcHostAgent\Parameters\' -Name Connections Remove-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Services\NcHostAgent\Parameters\' -Name NetworkControllerNodeNames
레지스트리 키를 제거한 후 Windows 관리 Center 관리에서 클러스터를 제거한 다음 다시 추가합니다.
참고 항목
이 단계를 수행하지 않으면 Windows 관리 Center에 SDN 배포 마법사가 표시되지 않을 수 있습니다.
(네트워크 컨트롤러를 제거하고 다시 배포하지 않으려면 추가 단계) Azure Stack HCI 클러스터의 모든 서버에서 다음 cmdlet을 실행한 다음 마지막 단계를 건너뜁니다.
Disable-VMSwitchExtension -VMSwitchName "<Compute vmswitch name>" -Name "Microsoft Azure VFP Switch Extension"
배포 마법사를 다시 실행합니다.