Willkommen im MiGo-IT-Blog

Sonderartikel

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne (16 Stimmen, Durchschnitt: 2,44 von 5)
Loading...

Herzlich Willkommen im neuen MiGo-IT-Blog.

Dies ist das offizielle Nachfolge-Projekt von Mikes-PC Hilfe. Evtl. wundern Sie sich, wo das Forum als auch die Tipps geblieben sind. Diverse Umstände haben mich dazu veranlasst, das Forum zu schließen. Einer der Hauptgründe ist aber die momentane Situation der Forumssoftware selbst gewesen. Der bisherige Deutschlandvertrieb durfte schon die aktuelle Version nicht mehr verkaufen, ebenso wie den Nachfolger. Für uns hätte das bedeutet, schnellstmöglichst ein Update auf den Nachfolger anzugehen, der Aufwand dafür hätte aber in keinem Verhältnis gestanden. Auch nimmt das Projekt einen enormen Zeitaufwand in Anspruch, was die weiteren Gründe waren. Alle Details finden Sie hier.

Das Mikes PC Hilfe Forum konnten wir aber als Archiv weiterleben lassen, klicken Sie dazu in der Navigation auf das Archiv. Alle Themen sind dort enthalten. Auch alle Links aus z.B. Suchmaschinen sollten weiter funktionieren.

Eine Option um neue Beiträge zu schreiben gibt es nicht, wir bieten hier auch keinen PC Support mehr an. Dafür bitten wir Sie, sich in anderen Foren Rat zu holen.

Ich hoffe Sie bleiben uns als Leser im Rahmen des Blogs treu :)

Grüße Mike

VMWare ESXi 6.0 auf inkompatibler HW installieren/updaten

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne (Keine Bewertung vorhanden)
Loading...

Wer die VMWare Szene etwas verfolgt wird festgestellt haben, dass VMWare gerade im ESXi Bereich immer weniger Hardware offiziell unterstützt und damit auch Treiber aus Ihren Paketen entfernt. Sehr ärgerlich, denn das ein oder andere Feature aus der 5.5 oder 6.0er sind schon ganz sinnvoll. Vorab die Info, der VSphere Client wird seit Version 5.1 nicht mehr weiterentwickelt und auch nicht mehr mit neuen Features ausgestattet. D.h. viele Features lassen sich so gar nicht nutzen, wie z.B. neuere HW Versionen der VMs.

Aber gut, zurück zum eigentlichen Thema. Mein VMWare Server besteht aus einem Core i7 und einem Gigabyte Mainboard. Für ESXi 5.1 noch alles super, ab 5.5 wird das Board nicht mehr unterstützt, primär aufgrund dem SATA Treiber. Nach langer Suche habe ich den ESXi-Customizer gefunden, der unter Windows 7/8/10 mit der PowerShell eine customized ISO erzeugt, in die u.a. auch eigene Treiber integriert werden können.

Parallel dazu gibt es auch die Option in ESXi via CLI-Update den Treiber nachzurüsten und dann das 5.5 oder 6.0er Update-Paket einzuspielen. Diese Variante habe ich jedoch nie getestet, da man erst nach dem Neustart merkt, ob es geht oder nicht. Die customized ISO zeigt direkt im Setup ob die Festplatten erkannt werden oder nicht.

Hier gibt es den Download.
Weiterhin das VMware PowerCLI Version 5.1 oder höher benötigt.

Anschließend können Sie hiermit eine ISO für ESXi 6.0 mit dem SATA-xahci- sowie dem Netzwerk-Treiber erzeugen. Öffnen Sie dazu die Windows-PowerShell und navigieren Sie zum ESXi-Customizer-PS Skript.

.\ESXi-Customizer-PS-v2.4.ps1 -v60 -vft -load sata-xahci,net55-r8168

Wenn das erledigt ist, ISO brennen und Upgrade von CD starten.
Weitere Varianten des Skripts sind auf der Hersteller-Webseite des ESXi-Customizers beschrieben.

VMWare ESXi 5.1/5.5/6.0 – Festplattenprovisionierung von Thick zu Thin ändern

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne (Keine Bewertung vorhanden)
Loading...

Mittlerweile haben sich so einige VMs auf meinem ESXi Server angesammelt, jedoch leidet die Performance sehr, wenn mal mehr wie 2 VMs parallel gestartet sind. Aus dem Grund bin ich auf eine SSD (512GB 850 Pro von Samsung) umgestiegen. Bzw. ich habe diese parallel zu den vorhandenen Festplatten eingebaut.

Verschieben kann man die VMs relativ einfach über den Dateibrowser im VSphere Client, Datenspeicher durchsuchen und dann rechtsklick auf den Ordner mit der VM und „Wechseln zu“ wählen. Schon verschiebt der Client die VM auf die SSD. Zu beachten ist, dass durch diesen Vorgang jede Thin-Provisionierte Festplatte zu Thick-Provisioning konvertiert wird. Das ist gerade bei einer SSD nicht so toll, da der Platz ja doch beschränkt ist.

vmware1

Wenn die VM verschoben ist, löscht die VM aus der Bestandsliste, aber nur das, nicht auch die Dateien löschen. Suchen Sie dann über den Dateibrowser Ihre verschobene VM und importieren Sie diese wie Rechtsklick auf die vmx Datei. Nun sollte die VM-Disk wieder ins Thin-Format konvertiert werden.

Hierzu ist ein Zugriff per SSH notwendig, diesen Dienst kann man unter Konfigurationen -> Sicherheitsprofil manuell starten. Anmelden kann man sich anschließénd via root & dem Passwort des ESXi Servers.

vmware2

Navigieren Sie nun zu Ihrer VM, im Regelfall etwas unter /vmfs/volumes/datastore1 o.ä.
Anschließend konvertieren Sie mit folgendem Befehl die VM-Disk:

vmkfstools -i "Windows 10 Preview.vmdk" -d thin "Windows 10 Preview-thin.vmdk"

Anschließend bearbeiten Sie im VSphere Client die VM, entfernen Sie die vorhandene Festplatte. Fügen Sie anschließend direkt wieder eine neue Festplatte hinzu, wählen aber als Option „Vorhandene Festplatte nutzen“. Suchen Sie nun im Dateibrowser Ihre neue Thin-Provisionierte VM-Disk. Diese sollten Sie neben dem Dateinamen auch an der Größe erkennen.

Das wars auch schon. Kontrollieren können Sie den Vorgang abschließend auch noch Mal an der Konsole. Erster Befehl zeigt die max. Größe, der zweite Befehl die tatsächliche Nutzung. Die Werte sollten sich unterscheiden.

ls -lh *.vmdk
du -h *.vmdk

Die alte große Festplatte können Sie nach einem Test via Dateibrowser einfach entfernen.

eclipse/PDT automatisches Kopieren beim Speichern

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne (Keine Bewertung vorhanden)
Loading...

Nachdem ich mich intensiv mit Eclipse und dem automatischen FTP Upload beschäftigt habe, musste nun eine neue kleine Anpassung her. Neben dem FTP Upload benötigte ich nun noch den Task des lokalen Kopierens.

Für alle, die den automatischen FTP Upload Artikel noch nicht kennen, dieser muss umgesetzt werden, sonst funktioniert der hier weiter beschriebene Weg nicht mehr: Zum Artikel.

Gehen Sie also Analog zum oben genannten Artikel vor, für das Kopieren muss die build.xml wie folgt ergänzt werden. Setzen Sie den Block einfach über den vorhandenen FTP Block.

build.xml

  1. 	<target name="localCopy" description="wwwLocalCopy">
  2. 	<echo>Copying files to "${local.path}"</echo>
  3. 		<copy todir = "${local.path}" verbose="true">
  4. 		    <fileset dir="${local.dir}">
  5. 		      <exclude name=".settings/" />
  6. 		      <exclude name="**/.svn/" />
  7. 		      <exclude name="build.xml" />
  8. 		      <exclude name=".project" />
  9. 		      <exclude name=".buildpath" />
  10. 		    	<exclude name=".externalToolBuilders/" />
  11. 		    	<exclude name="*.properties" />
  12. 		    	<modified cache="propertyfile"> <!-- http://ant.apache.org/manual/Types/selectors.html#modified //-->
  13. 		    		<param name="cache.cachefile" value="cache-local.properties"/>
  14. 		    	</modified>
  15. 		    </fileset>
  16. 		</copy>
  17. 	</target>

Fügen Sie in der build.properties folgende Zeile hinzu:

#Copy to local path
local.path=C:/path/to/your/folder

Das wars auch schon, jetzt können Sie in den Projekteinstellungen unter Builders -> build.xml -> Edit -> Reiter Targets -> neben dem FTP Upload auch localCopy auswählen.

[MUNIN] Überwachung AVM Fritzbox Cable mit Munin

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne (Keine Bewertung vorhanden)
Loading...

Aufgrund deutlicher Bandbreitenschwankungen vor ein paar Wochen habe ich mir ein neues Plugin geschrieben, welches jedoch nur auf den FritzBox Modellen 6460 und 6360 funktioniert. Das Plugin liest die aktuellen Kabelwerte aus und zeigt diese in einem Graphen an. Angefangen von Frequenz, über Modulation bis hin zu Power Level [dBuV]. Jeder dieser Daten-Gruppen wird in einem eigenen Graph angezeigt.

Konfiguriert wird das Plugin wie immer durch Enviroment Variablen, relevant sind hier besonders diese:

 * env.row 2
 * env.io Empfangsrichtung (or Senderichtung)

row ist die Zeile in der jeweiligen Tabelle, kann man auch an den Daten in $rowValues erkennen. io ist die Tabelle für Eingehend oder Ausgehend. Es muss entweder der eine String oder der andere gesetzt sein.

  1. #!/usr/bin/php
  2. <?php
  3. ##############################
  4. #%# family=auto
  5. #%# capabilities=autoconf
  6.  
  7. require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'MuninPlugin.php';
  8.  
  9. /**
  10.  * AVM WLAN Connection Count plugin for Munin
  11.  *
  12.  * - Add symlink:
  13.  * ln -s <pathtothisfile> /etc/munin/plugins/avm_cable_router
  14.  *
  15.  * - Add plugin configuration to /etc/munin/plugin-conf.d/avm
  16.  * [avm_cable_router]
  17.  * env.ip 192.168.178.1
  18.  * env.host fritz.box
  19.  * env.row 2
  20.  * env.io Empfangsrichtung (or Senderichtung)
  21.  *
  22.  * @author Mike Goldhausen
  23.  * @copyright Copyright (c) 2015 by MiGo-WebDesign, www.migo-webdesign.de, Germany
  24.  */
  25.  
  26. class AvmCable extends MuninPlugin {
  27.  
  28. 	private $rowValues = array(1 => "Kanal ID", 2 => "Frequenz [MHz]", 3 => "Modulation", 4 => "Power Level [dBuV]", 5 => "MSE [dB] ");
  29.  
  30. 	/**
  31. 	 * general Config for Plugin
  32. 	 *
  33. 	 * @return array
  34. 	 */
  35. 	protected function getPluginSetup() {
  36. 		$row = intval(getenv('row'));
  37. 		return array(
  38. 				'host_name' => $this->avm['host'],
  39. 				'graph_order' => 'wlan',
  40. 				'graph_title' => 'AVM Fritz!Box Cable DOCSIS '.$this->rowValues[$row],
  41. 				'graph_category' => 'cable_'.strtolower(getenv('io')),
  42. 				'graph_info' => 'This graph shows the Cable DOCSIS '.$this->rowValues[$row],
  43. 				'graph_vlabel' => $this->rowValues[$row],
  44. 				'graph_args' => '--base 1000'
  45. 		);
  46. 	}
  47.  
  48. 	/**
  49. 	 * Config for Graphs
  50. 	 *
  51. 	 * @return array
  52. 	 */
  53. 	protected function getPluginGraphs() {
  54. 		$graphs = array();
  55.  
  56. 		$row = intval(getenv('row'));
  57. 		$io = getenv('io');
  58.  
  59. 		$content = $this->readFromAvmGui("internet/docsis_info.lua?update=uiInfo", "<h4>".$io,"</div>");
  60.  
  61. 		$doc = new DOMDocument();
  62. 		$doc->loadHTML($content);
  63. 		$tmp = simplexml_import_dom($doc);
  64.  
  65. 		$rows = $tmp->body->div->table->tr[0]->th;
  66.  
  67. 		$i=0;
  68. 		foreach ($rows as $v) {
  69. 			$v = preg_replace("/[^0-9]/","", $v);
  70. 			if ((strlen($v) > 0) && is_numeric($v)) {
  71. 				$i++;
  72. 			}
  73. 		}
  74.  
  75. 		for ($z=1;$z<=$i;$z++) {
  76. 			$graphs['channel_'.$z]['label'] = "Kanal ".$z;
  77. 			$graphs['channel_'.$z]['info'] = "Kanal ".$z;
  78. 		}
  79.  
  80. 		return $graphs;
  81. 	}
  82.  
  83. 	/**
  84. 	 * Transform data from RAW HTML into XML Structure
  85. 	 *
  86. 	 * @param string $content
  87. 	 * @return data
  88. 	 */
  89. 	protected function transformData($content) {
  90. 		$row = intval(getenv('row'));
  91.  
  92. 		$doc = new DOMDocument();
  93. 		$doc->loadHTML($content);
  94. 		$tmp = simplexml_import_dom($doc);
  95.  
  96. 		$rows = $tmp->body->div->table->tr[0]->th;
  97.  
  98. 		$i=0;
  99. 		foreach ($rows as $v) {
  100. 			$v = preg_replace("/[^0-9]/","", $v);
  101. 			if ((strlen($v) > 0) && is_numeric($v)) {
  102. 				$i++;
  103. 			}
  104. 		}
  105.  
  106. 		for ($z=1;$z<=$i;$z++) {
  107. 			$graphs['channel_'.$z] = preg_replace("/[^0-9\.]/","", $tmp->body->div->table->tr[$row]->td[$z]);
  108. 		}
  109.  
  110. 		return $graphs;
  111. 	}
  112.  
  113. 	/**
  114. 	 * Read source & collecting values
  115. 	 *
  116. 	 * @return array
  117. 	 */
  118. 	protected function getValues() {
  119. 		$io = getenv('io');
  120. 		$content = $this->readFromAvmGui("internet/docsis_info.lua?update=uiInfo", "<h4>".$io,"</div>");
  121. 		$data = $this->transformData($content);
  122. 		return $data;
  123. 	}
  124.  
  125. }
  126.  
  127. $plugin = new AvmCable($argv);
  128. $plugin->start($argv);
  129. ?>