Browsed by
Schlagwort: PowerShell

Connect-VIServer Could not connect using requested protocol

Connect-VIServer Could not connect using requested protocol

Beim Versuch mich mit meinem (virtuellen) Test ESXi-Host via PowerCLI zu verbinden bin ich auf folgende Fehlermeldung gestoßen:

Da ich mich innerhalb einer Proxyumgebung befinde bekomme ich die Proxysettings des Systems in die PowerCLI Sitzung „gedrückt“.

Mit setzen der ProxyPolicy auf „noproxy“ kann man dieses Hindernis für die laufende Session ändern:

Quick & Dirty: ISO-Files in den VMWare Datastore hochladen

Quick & Dirty: ISO-Files in den VMWare Datastore hochladen

Nachdem ich mir eine Synology DiskStation als NAS gekauft habe musste ich meine ISO-Files noch in den neuen Datastore für mein VMWare-Lab hochladen.
Da ich solche Dinge gerne automatisiere habe ich mir kurz die Basis für ein späteres Script, mit welchem ich dann auch später den Datastore im sync halten möchte, gebastelt.
Momentan ist der Parameterteil noch größer als das eigentliche „Script“, aber es ist ja erst der Start 😉

VMWare: Neue VM unter PowerCLI erzeugen

VMWare: Neue VM unter PowerCLI erzeugen

Quick & Dirty:

Das ganze war gedacht um das Anlegen einer VM aus einem Template mit meinem TechNet-Beitrag Create Hyper-V VM zu vergleichen…

Ausbaufähig, aber ein netter Start 😉

Erstellen eines Speicherpools mit der Powershell unter Windows Server 2012

Erstellen eines Speicherpools mit der Powershell unter Windows Server 2012

Eine der wirklich überragenden Erneuerungen im Server 2012, sowie auch unter Windows 8, ist die Einführung von StoragePools. StoragePools bilden gerade zusammen mit der Nutzung von SMB3 einen erheblichen Mehrwert gegenüber Low-Budget RaidControllern oder gar einem SoftwareRaid… (mehr dazu in einem separaten Blogbeitrag)
Bevor ich den StoragePool erstelle werfe ich einen Blick auf meine physikalischen Festplatten, wobei physikalisch auf einem Hyper-V Gast natürlich nicht ganz richtig ist, handelt es sich doch hierbei um VHD-Files. Für das Betriebssystem wiederum sind dies physische Datenträger!

Besonderes Augenmerk sollte hierbei auf die Ausgabe des Attributes „CanPool“ geworfen werden. CanPool gibt an ob ein Laufwerk in den Speicherpool aufgenommen werden kann oder nicht! Die Disk „PhysicalDisk0“ wir mit nicht poolfähig angeben da dieses das Systemlaufwerk ist. Systempartitionen können nicht in einen StoragePool aufgenommen werden und da meine gesamte Disk0 als Partition C: genutzt wird fällt diese aus der Betrachtung raus.
Je nach gegebenen Szenario muss man sich entscheiden welche Disks man für den Pool nutzen möchte.
Beispielhaft habe ich dazu die Abfrage selektiv gegen die Poolfähigkeit der Disks und als weiteres praktisches Beispiel gegen eine bestimmte Größe laufen lassen.
Selektion nach Größe macht Sinn wenn ich meinen Server mit identischen Festplatten oder wie in meinem Fall mit identischen virtuellen Festplatten bestückt habe.

sp_ps_01
sp_ps_01

Da ich gerne alle poolfähigen Disks in meinen neuen StoragePool aufnehmen möchte habe ich das entsprechende Abfrageergebnis in eine Variable „NewDisks“ umgeleitet.
Ein (an dieser Stelle nicht gezeigtes) Get-StorageSubSystem wirft einen FriendlyName mit dem immer gleichlautenden Inhalt „Storage Spaces on hostname“ aus. Daher kann man den folgenden Befehl zum Erstellen des neuen Pools durch Platzhalter verkürzen. Im Anschluss an den Befehl wirft das System sofort einen Überblick über den neuen Speicher Pool „TEST“ aus…

sp_ps_02
sp_ps_02

Da ein StoragePool für sich gesehen erst einmal nichts weiter bringt, lege ich im nächsten Schritt eine virtuelle Disk, generiert aus dem neu erstellten Pool, an.
Hier erkennt man einen der großen Vorteile von virtuellem Storage. Ich lege nun virtuelle Disks an welche sich NICHT an den Kapazitätsgrenzen der genutzten physikalischen  Datenträgern orientieren muss.
Genauer mache ich mir die Technologie des ThinProvisionings zu nutzen um mit meinen hinzugefügten Platten, jeweils 5GB, 2 virtuelle Datenträger á 20GB zu erstellen.
So kann ich, insofern ich durch entsprechende Tests belegt habe, dass ich als Startgröße des Storages nicht die geforderte Endausbaustufe benötige, ein entsprechendes Storage vorgeben welches ich sukzessive aufstocke.
In den beiden gezeigten Beispielen habe ich jeweils ein Mirror (entspricht Raid1) und ein Simple (entspricht Raid0) „Resilienz-Typen“ erstellt. Parität zB kann ich, auf Grund nur zweier vorhandenen physikalischen Festplatten an dieser Stelle nicht einrichten!

sp_ps_03
sp_ps_03

Ein Aufruf des altbekannten diskpart Tools zeigt uns die beiden entsprechenden Datenträger als verfügbar, aber noch nicht konfiguriert an. Ähnliche Ausgabe wirft übrigens auch ein get-disk aus.

sp_ps_04
sp_ps_04

Daher werden die neuen Disks erst einmal initialisiert:

sp_ps_05
sp_ps_05

Und anschließend partitioniert und mit einem Laufwerksbuchstaben versehen:

sp_ps_06
sp_ps_06

Zu guter Letzt werden die beiden Partitionen noch formatiert:

sp_ps_07
sp_ps_07

Und ein Aufruf zeigt uns die beiden neuen Laufwerke!

sp_ps_08
sp_ps_08

XenApp5 Vorbereitung für PVS

XenApp5 Vorbereitung für PVS

Will man einen XenApp5-Server provisionieren muss man diesen mit dem Citrix-eigenen „Sysprep“, dem XenAppPrep, vorbereiten.
Dieser Schritt muss allerdings nicht nur bei der Initialen Provisionierung der Disk erfolgen sondern bei jeder Änderung an der Private-Disk.
Hierzu rufe ich in meiner Umgebung folgendes Script auf und dabei „räume“ ich auch noch ein wenig in der Umgebung auf…
Das ganze hat sich aus diversen Diskussionen, Foren- und Blogbeiträgen, sowie Best-Practises entwickelt und sieht mittlerweile wie folgt aus:

Hier noch der „WMI-Rebuilder“ welcher im obrigen Script als wmi.cmd aufgerufen wird:

Automatisierte VM-Anlage für Hyper-V

Automatisierte VM-Anlage für Hyper-V

Um der Forderung nach identischen Servern nachzukommen automatisiere ich meine Serveranlage via Powershell-Script.
Aktuell habe ich mir das ganze für Microsofts’s Hyper-V zusammengebaut.
Folgende 4 Schritte müssen vorab erledigt werden:

1. Erstellen einer VM im Hyper-V Manager
2. Installieren, Konfigurieren, Patchen,… des Betriebsystems der VM
3. Abschließen der VDisk mit sysprep. sysprep.exe /generalize /shutdown
4. Kopieren der VHD in die Library

Das im Library liegende Template kann nun x-beliebig zum erstellen einer VM genutzt werden.
Dazu habe ich mir folgendes Script zusammengestellt welches auch in der Technet-Gallery zum Download bereit steht:
Creat-Hyper-V-VM

Installation des XenServer PowerShell Snapin

Installation des XenServer PowerShell Snapin

Da man das XenServerPSSnapin auch unter XenServer6.1 noch immer händisch installieren muss habe ich hier mal eine Kurzanleitung zusammengeschrieben:

1. Downloaden
2. nach dem entpacken „XenServer-6.1-SDKXenServer-SDKXenServerPSSnapInXenServerPSSnapIn.msi“ installieren
3. Registrieren: C:WindowsMicrosoft.NETFramework64v2.0.50727InstallUtil.exe "c:Program Files (x86)CitrixXenServerPSSnapInXenServerPSSnapIn.dll"

%d Bloggern gefällt das: