VMware powerCLI + Power Shell 대량 복제 가상 머 신 구현
기능: 많은 템 플 릿 을 기록 해서 지 웠 을 뿐 중복 되 는 코드 가 많 습 니 다. 주로 이것 입 니 다. switch 구문 에 Vcenter 환경 과 템 플 릿 을 추가 할 수 있 습 니 다.
용법: 스 크 립 트 를 실행 한 후 로그 인 할 Vcenter 환경 (개발, 테스트, 생산) 을 선택 하 십시오. > 가상 컴퓨터 를 복제 할 근거 가 있 는 템 플 릿 을 선택 하 십시오. > 설정 할 가상 컴퓨터 IP 의 끝 (그림 1, 243 - 243 복제 한 대) 또는 243 - 250 (192.168.100.243 - 192.168.100.100.250 복제 8 대) 을 선택 하여 리 턴 을 확인 하 십시오.
PowerShell 코드 는 다음 과 같 습 니 다.
#
$NJPLResourcePool="Dell_Cluster01"
$Script:NJPLResourcePool
$NJPLdataStore="DISK04"
$Script:NJPLdataStore
$NJPLvmName_prefix="NJPL014"
$Script:NJPLvmName_prefix
$NJPLvmIP_prefix ="192.168.100"
$Script:NJPLvmIP_prefix
$NJPLvmIP_mask ="255.255.255.0"
$Script:NJPLvmIP_mask
$NJPLvmIP_gateway ="192.168.100.1"
$Script:NJPLvmIP_gateway
$VCSAResourcePool="Cluster02"
$Script:VCSAResourcePool
$VCSAdataStore="vsanDatastore (1)"
$Script:VCSAdataStore
$VCSAvmName_prefix="NJPL020"
$Script:VCSAvmName_prefix
$VCSAvmIP_prefix ="192.168.200"
$Script:VCSAvmIP_prefix
$VCSAvmIP_mask ="255.255.255.0"
$Script:VCSAvmIP_mask
$VCSAvmIP_gateway ="192.168.200.1"
$Script:VCSAvmIP_gateway
#
function FNJPL4C8G30G()
{
$vmTemplate="RHEL6.8_4U_8G_30G201880517"
$vmIPstep =1
$IPstart=Read-Host " IP IP"
$IPEnd=Read-Host " IP IP"
Write-Host ' ? !!' -NoNewline
$null = [Console]::ReadKey('?')
$custSysprep = Get-OSCustomizationSpec Rhel6.8113P
$i=[int]$IPstart
while (($i -ge [int]$IPstart) -and ($i -le [int]$IPEnd))
{
$vmIP="$NJPLvmIP_prefix.$i"
$vmName="$NJPLvmName_prefix$i"
$custSysprep | Get-OSCustomizationNicMapping | Set-OSCustomizationNicMapping -IpMode UseStaticIP -IpAddress $vmIP -SubnetMask $NJPLvmIP_mask -DefaultGateway $NJPLvmIP_gateway
New-VM -ResourcePool $NJPLResourcePool -Name $vmName -Template $vmTemplate -Datastore $NJPLdataStore -OSCustomizationspec $custSysprep
$i=$i+$vmIPstep
Get-VM -Name $vmName | Start-VM
}
$custSysprep | Get-OSCustomizationNicMapping | Set-OSCustomizationNicMapping -IpMode PromptUser -SubnetMask $NJPLvmIP_mask -DefaultGateway $NJPLvmIP_gateway
}s
function C7FNJPL8C8G30G()
{
$vmTemplate="Centos7_8U_8G_30G_20180427"
$vmIPstep =1
$IPstart=Read-Host " IP IP"
$IPEnd=Read-Host " IP IP"
Write-Host ' ? !!' -NoNewline
$null = [Console]::ReadKey('?')
$custSysprep = Get-OSCustomizationSpec Rhel6.8113P
$i=[int]$IPstart
while (($i -ge [int]$IPstart) -and ($i -le [int]$IPEnd))
{
$vmIP="$NJPLvmIP_prefix.$i"
$vmName="$NJPLvmName_prefix$i"
$custSysprep | Get-OSCustomizationNicMapping | Set-OSCustomizationNicMapping -IpMode UseStaticIP -IpAddress $vmIP -SubnetMask $NJPLvmIP_mask -DefaultGateway $NJPLvmIP_gateway
New-VM -ResourcePool $NJPLResourcePool -Name $vmName -Template $vmTemplate -Datastore $NJPLdataStore -OSCustomizationspec $custSysprep
$i=$i+$vmIPstep
Get-VM -Name $vmName | Start-VM
}
$custSysprep | Get-OSCustomizationNicMapping | Set-OSCustomizationNicMapping -IpMode PromptUser -SubnetMask $NJPLvmIP_mask -DefaultGateway $NJPLvmIP_gateway
}
#
function FNJPL()
{
Connect-VIServer -Server 192.168.1.200 -User "[email protected]" -Password "Vcenterpasswd"
$FNJPL_CONFIG_ENV=Read-Host "
(1) RHEL6.8_4U_8G_30G
(2) Centos7_8U_8G_30G
(1/2/3/4/5/6) "
switch($FNJPL_CONFIG_ENV)
{
1 {FNJPL4C8G30G}
2 {C7FNJPL8C8G30G}
Default{" , !"}
}
}
#
$NJPL_Virtual_ENV=Read-Host "
(1) SIT
(2)
(3)
(1/2/3) "
switch($NJPL_Virtual_ENV)
{
1 {TEST} #SIT
2 {DEVOP}#
3 {FNJPL}#
Default{" , !"}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
nginx 지원tcp_proxy_module nginx 설치 (1.9.9 버 전)2. 높 은 버 전의 nginx (1.10 이상?) 는 제3자 모듈 nginx 를 지원 하지 않 습 니 다.tcp_proxy_module 의 설치; 3. 높 은 버 전의 nginx 는 자체 tcp 부하 균형 설정 (...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.