Category Archives: Windows Server 2012 R2

Automate the installation of Hyper-V VMintegration services with PowerShell

Tired of installing VM integration services manually in your Hyper-V environment? Here´s a script to help you with that!

Tip, this hotfix requires reinstallation of all your VMs integration services: Https://support.microsoft.com/en-us/kb/3063283

This script only works on x64 machines!

vmint

Begin Script
========================================================================================================

<#
Powershell Script for updating of Hyper-V Integration Services
2015-11-23 Harri Förberg, Förbergs IT AB
http://itharri.com
http://www.forbergsit.se
Warning, this script could potentially reboot a lot of VM:s in rapid succession. Use wisely, and with caution.
Prequisites: Mount and copy the contents of C:\Windows\System32\vmguest.iso (found on your Hyper-V host), copy the content to a shared folder on the server that will used to execute the script
C:\Temp\IntegrationSvc is used in the script below
— You might need to have you GPO:s adjusted to allow file copy from the server where you execute this script. —
#>

# Fill the latest Integration Services number here
$ICSVer = ”6.3.9600.17831” # This was the latest version 2015-11-23 (Delivered in a Hotfix – https://support.microsoft.com/en-us/kb/3063283)

#Specify your list of all Hyper-V Hosts
$HPVServer = ”HPV01” , ”HPV02” # <– Change to your servers

# Check all Running VM:s on all HPV hosts for ICS versions lower than our preset in line >> 13
$VMNames = Get-VM -ComputerName $HPVServer | ? {$_.IntegrationServicesVersion -lt $ICSVer -and $_.State -eq ”Running”} # This would be a good place to narrow your search parameters

# Check if any VM:s are in need of updating
if
($VMNames -eq $null) {Write-Host ”No VM:s detected with old versions” -ForegroundColor Red}
else
{
Write-Host ”Found VM:s with old Integration Services, starting upgrade process” -ForegroundColor Green

# Install Integration Services on VMs
foreach ($VirtualMachine in $VMNames)
{
$VMName = $VirtualMachine.VMName

# If copy fails here, check firewall rules on your client server.
write-host ”Copying installation files to $VMName
Copy-Item -Path C:\Scripts\IntegrationSvc -Destination ”\\$VMName\C$\temp\IntegrationSvc” -Recurse -Force
write-host ”Installing integration services…”
$scriptblock = {cmd.exe /C ”C:\Temp\IntegrationSvc\support\amd64\setup.exe /quiet /norestart”} # <– ADD or Remove /norestart if you want or dont want to reboot all VM:s after the installation completes!
Invoke-Command -scriptblock $scriptblock -computername $VMName
# Cleanup of copied installation files
write-host ”Cleanup…”
Remove-Item -Path ”\\$VMName\C$\temp\IntegrationSvc” -Recurse -Force
# Display Status
Write-Host $VMName updated” -ForegroundColor Green
}
}
Write-Host ”All done” -ForegroundColor DarkMagenta

========================================================================================================

End Script

Bra artikel om hur du övervakar RAM i VMs med dynamiskt minne

Jag har ofta fått förklara varför och hur det skiljer sig med dynamiskt minne, här är en riktigt bra och lättläst artikel i ämnet.

http://fastvue.co/tmgreporter/blog/understanding-hyper-v-dynamic-memory-dynamic-ram

12

Hjälp, klustret svarar inte!

Det är knappast en trevlig känsla när man inser att SCOM larmar, VMM säger att den inte har kontakt med Filservern, samt när du loggar in på SOFS klusternoderna, eller rättare sagt, från din administrationsmaskin startar Failover Cluster Manager och inser att du inte ens kan koppla upp dig mot klustret.

Följande har nu hänt mig ett par gånger hos lite olika kunder. Och lösningen är som tur är hyffsat enkel också.

  1.  Ha lite is i magen, dina VM:s snurrar, så diskarna är uppe. Andas ut och starta PowerShell.
  2. Kontrollera status för ditt kluster ”Get-Cluster samt Get-ClusterNode” är bra verktyg för det.
    1. Troligen visar den nu att båda är i state ”UP”
  3. Pausa ena klusternoden, Suspend-ClusterNode ”ServerNamn” -DrainRoles
  4. På den servern som du nu stoppade, så startar du om klustertjänsten ”Restart-Service ClusSvc”
  5. Starta klustret igen med ”Resume-ClusterNode ”ServerNamn”
  6. Upprepa sedan proceduren med den andra noden.

Nu kommer du att upptäcka att du kan starta GUI verktygen mot Klustret igen.

När läget är under kontroll, så kan det vara läge för lite standard MS felsökning, dvs pausa en av noderna och starta om dom vi ordning.

Varför inträffar detta då, jag har märkt detta vid hårvaru/nätverksproblem. Men det kan mycket väl vara andra orsaker som att klusternoderna har olika patchnivåer osv.

/itHarri

Hitta & byt ut dåliga HDD i Storage Spaces

Min labserver hade börjat bete sig ”underligt” och till slut kom jag fram till att en hårddisk hade börjat få många läsfel. Nedan en kort beskrivning om hur du kan felsöka och byta ut diskar i Storage Spaces.

diskhealth

Två av hårddiskarna vägrar att svara på storage health rapporten, så dessa är troligen ganska rökta, låt oss kolla vad loggboken säger.

Misstankarna blir bekräftade här, så vi byter båda dessa diskarna. Den första disken rasade redan för ett par veckor sedan och jag tog den ur drift (och gjorde en repair)

Men nu har alltså en disk till rasat under tiden jag fixat fram en reservdisk. Så jag kommer börja med att byta ut min disk som är ”Retired” med en helt ny disk, sedan kommer jag byta ut disk nummer två.

Bytte sedan hårddisken, och startade en reparation av den virtuella disken.

Kollade i loggen, det här gick ju inget vidare, speciellt med tanke på att det sitter en helt tom disk i poolen…

Då min andra hårddisk fortfarande bråkade beslutade jag för att sätta även den som retired nu.

Get-PhysicalDisk PhysicalDisk5 | Set-PhysicalDisk -Usage Retired

Jag tog sedan bort den första av mina ”Retired Disks, den jag fysiskt bytt ut. (Viktigt, när denna rasade, hade jag redan slutfört ett ”repair job”, ta inte bort en retired disk innan du ombalanserat diskarna, även om du rent fysiskt tagit bort disken!

Körde sedan om repair jobbet, som kickade igång fint denna gången.

 

Bonus material

Vill du larma om diskar över mail? (Om du nu mot förmodan inte har SCOM för detta)

Spara nedan till en ps1 fil, aktivera sedan den från Eventloggen som en eventrigger

$diskinfo Get-WinEvent -LogName ”Microsoft-Windows-StorageSpaces-Driver/Operational” ID -EQ ”203” select -First FL Out-String
$smtp New-Object Net.Mail.SmtpClient(”yourmailserver.mail.protection.outlook.com”$smtp.Send(”DiskAlert@yourdomain.com”,”itharri@yourdomain.com”,”Diskfailure”,$diskinfo)

 

Låt den sedan öppna din PowerShell snurra för att skicka larm.

 

Viktig update Rollup för Windows/SOFS

För alla er som kör Windows Server 2012 R2 med Hyper-V och SMB3 storage spaces så är denna patch extremt viktig. Den löser bland annat problemen med att CSV diskarna ibland tappas under backup/extrem stress, eller när underhållsjobb på dessa körs under natten.

Många fler uppdateringar finns i denna relativt stora patch (723,9MB)

Mera info här: http://support.microsoft.com/kb/3000850/en

KB3000850

System Center UR 4 är nu släppt

  • En hel drös med uppdateringar för VMM, läs på innan du patchar som vanligt. Glöm inte att uppdatera era SCOM MP & VMM Agenter på hostar & Infrastrukturservrar (Som Scale-Out Fileservers) Se tidigare bloggposter här & här
  • DPM Stödjer nu backup av SQL 2014 samt SQL 2012 SP2. Backup till Azure förfarande är förenklat, och glöm nu inte uppdatera DPM Agenterna!
  • Mindre uppdateringar för SCOM problem, inga ”features” denna gång.

http://support2.microsoft.com/kb/2992012/en-us?sd=rss&spid=13859

 

Hyper-V VMs hänger sig vid DPM backup

Hjälpte en kund idag med att deras 2012 R2 Hyper-V lösning får hängda VM:s då och då när DPM backar upp dom. Microsoft har släppt en hotfix för detta ifall du har liknande problem.

http://support2.microsoft.com/kb/2964439/en-us

hotfix

Bli inte förvirrad av att det står Windows 8.1 i artikeln, patchen gäller för både 2012 R2 och Win 8.1.

itHarri

 

SQL 2012 krachar efter SCCM 2012 R2 installation

Hjälpte en kollega idag med felsökning på varför SCCM 2012 R2 krachade SQL tjänsterna varje gång SCCM servern startades om, efter initiala installationen av SCCM. (SCCM installationen gick igenom utan fel)

Ledtrådar till felet:

EventViewern: EventID 26014 Unable to load user-specified certificate [Cert Hash(sha1) ”A3B….913C”]. The server will not accept a connection. You should verify that the certificate is correctly installed.

Det fanns mycket riktigt ett certifikat i personal store (local computer), som nyckeln i eventidt matchade med, men den var skapad av VMM:s agenten för Infrastrukturunderhåll. Och den kunde man inte hantera dom privata nycklarna på, så SQL servicen kunde inte skriva in sina rättigheter på certet, och därmed kunde den inte starta upp igen efter en omstart av SQL tjänsten.

Lösningen: Läste tillbaka från DPM till punkten innan SCCM installationen, avinstallerade VMM Agenten, som automatiskt tog bort certifikatet med samma datornamn.

Installerade SCCM, såg att nu lades SCCM SQL cert upp utan problem. Provade efteråt, det gick alldeles utmärkt att lägga på VMM agenten igen utan att det blev problem (för VMM eller SCCM).

Detta tips borde även fungera för andra apps som skapat ett certifikat med samma namn som SCCM servern. (dvs prova ta bort certet innan installationen, är du osäker, exportera ut certet)

/ITHarri

Baremetal deploy utan PXE i VMM?

Om du har flera PXE på samma nät kan det ibland vara knepigt att få till en boot även för VMM. Så jag har en ”workaround” för det. Fungerar även bra för remote kontor m.m.

De flesta servrar klarar av att mounta upp en ISO fil remote, och i AIK finns verktygen för att skapa en sådan.

Några enkla steg för att skapa ISO filen som kör WinPE boot åt dig.

1. Starta Deployment and Imaging Tools Environment på VMM servern (CMD)

2. Kör kommandot: ”copype amd64 C:\WinPE_amd64”

3. Kopiera sedan över allt i den mappen från C:\RemoteInstall\DCMgr (om du har WDS på VMM:en annars från den maskinen)

4. Skapa ISO filen av mappen med kommandot ”MakeWinPEMedia /ISO C:\winpe_amd64 c:\winpe_amd64\winpe.iso”

5. Kopiera ISO filen till maskinen som du har ILO (iDrac m.m) konsolen och mounta upp filen, starta BareMetal deploy som vanligt, och boota upp från ISO filen!

Svårare än så är det inte!

/Harri

Hyper-V Remote Management Configuration Utility (HVRemote)

HVRemote är ett gratis verktyg som hjälper dig att konfigurera, men även felsöka Hyper-V hostar som du skall fjärrhantera. Perfekt för Core maskiner.