Saturday, February 23, 2008

Cluster -> Überlegungen zu Hyper-V im Cluster (gilt auch für andere hochverfügbare Systeme)

Hyper-V Cluster erstellen

Ich bin gefragt worden, wie ein Cluster vom Hyper-V erstellt werden kann. Die Vorstellung, dass man einfach zwei Server installiert und sich die VHD's synchronisieren ist zwar echt verlockend, doch geht das leider nicht so einfach. Eine solche kontinuierliche Replikation ist mit dem SQL Server 2005 oder dem sonst so altmodischen Lotus Notes möglich, aber nicht mit dem normalen Windows Cluster Dienst vereinbar.

Alternativen

1.       Double Take

Das Programm Double Take ist nicht günstig, kann aber einen Rechner 1 zu 1 online klonen und immer Syncrhron halten. Die Software ist für Server 2003 zertifiziert. Ob oder wann der Hyper-V Clusterdienst unstützt wird ist hier aber vollkommen unklar, auch wenn die Lösung bereits auf einfacher Hardware laufen sollte!

2.       Veritas Cluster

Eine Replikation wie oben beschrieben kann mit dem teueren aber guten Veritas Cluster erreicht werden. Mir ist aber nicht bekannt, ob Server 2008 und Hyper-V von Veritas unterstützt werden oder für wann die Unterstützung avisiert wird.

3.       Microsoft Cluster

Die zur Zeit einzig "richtige" Möglichkeit ist den Microsoft Cluster Dienst zu verwenden. Hierzu installiert man den ersten Server, dann den zweiten. Nun weißt man dem ersten die SAN oder auch ISCSI Festplatten zu. Danach wird der Cluster über die Windows Boardmittel eingerichtet. Erst nach dieser Einrichtung darf der zweite Server die Platten sehen, da bei NTFS im Gegensatz zu Linux nur ein Server exklusiv auf so einen Clusterdatenträger schreiben darf. Das hat Vor- und Nachteile. Ein Streaming wie beim VMWare ESX wird durch diese Architektur ausgeschlossen, dafür wird aber die Sicherheit by Default deutlich erhöht. Danach kann nun  der zweit Clusterknoten auch mit Clusterdienst in den neuen Cluster hinzugenommen werden. Was sich einfach anhört ist in der Praxis zwar mit dem Server 2008 wesentlich einfacher geworden, doch ist es immer noch nicht trivial. Denn Erfahrung mit dem Thema und zertifizierte Hardware sollte hier selbstverständlich sein. Erfahrung kann man hier auch mit einem internen Cluster im Hyper-V sammeln!

Clusterhardware

Die ideale Clusterhardware ist natürlich ein redundantes SAN, aber das kostet sehr viel Geld. Daher kann man auch ein ISCSI San verwenden, wenn man günstig einsteigen möchte. Hier empfiehlt sich zum Beispiel Promise VTrak als Speicher ISCSI Target. In diese Promise Racks können 8-16 Festplatten gesteckt werden. Somit wären bei 750GB Festplatten und RAID 1 Spiegelung rund bis zu 5 TB (mit einer Hot Spare Platte) möglich. Um den Server gegen Überspannung oder Brand abzusichern sollte diese Hardware auch noch mal in ein zweites Rechenzentrum gestellt werden. Die Verbindung zu den Servern sollte über ein eigenes Netzwerk gemacht werden und es empfiehlt sich 10GBit LAN separat ohne Anschluss an die normale LAN zu verwenden. Die beiden Geräte untereinander werden ebenfalls verbunden. Womöglich sogar doppel über einen zusätzlichen Switch!!! Eine solche Lösung kostet ohne die notwendigen Netzwerkkabel rund 10000 für beide Systeme. Da der Kabelweg unterschiedlich lang sein kann, muss hier besonders auf die Gegebenheiten des Rechenzentrums geachtet werden!

Openfiler als Open-Source Software

Als Alternative kann man sich auch noch den Openfiler anschauen, der auf Linux / Open Soruce Basis auch ein SCSI Target bereistellen kann. Der Support und die Zuverlässigkeit würde ich aber im Vergleich zum Promise als deutlich kritischer sehen.

Software auf Windows Basis / Windows Storage Server

Auch für Windows gibt es diverse ISCSI Software. Da die Software aber sehr teuer ist und Microsoft selbst eine Lösung davon aufgekauft und in den Storage Server ingegriert hat bleibt nur die Empfehlung den Windows Storage Server mit ins Auge zu nehmen. Auch hier gibt es sehr gute Lösungen für Storage, die im bezahlbaren Rahmen bleiben. Die Administration ist mit der Windows Oberfläche für einen "normalen" Windows Admin besonders einfach und effizient. So kann hier ein Clusterpaar für ISCSI Target mit SQL, Exchnage, Hyper-V und auch für den normalen NAS Storage mit Speicherkontingenten der Windows File Services genutzt werden.

Migration auf Hyper-V -> ISA 2006 nicht mit Hyper-V / Server 2008 komaptibel!

BUG: Isa Server 2006 und Hyper-V / Server 2008

Ich bin gerade beim umstellen meiner Server von Windows Server 2003 auf Windows Server 2008. Leider musste ich feststellen, dass der ISA Server nicht für Windows Server 2008 ausgelegt ist. Da ich aber die virtuellen Maschinen von VMWare Server auf Hyper-V migriere musste die Virtuelle Maschine noch mal neu installiert werden. Tja und dann tat trotz Server 2003 nichts mehr. Kein Ping ging mehr an den ISA Server von außen ran. Nach langem überlegen habe ich einen Legacy Network Adapter im Hyper-V eingestellt und die alten beiden gelöscht. Danach funktioniert der Server so wie früher unter VMWare und die Migration kann weiter gehen...

FAZIT:

·         ISA 2006 ist nicht kompatibel mit Server 2008

·         ISA 2006 ist nicht kompatibel mit Hyper-V

·         Will man ISA 2006 unter Hyper-V nutzen, so muss man einen Legacy Netzwerk Treiber einstellen!

 Thursday, February 14, 2008

kostenlose EBooks - unter anderem mit neuen zum .NET 3.5

Zu den .NET Framework 3.5 gibt es 3 kostenlose Ebooks von Microsoft in Englisch. Diese umfassen die Themen LINQ, ASP AJAX und Silverligt.

http://csna01.libredigital.com/?urvs5cn3s8

-----

Auch das .NET Blog Book ist absolut empfehlenswert! Es umfasst die besten Tipps aus den Blogs und ist sogar in Deutsch.

http://www.dotnetcasts.com/Static.aspx?=dotnetblogbook

-----

Auch die Openbooks von Galileocomputing sind noch absolut empfehlenswert. Die Bücher Microsoft Netzwerke, Praxis OO, VB2005, c# 2005, Java und Excel 2007 sind absolut empfehlenswert.

http://www.galileocomputing.de/katalog/openbook

-----

Das VB2005 Microsoft Press Buch aus der Weihnachtsaktion gibt es auch noch und jetzt auch mit beiden Teilen frei zum Download.

http://www.microsoft.com/germany/msdn/aktuell/news/MicrosoftVisualBasic2005DasEntwicklerbuch.mspx

 Thursday, December 06, 2007

Weihnachtsaktionen bei Microsoft, chip und Entwickler Press

Die drei Firmen bieten online nette Sachen zum freien Download an. Während Microsoft Press „nur“ ein Buch, dafür ein sehr gutes, kostenlos in zwei Teilen anbietet, gibt es bei den anderen beiden Firmen jeweils einen Adventskalender.

Teil1: Link zum Buch

Chip.de bietet jeden Tag eine Vollversion zum Download an. Ab und an kann es auch mal ein Sonderheft als PDF sein. Nicht alles ist super interessant, aber für mich war bisher jedes ja das eine oder andere interessante Türchen dabei!

Link zum Kalender

Entwickler Press hat aber den Hammer unterm Baum ;) Hier steht jeden Tag ein aktuelles Buch zum kostenlosen Download als PDF bereit. Diese Bücher sind echt sehr interessant zum Teil. Man sollte hier unbedingt jeden Tag schauen, da das Buch nur an dem einen Tag zum Download steht… z.B. zwei aktuelle Java 6 Bücher und ein c# 2005 Buch standen in den letzten Tagen schon zum Download!!!

Link zur Webseite mit Kalender

Mein Interview zum Thema Karriere mit .NET in der Computerwoche

Microsoft .NET ist extrem gefragt, wenn es um Softwareentwicklung geht. Dies schlägt sich nicht nur auf die Anzahl der Anwendungen, sondern auch auf den Arbeitsmarkt nieder. Für die Computerwoche habe ich hier zusammen mit 3 anderen Kollegen (autoscout24, jobscout24, WestLB und ich für meinen Arbeitgeber, die LBBW) ein Interview zum Thema .NET auf dem Arbeitsmarkt gegeben.

Der Artikel findet sich hier:

http://www.computerwoche.de/job_karriere/arbeitsmarkt/1849357/

Aktuell ist der Artikel nur online zu finden. Er wird aber im Januar auch in der Print Ausgabe zu finden sein.

 Thursday, November 29, 2007

DOCX, PPTX und XLSX auf Windows Mobile Geräten mit Patch endlich verfügbar

http://www.microsoft.com/downloads/details.aspx?FamilyID=4b106c1f-51e2-42f0-ba32-69bb7e9a3814&DisplayLang=de

Unter diesem Link gibt es nun endlich den Patch, mit dem man die neuen Dokumenttypen auf dem PocketPC darstellen kann. DOCX und XLSX können gelesen und geschrieben werden. PPTX kann nur gelesen werden, aber das war bisher auch schon so.

Im Gegensatz zur Meldung von Winfuture.de steht das Update jedoch nicht nur für Windows Mobile 6 zur verfügung. Laut den Installationsanweisungen kommen auch Windows Mobile 5 Kunden in den Genuss der neuen Office Formate.

Damit ist bei mir einer der letzten Vorbehalte gegen die neuen Formate gebrochen worden. Ab sofort werden bei mir alle Dokumente nur noch als OpenXML gespeichert.

 Thursday, November 22, 2007

Visual Studio 2008 Verbesserungen und Bugs

Das neue Visual Studio 2008 ist nun verfügbar und es bringt ganz gute Vorteile in Sachen Geschwindigkeit und Integration von Tools mit sich.

·         Die Geschwindigkeit beim Arbeiten hat sich subjektiv erhöht.

·         Es spart massig Zeit, wenn man nicht mehr so viele Plugins oder Patches installieren muss.

·         Ein klarer Vorteil ist auch die Funktion, dass man 2.0, 3.0 oder 3.5 Projekte bearbeiten kann. So ist sichergestellt, dass man keine falsche Klasse aus einem anderen Zielframework verwendet. Dies ist zum Beispiel wichtig, wenn auf den Clients noch kein 3.0 Framework installiert ist.

Es gibt aber auch zwei Dinge die ich bei dem Visual Studio 2008 vermisse oder fehlerhaft sind. Das erste ist mehr ein ganz kleiner und lustiger Fehler ;)

·         Bei der Installation des 3.5 Frameworks kommt die Erfolgsmeldung, dass das Framework korrekt „DEINSTALLIERT“ wurde ;)

·         Der tolle XML Schema Editor scheint nicht mehr enthalten zu sein?!

 Friday, November 02, 2007

Straßenpreis von Microsoft Windows Vista weiter gesunken...

Ich habe im letzten Januar die Preis von Windows Vista für die OEM/SB Version herausgesucht, die frei von jedem Kunden gekauft werden kann. Diese Preise reduzieren sich noch mal etwas, wenn man sie in Verbindung mit einer neuen Hardware kauft. Aber auch seit dem Termin hat sich einiges an den Preisen getan. Bei Geizhals.at/de habe ich nun folgende Preise gefunden:

Vista Ultimate:              142€ (bisher162€)

Vista Business:               99€ (bisher 126€)

Vista Home Premium:        79€ (früher 99€)

Vista Home Basic:            69€ (früher 78€)

Von demher kann ich behaupten, dass auf eine Laufzeit von 5 Jahren viele Leute mehr für Ihr Antivirus Programm zahlen, als für die orginale Vista Lizenz!

 Thursday, November 01, 2007

Team Foundation Server Beta2 in Deutsch

Die meisten Leute, mit denen ich über den neuen Team Foundation Server (Beta 2, 2008) gesprochen habe, meinten, dass Sie ihn gerne auf Basis der Projekt Templates gerne in Deutsch einsetzen würden. Zwar kann man ggf. lauf Aussage von Microsoft die Prozesstemplates auch nachinstallieren, aber warum so kompliziert, wenns auch einfach geht...

Hier ist der wohl schwer zu findende Link zur Deutschn Beta Version:

http://www.microsoft.com/downloads/details.aspx?FamilyID=053E83D0-DEB4-4EBB-B4C8-CBFFE928B4AA&displaylang=de

 Wednesday, October 31, 2007

Wo sind die Office 2003 Befehle in Office 2007 zu finden... Es gibt hier eine sehr gute Flash Hilfe von Microsoft!

Die neue Benutzeroberfläche von Office 2007 gilt als sehr innovativ. Benutzer, die neu mit Office 2007 anfangen oder wenig Kenntnisse haben, sind sehr schnell begeistert. Doch gibt es immer mal wieder die Frage, speziell von versierten Usern, wo man eine bestimmte Funktion findet.

Hier hat Microsoft eine sehr gute Hilfe bereitgestellt, die als Flash Animation die Alte Symbolleiste anzeigt und beim Klick auf eine Funktion die neue Oberfläche mit dem Weg zum neuen Befehl einblendt.

Folgende Links stehen zur Verfügung und enthalten auch eine Textuelle Übersicht über den Aufbau der neuen Fluent Oberfläche:

Excel

Word

PowerPoint

Für Access und Outlook stehen nur die Guidlines bereit, die erklären, wie die neue Oberfläche hier aufgebaut ist:

Outlook

Access

 Tuesday, October 30, 2007

Connection String vom DataSet dynamisch Ändern mit Tücken...

Lange habe ich rumsuchen dürfen, wie ich den ConnectionString von einem Dataset dynamisch in der Anwendung ändern kann und nun habe ich eine Lösung:

Was will ich denn eigentlich genau?

In der app.config wird die Einstellung zum Connection String abgelegt. Dieses ist prima, da man dieses manuell ändern kann, wenn dies notwendig ist. Nur kann es aber sein, dass der User einen von drei DB Servern beim Start auswählt (Test, Entwicklung, Produktion) und man dann den Connection String dynamisch ändern muss, da man bei dem Dataset nur eine Variable aus dem My.Settings hart verdrahten kann.

Wieso ist das ein Problem?

Nun stößt man erst darauf, dass die Settings unter My.Settings readOnly sind, wenn sie für eine Applikation deklariert sind. Einen Connection String kann man aber nur für eine Anwendung deklarieren und er ist somit IMMER ReadOnly.

Die Lösung

Tja daher muss man den Workaround von der folgenden Seite nehmen, um das Problem zu Lösen. Für meine Anwendung hat das ohne Probleme Funktioniert : http://www.mycsharp.de/wbb2/print.php?threadid=16723&page=1 . Hier kann dann der User den ConnectionString abändern aus der Anwendung per Funktion. Die My.Settings werden nach der Änderung neu geladen. Ob dieses bei häufigem Wechseln und eine großen Userzahl Probleme macht kann ich nicht sagen, da 99% der Zugriffe Produktion sein werden und hier der Server bis zu einer Migration sicher nicht geändert wird...

 Tuesday, September 18, 2007

Releases und Hotfixes von .NET und Java im Vergleich

Es ist sehr interessant, wie SUN und Microsoft die Releases Ihrer Programmierframeworks herausgeben. So ist .NET bei den Patches und Fixes sehr gut im Rennen. Java ist dafür beim Releasezyklus der Versionen knapp im Vorteil. Vergleicht man die Visual Studio Entwicklungsumgebung mit denen von Java wird man aber sein blaues Wunder erleben. Die Stufen von Eclipse würden den Rahmen eines Tests sprengen, vielleicht wäre hier aber NetBeans für einen Vergleich besser geeingnet?! Visual Studio ist hier mit den Änderungen relativ stabil ist. Interessant ist auch noch der Vergleich mit Microsoft Office...

Damit ist aber klar bewiesen, dass sich Java und .NET auch bei den Releses und der Sicherheit kaum unterscheiden!

Wer interesse hat, wie ich das ausgerechnet habe, kann auf der Sun Seite nach der neueste Version suchen. Die zählen das einfach hoch und bei Microsoft gibt es die Seite: http://www.microsoft.com/technet/security/current.aspx wo man je Produkt die Patches suchen, downloaden und zählen kann...

Relevant heißt übrigens, dass zum Beispiel asp.NET und Cristal Report Patches für meine Betrachtung, die auf Windows Applikationen zielt, nicht notwendig sind.

 Monday, September 03, 2007

KB938979 und Treiberschutz für 64 Bit Systeme

Das Patch KB938979 verändert ähnlich dem Patch KB932596 das Kernelverhalten von den 64 Bit Systemen. Wird es z.B. durch Windows Update installiert laufen unsignierte Treiber wie bei VMWare 1.0.3, selbst mit der Deaktivierung des Treiberschutzes, nicht mehr. Die vorgestellten Kommandos zur Installation solcher Treiber wird deaktiviert. Daher sollte man dieses Patch, vorerst und wenn unbedingt nötig, ausbleneden.

Ich hatte am Anfang nichts gegen den Kernelschutz, wenn man Ihn mit etwas Fachwissen deaktivieren kann. So werden die DAU's geschützt und die Profis haben ne Chance selbst die Kontrolle zu übernehmen. Das nun aber schon 2 Patches mir bestimmen wollen, dass es erst geht und nun doch nicht mehr finde ich schade. Wenn endlich VMWare eine Lösung hat, kann das von mir aus abgeschaltet werden, aber auch andere Leute nutzen die Profi - Einstellung, weil sie einfach noch eine Software ohne singierte Treiber haben...

 Wednesday, August 29, 2007

Windows Treiberschutz unter Vista x64 deaktivieren (ohne KB932596 -> z.B. für VMWare Server)

Der Windows Treiberschutz unter Vista x64 unterbindet die Installation sämtlicher Treiber, die nicht signiert sind. Das ist auf der ersten Seite eine gute Sache, aber auf der anderen Seite kann es für Experten, die Software zum laufen bekommen wollen ein Hinderniss sein. Aktuell ist bei mir der VMWare Server die einzige Position, warum ich den Kernelschutz deaktivierten muss. Das muss basiert darauf, dass ich alle Virtuellen Maschienen auf VMWare laufen habe und mein PC 8GB Ram hat. Vista x32 akzeptiert nur 4GB Ram. Somit bliebe nur die Wahl Windows Server 2003 x32 Enterprise zu verwenden. Da der PC aber für den normalen Alltag genutzt wird und VMWare nur on Top läuft habe ich mich entschieden Vista x64 ohne Kernelschutz zu verwenden.

Hier die Anleitung:

Man deaktiviert die folgende GPO:

- Start -> Ausführen -> gpedit.msc
- Benutzerkonfiguration -> Administrative Vorgaben -> System -> Treiberinstallation -> Codesignatur für Gerätetreiber öffnen
- aktivieren und auf ignorieren stellen

Danach führt man die folgende Kommandozeile aus:

- Start -> Ausführen -> CMD
- bcdedit -set loadoptions \”DDISABLE_INTEGRITY_CHECKS”
- bcdedit.exe /set nointegritychecks ON

Danach kann man VMWare Server 1.0.3 installieren. Aber wehe man installiert das Patch mit der Nummer KB932596. In diesem Fall wird der PC nicht weiter machen. Daher nach der Update - Installation das Patch über Systemsteuerung -> Update das Patch wenn nötig deinstallieren oder aus der Liste ausblenden. Danach wird der VMWare Server bis zum SP1 wohl laufen. In der Zeit hat dann VMWare auch hoffentlich eine lauffähige Version 1.0.x auf dem Markt.

Eine Alternative ist noch die Treiber selbst zu signieren. Dies geht mit dem entsprechendem SDK und stellt einen heiden Aufwand dar, den ich nicht hier beschreiben möchte :))

 Tuesday, August 28, 2007

Config Dateien im selben Namensraum

Ich habe eine EXE Datei ein 2 DLL's die im selben Verzeichnis liegen. Die beiden DLL's haben je 2 Konfigurationswerte "Test1" + "Test2" / "Test3" + "Test4". Die Werte werden in der DLL beim kompilieren als Standardwerte eingebrannt. Nun habe ich nur die DLL Dateien und will die Werte Ändern... Wie geht das?

Unter der Voraussetzung, dass DLL's und EXE den selben Namensraum haben, kann man einfach "Test1", "Test2", "Test3" und "Test4" in der Config Datei der EXE angelegt werden. Die dort gesetzten Standardwerte überschreiben dann die kompilierten Standardwerte der DLL's.

Daher sollte in den DLL's unbedingt dokumentiert werden, welche Config Werte gesetzt werden müssen / können. Kommen hier Werte hinzu, so muss, man diese auch in die EXE einbauen.

Sind die Werte nicht im gleichen Namensraum vorhanden, muss ein Verweis auf den anderen Namensraum gesetzt werden, wie es Thomas Schissler in seinem Blog macht. Man beachte, dass sein Tipp nur für c# gilt und unter vb.NET ein anderer Zweig angelegt werden muss. Nämlich der im My.Settings Bereich.

Hier der Link zu Thomas Schisslers Artikel: http://www.artiso.com/ProBlog/PermaLink,guid,8c0f402f-5186-4b31-aaa1-778f57082fb9.aspx

 Thursday, August 16, 2007

MSDTC und Windows Workflow Foundation

2 Tage Arbeit hat mir eine Fehlende Exception in der Windows Workflow Foundation gebracht!

Ich habe einen einfachen Workflow gebaut und ihn mit SQL Persistence und SQL Tracking an einen SQL Server 2005 angebunden. Die Datenbank blieb jedoch manchmal leer und wurde nur in seltnene Fällen gefüllt. Wo sucht man da, wenn das Programm erfolgreich durchläuft und kein Fehler gemeldet wird? Im Quellcode. So habe ich 2 Tage gesucht und nichts gefunden. Doch wie durch ein Zufall habe ich die Bedingung Runtime.StopRuntime mitten drin als Auslöser für eine Exception gesetzt und diesmal kam auch eine, die mich zur Lösung des Rätsels brachte...

MSDTC nicht auf Server blub Verfügbar...

Tja, dann habe ich geschaut und den MSDTC Dienst eingeschaltet. Er war hier gestoppt worden. Tja, nachdem der Dienst lief, war erstens die Fehlermeldung weg und zum zweiten wurden nun immer alle Events geloggt. Daher bleibt nur die Frage, wo die Microsoft Entwickler die Exceptions für die WF versteckt haben. Für Tracking und Persistence sind sie auf jeden Fall zu sparsam gewesen und ich würde es gar als Bug bezeichnen.

FAZIT: VOR der Benutzung der Persistence und Tracking Services in der Windows Workflow Foundation MSSTSC Dienst starten!!! MSDTC steht übrignes nicht für Distributed Transaction Controller...