Rob van Hamersveld.nl My digital life

3Feb/091

VMware: Tijdsynchronisatie binnen VM’s

Ik merk dat veel mensen nog steeds niet helemaal door hebben hoe om te gaan met tijdsynchronisatie binnen Windows VM's. Moet nou de w32time service van Windows gebruikt worden of die van de VMware tools? En hoe dan om te gaan met Domain Controllers? In deze post hoop ik dit voor eens en altijd duidelijk te maken.

VMware ESX

Allereerst dient de tijdsynchronisatie van de ESX host zelf goed op orde te zijn, voorheen was dit een gedoe binnen het service console maar gelukkig heeft VMware er vanaf ESX 3.5 U1 een mooi grafisch schilletje omheen gebouwd.

Om de ntp server in te stellen openen we de VI client en selecteer je je ESX host, open vervolgens de 'configuration' tab en klik op 'Time Configuration' on 'Software'.

esxtime

Klik nu rechts boven op 'Properties...' om de configuratie te openen.

esxtime2

Vink de optie 'NTP Client Enabled' aan en klik op de 'Options...' knop. Hier kunnen we de tijd servers gaan opgeven.

esxtime3

Wijzig in het 'General' gedeelte niets, dit staat verder goed. De Firewall poorten worden zodadelijk automatisch opgezet voor ntp. Klik nu op 'NTP Settings'.

esxtime4

Verwijder de aanwezige ntp servers d.m.v. de 'Remove' knop en voeg een tijd server voor jouw omgeving toe d.m.v. de 'Add' knop. In dit voorbeeld heb ik hiervoor de publieke NTP server van Planet Internet gebruikt (ntp.planet.nl). Sluit nu dit venster door voor 'OK' te kiezen. Nu worden de firewall poorten op het service console geopend en de configuratie toegepast. Als alles goed gaat ziet de configuratie er als volgt uit;

esxtime5

De tijdsynchronisatie op ESX is nu voor elkaar, doe dit voor alle ESX hosts in je datacenter.

Windows VM's (geen domain controllers)

De beste manier om tijdsynchronisatie te doen binnen Windows VM's is d.m.v. de VMware Tools. Standaard zal Windows de tijd synchroniseren met de Windows Time service, deze vraagt de tijd dan op bij de Domain Controller. Echter door het virtualiseren van de CPU gaat dit niet goed aangezien de tijd van Windows werkt op basis van CPU cycles.

Eerst dient de Windows Time service uitgeschakeld te worden. Open de service manager, start - run - services.msc. Open nu de properties van de Windows Time service. Zet het startup type op 'Disabled' en stop de service d.m.v. de 'Stop' knop.

esxtime7

Nu moet de tijdsynchronisatie via de VMware Tools aangezet worden. Open de VMware Tools Options en zet het vinkje voor 'Time synchronization between the virtual machine  and the ESX Server operating system.' en klik vervolgens op 'OK' om de settings toe te passen.

esxtime6

De tijd synchronisatie voor niet domain conroller Windows VM's is nu gereed.

Windows Domain Controller VM's

Aangezien de 'Windows Time' service voor Domain Controllers esentieel is kan deze niet worden uitgeschakeld. Deze service wordt op een domain controller gebruikt als ntp server voor domain members (servers en clients). Echter is het mogelijk om via het Windows register het client deel van de service uit te schakelen. Hiervoor dient de onderstaande waarde aangepast te worden binnen HKEY_LOCAL_MACHINESystemCurrentControlSetServicesW32TimeParameters

Zet hier de REG_SZ waarde van 'Type' naar NoSync.

esxtime8

Herstart nu de 'Windows Time' service en de settings worden actief. Het enige wat nu nog rest is om de VM d.m.v. de VMware Tools de tijd te laten synchroniseren met de ESX host.

esxtime6

Vanaf nu is de tijd synchronisatie volledig goed ingesteld.

[ad#postad]

3Apr/082

Windows: Terminal Services probleem

Bij een klant was ik vorige week tegen een probleem met de Citrix farm aangelopen. De Citrix servers 'hingen' op willekeurige momenten en accepteerde vervolgens geen nieuwe sessies meer. De sessies die op dat moment al actief waren bleven gewoon werken.

Na ad-hoc onderzoek toch maar besloten om het incident bij Microsoft aan te melden. Microsoft omschreef de oorzaak als volgt;

CAUSE: De server is niet in staat om system paged pool te alloceren omdat de server de limiet bereikt heeft voor paged pool allocaties.

De oplossing die geboden is heb ik hieronder beschreven;

  1. Open de register subkey: HKEY_LOCAL_MACHINESystemCurrentControlSetControlSession ManagerMemory Management
  2. Maak hier een nieuw DWORD value met de naam 'PoolUsageMaximum' en geef deze de waarde 00000040 (HEX).
  3. Verander vervolgens PagedPoolSize in ffffffff (HEX).
  4. Reboot de server.

Na bovestaande wijzigingen is het probleem niet meer voorgekomen. De vraag naar extra geheugen allocaties op de Citrix Servers werd trouwens veroorzaakt door het gebruik van Microsoft Softgrid. 

Daarnaast werd aangegeven dat de algemene performace bij het in- en uitloggen van users verbeterd kan worden door de registry settings zoals beschreven in KB324446 (http://support.microsoft.com/default.aspx?scid=kb;EN-US;324446) toe te passen.

13Mar/080

Windows: USB en netwerkprinters via RDP redirect

Gisteren liep een collega tegen het probleem aan dat de printer redirect binnen een RDP5 client op Windows XP de netwerk printers niet meeneemt.

 RDP5

Dit komt doordat printerpoorten die niet met USB, COM of LPT beginnen niet geredirect worden vanaf een Windows XP station. Om andere printerpoorten mee te nemen in een RDP of TS sessie moet er een aanpassing in het register gedaan worden. Volg onderstaande acties;

  1. Start 'regedit'
  2. Blader naar de volgende key
    • HKEY_CURRENT_USERSoftwareMicrosoftTerminal Server ClientDefaultAddInsRDPDR
  3. Maak hier een DWORD-waarde aan met de naam 'FilterQueueType'.
  4. Wijzig de waarde naar 'FFFFFFFF'

 Als er nu een nieuwe RDP connectie wordt opgebouwd worden alle printers meegenomen in de sessie.

21Dec/070

Microsoft: Uitschakelen DEP binnen windows

Binnen Microsoft Windows is sinds Windows Server 2003 SP1 en Windows XP SP2 DEP (Data Execution Protection) toegevoegd. In artikel KB875352 op de Microsoft Knowledge Base wordt de werking en toepassing van DEP toegelicht, een quote uit dit artikel;

DEP (Data Execution Prevention) is een reeks hardware- en softwaretechnologieën waarmee u extra controles op het geheugen kunt uitvoeren om te voorkomen dat schadelijke code op een systeem wordt uitgevoerd. In Microsoft Windows XP Service Pack 2 (SP2) en Microsoft Windows XP Tablet PC Edition 2005 wordt DEP door hardware en software aangestuurd.Het belangrijkste voordeel van DEP is dat het de uitvoering van code vanuit gegevenspagina’s helpt voorkomen. Doorgaans wordt code niet uitgevoerd vanaf de standaardheap en de stack. Door hardware aangestuurde DEP kan code detecteren die vanuit deze locaties wordt uitgevoerd. Bij uitvoering treedt een uitzondering op. Door software aangestuurde DEP kan helpen voorkomen dat schadelijke code gebruikmaakt van de mechanismen waarmee uitzonderingen in Windows worden afgehandeld.

Microsoft Windows XP SP2+ & Windows Server 2003 SP1+

Om DEP volledig uit te schakelen moet de C:boot.ini aangepast worden. Pas de optie ‘/noexecute=optin’ aan naar ‘/noexecute=AllwaysOff’. Vervolgens dient de PC of server herstart te worden, na de herstart is DEP uitgeschakeld.

Microsoft Windows Vista & Server 2008

Binnen Windows Vista en Server 2008 is DEP uit teschakelen d.m.v. een CLI commando (uitvoeren als Admininstrator!).

bcdedit.exe /set {current} nx AlwaysOff

Vervolgens komt de melding dat de actie voltooid is;

Vista-2008 DEP cmd

Na een herstart zal DEP uitgeschakeld zijn;

Vista-2008 DEP disabled