Welcome

This is the generic homepage (aka Aggregate Blog) for a Subtext community website. It aggregates posts from every blog installed in this server. To modify this page, look for the Aggregate skin folder in the Skins directory.

To learn more about the application, check out the Subtext Project Website.

Powered By:
Powered by Subtext

Blog Stats

  • Blogs - 4
  • Posts - 77
  • Articles - 0
  • Comments - 88
  • Trackbacks - 0

Bloggers (posts, last update)

Welcome All

VMWare liefert diverse praktische cmd-Tools mit welchen der IT-Alltag vereinfacht wird. Um beispielsweise eine VMWare Harddisk zu vergrössern kann man das Tool vmware-vdiskmanager.exe verwenden. Der Syntax um eine bestehende Disk z.B. um 10Gb zu erweitern lautet wie folgt:

vmware-vdiskmanager.exe -x 10GB mydisk.vmdk

Eine Übersicht über alle Tools gibt es hier:
http://www.vmware.com/support/ws55/doc/ws_disk_manager_examples.html


Latest Posts

Snapvault Lagtime mittels Powershell abfragen

Die Lagtime einer Snapvault-Relationship lässt sich mittels Powershell wie folgt abfragen:
>Get-NaSnapvaultSecStatus

Um alle Relationships anzeigen zu können, welche mehr als einen Tag nicht mehr aktualisiert worden sind, kann man folgende Bedingung setzen:
>Get-NaSnapvaultSecStatus | Where-Object {$_.LagTime -gt 86400}

Das Feld LagTime ist im Standardoutput nicht sichtbar. Es enthält das Lag-Delta in Sekunden.

posted @ 3/15/2012 11:17 AM by Stephan Troxler

VMWare Workstation "drag and drop" Problem

Nach dem Upgrade von VMWare Worksation 6.x auf 6.5 und dem aktualisieren der VMWare-Tools auf die neuste Version funktionierte plötzlich die gewohnte "drag and drop"-Funktionalität zwischen Hostsystem und VM nicht mehr richtig. Alle gängigen Ratschläge wie das Neuinstallieren der VMWare-Tools fruchteten nicht und das Problem trieb mich fast in den Wahnsinn, funktionierte es doch vorher immer. Files die per drag and drop ausgetauscht werden, landen immer zunächst im Tempfolder des Zielsystems. Ich konnte sogar beobachten, dass dies mittels einem temporären Verzeichnis initialisiert wurde, jedoch landeten die Dateien anschliessend nicht darin.
Die Lösung war erschreckend einfach. Ich musste lediglich auf den VMs die Anzeigeoptionen anpassen und die Farbtiefe von 16 Bit auf 32 Bit erhöhen. Das wars.

posted @ 11/26/2008 5:42 PM by Stephan Troxler

GUI für Storage VMotion

Mit ESX 3.5 und VC 2.5 wird der Traum eines jeden Admins wahr. Virtuelle Maschinen können nun im laufenden Betrieb auf einen anderen VMFS-Store migriert werden. Leider funktioniert das derzeit aber nicht via VC, sonder nur über das neue Remote CLI.

Koen Warson stellt auf seiner Webseite jedoch ein cooles GUI dafür zur Verfügung. Ein weiteres Feature des Tools ist die Möglichkeit, auf mehreren ESX Hosts gleichzeitig einen Rescan der HBAs durchzuführen

http://www.svmotion.com/

posted @ 4/17/2008 4:59 PM by Stephan Troxler

Aendern von Timezone auf ESX Server

How to Change the Timezone in ESX


It's possible to change the system timezone in Linux in a few short steps:
Steps
1. Logged in as root, check which timezone your machine is currently using by executing `clock`. You'll see something like "Mon 17 Jan 2005 12:15:08 PM PST -0.461203 seconds", PST in this case is the current timezone.
2. Change to the directory to /usr/share/zoneinfo, here you will find a list of time zone regions. Change to the most appropriate region, if you live in Switzerland  this directory is the "Europe\Zuerich" directory.
3. If you wish, backup the previous timezone configuration by copying it to a different location. Such as `cp /etc/localtime /etc/localtime-old`.
4. Copy over the most appropriate timezone to /etc/localtime. Example: `cp Zuerich /etc/localtime`.
5. If you have the utility rdate, update the current system time by executing `/usr/bin/rdate -s time.nist.gov`.
6. Set the hardware clock by executing: ` /sbin/hwclock --systohc`

posted @ 4/7/2008 11:47 PM by Blog Author

HA-Probleme nach Upgrade auf VC 2.5

Nach dem Update von Virtual Center auf Version 2.5 liess sich HA auf den Hosts unserer beiden Cluster nicht mehr konfigurieren. Auch die Option "Reconfigure for VMware HA" brachte keinen Erfolgt. Die Lösung war dann ganz einfach HA auf Clusterebene zu deaktivieren und nach der Neukonfiguration aller Hosts wieder zu aktivieren.

posted @ 4/1/2008 4:29 PM by Stephan Troxler

VM aus ESX exportieren

Wenn man eine VM aus einer ESX-Plattform nach VMWare Workstation zügeln will stösst man auf das Problem, dass Windows nicht mit dem VMFS-Format der ESX-Diskfiles umgehen kann. Mittels vmkfstools lassen sich die Disks aber konvertieren. Das gleiche Verfahren funktioniert auch in die andere Richtung.

Folgender Befehl konvertiert ein ESX-Diskfile in eine für Windows lesbare Form:
vmkfstools -i ./vmserver1.vmdk -d 2gbsparse ./vmserver1.vmdk

Dieser Artikel hier beschreibt sämtliche Optionen im Detail:
http://decipherinfosys.wordpress.com/2007/02/25/exporting-and-importing-virtual-machines-using-vmkfstools/

posted @ 3/5/2008 9:58 AM by Stephan Troxler

Geniales SQL Tutorial

Auf folgendes geniale Tutorial bin ich heute zufällig gestossen. Auf den ersten Blick sieht es zwar eher auf Anfänger ausgerichtet aus, auf den zweiten geht es aber schön in die Tiefe und erklärt auch komplexere Statements anhand von guten Beispielen. Daumen hoch.

http://www.sql-und-xml.de/sql-tutorial/index.html

posted @ 3/5/2008 12:41 AM by Stephan Troxler

Netapp Aggregat down wegen einzelnem Diskfehler

Mein neustes Leiden geht in die Kategorie der Fehler die man niemals erwarten kann. Auf unserer Netapp 3040 spukte heute eine Disk, welche dafür sorgte, dass das ganze Aggregat, bestehend aus 31 Disks, einen massiven Performanceeinbruch erlitt. Vermutlich war zwar nur die darunter liegende Raidgruppe beeinträchtigt, aber die Auswirkungen waren dennoch massiv. So verloren die daran gemounteten SAN-LUNs teilweise die Verbindung zur Storage und switchten mehrmals über alle Pfade. Was das für Exchangeserver bedeutet kann sich jeder ausdenken.
Bei der Fehleranalyse konnten wir ausschliessen dass das Problem generell mit dem Filer zu tun hatte, da andere Server mit LUNs auf dem gleichen Head keine Probleme hatten. Auch die FC-Fabrics und das Zoning waren in Ordnung und schieden somit aus. Der einzige gemeinsame Nenner der Exchangeserver, das Aggregat in welchem die LUNs lagen, an erbot sich jedoch nicht als Fehlerquelle. Doch genau hier lag der Hund begraben. Nach etwa einer halben Stunde tauchte zum ersten mal im \etc\messages folgender Eintrag auf:
scsi.path.excessiveErrors:error]: Excessive errors encountered by adapter 0c on disk device 0c.#.
Leider wurde die Disk aber nicht als fehlerhaft markiert und konnte somit das System weiter stören. Nach einer weiteren Analyse und einem manuellen deaktivieren der Disk erholte sich das Aggregat dann aber schlagartig wieder. Der alles rettende Zauberbefehl lautete diesmal wie folgt. Der -o Switch erzwingt ein sofortiges abschalten der Disk, da die Storage ansonsten zuerst noch versucht die fehlerhafte Disk auf eine Spare zu synchronisieren.
disk fail -o <diskid>
Eine redundante Storage, redundate FC-Fabrics, redundante HBAs und ein fleissige Snapdrive das brav versucht seine LUNs am Leben zu halten auf der einen Seite unterliegen einer fehlerhaften Disk auf der anderen Seite - und das alles an einem Freitag. Ich bin schon mal gespannt auf die Analyse von Netapp. Zum Glück ist jetzt Freitag Abend. :-)

posted @ 2/29/2008 6:00 PM by Stephan Troxler

Kixstart Scripts verifizieren

Kixtart ist eine weit verbreitete Umgebung für Logonscripts. So kann man z.B. ganz einfach nach AD-Gruppen basierte Laufwerkmappings vornehmen. Bei grösseren Umgebungen werden solche Scripts aber schnell mal unübersichtlich und schwer zu warten. Mit dem Tool KiXStrip lassen sich Scripts einfach verifizieren. Der Syntax dazu lautet wie folgt:

kixstrip inputput.kix output.kix /block_check

posted @ 2/26/2008 4:49 PM by Stephan Troxler

Active Directory SYSVOL is in JRNL_WRAP_ERROR

Event ID 13568 meldet diesen Error.

Die Lösung ist einen Regedit Key zu setzen:

Click on Start, Run and type regedit.

Expand HKEY_LOCAL_MACHINE.
Click down the key path:
   "System\CurrentControlSet\Services\NtFrs\Parameters"
Double click on the value name
   "Enable Journal Wrap Automatic Restore"
and update the value.

If the value name is not present you may add it with the New->DWORD Value function under the Edit Menu item. Type the value name exactly as shown above. 

Stopt the Service: "File Replication Service"
Start the Service: "File Replication Service"

Wait 5-6 min. and the problem should be solved.

Regards,
milutin

posted @ 2/26/2008 2:40 AM by Blog Author

Ade dasBlog und willkommen auf Subtext

Der Umzug meines Blogs auf meinen eigenen Server ist endlich vollbracht. Die momentane Adresse wird nun wohl eine Weile in Betrieb bleiben, vermutlich ändert aber die Domain gelegentlich noch.

Der Umzug von dasBlog auf SubText war leider eine regelrechte Tortur bei der mich aber Alex super unterstützt hat. Ohne ihn hätte ich es wohl nie geschafft den XML-Müll von dasBlog in sauberes BlogML zu konvertieren. Nochmals vielen Dank an dieser Stelle.

posted @ 2/21/2008 11:41 PM by Stephan Troxler

Tool der Woche: SQLRecon

Alle Jahre wird in grösseren Firmen das unbeliebte "Such-die-Lizenz" Spiel durchgeführt, bei welchem gegenüber dem Management, aufgeführt werden muss wieviele SQL-Instanzen welchen Kalibers auf wievielen Prozessoren sich gegenwärtig im Betrieb befinden. Natürlich ist die Ausgangslage für den verantwortlichen SQL-Fuzzi ebenfalls wiederkehrend die selbe: obwohl man fleissig Buch führt stimmt die Liste nie. Da ein paar Testserver die immer noch laufen, dort ein paar Leichen und dann noch die ganzen virtualisierten Servern mit neuer CPU-Bestückung...
Was also tun?

Per Zufall bin ich auf folgendes Juwel gestossen, welches einen Netzbereich durchforsten kann und sauber alle SQL Instanzen inkl. Patchlevel etc. identifiziert. Ihm gehört das "wow" der Woche:

http://www.specialopssecurity.com/labs/sqlrecon/

Und ja... das Blog lebt noch. Ich gelobe Besserung. :-)

posted @ 2/12/2008 12:08 PM by

Tool der Woche: Fileacl

Der Titel "Tool der Woche" ist eigentlich eine starke Untertreibung für ein solch mächtiges Werkzeug, beherrscht es doch sämtliche ACL-relevanten Kniffe welche im Zusammenhang mit NTFS anfallen. Darunter fällt einerseits ein detailiertes Reporting der gesetzen Rechte auf Verzeichnis- und Filebene und andererseits die Möglichkeit diese zu setzen. Eindrücklich finde ich dabei vor allem die Performance des Tools. Bei Tests auf unserem Netapp-Filer konnte ich in nur 4h 7'000'000 ACL-Einträge aus rund 4TB Daten entnehmen. Andere Tools wie z.B. xcacl oder Secdump kapitulieren hier schon längstens.  Nachfolgend ein paar Beispiele zur Verwendung von fileacl.

Auflisten aller gesetzen Berechtigungen eines Pfades und aller Unterverzeichnise:
>fileacl.exe \\server\share /SUB

Der Switch /NOINHERITED ermöglichte es nur explizit gesetzte Rechte anzuzuzeigen und vererbte wegzulassen:

>fileacl.exe \\server\share /SUB /NOINHERITED
Alle gesetzten Rechte entfernen und Vererbung für ganzen Pfad aktivieren:
>fileacl.exe \\server\share /REMOVE /SUB /INHERIT
Crème de la crème ist aber folgendes Statement. Mit derm Switch /BATCH schreibt das Tool alle nötigen Switches und Parameter heraus die nötig sind um den aktuellen ACL-Zustand eines Pfades wieder herzustellen. So kann man sich vor Eingriffen quasi ein Backup der gesetzten Berechtigungen anlegen.
>fileacl.exe \\server\share /BATCH /SUB
Fileacl gibts hier zum runterladen:
http://www.gbordier.com/gbtools/fileacl.htm

posted @ 3/14/2007 12:16 PM by

VMWare Harddisk vergrössern

VMWare liefert diverse praktische cmd-Tools mit welchen der IT-Alltag vereinfacht wird. Um beispielsweise eine VMWare Harddisk zu vergrössern kann man das Tool vmware-vdiskmanager.exe verwenden. Der Syntax um eine bestehende Disk z.B. um 10Gb zu erweitern lautet wie folgt:

vmware-vdiskmanager.exe -x 10GB mydisk.vmdk

Eine Übersicht über alle Tools gibt es hier:
http://www.vmware.com/support/ws55/doc/ws_disk_manager_examples.html


posted @ 9/26/2006 9:53 AM by

Wie sicher ist mein Passwort?

Der Datenschutzbeauftrage des Kantons Zürich hat einen neuen Passwortchecker zur Verfügung gestellt. Das eingegebene Passwort wird anhand verschiedener Kriterien bewertet und klassifiziert. Ein cooles Feature ist z.B. die geschätzte Dauer einer brute-force Attacke beim eigegebenen Passwort (das hoffentlich nicht produktiv im Einsatz ist...).

https://passwortcheck.datenschutz.ch/

posted @ 8/23/2006 9:25 PM by

Leiden am Freitag

Bei meinen letzten zwei Leiden kamen gleich mehrere Problematiken zusammen. Der Verständlichkeit wegen hier noch die ganze Vorgeschichte dazu:

Alles fing damit an, dass ich für eine grosse Tabelle mit ~1.6 Mio. Records im SQL Server einen Volltextindex angelegt habe. Da die importierten Daten nicht über einen dafür erforderlichen "single row unique identifier" (eine Spalte als PK) verfügte, nahm ich eine zusätzliche Spalte mit einem autoincrement Wert zur Hilfe. Zu solch speziellen Daten gelangt man im übrigen, indem man verschiedene Fileserver auf vergebene Berechtigungen scannt. Benutzer, Gruppen, Verzeichnisnamen, Laufwerke, Servername - alles ist in Fülle mehrfach vorhanden... aber soweit, so gut. Die Daten der Tabelle werden täglich neu importiert, wodurch folglich auch der Index täglich aktualisiert werden muss. Und hier gings los...
Ein vollständige Neuindizierung dauerte gut 4h und war somit als Lösung für den Dauerbetrieb unbrauchbar. Auch ein Auslagern des Volltextindexes auf eine, unabhängige Disk brachte keine spürbare Verbesserung. Eine Analyse der Importdaten ergab mir dann aber, dass sich täglich nur ein paar hundert der Datensätzte änderten. Würde ich also die indizierte Tabelle nur updaten anstelle eines radikalen Neuimports, würde eine differenzielle Neuindizierung des Index reichen. Ich erstellte also eine zweite Tabelle und leitete den täglichen Import dort hinein. Nun stellte sich mir das Problem wie man eine Tabelle updaten kann, ohne dass sie über einen brauchbaren primary key verfügt.

Nachdem sich zunächst lange keine brauche Lösung abzeichnete, kam sie dann gleich im Zweierpack daher. Der erste Ansatz führte über die Funktion checksum() dazu, dass ich einen PK erstellen konnte, der für die Kombination der erwähnten Felder einzigartig war:

Hashwerte mittels checksum eindeutiger machen

Da ich aber nicht recht glücklich war mit der Lösung (und weil fast eben nie ganz ist) verfolgte ich noch einen weiteren Ansatz der dann endgültig zum Erfolg führte:

Zwei Tabellen abgleichen ohne unique identifier

posted @ 8/11/2006 12:34 PM by

Hashwerte mittels checksum eindeutiger machen

Checksum ist eine nützliche Funktion des SQL Servers um einen Hashwert aus einer Menge von Daten zu erzeugen. Ein gutes Anwendungsbeispiel dafür beschreibt Arthur Fuller auf www.simple-talk.com.

Will man mittels Checksum jedoch möglichst einzigartige Werte erzeugen die reproduzierbar sind, scheitert man relativ rasch an der Tatsache, dass Hashwerte halt eben doch schnell mal doppelt vorkommen. Man spricht in dem Fall von einer so genannten "hash collision". Mit dem Prinzip des salzen (was nicht nur bei Rechnungen funktioniert: http://de.wikipedia.org/wiki/Salted_Hash) lassen sich die Ausgangswerte (und somit in aller Regel der späterne Hash) einzigartiger machen. Dazu nimmt man am einfachsten zu jeder Spalte welche gehasht wird ganz einfach noch deren Stringlänge hinzu. Das Ergebnis lässt sich wie folgt ausprobieren:

SELECT checksum(feld1, len(feld1), feld2, len(feld2))
FROM tabelle1

Bei knapp 2 Mio. Datensätzen konnte ich mit dieser Methode kürzlich 2000 hash collisions auf 0 runter reduzieren. Wirkliche einzigartige Werte lassen sich aber nur mittels der Funktion NEWID() erzeugen, wie z.B. von Chris Wille hier beschrieben: http://www.aspheute.com/artikel/20010130.htm

posted @ 8/11/2006 8:26 AM by

Zwei Tabellen abgleichen ohne unique identifier

Wie kann ich zwei Tabellen einer Datenbank miteinander abgleichen? Eine häufig gefragte Frage zu der es einen pragmatischen Lösungsansatz gibt. Zunächst werden anhand des primary keys die Datensätze in Tabelle 1 (t1)  ermittelt die nicht in Tabelle 2 (t2) vorhanden sind und in selbige mittels INSERT reingeschrieben. Anschliessend sucht man alle Datensätze in t2 welche in t1 nicht vorkommen und löscht diese mittels DELETE. Dies lässt sich am einfachsten mittels IN und NOT IN bewerkstelligen:

http://www.w3schools.com/sql/sql_in.asp

Was aber macht man wenn man keinen primary key besitzt, mittels dem man die beiden Tabellen vergleichen kann? Ganz einfach - man bastelt sich einen. Gegeben seien die Felder f1 bis f5 welche  allesammt mehrfach vorhandene Werte enthalten, als gesammter Record aber einzigartig sind. Die Lösung besteht darin alle Werte zu einem String zusammen zu tackern und mittels diesem nun die Records der beiden Tabellen zu vergleichen. Die Lösung sieht dann sinnesgemäss so aus:

--INSERT
INSERT INTO t2
SELECT f1, f2, f3, f4, f5 FROM t1
WHERE f1+f2+f3+f4+f5 NOT IN (SELECT f1+f2+f3+f4+f5 FROM t2)
--DELETE
DELETE FROM t2
WHERE f1+f2+f3+f4+f5 NOT IN (SELECT f1+f2+f3+f4+f5 FROM t1)

posted @ 8/11/2006 7:57 AM by

Tool der Woche: Wieso will mein PC neu starten?

Eine Antwort auf diese nicht selten gestellte Frage liefert das geniale Freeware-Tool WhyReboot:

http://www.exodus-dev.com/products/whyreboot/

Das Tool zeigt z.B. an, das Files gelöscht werden sollen die noch vom OS mit einem Handle belegt sind, oder Registry Einträge vorgenommen wurden.

posted @ 8/2/2006 7:14 AM by

Fehler beim Erstellen eines Backupjobs für MSDE 2000 über den Maintenance Wizard

Mit einem sehr sonderbaren Problem hatte ich heute zu kämpfen. Auf einer MSDE 2000-Instanz (SP4) liess sich über den Maintenance Wizard kein Backupjob wie gewohnt einrichten. Der Bug offenbahrt sich wie folgt:

Durch das fehlen des default Backup Dirs wird der Job (wenn überhaupt) mit Fehlern angelegt. Etwas googeln brauchte dann die Lösung. Folgender Registry-Eintrag behebt den Umstand (wobei das gewünschte default Dir je nach Server anzugeben ist):
--
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer]
"BackupDirectory"="E:\\SQL Server\\MSSQL\\Backup"
--

posted @ 7/28/2006 2:11 PM by

Latest Images