to fix up the paths for the VM’s after moving from one volume to another:
$oldPath = "C:\Users\Public\Documents\Hyper-V\Virtual Hard Disks" $newPath = "D:" get-vm | Get-VMHardDiskDrive | ? path -Like $path* | %{Set-VMHardDiskDrive -VMHardDiskDrive $_ -Path $_.path.Replace($oldPath, $newPath)}
A couple of details on this answer:
Mount-VHD -Path "E:\hyperV.vhd"
single driver
Dism /Image:C:\test\offline /Add-Driver /Driver:C:\drivers\mydriver.inf
recursive
Dism /Image:F:\ /Add-Driver /Driver:e:\2012r2 /Recurse
Dismount image
Dismount-VHD -Path "E:\hyperV.vhd"
Je třeba přidat uživateli NT VIRTUAL MACHINE\<ID> full access práva na daný vhd soubor:
icacls <Path of .vhd or .avhd file> /grant "NT VIRTUAL MACHINE\<Virtual Machine ID>":F
dism /online /enable-feature /featurename:NetFx2-ServerCore dism /online /enable-feature /featurename:NetFx3-ServerCore
Zdroj: http://www.altaro.com/hyper-v/enabling-hyper-v-guest-console-in-server-core-2/
Krok za krokem postup je na http://technet.microsoft.com/en-us/library/ee731893(v=ws.10).aspx
Instalace Hyper-V serveru na FLASH disk http://blogs.msdn.com/b/virtual_pc_guy/archive/2009/11/18/booting-hyper-v-r2-off-a-usb-stick.aspx
http://technet.microsoft.com/en-us/library/jj733589.aspx – doplnění pro verzi 2012
http://social.technet.microsoft.com/wiki/contents/articles/121.aspx – This is a list of tools, resources, and external links to download and learn about those tools.
potřeba nastartovat službu pro iSCSI
sc config MSiSCSI start= auto net start MSiSCSI
nastavit správné závislosti služeb pro iSCSI (u LanManServeru), pozor, pokud se nastaví špatné závislosti pro lanman službu, tak přestanou fungovat sdílené složky.
sc config lanmanserver depend= SamSS/Srv/MSiSCSI
Poznámky k lanman:
a pak přes GUI program na R2 přidat samotné targety
iscsicpl
inicializace disku RAW disku http://social.technet.microsoft.com/Forums/en/winserverfiles/thread/0eb69611-487a-4ae4-95ed-339263c5582a
DISKPART> RESCAN DISKPART> SELECT DISK n DISKPART> ONLINE DISK DISKPART> CONVERT MBR DISKPART> OFFLINE DISK
offline na konci je proto, aby šel dát jako pass through k virtuálu (a bootovací dávat jen na ATA Controller)
If the Pass-through disk will be used to boot the operating system, it must be attached to an IDE Controller. Data disks can take advantage of SCSI controllers.
pripadne: http://blogs.technet.com/b/askcore/archive/2008/10/24/configuring-pass-through-disks-in-hyper-v.aspx
http://projectdream.org/wordpress/2009/07/31/hyper-v-server-2008-r2-live-migration-failover-clustering/ http://www.markwilson.co.uk/blog/2009/07/running-windows-from-a-usb-flash-drive.htm http://blogs.technet.com/stephenrose/archive/2009/07/28/a-bootable-usb-utility-to-create-bootable-usb-drives-for-win-7-and-server-2008.aspx http://www.mydigitallife.info/2009/07/15/how-to-install-windows-7-or-vista-from-bootable-portable-usb-flash-memory-key-or-hard-disk-drive/ http://blogs.technet.com/askcore/archive/2008/10/24/configuring-pass-through-disks-in-hyper-v.aspx
Hyper-V Server R2 už má v sobě PowerShell, spustit se dá takto:
Aby to fungovalo, tak je třeba:
start /w ocsetup MicrosoftWindowsPowerShell
Potom si otevřeme PowerShell okno takto:
start C:\Windows\System32\WindowsPowerShell\v1.0\PowerShell.exe
Jak ovládat Hyper-V server z Windows 7
runas /savecred /user:myshcz$ "elevate.cmd mmc \"C:\Program Files\Hyper-V\virtmgmt.msc\""
C:\Windows\System32\cmd.exe /s /c "runas /savecred /user:myshcz$ "elevate.cmd mmc \"C:\Program Files\Hyper-V\virtmgmt.msc\"""
(/savecred uloží heslo na které se poprvé zeptá) a ikonkou z %ProgramFiles%\Hyper-V\SnapInAbout.dll
$NLMType = [Type]::GetTypeFromCLSID(‘DCB00C01-570F-4A9B-8D69-199FDBA5723B’) $INetworkListManager = [Activator]::CreateInstance($NLMType) $NLM_ENUM_NETWORK_CONNECTED = 1 $NLM_NETWORK_CATEGORY_PUBLIC = 0x00 $NLM_NETWORK_CATEGORY_PRIVATE = 0x01 $INetworks = $INetworkListManager.GetNetworks($NLM_ENUM_NETWORK_CONNECTED) foreach ($INetwork in $INetworks) { $Category = $INetwork.GetCategory() if (!$INetwork.IsConnectedToInternet -and ($Category -eq $NLM_NETWORK_CATEGORY_PUBLIC)) { $INetwork.SetCategory($NLM_NETWORK_CATEGORY_PRIVATE) } }
uložit jako firewall.ps1 (důležitá je přípona ps1) a pak spustit
powershell.exe c:\firewall.ps1
v PS> je třeba ještě povolit spuštění
PS> set-executionpolicy remotesigned
a pro private profil vypnout firewall
netsh advfirewall set privateprofile state off
$daily2AM = New-JobTrigger -Daily -At "2:00 AM" Register-ScheduledJob -Name RestartMujPC123 -ScriptBlock {Restart-VM "MujPC 123" -Force} -Trigger $daily2AM
pro připojení do internetu používáme Public profile firewallu, který ve výchozím neodpovídá na ping, to jde změnit takto
netsh firewall set icmpsetting 8
pro zakázání
netsh firewall set icmpsetting 8 disable
resp.
netsh advfirewall firewall add rule name=”ICMP Allow incoming V4 echo request” protocol=icmpv4:8,any dir=in action=allow
netsh interface ipv4 show interfaces netsh interface ipv4 set address name="" source=static address= mask= gateway=
Where:
na počítači, ze kterého se připojujeme musíme Hyper-V server dát mezi Trusted Hosts, což jde pomocí příkazu
winrm set winrm/config/client @{TrustedHosts="jmeno-hyperv-serveru")