Warning: mysql_real_escape_string(): Access denied for user ''@'localhost' (using password: NO) in /home/festplat/public_html/blog/wp-content/plugins/statpress/statpress.php on line 1191

Warning: mysql_real_escape_string(): A link to the server could not be established in /home/festplat/public_html/blog/wp-content/plugins/statpress/statpress.php on line 1191

Warning: mysql_real_escape_string(): Access denied for user ''@'localhost' (using password: NO) in /home/festplat/public_html/blog/wp-content/plugins/statpress/statpress.php on line 1194

Warning: mysql_real_escape_string(): A link to the server could not be established in /home/festplat/public_html/blog/wp-content/plugins/statpress/statpress.php on line 1194

Warning: mysql_real_escape_string(): Access denied for user ''@'localhost' (using password: NO) in /home/festplat/public_html/blog/wp-content/plugins/statpress/statpress.php on line 1197

Warning: mysql_real_escape_string(): A link to the server could not be established in /home/festplat/public_html/blog/wp-content/plugins/statpress/statpress.php on line 1197
HowTo « Tag « festplatte.ch


VMware: Disk controller error – Storage DS4800

ESX 3.5, VMware No Comments »

Sporadisch bei SAN Controller Reboots entstanden auf den VMs Disk Controller Errors. Im Eventlog mit der ID 11 ersichtlich. Einen Reboot, Bluescreen oder ähnliches entstand jeweils nicht, der Server lief soweit normal weiter.

The driver detected a controller error on \Device\Harddisk0

diskio

Vergleicht man die Zeit der Reboots mit den ESX Kernel Logs sind folgende Meldungen ersichtlich:

Mar 14 04:48:06 ehf15 vmkernel: 15:18:41:26.613 cpu0:1098)VSCSIFs: 439: fd 9437 status Busy
Mar 14 04:48:06 ehf15 vmkernel: 15:18:41:26.613 cpu0:1098)VSCSIFs: 439: fd 87260 status Busy
Mar 14 04:48:06 ehf15 vmkernel: 15:18:41:26.613 cpu0:1098)VSCSIFs: 439: fd 9437 status Busy
Mar 14 04:48:06 ehf15 vmkernel: 15:18:41:26.613 cpu0:1098)VSCSIFs: 439: fd 87260 status Busy

Grundlegend ist das Verhalten und die entsprechend auftretende Fehlermeldung richtig. Der SAN Controller sendet ein Busy aufgrund entsprechender Beschäftigung (ReSync von Onlinemirroring).
ESX seitig wird ein Busy akzeptiert und somit kein Failover auf den zweiten Controller gestartet. Will ein virtueller Server nun auf das Disksystem zugreiffen, steht die Ressource nicht zur Verfügung und der Disk Fehler entsteht.

Dies ist natürlich eine äussert gefährliche Sache für die virtuellen Maschinen. Gemäss dem Fiber Channel SAN Configuration Guide von VMware müssen die Busymeldungen SAN seitig geändert werden. VMware interpretiert Busy als “normal” und unternimmt kein Failover. Wird dies geändert auf “not ready” initialisert der Host ein Failover und wechselt auf den anderen Controller.

How To:

To configure the storage processors to return Not Ready sense data
1) Determine the index for the LNXCL host type by using the following commands in
a shell window:
Press Enter after each command.

SMcli.exe show hosttopology;
Enter
SMcli.exe show hosttopology;
Enter

The following commands assume that 13 is the index corresponding to LNXCL in
the NVSRAM host type definitions. If your storage processors have LNXCL at a
different index, substitute that index for 13 in the following commands.

2) Execute these commands for SPA to have it return Not Ready sense data.
Press Enter only after you enter all commands.

SMcli.exe
set controller [a] HostNVSRAMBYTE [13,0x12]=0x01;
set controller [a] HostNVSRAMBYTE [13,0x13]=0x00;
reset Controller [a];
Enter

3) Execute these commands for SPB to have it return Not Ready sense data.
Press Enter only after you enter all commands.

SMcli.exe
set controller [b] HostNVSRAMBYTE [13,0x12]=0x01;
set controller [b] HostNVSRAMBYTE [13,0x13]=0x00;
reset Controller [b];
Enter

Share


Highslide integration in NextGEN Gallery

Bilder, Scripts 13 Comments »

Der Highslide Effekt ist für die Gallery vorgesehen, aber nicht standardmässig implementier.

Die Integration erfolgt mit folgenden Komponenten.

  • WordPress 2.7

Als erstes die NextGen Gallery installieren, danach die aktuelle Version von Highslide herunterladen und entpacken.
Den Ordner “highslide” in das plugin Verzeichnis von WordPress kopieren.

Nun die gewünschte Gallery von den Beispielen auswählen. Den script Teil des entsprechenden HTML Files kopieren und eine neue Datei highslide.config.js erstellen, damit der kopierte Inhalt gespeichert werden kann.

highslide.config.js im Detail:
Website mit entsprechendem Domainnamen ersetzen

hs.graphicsDir = 'http://WEBSITE/wp-content/plugins/highslide/graphics/';
	hs.align = 'center';
	hs.transitions = ['expand', 'crossfade'];
	hs.outlineType = 'rounded-white';
	hs.fadeInOut = true;
 
// This line will put the title of the pictures (from nextgen) into
// the caption field in highslide.
//        hs.captionEval = 'this.a.title';
 
// This line dims the area outside the highslide box.
	hs.dimmingOpacity = 0.75;
 
// Add the controlbar
	if (hs.addSlideshow) hs.addSlideshow({
		//slideshowGroup: 'group1',
		interval: 5000,
		repeat: false,
		useControls: true,
		fixedControls: 'fit',
		overlayOptions: {
			opacity: .75,
			position: 'bottom center',
			hideOnMouseOut: true
		}
	});

highslide.css im Detail
Website mit eintsprechendem Domainnamen ersetzen

.highslide-container div {
	font-family: Verdana, Helvetica;
	font-size: 10pt;
}
.highslide {
	cursor: url(http://WEBSITE/wp-content/plugins/highslide/graphics/zoomin.cur), pointer;
	outline: none;
	text-decoration: none;
}
.highslide img {
	border: 2px solid silver;
}
.highslide:hover img {
	border-color: gray;
}
 
.highslide-active-anchor img, .highslide-active-anchor:hover img {
	border-color: black;
}
.highslide-image {
	border-width: 2px;
	border-style: solid;
	border-color: white;
	background: gray;
}
.highslide-wrapper, .rounded-white {
	background: white;
}
.highslide-image-blur {
}
.highslide-caption {
	display: none;
	border-top: none;
	font-size: 1em;
	padding: 5px;
	background: white;
}
.highslide-heading {
	display: none;
	font-weight: bold;
	margin-bottom: 0.4em;
}
.highslide-dimming {
	position: absolute;
	background: black;
}
.highslide-loading {
	display: block;
	color: black;
	font-size: 9px;
	font-weight: bold;
	text-transform: uppercase;
	text-decoration: none;
	padding: 3px;
	border: 1px solid white;
	background-color: white;
	padding-left: 22px;
	background-image: url(http://WEBSITE/wp-content/plugins/highslide/graphics/loader.white.gif);
	background-repeat: no-repeat;
	background-position: 3px 1px;
}
a.highslide-credits,
a.highslide-credits i {
	padding: 2px;
	color: silver;
	text-decoration: none;
	font-size: 10px;
}
a.highslide-credits:hover,
a.highslide-credits:hover i {
	color: white;
	background-color: gray;
}
 
/* Controls. See http://www.google.com/search?q=css+sprites */
.highslide-controls {
	width: 195px;
	height: 40px;
	background: url(http://WEBSITE/wp-content/plugins/highslide/graphics/controlbar-white.gif) 0 -90px no-repeat;
	margin-right: 15px;
	margin-bottom: 10px;
	margin-top: 20px;
}
.highslide-controls ul {
	position: relative;
	left: 15px;
	height: 40px;
	list-style: none;
	margin: 0;
	padding: 0;
	background: url(http://WEBSITE/wp-content/plugins/highslide/graphics/controlbar-white.gif) right -90px no-repeat;
}
.highslide-controls li {
	float: left;
	padding: 5px 0;
}
.highslide-controls a {
	background-image: url(http://WEBSITE/wp-content/plugins/highslide/graphics/controlbar-white.gif);
	display: block;
	float: left;
	height: 30px;
	width: 30px;
	outline: none;
}
.highslide-controls a.disabled {
	cursor: default;
}
.highslide-controls a span {
	/* hide the text for these graphic buttons */
	display: none;
}
.highslide-move a {
	cursor: move;
}
 
/* The CSS sprites for the controlbar */
.highslide-controls .highslide-previous a {
	background-position: 0 0;
}
.highslide-controls .highslide-previous a:hover {
	background-position: 0 -30px;
}
.highslide-controls .highslide-previous a.disabled {
	background-position: 0 -60px !important;
}
.highslide-controls .highslide-play a {
	background-position: -30px 0;
}
.highslide-controls .highslide-play a:hover {
	background-position: -30px -30px;
}
.highslide-controls .highslide-play a.disabled {
	background-position: -30px -60px !important;
}
.highslide-controls .highslide-pause a {
	background-position: -60px 0;
}
.highslide-controls .highslide-pause a:hover {
	background-position: -60px -30px;
}
.highslide-controls .highslide-next a {
	background-position: -90px 0;
}
.highslide-controls .highslide-next a:hover {
	background-position: -90px -30px;
}
.highslide-controls .highslide-next a.disabled {
	background-position: -90px -60px !important;
}
.highslide-controls .highslide-move a {
	background-position: -120px 0;
}
.highslide-controls .highslide-move a:hover {
	background-position: -120px -30px;
}
.highslide-controls .highslide-full-expand a {
	background-position: -150px 0;
}
.highslide-controls .highslide-full-expand a:hover {
	background-position: -150px -30px;
}
.highslide-controls .highslide-full-expand a.disabled {
	background-position: -150px -60px !important;
}
.highslide-controls .highslide-close a {
	background-position: -180px 0;
}
.highslide-controls .highslide-close a:hover {
	background-position: -180px -30px;
}

Nun sollten im Pluginverzeichnis “highslide” folgende Dateien sein. Graphis Ordner, highslide-full.js, highslide.config.js und highslide.css

Im Header des Templates folgende Zeilen einfügen. Diese sollte direkt vor den Tag stehen. Auch hier gilt, entsprechender Domainnamen anpassen

<!-- Highslide Plugin -->
 
<!-- Highslide Plugin -->
<link rel='stylesheet' type='text/css' href='http://WEBSITE/wp-content/plugins/highslide/highslide.css' />
<script type="text/javascript" src="http://WEBSITE/wp-content/plugins/highslide/highslide-full.js"></script>
<script type="text/javascript" src="http://WEBSITE/wp-content/plugins/highslide/highslide.config.js"></script>

Zu guter letzt noch in den NextGen Gallery Optionen unter Effects im Dropdownmenu Highslide als default auswählen.
Unter Options -> Gallery noch überprüfen, dass “Show Imagebrowser” deaktiviert ist. Falls nicht, diese Option deaktivieren.

Nun sollten die Bilder nach einem Refresh mittels Highslide geöffnet werden.

no images were found

Share


OpenVPN unter Windows konfigurieren

Links, Security, Windows 2 Comments »

Mit der Opensource Software OpenVPN, lässt sich relativ schnell ein VPN Netz aufbauen. Grund der Installation/Konfiguration habe ich vorallem aufgrund öffentlicher WLAN Nutzung wie z.B an einer Uni, im Zug etc eingerichtet. Denn wer weiss wer und was da nicht alles mitgesnifft wird….

Die Installation kann gemäss dieser Anleitung durchgeführt werden. In diesem Manual ist relativ einfach erklärt, wie die Zertifikate erstellt und verteilt werden müssen und wie die gesamte Verschlüsselung abläuft.

Auf dem Server muss IP Forwarding aktiviert werden, damit der Traffic übers VPN Netz vom Server nicht weggeworfen wird.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
Den folgenden Registrierungswert ändern:
Wertname: IPEnableRouter
Werttyp: REG_DWORD
Wert: 1

Der Wert 1 aktiviert die TCP/IP-Weiterleitung für alle Netzwerkverbindungen, die auf dem jeweiligen Computer installiert sind und verwendet werden.

Gemäss dieser Anleitung wird der Traffic ins entsprechend verbundene VPN Netzwerk via Tunnel geroutet. Alles andere läuft direkt via verbundenem Gateway. Um die Sicherheit zu verbessern macht es Sinn, dass sämtlicher Traffic über den Tunnel läuft und via VPN Server ins Internet gelangt. So ist sämtlicher Internettraffic verschlüsselt.

Um dies erreichen zu können, müssen noch folgende Parameter konfiguriert werden:

Client:
In der conf Datei pull hinzufügen. So werden die push Konfigurationen des VPN Servers übernommen.

Server:
In der conf Datei
push "redirect-gateway def1"
und
push "dhcp-option DNS a.b.c.d"
hinzufügen. Mit diesen Einstellungen wird nun sämtlicher Traffic über den Tunnel groutet.

Damit der Gateway des VPN Servernetzes genutzt werden kann, muss auf der Firewall/Router noch eine statische Route eingerichtet werden. Dies ist wie folgt zu konfigurieren:

Destination IP/Subnet: IP/Subnet von VPN Client
Gateway IP: IP von VPN Gateway

Nach diesen Anpassungen wird sämtlicher Traffic über den verbundenen Gateway per Tunnel verschlüsselt, egal ob die Verbindung per WLAN, MoblieConnection oder LAN/WAN erfolgt.

Falls mit Vista als Client Routingprobleme auftreten, diese wie hier beschrieben beheben.

Share

Nokia E51 – VOIP Internettelefonie

Dies und Das No Comments »

Das Nokia E51 bringt neben WLAN auch eine SIP/VOIP Schnittstelle mit. Somit wird über jeden freien/offenen Hotspot ein sehr günstiges telefonieren ermöglicht. Dies wird vor allem interessant, wenn man sich im Ausland befindet und so zu Lokaltarifen telefonieren kann.

Leider aber ist die Nokia Software vom E51 nicht wirklich mit den RFC-Normen der VOIP Provider kompatibel. Hier die Antwort meines VOIP Providers phonestar.ch

Leider funktionieren die Nokia E-Serie Mobilteile zur Zeit nur mit speziell angepasster Hard-/Software. Theoretisch könnte Phonestar Ihre Server zwar anpassen, jedoch entspräche dies dann nicht mehr den RFC-Normen. Nokia hat vor längerer Zeit ein Firmwareupdate versprochen, welches dieses Problem beheben sollte.

Trotzdem ist es möglich, mit der virtuellen Telefonanlage pbxes (Freeaccount auf www.pbxes.com) Phonestar mit dem Nokia E51 einzusetzen. Dazu müssen folgende Einstellungen vorgenommen werden:

Voraussetzung:
Besitz eines Phonestar Accounts (BasisAccount ist gratis)
Besitz eines pbxes Accounts (ebenfalls gratis)

Konfiguration E51:

Profilname: phonestar
Dienstprofil: IETF
Zugangspunkt: Wlan
Öffent. Benutzername: pbxuser-nebenstellennummer@pbxes.org
Komprimierung verwenden: nein
Anmeldung: bei bedarf
Sicherh. mech. verw.: nein
Proxyserver:
proxyserveradresse: pbxes.org
gebiet: pbxes.org
benutzername: pbxuser-nebenstellennummer
Passwort: pbxespasswort
Loose-routing: ja
transporttyp: udp
Port: 5060
Anmeldeserver:
proxyserveradresse: pbxes.org
gebiet: pbxes.org
benutzername: pbxuser-nebenstellennummer
Passwort: pbxespasswort
transporttyp: udp
Port: 5060

Share

ESX 3.5i auf USB Stick installieren

ESX 3.5, VMware No Comments »

Für die Installation von VMware 3.5i auf einen USB Stick benötigte ich folgende Komponenten:

Das ganze geht natürlich auch mit verschiedenen anderen Tools und Komponenten

Um einen bootbaren USB Stick erstellen zu können, folgende Punkte ausführen:

  1. Download ESX Server 3i Installable ISO
  2. Extract INSTALL.TGZ from the root directory of the ISO image using an IZArc
  3. Extract /usr/lib/vmware/installer/VMware-VMvisor-big-3.5.0-67921.i386.dd.bz2 from INSTALL.TGZ using IZArc
  4. Extract VMware-VMvisor-big-3.5.0-67921.i386.dd from VMware-VMvisor-big-3.5.0-67921.i386.dd.bz2 using IZArc
  5. Attach the USB flash drive and make sure you no longer need the data on it
  6. Use WinImage to transfer VMware-VMvisor-big-3.5.0-67921.i386.dd to the USB flash drive
  7. Disk->Restore Virtual Hard Disk image on physical drive…
  8. Select the USB flash drive (Warning: If you select the wrong disk you will lose data!)
  9. Select the image file VMware-VMvisor-big-3.5.0-67921.i386.dd
  10. Confirm the warning message
  11. Wait for the transfer to complete
  12. Unplug the USB flash drive (Warning: If you forget to unplug the flash drive from the PC you might lose the data on your hard drives the next time you boot!)
  13. Attach the USB flash drive to the machine you want to boot (Warning: If ESX Server 3i recognizes local drives, you might lose the data on it, so make sure you don´t need it anymore or unplug all hard drives!)
  14. Turn the machine on and make sure the USB flash drive is selected as boot device
  15. Watch ESX Server 3i boot
  16. Configure
  17. Enjoy!

http://communities.vmware.com/blogs/Knorrhane/2008/01/21/installing-esx-3i-on-usb-stick

Share