Archiv

Artikel Tagged ‘Server’

Windows Clients / Server zuverlässig rebooten

Ich wollte die Tage für einen Kunden einrichten, das sich seine Server zu fest definierten Zeitpunkten automatisch neustarten. Zuerst ging ich mit den Boardmitteln von Windows daran, was sich aber leider nicht als sehr zuverlässig herausstellte.

Die finale Lösung liegt nun in einem VB Script, welches nun zuverlässig die Server neustartet, ohne Probleme zu verursachen oder zusätzliche Software zu benötigen. Hier mal auch für euch das Script:

1
2
3
4
5
Set colOperatingSystems = GetObject("winmgmts:{(Shutdown)}").ExecQuery("Select * from Win32_OperatingSystem")
 
For Each objOperatingSystem in colOperatingSystems
ObjOperatingSystem.Win32Shutdown(2+4)
Next

Das Script habe ich auf Windows XP Pro, Server 2003, Server 2008, Vista Business sowie auf Windows 7 erfolgreich testen können. Nirgends musste ich Anpassungen vornehmen!

Netzwerkkarte unter Ubuntu / Debian per Konsole konfigurieren

Netzwerkkonfiguration per Kommandozeile
Gerade heute habe ich wieder mal von einem Kunden die Anfrage bekommen, wie er denn seine Netzwerkkonfiguration an seinem Linux Server ändern kann – schließlich habe er ja gar keine GUI zum konfigurieren der eth Interfaces zur Verfügung und ein Yast gibt es auf Debian Systemen (zum Glück) auch nicht. Schnell hatte ich ihm per Telefon erklären können wie er als Beispiel eth0 unter Debian konfigurieren kann – das die Netzwerkkonfiguration unter Linux so einfach “zu lesen” ist, wollte er mir zu Anfang gar nicht glauben.

Da dies abermals ein Thema ist, welches mir öfter mal begegnet, denke ich das es an der Zeit ist hier auf meinem Blog die Konfiguration der IP Adressen auf die eth Interfaces von Debian basierenden Linuxsystemen zu erklären (ja, Ubuntu ist auch ein “Debian Derivat”)


Statische IP Adresse auf eth0 vergeben
In der Datei /etc/network/interfaces muss nur das nachfolgende eingetragen / konfiguriert werden, dabei dürfen jedoch keine Einträge die mit lo Interface zu tun haben entfernt oder geändert werden. Lo ist der sogenannte Loopbackadapter und für den Betrieb des Systems zwingend so wie er da steht erforderlich!

# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.1.2
gateway 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255

Zuer Erklärung: “auto eth0″ steht für einen automatischen Start des Interface beim booten. Wenn dieser Eintrag fehlt, müsste man das Interface eth0 von Hand aktivieren, was manchmal schwer fällt, wenn zum Beispiel der Server nur über Netzwerk erreicht werden kann (wie bei Root Servern oder anderen entfernten Servern der Fall).
“address” ist die IP Adresse die auf das eth0 Interface gelegt werden soll.
“gateway” steht für das default Gateway und ist für ein sauberes Routing unabdinglich – es sei denn man definiert es im nachhinein per Hand nach.
“netmask” steht für die Netzmaske – was das ist erkläre ich später mal – von seinem Provider (bei Root Servern) erhält man diese Angabe meist mit, bei einem LAN Server ist die Netzmaske meist wie hier im Beispiel 255.255.255.0 – sprich ein Class C Netzwerk von 192.168.1.0 bis 192.168.1.255 (wobei hier die .0 und .255 reserviert sind und nicht verwendet werden dürfen, siehe “network und “broadcast”)
“network” definiert nochmal das Netz in dem sich der Server befindet – wobei hier die vereinfachte Schreibweise verwendet wird.
“broadcast” am besten hier nachlesen:  7070

In der Datei /etc/resolv.conf wird nun definiert über welche DNS Server, oder auch Nameserver, dieNamensauflösung stattfinden soll und über den Eintrag “search” wird definiert in welcher Domain Linux suchen soll, wenn bei einem Serverrequest kein Domainname mit angegeben wird.

search domain.local
nameserver 192.168.1.1

IP Adresse für eth0 über DHCP
Hier muss ebenfalls natürlich das eth0 definiert werden, die Werte für die IP Adresse etc kommen aber über den DHCP Server, man braucht sie also nicht mit eintragen. Einfacher als eine DHCP IP Adress Konfiguration geht es, wie man sieht, kaum noch.

# The primary network interface
auto eth0
iface eth0 inet dhcp

Zweite IP Adresse auf ein Netzwerk Interface legen
Wenn die zweite IP Adresse statisch vergeben werden soll, kann man dies durch sogenannte virtuelle Interfaces machen. Dazu wird die Konfiguration des physikalischen Interfaces quasi kopiert und hinter den Namen einfach ein :Nr gehängt. Im Falle von ETH0 würde das erste virtuelle Interface also beispielsweise so aussehenen:

# The primary network interface - second IP address
auto eth0:1
iface eth0:1 inet static
address 192.168.1.3
gateway 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255

Für eine zweite IP Adresse für eth0 über DHCP sieht das dann wie folgt aus:

auto eth0:1
iface eth0:1 inet dhcp

Weblinks:

http://www.debianadmin.com/ubuntu-networking-for-basic-and-advanced-users.html

Hewlett Packard ProLiant DL180 G5 unter Microsoft Windows Server 2003

Hewlett Packard ProLiant DL180 G5

Hewlett Packard ProLiant DL180 G5

Der erste Eindruck war recht vielversprechend. Auf den ersten Blick hat der DL180 die Optik eines typischen HP ProLiant der DL Serie, das Innenleben des Servers läßt erstmal wenig Wünsche offen.

  • Bis zu acht 3,5″ SAS oder SATA Festplatten
  • bis zu zwei Intel XEON Quadcore
  • Serienmässiger Hardware RAID Controller
  • Bis zu 16GB RAM auf 6 DIMMs
  • Gigabit Ethernet
  • Bis zu 2 (dann redundante) Netzteile
  • Inklusive Rackmount Kit

Auf den zweiten Blick sieht man das man zu einem DL380 schon deutliche Abstriche machen muss. Das gesamte gehäuse scheint aus einem deutlich güstigerem Material gefertigt zu sein, die “Spaltmaße” passen auch nur soweit wie es für die Funktion der jeweiligen Teile erforderliche ist.

Auch das mitgelieferte Rackmount Kit besteht eigentlich nur aus zwei rechtwinkligen Blechen, auf welche der Server später dann geschoben wird. Hier sollte man eine andere Montagelösung eindeutig vorziehen, da der Server sich im Rack durchbiegt (zumindest war es bei meinem Kunden der Fall, 2 SATA HDD´s waren auf 0/0 und 0/1 montiert).

Beim Betrieb von Microsoft Windows Server 2003 sollte man definitiv darauf gefasst sein, das manche Treiber nicht durch ein ProLiant Support Pack (ich hatte Version 8.5 verwendet) installiert werden. Dementsprechend muss manuell gesucht (auf der HP Seite gab es die nicht) und installiert werden.

Hierbei wird man auf ein paar “Unbekannte Geräte” stossen – das ist ein Socket für das zusätzlich zufügbare iLo Interface etc.  HP hat hierfür einen “Treiber” in der KB hinterlegt.

Was bei mir überhaupt nicht richtig laufen wollte, war die Grafikkarte – leider für meinen Kunden extrem wichtig… Egal welchen Treiber ich für die Matrox G200 Series eingesetzt hatte, es lief nicht sauber – bei den HP Treibern kam es sogar zu BlueScreens und totalen Systemstillständen. Vielleich bessert HP hier ja nochmal nach…

Fazit:

Der ProLiant DL180 ist gut als Backupserver, oder Clusterknoten. Als Primärserver kann ich ihn nicht empfehlen, hier sollte man eindeutig die grossen Brüder des DL180 vorziehen – den DL380 zum Beispiel. Ich kann jedoch den DL180 für folgende Einsatzzwecke als sehr gut geeignet empfehlen:

  • iSCSI Targetserver (unter Ubuntu 8.04 LTS Server)
  • LAMP Webserver (unter Ubuntu 8.04 LTS Server)
  • VMware ESXi Server (mit externem Storage)
  • VMware ESX Server (mit einem SmartArray P400i  Controller statt dem Seriencontroller)
  • Backup to Disk Device für Symantec Backup Exec 12.5 (wahlweise unter Windows Server 2003 R2 oder unter Ubuntu 8.04 LTS Server)
  • Windows Server 2003 R2 Fileserverspiegel (DFS Replikat des primären Fileservers)

WSUS 3.0 Clienteinstellungen per Registry Schlüssel

Um über einen WSUS Windows Updates zu verteilen, kann man die nötigen Einstellungen über einen Registry Schlüssel verteilen. Alternativ funktioniert dies auch über GPO´s – jedoch stehen diese gerade in Domänen mit Linux basierten Domänencontrollern nicht zur Verfügung. Was man alles über diesen Registry Schlüssel einstellen kann, sei nachstehend erklärt:
Der Registry Schlüssel:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Windows Registry Editor Version 5.00
 
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\wuauserv]
"Start"=dword:00000002
 
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\windows\WindowsUpdate]
"TargetGroupEnabled"=dword:00000001
"TargetGroup"="Clients"
"ElevateNonAdmins"=dword:00000001
"WUServer"="http://WSUS-SERVER"
"WUStatusServer"="http://WSUS-SERVER"
 
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\windows\WindowsUpdate\AU]
"AUOptions" =dword:00000004
"AutoInstallMinorUpdates" =dword:00000001
"IncludeRecommendedUpdates" =dword:00000001
"DetectionFrequency" ==dword:00000001
"DetectionFrequencyEnabled"=dword:00000001
"DetectionFrequency"=dword:00000001
"NoAutoUpdate"=dword:00000000
"NoAutoRebootWithLoggedOnUsers"=dword:00000001
"RebootRelaunchTimeout" =dword:00001440
"RebootRelaunchTimeoutEnabled" =dword:00000001
"RebootWarningTimeoutEnabled"=dword:00000001
"RebootWarningTimeout"=dword:00000030
"RescheduleWaitTimeEnabled"=dword:00000001
"RescheduleWaitTime"=dword:00000030
"ScheduledInstallDay"=dword:00000003
"ScheduledInstallTime"=dword:00000010
"UseWUServer"=dword:00000001
 
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\WindowsUpdate]
"DisableWindowsUpdateAccess"=dword:00000001

Erklärung der einzelnen Schlüssel:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\wuauserv
Start DWORD 1 (Aktiviere den Windows Dienst “Automatische Updates” und setzte ihn auf “Automatisch”)

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\windows\WindowsUpdate

TargetGroupEnabled DWORD 1 (Automatisch den PC einer WSUS Gruppe hinzufügen)
TargetGroup STRING Clients (Gruppe HAAR für obige Einstellung vorgeben)
ElevateNonAdmins DWORD 1 (Auch Nichtadministratoren über neue Updates informieren)
WUServer STRING http://WSUS-SERVER (Pfad zum WSUS Server)
WUStatusServer STRING http://WSUS-SERVER (Pfad zum WSUS Server)

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\windows\WindowsUpdate\AU

AUOptions DWORD 4 (Installiere Updates automatisch nach Zeitplan)
AutoInstallMinorUpdates DWORD 1 (Installiere kleinere Updates (kein reboot) sofort)
DetectionFrequency DWORD 1 (suche ein mal pro Stunde nach neuen Updates)
DetectionFrequencyEnabled DWORD 1 (aktiviere automatische Suche nach Updates)
NoAutoRebootWithLoggedOnUsers DWORD 1 (Kein automatischer Reboot wenn User eingeloggt sind, dann nachfragen)
NoAutoUpdate DWORD 0 (AutoUpdate aktivieren)
RebootRelaunchTimeout DWORD 1440 (Nach der Frage nach Reboot 24 Stunden warten bis zur nächsten Anfrage)
RebootRelaunchTimeoutEnabled DWORD 1 (Obige Einstellung überhaupt erst aktivieren)
RebootWarningTimeout DWORD 30 (zur Sicherheit 30min warten bis sich der User entschieden hat ob er rebooten möchte oder nicht)
RebootWarningTimeoutEnabled DWORD 1 (umgehe auto 5 min Reboot Warnung mit obiger Einstellung)
RescheduleWaitTime DWORD 30 (nach 30min verpasste Updates erneut installen (versuchen))
RescheduleWaitTimeEnabled DWORD 1 (aktiviere obige Einstellung)
ScheduledInstallDate DWORD 3 (jeden Dienstag Patchtag)
ScheduledInstallTime DWORD 10 (jeden Tag um 9 Uhr – 0-23 Uhr sind Values)
UseWUServer DWORD 1 (WUServer überhaupt erst verwenden)

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\WindowsUpdate

DisableWindowsUpdateAccess DWORD 1 (Untersage Änderungen an den Updateeinstellungen)

Fehler, Hinweise und Ergänzungen gern jederzeit an mich. Ich bemühe mich immer alles Richtig aufzuschreiben, aber manchmal schleicht sich der Fehlerteufel auch hier ein…

Windows NTP Serverliste ergänzen (Zeitserver)

Wer seinen Client bisher mit einem der von Windows vorgegebenen Zeitserver aktualisiert hat, möchte in dieser Liste vielleicht auch andere Server stehen haben. So erging es mir zumindest heute. Auf einem Windows Server 2003 System sollte der lokale NTP Server des Kundennetzwerkes verwendet werden, externe NTP Server sind aufgrund von Firewallrestriktionen nicht erreichbar.



Gut, kein Thema – der lokale NTP Server ist ein kleines Linuxsystem mit einer Funkuhr dran, also eine fast ideale Zeitquelle – nur wie bringe ich Windows dazu es genauso zu sehen?
Durch einen Blick in die Windows Registry “Start -> Ausführen -> Regedit” wird es sehr schnell deutlich. Unter

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers

findet man genau die Liste der Server die Microsoft Windows von Hause aus mitgibt. Diese muss man nur erweitern!

Mit einem Rechsklick in einen freien Bereich unter der Serverliste im Windows Registry Editor fügt man einfach über “Neu – Zeichenfolge” einen neuen Eintrag hinzu. Achte auf die fortlaufende Nummer! Danach editiert man den neuen Wert und trägt dort den gewünschten neuen Zeitserver ein, sei es ein lokaler Zeitserver oder zum Beispiel ntp1.ptb.de oder auch ntp2.ptb.de – Fertig!

Es gibt auch noch andere Wege einen Zeitserver zu setzen, dabei sind auch Scriptgeeignete – aber dazu komme ich in meinem nächstem Beitrag zum Thema KixTart!