Vytvoření virtuálního počítače pomocí Windows PowerShellu

Vytvoření virtuálního počítače pomocí Windows PowerShellu

Nyní si ukážeme velice efektivní způsob vytváření virtuálních počítačů, které ušetří spoustu času a také dost místa na disku.

Nejprve si vytvoříme adresářovou strukturu pro ukládání virtuálních počítačů vč. základních (base) disků. Můžeme je vytvořit pomocí příkazového řádku. Pro ukázku vytvářím adresářovou strukturu na systémovém disku, ale určitě doporučuji využít pro tento adresář jiný disk než je systémový.

md „C:\Virtual PC“
md „C:\Virtual PC\Hyper-V“
md „C:\Virtual PC\Hyper-V\Base“

Do adresáře C:\Virtual PC\Hyper-V\Base si nakopírujeme obrazy (image) disků s operačním systémem, které budou dále sloužit jako základní (base) disky pro virtuální počítače. Tyto soubory s operačním systémem si můžeme vytvořit sami, ale pro jednoduchost je lze také stáhnout přímo ze stránek Microsoftu, což jsem psal v tomto článku.

Soubor v Base adresáři nazveme takto:
Server_serverdatacentereval_en-us_1.vhd.

Po nakopírování souboru s operačním systémem doporučuji nastavit atribut souboru pouze pro čtení. Důvod je ten, že pro vytváření všech virtuálních počítačů se využívá tento základní (base) soubor. Při jakékoliv změně tohoto souboru by již nebylo možné spustit žádný virtuální počítač, který tento soubor využívá.

Nyní si v adresáři Virtual PC založíme Windows PowerShell Skript pro vytvoření virtuálního disku

Skript je rozdělen do 4 částí:

1. část – zadání základních údajů pro vytvoření virtuálního počítače

# VMName = Zde zadáme název virtuálního počítače
# VMNetwork = Zde zadáme název virtálního přepínače (síťové připojení)

$VMName = Read-Host „VM host name: „
$VMNetwork = Read-Host „Name of the network switch: „

2. část – vytvoření nového virtuálního počítače

Zde se pomocí příkazu New-VM vytvoří nový virtuální počítač
– Name $VMName – název virtuálního počítače
– MemoryStartupBytes – velikost RAM v MB
– SwitchName – název virtuálního přepínače
– Path – cesta, kam se virtuální počítač vytvoří
– Verbose – detailnější výpis v průběhu vytváření virtuálního počítače

New-VM –Name $VMName –MemoryStartupBytes 4096MB -SwitchName $VMNetwork -Path ‚.\Hyper-V‘ -Verbose

3. část – vytvoření systémového disku

Za pomocí této části skriptu se založí rozdílový disk od základního (base) disku. To znamená, že základní disk bude využíván pouze pro čtení a veškeré změny se budou provádět pouze na rozdílovém disku.

$VMPath = ‚.\Hyper-V\‘ + $VMName + ‚\Virtual Hard Disks\‘ + $VMName + ‚.vhd‘
New-VHD –ParentPath ‚.\Hyper-V\Base\Server_serverdatacentereval_en-us_1.vhd‘ –Path $VMPath -Differencing

4. část – připojení nově vytvořeného disku k vytvořenému virtuálnímu počítači

Add-VMHardDiskDrive $VMName -Path $VMPath

Soubor si uložíme např. s názvem Create-new-WM-WIN2019-DataCenter.ps1 a uložíme si jej do adresáře Virtual PC.

A nyní se můžeme již pustit do vytváření nových virtuálních počítačů.

Spustíme Windows PowerShell s oprávněním správce (as administrator)

Přejdeme do adresáře, kde máme uložený tento skript. V mém případě je to PS C:\Windows\system32> cd\
PS C:> cd ‚.\Virtual PC\‘

Dále spustíme skript.

PS C:\Virtual PC> .\Create-new-WM-WIN2019-DataCenter.ps1

Jak je vidět, tak skript doběhl v pořádku a virtuální počítač se vytvořil s rozdílovým diskem.

V detailech nastavení je vidět, že:
paměť je nastavena na 4096 MB
Network Adapter je nastaven na External Network.

Při kontrole velikosti adresáře s virtuálním počítačem můžeme vidět, že disk je opravdu rozdílový, protože velikost celého disku s předinstalovaným systémem má velikost necelých 5 MB

Po spuštění operačního systému s rozdílovým diskem tento virtuální počítač zabírá pouhých 2.8 GB na disku.

Takže např. při vytvoření 5 virtuálních serverů máme obsazeno pouze 24 MB.

Dále je vidět, že jsem pomocí Windows PowerShellu založil 5 virtuálních počítačů do jedné minuty. Takže je tento způsob velice efektivní i při vytváření větších testovacích prostředí (LABů), které sestávají z několika virtuálních počítačů.

Já osobně si takto vytvářím LABy, které mají od 8 – 13 virtuálních počítačů. Více bohužel nemůžu, protože mi to nedovoluje hardware mého počítače.