-
Microsoft ha rilasciato una hotfix per risolvere un problema piuttosto subdolo, che si innesca nell'uso di VSS per fare backup di Virtual Machines su host Windows Server 2008 R2 / Windows Hyper-V Server 2008 R2. In breve, il VSS provider crea un nuovo device/volume per ciascuno shapshot effettutato, non rimuovendo mai queste informazioni dal registry, che crescerà a dismisura.
Ambienti partciolamente a rischio sono quelli basati su DPM 2007/2010, specie se i numeri di VM/VHD e la frequenza degli snapshot è elevata. Al limite (quando il numero di volumi supera qualche migliaio), l'host potrevbbe apparire "hung" al boot, o non completare mai il boot).
Il bug NON riguarda Hyper-V V1 di Windows Server 2008, anche se alcuni post su Internet affermano il contrario.
L'articolo (KB982210) pubblicato, ha diversi errori e imprecisioni, che rendono la comprensione e l'dentificazione del problema non proprio trasparente e semplice.
- Le chiavi del registry indicate, sono o imprecise (la prima suggeria non cambia mai nel tempo) o sono assolutamete specifiche di un server e potreste non ritrovarle affatto sul vostro host
- Alcuni rifermenti sono a 'ControlSet001', guardate invece sempre dentro a 'CurrentControlSet'
- Il titolo dell'articolo parla di "after you back up the data on all the disks of the computer in Windows Server 2008 R2 if the computer runs some virtual machines", in realtà il problema si presenta SEMPRE, non solo se salvate TUTTI i dischi, basta innescare il VSS Provider per Hyper-V anche solo per un System State di una VM
- L'articolo indica un supposto comando "devnodeclean", che NON esiste
Potrebbe essere un tool da richiedere al PSS, o da compilarsi da soli usando il codice di esempio nell'altra KB linkata ...ma non è chiaro e francamente mi pare un pò troppo !
Per semplificarmi la vita, ho scritto una piccola script Powershell 2.0, per verificare il numero di Volumi/Device presenti su una lista di hosts Hyper-V. Ha come prerequisito la funzionalità di Remoting, basata su WinRM, che deve essere configurata sugli host Hyper-V (anche via GPO).
Non si tratta di una script particolarmente "smart" o sofisticata, ma magari vi può servire. Va modificata per fornire la lista di host Hyper-V 2 si cui eseguire il controllo, per definire le credenziali di default per la connessione.
Quindi se a distanza di qualche giorno, osservate un incremento costante dei numeri riportati, dovete installare la hotfix. La fix però NON ripulisce il registry delle entry precedenti, quindi o vi procurate la "fantomatica" utility "devnodeclean" o usate il suggerimento pubblicato qui, sull'uso del vecchio "regchk".
Hyper-V comincia ad avere bisogno di un rollup !
Ecco la script:
$Cred = Get-credential DOMAIN\AdmAccount
$HVhosts = @("HVNODE1","HVNODE2") # Potrebbe essere un 'get-content serverlist.txt'
$HvHosts | % {
Invoke-Command -ComputerName $_ -Cred $Cred -ScriptBlock {
#$RegKeys = 'Enum\SCSI\Disk&Ven_Msft&Prod_Virtual_Disk','Enum\STORAGE\Volume','Control\DeviceClasses\{53f5630d-b6bf-11d0-94f2-00a0c91efb8b}'
$RegKeys = @('Enum\STORAGE\Volume','Control\DeviceClasses\{53f5630d-b6bf-11d0-94f2-00a0c91efb8b}')
PushD 'HKLM:\System\CurrentControlSet'
$RegKeys | % {
Write-Host $Env:Computername,$_, (dir $_).Count
}
PopD
}
}
Produrrà un output di questo tipo:
HVNODE1 Enum\STORAGE\Volume 768
HVNODE1 Control\DeviceClasses\{53f5630d-b6bf-11d0-94f2-00a0c91efb8b} 774
HVNODE2 Enum\STORAGE\Volume 775
HVNODE2 Control\DeviceClasses\{53f5630d-b6bf-11d0-94f2-00a0c91efb8b} 783
-
Sul blog Ask DS di Microsoft, è comparso questo post che annuncia e spiega il servizio di Group Policy Search "in the cloud" (ecco .. così ho anche io un post che nomina la parola dell'anno ...), su Windows Azure.
Si tratta di un comodo servizio online (quindi sempre aggiornato - se non muore tra 3 mesi), per esplorare o cercare una certa Group Policy, ottenendo informazioni sulla compatibilità rispetto alle versioni, alla chiave di registry correlata, ecc.
Le GPO possono essere filtrate per versioni (per esempio in modo da includere solo quelle per versioni specifiche di OS/applicativo). Al momento sono supportate solo le GPO "base", ma probabilmente verranno estese a breve.
Il servizio è altresì interessante per la possibilità di installare (dal menù "Settings") sul proprio Internet Explorer 7 o 8, un Search Provider, che estende la barra di ricerca a quel servizio. Sarà quindi possibile cercare ad esempio "WinRM" direttamente da IE, per ottenere tutte le GPO che contengono quella stringa.
Ma è possibile anche estendere l'integrazione, questa volta solo per Windows 7, alla shell di Windows, aggiungendo dallo stesso menù del sito un Search Connector, che consentirà di cercare direttamente dal proprio desktop.
Comodo :)
-
E' disponibile il primo Service Pack per Microsoft Forefront Threat Management Gateway (TMG) 2010.
Consolida diverse hotfix che erano uscite e poi subito "sparite" dal sito Support di Microsoft, oltre a introdurre alcune novità. Qui trovate le Release Notes.
Qui il download di TMG 2010 Service Pack 1.
Altamente consigliato!
-
E’ disponibile da qualche giorno il secondo Rollup per Exchange Server 2007, post Service Pack 2.
La lista delle fix è come sempre consistente, ma ci sono anche alcune novità utili per i Sysadmins. In particolare è ora possibile registrare un evento quando log o db crescono in modo anomalo, ad esempio per loop in regole create dagli utenti o uso massivo di allegati, ecc.
Anche il ruolo UM (Unified Messaging) ha due piccole modifiche, più precisamente nell’Auto Attendant, per gestire meglio il messaggio vocale per le date “vacanza” e la gestione dell’ora legale.
Il Rollup è sempre basato sul motore di setup del UR1, interessante per le novità introdotte, ora più controllabile, interrompibile e “smart” nelle verifiche preliminari e nella generazione delle .Net native image (NGEN).
Ciao, Claudio
-
Segnalo un ottimo post del bravissimo Daniele Grandini, di Progel, dove sono elencate le hotfix "Out-of-band" per la piattaforma Windows, che hanno un impatto significtivo in ambienti gestiti da System Center Operations Manager 2007/2007 R2 e dal più piccolo System Center Essentials 2007.
Alcune delle fix segnalate non le conoscevo ( Grazie Daniele
), altre sono purtroppo note e ALTAMENTE necessarie.
In primis confermo il consiglio di effettuare il deployment di Windows Scripting Host 5.7 sugli host pre-Vista/2008 e poi di applicare la KB 933061 che stabilizza l'ambiente WMI e riduce sia il carico amministrativo in SCE/SCOM che il quello di elaborazione indotto.
Alcune informazioni aggiuntive su questa KB le trovate sempre sul blog di Daniele:
http://nocentdocent.wordpress.com/2009/07/03/kb-933061-and-some-interesting-effects/
Ciao, Claudio
-
Un link interessante, finalmente qualcuno si è preso la briga di catalogare tutti i Blog ufficiali dei Team di prodotto Microsoft.
http://blogs.technet.com/blogms/pages/directory-of-microsoft-team-blogs.aspx
-
La notizia sicuramente più “succosa” è il rilascio da parte di Microsoft di
oltre 20,000 righe di codice, secondo la licenza GPL v2, alla comunità Opern
Source, dei Synthetic driver di Hyper-V per Linux.
Ciò significa, chje
potenzialmente potremmo avere a breve una inclusione nel Kernel tree di Linux,
dei tre driver. Di conseguenza significa poter disporre di ottime performance
nella virtualizzazione su Hyper-V di qualunque Kernel Linux includa quei driver,
sfruttando l’enlightened mode e non più l’emulazione.
http://www.microsoft.com/presspass/features/2009/Jul09/07-20LinuxQA.mspx
http://blogs.technet.com/virtualization/archive/2009/07/20/linux-ics-for-hyper-v-and-gplv2.aspx
Anche se ci sono ancora alcune limitazioni (es: il supporto multi-processor
per i guest Linux), si tratta finalmente di una eccellente notizia, dopo
l’evidente empasse del rilascio degli Integration Services per Linux, che sul
Connect langueva da mesi (anni ? :-)), lasciando spesso interdetti sulla
strategia complessiva per il supporto di Linux su Hyper-V.
L’altra notizia correlata è che con Windows Server 2008 R2, salirà il numero
di Kernel di cui Microsoft rilascerà sia gli IC completi ed installabili, che il
supporto diretto (ad oggi si parla di SLES 11, RHEL 5.2/5.3 oltre alla “storica”
SLES 10).
Ulteriori novità arriveranno in H2, quando dovrebbe essere
completato il processo di certificazione da parte di Red Hat (http://blogs.technet.com/virtualization/archive/2009/02/15/Microsoft-and-Red-Hat-Joint-Technical-Support.aspx).
AMD-V, SLAT, RVI (tic, toc, boom !)
Bell’articolo su “AMD-V Rapid Virtualization Indexing (RVI)”, la tecnologia
che è sfruttatta da Windows Server 2008 R2 Hyper-V (2.0) per implementare
“Second Level Address Translation” (SLAT) sulle piattaforme AMD.
Come si evince dall’articolo, non tutti i workload ne trarranno lo stesso
beneficio, ma di certo per i palati più esigenti ed i carichi più estremi si
tratta di una innovazione di rilevo.
http://doingitvirtual.com/blogs/virtualzone/archive/2009/07/20/amd-v-rapid-virtualization-indexing-and-windows-server-2008-r2-hyper-v-second-level-address-translation.aspx
VMWare e la “Core Tax”
Articolo (di parte) con alcuni spunti interessanti sui costi di Hyper-V vs
VMWare VSphere, in relazione alle ultime versioni e in rapporto ai Core dei
processori fisici. VMWare deve ragionarci sopra ... o saranno dolori; non vedo molti clienti dell'area Mid-Market disposti a seguirla su questa strada.
http://blogs.technet.com/virtualization/archive/2009/06/28/Beware-the-VMware-Core-Tax-and-More.aspx
Hotfix e rilasci per Hyper-V & family
Aggiornamento per supporto di Vista Service Pack 2 per Hyper-V Management
Tools
Hyper-V
Management Tools update for Windows Vista Service Pack 2
Aggiornamento post service pack 2, per Hyper-V di Windows Server 2008/Hyper-V
Server, per crash di vmwp.exe, in condizioni di stress
http://support.microsoft.com/kb/970089/en-us/
-
Questo sì è un link da segnarsi bene !
Si tratta di un comodo wizard via web, per verificare se una determinata tecnologia di Virtualizzazione è utilizzabile nella propria azienda, per implementare un prodotto Microsoft, ottenendo una configurazione SUPPORTATA.
Due gli aspetti fondamentali, oltre alla ovvia praticità di avere un unico repository (aggiornato) per queste informazioni (piuttosto che scartabellare tonnellate di documenti o KB); le tecnologie di virtualizzazione NON SONO SOLO QUELLE MICROSOFT e la pagina finale indica eventualmente quali singoli componenti del prodotto/tecnologia sono supportati e con quali prerequisiti o correttivi.
Quindi sarà possibile capire se Microsoft supporta deteminati prodotti non solo su Hyper-V, ma ad esempio anche VMWare ESX o altre piattaforme di Server Virtualization.
Davvero comodo, a patto che venga mantenuto aggiornato.
Ciao, Claudio
-
Ci sono poche cose che mi fanno arrabbiare quanto la documentazione (?) di Powershell in Data Protection Manager (DPM) 2007 ... inesistente è dire davvero poco
.
Tra l'altro il modello e l'implementazione delel CmdLets scelto dal team di DPM è quantomeno originale ... e poco omogeneo con Powershell stesso e le sue filosofie.
Siccome ci ho sbattuto sopra la testa non poco (e sono molto BUONO
), condivido su questo blog un pò di codice per produrre un restore automatizzato di una Virtual Machine Hyper-V, protetta da DPM.
# Un pò di dichiarazioni
$dpmname = $env:computername
$pgName = "PG03-HyperV"
$dsname = 'Backup Using Child Partition Snapshot\Earth'
$targetserver = "cerere.domain.local"
$targetlocation = "D:\"
Ora dobbiamo recuperare Il Protection Group che contiene il DataSource di cui intendiamo fare restore e poi selezioniamo l'ultimo Recovery Point, tra quelli disponibili:
$pg = get-protectionGroup -DPMServerName $dpmName | where {$_.friendlyname -eq $PgName}
$ds = get-datasource -protectiongroup $pg | where {$_.name -eq $DsName}
$ro = Get-RecoveryPoint -Datasource $ds | sort | select -last 1
A questo punto la parte più "complessa" (la New-RecoveryOption è tra le CmdLets più astruse e peggio documentate ...)
$Rop = New-RecoveryOption -GenericDatasource -TargetServer $targetserver -RecoveryLocation CopyToFolder -RecoveryType Restore -TargetLocation $targetlocation
E ora l'ultimo passaggio 
Recover-RecoverableItem -RecoverableItem $Ro -RecoveryOption $rop
Ora non ci resta che attendere e in un subfolder (generato automaticamente da DPM) troveremo i files (VHD ed XML) che costituiscono la VM, comprensivo di VM State.
Nella sessione Virtual machines backup strategies with Data Protection Manager (DPM) | VC18 che presenterò alla Microsoft Virtualization Conference '09 vedremo qualche altro esempio di scripting per Hyper-V con Powershell e DPM, magari producendo una versione più completa di questo frammento di codice.
Ciao, Claudio
-
La prima edizione di Microsoft Virtualization Conference '09 si terrà il 22 e 23 Settembre 2009 presso il “Microsoft Realizing Potential Congress Center” di San Felice a Segrate (MI).
Pulsar IT sarà presente all’evento con due speaker, Alessandro Appiani ed io.
Queste le mie sessioni:
Automating large scale virtual infrastructures with System Center Virtual Machine Manager (SCVMM) and Powershell | VC03
“La gestione di ambienti virtuali è un aspetto davvero critico per l’efficacia delle soluzioni, forse più che in un ambiente fisico.
Con l’arrivo di Hyper-V 2.0 in Windows Server 2008 R2, accoppiato con Powershell 2 e il nuovo System Center Virtual Machine Manager 2008 R2 si pongono nuove basi per affrontare questo compesso tema.
Nella sessione, dopo una veloce carrellata sulle novità delle singole piattaforme, discuteremo delle possibili tecniche e modalità di gestione, partendo dal provisioning di ambienti virtuali fino alle operazioni di manutenzione ordinaria e straordinaria.
Il tutto condito da esempi pratici e script Powershell, per dimostrare la sinergia delle tecnologie.”
Virtual machines backup strategies with Data Protection Manager (DPM) | VC18
“Garantire un efficace backup e restore di dati e configurazioni è elemento fondamentale di una soluzione di backup, che nelle soluzioni virtuali rischia di complicarsi ulteriormente.
Infatti il mix di criticità (fisico-virtuale), la ragguardevole dimensione degli oggetti virtualizzati, la necessità di rispettare le integrità applicative (es: Exchange/SQL logs) unite alle tradizionali problematiche di volumi e tempistiche, fanno del backup uno dei temi più complessi della virtuazlizzazione.
In questa sessione vedremo come affrontare il problema e scegliere le migliori strategie da usare, nel proteggere i diversi workload virtuali e gli host fisici Hyper-V con System Center Data Protection Manager 2007.
Vedremo insieme alcuni aspetti per il corretto dimensionamento e utili indicazioni per il disegno ed il troubleshooting della soluzione di backup.”
All’evento sarà anche presente Jeff Woolsey - Lead Program Manager, Windows Virtualization di Microsoft Corp., protagonista in queste settimane di un “gustoso” scambio di post con VMWare, finito in una ingloriosa figura per il colosso della virtualizzazione (per colosso intendo VWare … non Microsoft, che però lo diventerà presto
).
A Settembre allora :-)
Claudio
-
Data Protection Manager 2007 (DPM), pur essendo dotato di cmdlets specifiche per Powershell, è piuttosto incompleto.
Ad esempio non ci sono cmdlets per gestire i jobs, alerts, ecc. (e sul grado di documentazione di quello che c’è … lasciamo perdere …).
La domanda su come poter risolvere (inattivare) gli alert in modo batch è stata posta diverse volte sui DPM Forum, ma anche i membri del Team DPM hanno affermato che non esiste un modo per farlo via Powershell.
Qualcuno in giro per il web, pur di evitare di inattivare "uno-a-uno" (sì, la DPM management console NON supporta la selezione multipla !), si è pure lanciato in temerarie operazioni direttamente sul DB SQL ($brividi = $TRUE).
In realtà un metodo esiste e una volta “scoperto” è pure banale … ma probabilmente NON è supportato (anche se lo uso da diverso tempo in ambienti di produzione e non ha mai causato problemi).
DISCLAIMER: usatelo a vostro rischio – USE AT YOUR OWN RISK
# Ci connettiamo al server DPM
$Dpm = connect-dpmserver $Env:Computername
#Otteniamo un oggetto AlertController
$Ac = $Dpm.Get_AlertController()
# Estraiamo solo i Pending Alerts
$AC.RefreshAlerts( $False)
# TA-DAAA … inattiviamoli tutti
$AC.ActiveAlerts | % { $_.ResolveAlert()}
La potenza di .Net applicata a Powershell (o viceversa
)
Ciao, Claudio
-
Ho aggiornato il WSUS PowerToolkit alla versione 1.2, includendo due nuove script.
Wsus-DeclineAllObsolete.ps1
Consente di declinare TUTTI gli update (usate a vostro rischio) che sono indicati come obsoleti (Superseded) nel database di WSUS.
Questo può essere utile nei casi di pulizia massiva di una installazione WSUS, dopo essersi accertati di aver approvato però gli aggiornamenti successivi.
Wsus-DeclineSupersededBy.ps1
Questa script ricerca gli update resi obsoleti da uno specifico aggiornamento (descrizione - passato come parametro stringa, case insensitive), che non siano già declinati e li declina.
Questo è utile per fare il decline dei soli update sotituiti da uno successivo. Si può passare una stringa “generica”, come ad esempio 'Windows Malicious Software Removal Tool', o 'update rollup for activex killbits', per inculdere una intera famiglia di aggiornamenti.
Ho anche aggiornato e fixato alcune delle scritp precedentemente rilasciate.
Have fun,
Claudio
-
Ho aggiornato il WSUS PowerToolkit alla versione 1.1, includendo due nuove script.
Wsus-Sync.ps1
Consente di eseguire una sync di WSUS, con notifica via mail dell’esito.
Questo può essere utile in quei casi in cui lo scheduling rigido di WSUS, non risolva le vostre esigenze. Quindi si può schedulare la script con il task scheduler di Windows, disattivando la sincronizzazione automatica nelle opzioni di WSUS.
Wsus-PendingReboot.ps1
Questa script ricerca eventuali computer nel database di WSUS che siano in stato di Pending Reboot, notificando la lista via mail.
Questo è utile per evitare che un computer (server) resti per lungo tempo in stato di pending dopo aver applicato le patch manualmente, o dove si previene il reboot da GPO quando un utente ha fatto logon.
Entrambe le script usano Wsus-SendMail.ps1, per recuperare destinatario e server SMTP dalle opzioni di WSUS.
Have fun,
Claudio
Nota:
Nuova versione disponibile su http://www.pulsarit.net/cs/blogs/claudiog/archive/2009/06/10/wsus-powertoolkit-1-2.aspx
-
Strumenti, tools & c.
Nuova versione di PSHyperV, la libreria per gestire piattaforme Hyper-V tramite Powershell.
http://www.codeplex.com/PSHyperv
Nuova versione del gadget Hyper-V Monitor per la Sidebar di Windows Vista.
http://mindre.net/post/Hyper-V-Monitor-Gadget-for-Windows-Sidebar.aspx
Convertire immagini WIM in file VHD.
http://code.msdn.microsoft.com/wim2vhd
http://blogs.technet.com/pgmalusardi/archive/2009/02/09/da-file-wim-a-file-vhd-con-un-semplice-script.aspx
Articoli, blogs, documentazione &c.
Ottimo tutorial su come implementare Hyper-V R2 su BladeCenter S di Massimo Re Ferrè.
http://it20.info/blogs/main/archive/2009/02/09/177.aspx
Interessante raccolta di documenti, blog e preziose informazioni di dimensionamento e tuning per Hyper-V
http://blogs.technet.com/tonyso/archive/2009/01/30/hyper-v-how-to-plan-hyper-v-deployment.aspx
Guida passo-passo per usare iSCSI Target su WSS / WUDSS con Hyper-V
http://blogs.technet.com/josebda/archive/2009/01/31/step-by-step-using-the-microsoft-iscsi-software-target-with-hyper-v-standalone-full-vhd.aspx
Recovery manuale di AVHD
http://blog.networkfoo.org/?p=384
Formazione
eLearning gratuito su Hyper-V
https://www.microsoftelearning.com/eLearning/offerDetail.aspx?offerPriceId=228501
Licensing
Licensing di prodotti Server su Hyper-V.
Hyper-V Hosting Guidance: Using and Licensing Microsoft® Server Products in Hyper-V Virtual Hosting Scenarios
-
Ho deciso di raccogliere in un "toolkit" dal roboante nome di "WSUS PowerToolkit"
tutta una serie di scripts Powershell, che ho scritto nei mesi precedenti per gestire Windows Server Update Services (WSUS).
La gestione di WSUS non è propriamente comoda, anche se in molte realtà si può pensare ad un uso "automatico" ( ovvero approva tutto su tutti); ma in situazioni più normali un minimo di gestione, automatismo, pulizia, reportistica e segnalazione sarebbe desiderato.
Ho quindi realizzato una serie di script, alcune nuove e altre riviste rispetto a quelle già postate a suo tempo su 127.0.0.1 questo stesso blog.
In realtà sono parte di una serie molto più vasta ... ma il tempo, e quindi la possibilità di produrre codice finito e presentabile, è scarso !
Scripts
Wsus-SendMail.ps1
Si tratta di un "building block" per mandare mail direttamente ai riferimenti indicati nella configurazione di WSUS (recipient) usando il server SMTP specificato sempre nella configurazione stessa.
Da solo non serve a nulla, nel senso che invia una mail di test; viene usato dalle altre script
WSus-StatusMail.ps1
Invia una mail di status su numero nodi, aggiornamenti installati/da installare, in errore, ecc.
WSus-RemoveOldComputers.ps1
Rimuove dal DB di WSUS i computer che non si sono connessi da XX giorni.
Decline-ObsoleteDefinition.ps1
Decline-Itanium.ps1Decline di definizioni (Es: Exchange AntiSpam, ForeFront Client Security signature,
ecc.) e dei binary di Itanium (che servono nello 0.1 % delle installazioni di WSUS ...).
Wsus-CleanUp.ps1
Esegue il cleanup del DB/files obsoleti di WSUS, inviando mail di notifica sui risultati. Non rimuove computer dal DB.
Questa procedura è importante per recuperare spazio su disco e DB, specie in seguito alla esecuzione delle precedenti.
Download
Il WSUS PowerToolkit 1.0 è disponibile qui.
Si accettano feedback e suggerimenti.
Ciao,
Claudio