Restore di Virtual Machine Hyper-V con Powershell e DPM 2007
02 July 09 06:52 PM | claudiog | (Comments Off)   

Ci sono poche cose che mi fanno arrabbiare quanto la documentazione (?) di Powershell in Data Protection Manager (DPM) 2007 ... inesistente è dire davvero poco Angry.
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 Wink), 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  Party!!!

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

Filed under: , ,
Microsoft Virtualization Conference ‘09: Pulsar IT c’è
22 June 09 03:02 PM | claudiog | (Comments Off)   

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 Wink).

A Settembre allora :-)

Claudio

Inactivate automatico di alert in DPM 2007
10 June 09 06:49 PM | claudiog | (Comments Off)   

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 Smile )

Ciao, Claudio

Filed under: , ,
WSUS PowerToolkit 1.2
10 June 09 06:30 PM | claudiog | 1 Comments   

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

Filed under: , ,
WSUS PowerToolkit 1.1
12 February 09 07:33 PM | claudiog | (Comments Off)   

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

Filed under: , ,
Strumenti e informazioni su Hyper-V
12 February 09 07:20 PM | claudiog | (Comments Off)   

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

Nasce WSUS PowerToolkit
18 December 08 02:34 PM | claudiog | (Comments Off)   

Ho deciso di raccogliere in un "toolkit" dal roboante nome di "WSUS PowerToolkit" Geeked 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.ps1

Decline 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

Filed under: ,
Una giornata al TechEd (Powershell way)
29 November 08 01:29 AM | claudiog | (Comments Off)   

Divertentissimo post di Per Østergaard Big Smile

Una giornata vissuta al TechEd, descritta con pseudo-codice Powershell !

Filed under: ,
Script Powershell per disabilitare l'Hypervisor al boot
30 September 08 01:43 PM | claudiog | (Comments Off)   

Ho riletto oggi il post di Giorgio Malusardi, relativo a come creare una nuova voce del boot menu di Windows Server 2008 con BCDEDIT, che disabiliti l'Hypervisor.

Dato che può tornare utile, mi sono scritto una script Powershell, così mi fa anche l'export dello store di Boot Configuration Data (BCD) prima di modificarlo (procedura che può comunque tornare utile come "Best Practice"), salvandolo come file ad esempio in C:\SERVER1-20080930.bcd

bcdedit.exe /export "$env:SystemDrive\$($env:computername)_$([datetime]::utcnow.ToString( 'yyyyMMdd')).bcd"

$res = bcdedit.exe /copy '{current}' /d 'Windows Server 2008 - NO Hypervisor'

$id = $res.Split('{}')[1]

bcdedit.exe /set "{$id}" hypervisorlaunchtype off

La script completa con un *minimo* di controllo d'errore è disponibile come Boot_No_Hyper-V.ps1

Claudio

Pulsar IT a Microsoft SharePoint Conference 2008
23 September 08 01:18 AM | claudiog | (Comments Off)   

Anche quest'anno si tiene a Milano la Microsoft SharePoint Conference, questa volta organizzata presso il Convention Center di Fiera Milano City e non presso Microsoft, come per le precedenti edizioni.

Pulsar IT sarà presente con due speaker, Alessandro Appiani ed il sottoscritto, in due differenti sessioni della nutrita agenda, preparata da Igor Macori e Paolo Pialorsi.

Ci vediamo in conferenza, se siete tra i fortunati che ce l'hanno fatta a iscriversi (ha fatto "sold-out") !
Claudio

Filed under: , ,
Hyper-V: note, fix e strumenti
22 September 08 11:04 PM | claudiog | (Comments Off)   

Patch

Per produrre un ambiente stabile basato su Windows Server 2008 e Hyper-V, non bastano un buon hardware e le Best Practice ... ci vogliono anche delle hotfix Wink

Ecco un elenco delle fix che consiglio caldamente di applicare, per ottenere un ambiente Hyper-V solido ed efficace:

Hotfix di stabilità

ma se usate NLB in Windows Server 2008 (anche non con Hyper-V, quindi) probabilmente avrete bisogno di questa:

Poi veniamo alle fix specifiche, che estendono le funzionalità e la stabilità di alcuni componenti "chiave" di hyper-V e dell'offerta di virtualizzazione Microsoft:

Questa è la madre di tutte le fix per Hyper-V Big Smile
Troppo lunga da commentare, ma un must in ambienti di Failover Clustering di Hyper-V (uno dei fiori all'occhiello della Server Virtualization Microsoft, specie se ragionata in rapporto ai costi-benefici).
Che richiede implicitamente anche l'applicazione di http://support.microsoft.com/kb/950182/en-us/ per far digerire al kernel delle VM Guest Windows 2008 x86 i processori a 6-Core (in realtà se gli fate vedere un numero di processori "non potenza di 2")

Fix specifiche per System Center Virtual Machine Manager (SCVMM) e Hyper-V

Tools

Finalmente rilasciato il tool (free) per convertire macchine virtuali Virtual Server/VPC in Hyper-V.

Si tratta di "VMC to Hyper-V Import Tool" (VMC2HV) rilasciato da Matthijs ten Seldam, già autore del famoso VMRCplus, dopo un periodo di testing interno che durava da prima di Luglio.

In sostanza si tratta di un tool (sia x64 che x86) che legge il file .VMC, tipico di VS 2005 e VPC 2007, e lo "converte" in un file di configurazione XML per Hyper-V, preservando quindi le configurazioni della VM (RAM, file .VHD, ecc.). Ovviamente il processo si poteva già fare, manualmente, riutilizzando il file VHD ma la procedura era tediosa e a rischio di errori.

Chiaramente il tool non rimuove le VM Additions di VS/VPC e non installa gli Hyper-V Guest Components (gli ex-Integration Services ... che nome del cavolo !) di Hyper-V, operazione da fare poi manualmente dopo aver fatto partire la VM in Hyper-V e che richiederà qualche reboot per essere completo; ma si tratta sempre di un bell'aiuto.

Segnalo anche la nuova versione di PowerShell Management Library for Hyper-V,  rivista e migliorata.

Tips & tuning

La prima area di miglioramento di prestazioni (a costo ZERO) che vale la pena di indagare, è quella del cambio di formato dei VHD (passando da dynamic a static), che oltre ad essere un requisito per ottenere supporto su alcuni workload virtualizzati, migliora di parecchio le performance.

Alcune interessanti valutazioni le trovate qui, emblematico il caso dell'I/O a blocchi da 4KB:

http://blogs.technet.com/winserverperformance/archive/2008/09/19/hyper-v-and-vhd-performance-dynamic-vs-fixed.aspx

Claudio

Risorse per Kerberos in Windows
27 June 08 12:39 PM | claudiog | (Comments Off)   

Sul blog del Ask the Directory Services Team di Microsoft, trovate una bella serie di articoli su Kerberos.

La prima serie è fatta di 4 articoli molto approfonditi sul Troubleshooting:

Interessanti poi due altri articoli più introduttivi per la comprensione di Kerberos in quanto tale (terminologia, processi e tools) e del concetto di "Double Hop":

Di gran lunga il problema più frequente che riscontriamo presso le aziende, è l'errata configurazione dei SPN in Active Directory (associazione con il Security Principal sbagliato, SPN duplicati o del tutto mancanti), specie per ambienti SQL Server in Cluster e le web application (dove ci sia quindi di mezzo IIS e magari la constrained delegation).

Hyper-V è RTM (RTW)
27 June 08 12:02 PM | claudiog | (Comments Off)   

Riprendo come al solito i post di Piergiorgio Malusardi, questa volta per segnalare il suo completo riassunto su Hyper-V che è Released To Web (RTW).

Con largo anticipo sulla data stimata di Agosto (e questa è già una novità Wink), Microsoft ha rilasciato la versione finale della sua piattaforma di Server Virtualization. Per ora il download è manuale, ma sarà disponibile su WU (e WSUS ?) l'8 di Luglio.

Devo dire che, seppure qualche caratteristica è mancante rispetto ad altre piattaforme ( ... di chi starò parlando ... mah ?!), la sua stabilità è davvero notevole e le prestazioni sono ottime; ma ciò che più attrae è la piattaforma di Management, che se da un lato è orientata alla famiglia System Center, dall'altro offre già di base un interfaccia di scripting (WMI based) micidiale.

Siamo in produzione sia internamente in Pulsar IT, che presso un cliente del "Upper Mid Market", dove abbiamo quasi completato un progetto di migrazione a Windows Server 2008 ed Exchange 2007, già da alcuni mesi (RC0) e non abbiamo avuto davvero alcun problema.
I ruoli virtualizzati vanno dai Domain Controller, DHCP+DNS+RADIUS, Exchange 2007 HT+CAS, WSUS,  Web Server, ...

Stiamo anche ospitando da un paio di settimane sul ns. server Hyper-V anche il sito di Ugiss, lo User Group Italiano di SQL Server.
Certo non si tratta di aver virtualizzato TechNet e MSDN ma ... si fa quel che si può!

Aggiungo alcune altre risorse a quelle segnalate da Piergiorgio:

10 domande frequenti su Hyper-V

What to consider before you upgrade

PowerShell Management Library per Hyper-V

Le interviste con il Team di Hyper-V

Powershell News
15 June 08 12:52 AM | claudiog | (Comments Off)   

Su CodePlex è disponibile un nuovo Provider per Powershell, scritto da Oisin Grehan (Microsoft MVP), già autore di PSEventing (PowerShell Eventing) e developer nel gruppo di PowerShell Community Extensions.

Si tratta del PowerShell Windows Mobile Provider, che consente di accedere sia in modo interattivo che programmatico a dispositivi Windows Mobile da PowerShell.
Molte le attività che si possono scriptare: dalla gestione del file system, alla conversione di file, l'esecuzione di processi, alla estrazione di informazioni sul dispositivo, ecc.
Si tratta ancora di una Beta, ma di certo un bel tool. Bravo Oisin !

Un altro interessante spunto ci viene da PowerShell Tunnel, disponibile sulla MSDN Code Gallery.
Applicazione decisamente interessante per accedere da una CLI PowerShell agli oggetti esposti in una applicazione .Net, hostata appostamente in un "runspace" di PowerShell e raggiunta tramite l'infrastruttura WCF.
Lo scopo ? Debugging, inspection ... ma anche esecuzione di metodi e modifica di proprietà ... tutto unito alla potenza di PowerShell. Una bella idea di Matthew Hobbs.

Vi segnalo anche un feed RSS, per essere sempre aggiornati sulla pubblicazione di nuovi contenuti (scripts) sul TechNet Script Center.

Filed under: ,
Windows Server 2008 Failover Clustering: il portale Microsoft
15 June 08 12:00 AM | claudiog | (Comments Off)   

Finalmente Microsoft ha raggruppato in un unico portale, tutte le informazioni sulle tecnologie di Failover Clustering, il nuovo nome introdotto in Windows Server 2008 per MSCS o Server Clustering.

Un ottimo punto di partenza per accedere a informazioni di ogni genere e profondità, sulle tecnologie di server clustering di Windows Server 2008.

More Posts Next page »