Esperto a tutto tondo: Ridimensionamento con i modelli

È possibile creare modelli di servizi di System Center 2012 Virtual Machine Manager per distribuire e gestire Servizi desktop remoto con il ridimensionamento.

Greg Shields

Un modello ben progettato è qualcosa che si può usare ancora e ancora. È possibile ridistribuire interi ambienti con pochi clic. Modelli eccezionalmente ben progettati possono anche scalare un servizio da distribuire rapidamente nuovi server. Modelli di servizio di System Center 2012 Virtual Machine Manager (VMM) dare un approccio bottom-up alla costruzione e provisioning di servizi.

Mentre impressionante nel loro potenziale di automazione, modelli di servizio VMM 2012 soffrono di un problema di percezione. Guardare attraverso il contenuto Web corrente e si può finire per pensare che questi modelli sono progettati esclusivamente per gli sviluppatori Web e servizi Web. Non sono.

È possibile effettuare qualsiasi servizio IT che include server, applicazioni e configurazioni in un modello di servizio VMM 2012 — se siete disposti a fare il lavoro. Un tale servizio IT che si può fare in un modello è Remote Desktop Services (RDS).

Come gli unici utenti regolari di servizio Windows Server accedono direttamente a, sembra che è sempre necessario ricostruire il server RDS. Perché devi fare questo regolarmente, la funzionalità di scalabilità automatica VMM 2012 può essere una misura perfetta per la rapida distribuzione server Remote Desktop Session Host (RDSH) aggiuntivi. Noi abbiamo voluto per un modo migliore per distribuire server RDS. Con VMM 2012, abbiamo gli strumenti per il lavoro.

Tre livelli che hai già visto

Scavare attraverso l'interfaccia di VMM 2012 e troverete un pulsante innocuo chiamato fuori scala. Al valore nominale, facendo clic su tale pulsante fa poco più di aggiungere un nuovo server a livello di macchina della distribuzione di un servizio. Si può cliccare tutti i che desideri. Facendo clic su esso senza l'adeguata preparazione non si ottiene molto.

È molto più facile da spiegare questa ultima affermazione con un esempio. Figura 1 viene illustrato un modello di servizio per un prototipo servizio Web a tre livelli che hai probabilmente già visto.

A prototypical three-tier VMM 2012 service template.

Figura 1 un modello di servizio di VMM 2012 tre livelli prototipico.

Questo servizio Web ha un livello di macchina per Web server, application server e database server. Incorpora anche un modello IP (VIP) virtuale di Microsoft Network Load Balancing (NLB) al traffico Web in entrata di bilanciamento del carico tra i server nel livello Web del modello di servizio.

Non ogni livello di servizio o macchina rende un buon candidato per la scalabilità. In questo esempio, il livello più probabilità di essere scalabilità orizzontale è il livello Web. Scalabilità di un server IIS 7 o 8 Web IIS richiede poco più di creazione di un nuovo server, installare i necessari servizi ruolo IIS, quindi puntare IIS in un percorso di rete per le sue pagine Web.

Questa semplicità in contrasto con lo sforzo iniziale necessario per scalare altri livelli. Perché contengono dati e applicazioni, altri livelli tendono ad avere bisogno di una configurazione molto più complessa se sono per essere ridimensionato automaticamente fuori. La lezione con questo esempio vale la pena di ribadire: Non ogni servizio o ogni livello è un buon candidato di scalabilità.

Server RDSH: mai abbastanza

Quella stessa lezione vale per RDS. Una distribuzione di RDS base installa tre servizi di ruolo su un singolo server: Accesso Web Desktop remoto (RDWA), Gestore connessione Desktop remoto (RDCB) e RDSH. Di questi, il candidato più probabile per la scalabilità è RDSH.

Microsoft ha fatto alcune modifiche notevoli di RDS in Windows Server 2012 per semplificare l'implementazione. Una tale regolazione è la presunzione che tutti i server RDSH in una distribuzione e raccolta sono configurati allo stesso modo. Si presume che ogni server RDSH in una distribuzione di Windows Server 2012 RDS e insieme contengono le stesse applicazioni e configurazioni come la prossima.

Mentre questo requisito potrebbe inizialmente sembrare costrittivo, semplifica notevolmente automazione della distribuzione. Più RDS utenti simultanei richiedono ulteriori sessioni RDSH. A un certo punto, avrete bisogno di più server RDSH per sostenere tale carico utente maggiore. Perché ogni server RDSH deve essere la stessa di quella prima, ogni nuovo server può iniziare la sua vita da un comune modello di macchina virtuale (VM).

Che è la buona notizia. La cattiva notizia è che non può semplicemente fare clic sul pulsante VMM 2012 scala fuori (veda la parte inferiore destra del Figura 2) e aspettiamo che il nuovo server per iniziare automaticamente al servizio di sessioni. Dovrete aggiungere appena provisioning server RDSH nella distribuzione di RDS e raccolta esistente. Nelle versioni precedenti di Windows, questo passaggio necessario alcun intervento manuale. In Windows Server 2012, è possibile automatizzare questo con alcuni cmdlet di Windows PowerShell ben posizionati.

The Scale Out button in VMM 2012.

Figura 2 la scala fuori pulsante in VMM 2012.

Passo 1. Costruire un modello VM

Qui è un processo graduale che è possibile implementare per costruire il tuo riutilizzabili — e scalabile — modello servizio RDS in VMM 2012. Il primo passo è forse il più facile, perché probabilmente hai fatto prima. Creare un modello di macchina virtuale in VMM 2012. Questa è una delle attività fondamentali in VMM ed è documentata nell'articolo della libreria TechNet, "modelli di creazione di macchine virtuali in VMM."

C'è ovviamente un po' di arte nella scienza della creazione di questo modello VM. Userete e distribuire rapidamente i RDSH server nei passaggi che seguono. Ciò significa che il modello deve essere pronto per la distribuzione automatica. È possibile scegliere di installare le applicazioni direttamente nel modello o consegnarli su richiesta con una soluzione automatizzata come System Center Configuration Manager o App-V.

Questo modello di macchina virtuale diventa il punto di partenza per tutte le macchine virtuali si sarò provisioning per il servizio RDS. Assicurarsi che si configura il modello profilo hardware e profilo guest OS per abbinare qualunque configurazione qualsiasi server RDSH dovrebbe avere quando è distribuito più tardi.

Passo 2. Creare un modello di servizio singolo server RDS

Questo modello VM è la base per il modello di servizio VMM. Tale modello di servizio conterrà due livelli: un livello iniziale di Host e un secondo livello di scalabilità. Questa separazione è importante perché il modello di servizio ha solo bisogno di scalare il servizio ruolo RDSH. Tutti gli altri servizi di ruolo (e l'istanza iniziale RDSH) rimangono situati nel livello Server iniziale.

Fare clic su modelli di servizio nella visualizzazione libreria VMM 2012 per creare un nuovo modello di servizio. Dare al modello un nome e selezionare il modello vuoto. Questo crea un'area di lavoro vuota per creare il tuo modello di servizio RDS.

Al servizio di progettazione del modello, fare clic sul pulsante Aggiungi livello di macchina. Questo lancia il creare macchina Tier Template Wizard (vedi Figura 3). Selezionare l'opzione per personalizzare una copia di un modello di macchina virtuale esistente e fare clic sul pulsante Sfoglia per specificare il modello di macchina virtuale creato nel passaggio 1.

The wizard for creating a machine tier template.

Figura 3 la procedura guidata per la creazione di un modello di macchina livello.

Nome di questo primo livello il livello iniziale di Host nella pagina delle proprietà aggiuntive della procedura guidata. Lasciare che altre impostazioni della pagina invariate. Selezionare un profilo hardware nella pagina di configurazione Hardware della procedura guidata e quindi un profilo del sistema operativo guest nella pagina di configurazione di sistema operativo.

Pausa di un minuto sulla pagina di configurazione di sistema operativo e dare un'occhiata al suo valore per informazioni di identità. Questo valore definisce il nome del computer di VM potrai distribuire. Default è un carattere jolly ("*").  Questo valore jolly incarica VMM 2012 per generare un nome univoco e casuale per la VM su distribuzione. Il nostro prossimo cmdlet di Windows PowerShell , tuttavia, richiedono che sappiamo il nome del computer. Di conseguenza, avrete bisogno di specificarlo nella nostra configurazione di distribuzione impostandolo come una variabile del modello di servizio.

VMM 2012 compie ciò che circonda il nome della variabile con la "@" simbolo (vedi Figura 4). Qui, il nome del computer è stato impostato la variabile @RDSFirstServerHostname @. Questo uso delle variabili nei modelli di servizio VMM è una parte fondamentale di ciò che li rende altamente automatizzato. Variabili come questo ottengono loro valori come servizi e sono configurate per la distribuzione.

Set the computer name as a variable using the “@” symbol.

Figura 4 impostare il nome del computer come una variabile utilizzando la "@" simbolo.

Ti consigliamo inoltre di selezionare i servizi di ruolo RDS per essere installato sulla pagina di configurazione di sistema operativo. Selezionare le seguenti caselle di controllo nell'ambito di ruoli: Remote Desktop Services, Gestore connessione Desktop remoto, Host sessione Desktop remoto e accesso Web Desktop remoto (vedi figura 5). Così facendo si incarica VMM per installare i prerequisiti e questi ruoli come parte del processo di provisioning VM.

Here are some of the roles you’ll need.

Figura 5 qui ci sono alcuni dei ruoli avrete bisogno.

Qui è dove dobbiamo mettere in pausa una seconda volta. Ricordate che RDS è un caso speciale in Windows Server 2012. Installare i servizi di ruolo compie poco fino a quando essi sono assemblati in una distribuzione e raccolta. Questo normalmente accade in Server Manager GUI, ma può anche accadere attraverso una serie di cmdlet Windows PowerShell .

Si creerà il RDS distribuzione e raccolta nella pagina di configurare applicazioni della procedura guidata utilizzando una serie di script pre-install. Microsoft un po' cripticamente si riferisce a questi come generico comando esecuzioni (GCEs). Possono essere effettivi VBScript, script Windows PowerShell , o batch script eseguiti su VM, o singoli comandi eseguiti in un ordine di distribuzione.

Avrete bisogno di cinque distinti script pre-install. I primi due forzare la VM per il riavvio... due volte. Sì, è necessario riavviare il computer due volte per installare completamente i servizi di ruolo RDS prima della creazione, la distribuzione e la raccolta.

Il terzo script pre-install imposta i criteri di esecuzione di Windows PowerShell di ignorare. Questo po ' di hacking assicura che i quarto e il quinto comandi eseguire in silenzio. Il quarto comando (vedere Figura 6) lancia Windows PowerShell con relativo - interruttore di comando per eseguire un cmdlet New-RDSessionDeployment appositamente configurato. Il quinto e ultimo comando avvia Windows PowerShell nuovamente per eseguire il comando New-RDSessionCollection.

Configure Windows PowerShell for RDS.

Nella figura 6. Configurare Windows PowerShell per RDS.

Questo elenco descrive le specifiche di preinstallazione GCE che avrete bisogno di costruire da soli. Questi cinque comandi devono essere eseguiti in questo ordine e con le seguenti impostazioni per RDS distribuire correttamente:

  • 1 La preinstallazione:
    • Programma eseguibile: cmd.exe
    • Parametri: / q/c arresto/r/t 0
  • 2 La preinstallazione:
    • Programma eseguibile: cmd.exe
    • Parametri: / q/c arresto/r/t 0
  • 3 La preinstallazione:
    • Programma eseguibile: %WINDIR%\System32\WindowsPowerShell\v1.0\PowerShell.exe
    • Parametri: -comando set-executionpolicy bypass - forza
  • 4 La preinstallazione:
    • Programma eseguibile: %WINDIR%\System32\WindowsPowerShell\v1.0\PowerShell.exe
    • Parametri: -comando nuovo-RDSessionDeployment - ConnectionBroker @ComputerName @ - WebAccessServer @ComputerName @ - SessionHost @ComputerName @ - verbose
  • 5 La preinstallazione:
    • Programma eseguibile: %WINDIR%\System32\WindowsPowerShell\v1.0\PowerShell.exe
    • Parametri: -comando nuovo-RDSessionCollection - NomeRaccolta @CollectionName @ - SessionHost @ComputerName @ - ConnectionBroker @ComputerName @ - verbose

Ti consigliamo inoltre di includere alcune impostazioni supplementari in ogni GCE preinstallazione. In primo luogo, configurare ogni script di pre-installazione con un VMM eseguito come account con privilegi di amministratore di dominio. Avrete bisogno di questo per il cmdlet New-RDSessionDeployment. Aumentare il timeout dello script, ogni impostazione di 3.600 secondi. Infine, fare clic sul pulsante avanzato sui primi due script e controllare la casella Riavvia politica, "Riavvia sempre termine dell'esecuzione dello script." Questo dovrebbe garantire che il riavvio si verifica senza generare un errore.

Vedrai che stai usando variabili multiple (nuovamente circondata dalla "@" simbolo) in questi cmdlet Windows PowerShell . Le variabili di forniscono le informazioni che richiedono i comandi, come ad esempio il nome del computer (@ComputerName @) e il nome della raccolta (@CollectionName @). Ti verrà richiesto per il @CollectionName @ valore nella configurazione della distribuzione. @ComputerName @ valore è una variabile incorporata che traduce automaticamente al nome di dominio completo del server (FQDN).

Clicca attraverso per completare la procedura guidata. Ora tu hai costruito un modello di servizio RDS single-server che è possibile utilizzare per testare una distribuzione. A tale scopo, fare clic sul pulsante Configura distribuzione del progettista e lavoro attraverso la distribuzione guidata (vedere Figura 7). Nota i valori NomeRaccolta e RDSFirstServerName che richiedono specifiche sotto la scheda impostazioni prima della distribuzione del servizio.

The deployment wizard for configuring deployments.

Figura 7 la distribuzione guidata per la configurazione delle distribuzioni.

Passo 3. Aggiungere un livello di scalabilità

Un modello di servizio VMM 2012 è progettato per distribuire un servizio funzionante con il solo clic di un pulsante. Compiere questa impresa richiede la compilazione del modello di servizio con tutte le configurazioni di che una distribuzione richiede se è per completare con successo e in silenzio. Ecco perché questo richiede un bel po ' di sforzo. Ciò diventa particolarmente importante se si intende aggiungere successivamente automazioni tramite System Center Operations Manager e System Center Orchestrator.

Appena creato il modello del servizio VMM supporta solo una configurazione a singolo server, ma si desidera una soluzione di scalabilità per RDSH. Per ottenere tale scala fuori, avrete bisogno di un secondo livello di macchina. Iniziare eliminando ogni distribuiti servizi associati con il modello di servizio RDS. Si potrebbe anche fare una copia di tale modello di servizio iniziale.

Fare clic destro per aprire il modello nella finestra di progettazione. Quindi fare clic sul pulsante Aggiungi livello di macchina. Nella prima schermata della creazione macchina Tier modello guidata, scegliere di personalizzare una copia di un modello di macchina virtuale esistente e selezionare il modello di macchina virtuale creato nel passaggio 1.

Questa volta pagina Proprietà aggiuntive della procedura guidata richiede qualche attenzione in più (vedi Figura 8). Questo secondo livello sarà necessario l'ordine di distribuzione preferito e preferito manutenzione ordine impostato su 2. Questo assicura che le macchine virtuali in questo livello ottenere provisioning dopo quelli del primo livello. Questo livello deve essere configurato anche per la scalabilità con un conteggio di istanza predefinito di uno e un conteggio di massima istanza di cinque (o qualunque valore esigenze richiedono).

You can set additional properties for the Scale Out Tier.

Figura 8 è possibile impostare proprietà aggiuntive per la scala fuori livello.

Configurazione di livello come questo incarica VMM per configurare una singola macchina virtuale durante la distribuzione iniziale e consentire un massimo di cinque macchine virtuali più tardi. Creazione di una set per il livello di disponibilità aiuterà durante gli aggiornamenti successivi a macchine virtuali di questo livello.

Nelle pagine della procedura guidata di configurare Hardware e sistema operativo configurare, si utilizzerà le impostazioni simili a quelle del livello iniziale, con poche eccezioni. Per la prima eccezione, impostare il valore di informazioni di identità su RDSH # # (vedi Figura 9). Scala fuori richiede l'utilizzo di caratteri jolly denominazione, che vengono impostati utilizzando l'operatore "#". Questa impostazione dà ogni nuova VM nel livello successivo numero disponibile, da 1 a 99.

Set the identity information for the Scale Out Tier.

Figura 9 imposta le informazioni di identità per la scala fuori livello.

Per la seconda eccezione, selezionare solo i servizi di ruolo RDS e RDSH in questo livello. Come accennato in precedenza, questo livello solo supporta la scalabilità orizzontale per RDSH. Gli altri servizi di ruolo RDS non è necessaria.

GCEs che configuri nella pagina configurare le applicazioni di questo livello sono anche leggermente diverso. A differenza del primo livello, dove è stata creata una nuova distribuzione di RDS e insieme, questa volta stai semplicemente aggiungendo un nuovo server. In questo modo richiede i cmdlet leggermente differenti. Eseguire questi cmdlet in ordine e con loro le variabili con successo aggiungere l'host:

  • 1 La preinstallazione:
    • Programma eseguibile: cmd.exe
    • Parametri: / q/c arresto/r/t 0
  • 2 La preinstallazione:
    • Programma eseguibile: cmd.exe
    • Parametri: / q/c arresto/r/t 0
  • 3 La preinstallazione:
    • Programma eseguibile: %WINDIR%\System32\WindowsPowerShell\v1.0\PowerShell.exe
    • Parametri: -comando set-executionpolicy bypass - forza
  • 4 La preinstallazione:
    • Programma eseguibile: %WINDIR%\System32\WindowsPowerShell\v1.0\PowerShell.exe
    • Parametri: -comando Add-RDServer-Server @ComputerName @ - ConnectionBroker @RDSFirstServerHostname@ .company pri-ruolo RDS-RD-SERVER - verbose
  • 5 La preinstallazione:
    • Programma eseguibile: %WINDIR%\System32\WindowsPowerShell\v1.0\PowerShell.exe
    • Parametri: -comando Add-RDSessionHost - NomeRaccolta @CollectionName @ - SessionHost @ComputerName @ - ConnectionBroker @RDSFirstServerHostname@ .company pri-verbose

Come prima, aumentare il timeout dello script su ogni comando di 3.600 secondi e regolare il riavvio politica sui primi due. Clicca attraverso le rimanenti pagine della procedura guidata per completare la tua scala fuori livello.

Passo 4. Distribuire e la scalabilità del modello

Il modello di servizio ora dovrebbe assomigliare il modello in Figura 10. Si può vedere il livello iniziale Host a fianco la nuova scala fuori livello. Fare clic sul pulsante Configura distribuzione del progettista per iniziare la distribuzione di questo servizio per il vostro gruppo host Hyper-V o cluster.

Your multi-server RDS service template with scale out.

Figura 10 il tuo modello di servizio RDS multiserver con scalabilità.

Il livello di due server di distribuzione può prendere un po — fino a 30 minuti su alcuni hardware. Una volta che è stata distribuita, testare il vostro lavoro spostandosi a VMM 2012 VMs e servizi Mostra per ispezionare il servizio appena creato (vedere Figura 11). Nota il pulsante scala fuori la barra dei pulsanti. Può ora fare clic su tale pulsante per distribuire un nuovo host RDSH alla vostra distribuzione RDS e raccolta.

This is how your deployed RDS service should look.

Figura 11 questo è come dovrebbe apparire il vostro servizio RDS distribuito.

Il prossimo: scala con Orchestrator

C'è un sacco di lavoro up-front qui, ma il ritorno ad investire il tempo a distribuire in silenzio queste configurazioni è la capacità di rapidamente ricostruire o ridimensionare il servizio ogni volta che si desidera. È ora possibile eliminare e ricreare questo servizio — una regolare attività in molti negozi di esso — con solo un paio Click nell'interfaccia di VMM. È possibile aggiornare facilmente anche i servizi. Basta fare le modifiche al modello VM e quindi ridistribuire il servizio. Tu non hai mai avuto così facile nella gestione di RDS.

La prossima volta, ti mostrerò come scalare in quello stesso servizio. Sarete in grado di integrare questo processo con Operations Manager e orchestratore per automazione ancora di più per il vostro ambiente di RDS.

Greg Shields

Greg ShieldsMVP, è partner di un concentrato di tecnologia. Ottenere più di Shields' Geek of All Trades trucchi e consigli a ConcentratedTech.com.

Contenuti correlati