Arch Linux Tux

[ENC]BladeXP's Blog

Was die Welt nicht alles braucht!


Umstieg auf systemd-networkd und systemd-timesyncd

2014-08-29 17:18 | categories: arch debian linux software ubuntu

Seit Version 210 enthält systemd einen Dienst systemd-networkd für die Konfiguration von Netzwerkschnittstellen, zusätzlich gibt es seit Version 213 mit systemd-timesyncd auch einen einfachen NTP Client. Durch diese beiden Dienste wird die distributionsspezifische Netzwerkkonfiguration langfristig standardisiert.

Zum jetzigen Zeitpunkt bin ich auf meinen Clients, welche DHCP verwenden, auf die beiden neuen Dienste umgestiegen. Als Vorbereitung ist es ratsam dem DHCP Server die Option für den gewünschten NTP Server mit auf den Weg zu geben, so kann eine Anpassung der NTP Konfiguration auf allen Clients ausbleiben. Als Nächstes erstellen wir eine Konfigurationsdatei für unsere Netzwerkschnittstelle enp3s0 mit dem Dateinamen /etc/systemd/network/enp3s0.network:

[Match]
Name=enp3s0

[Network]
DHCP=yes

Durch diese Konfiguration erreichen wir das die oben genannte Netzwerkschnittstelle durch DHCP konfiguriert werden soll. Jetzt können die alten Dienste deaktiviert, und die neuen aktiviert werden:

netctl disable main
systemctl disable ntpd
systemctl enable systemd-networkd
systemctl enable systemd-timesyncd
Wenn es Dienste gibt, welche direkt beim Bootvorgang eine funktionierende Netzwerkverbindung benötigen, wie z.B. NFS oder CIFS Freigaben, kann noch zusätzlich der Service systemd-networkd-wait-online aktiviert werden.
systemctl enable systemd-networkd-wait-online

Nach einem Neustart des Systems läuft die Netzwerkkonfiguration über systemd, weiterführende Informationen zu den beiden neuen Diensten können den jeweiligen Manpages entnommen werden. Ich gehe davon aus das diese in den nächsten Versionen noch deutlich ausgebaut werden, z.b. um auch exotischere Anwendungsfälle abzudecken.


Windows Update Fehlercode 0x80072ee2 fixen

2014-08-09 19:12 | categories: arch debian hardware homeserver linux software ubuntu windows

Seit einiger Zeit werde ich an meinen Windows Hosts und VMs bei Windows Update durch den Fehlercode 0x80072ee2 beglückt. Microsoft hat diesen Fehlercode, zusammen mit einigen anderen, in KB836941 als ERROR_INTERNET_TIMEOUT dokumentiert. Direkt zum Fehler findet man leider oft diesen Artikel, welcher absolut nichts über das Problem aussagt.

Auf meinen selten genutzten Windows Installationen gibt es nämlich, abgesehen von der eingebauten Windows Firewall mit den Standardregeln, keinerlei Firewall, die irgendwas blockieren würde. Auch andere Anwendungen laufen auf diesen Systemen und auch sonst im Netzwerk ohne Probleme. Das Problem trat bei mir erstmalig zusammen mit dem Austausch der Homeserver-Hardware auf, dieser hat dieses Jahr einiges an neuer Hardware bekommen. Das verwendete Mainboard Gigabyte H87-HD3 verwendet als Netzwerkchipsatz den relativ verbreiteten Realtek RTL8111, dieser machte bisher auch keine Probleme.

Zusammen mit Windows Update scheint es aber doch ein Problem zu geben, bzw. Windows ist nicht in der Lage mit dem Problem so wie andere Systeme umzugehen. Den standardmäßig ist bei diesem Chipsatz mit dem aktuellen Linux Treiber auch die ein oder andere Offload Funktion aktiv, deren Sinn ist es die CPU für Netzwerkoperationen zu entlasten indem bestimmte Dinge direkt in der Netzwerkkarte erledigt werden. Darunter fallen z.B. das Berechnen von Prüfsummen oder auch das Fragmentieren von Ethernet Frames oder TCP/IP Paketen. Treiber oder die Karte selbst scheinen damit aber so ihre Probleme zu haben, wodurch Windows Update sehr zuverlässig nicht mehr funktioniert.

Am Homeserver habe ich daraufhin mit dem Brecheisen alle Offload Funktionen der Netzwerkschnittstelle deaktiviert:

sudo ethtool --offload eth0 tso off ufo off gso off gro off lro off rxhash off\
 rx off tx off
Das Resultat war ein funktionierendes Windows Update. Als langfristige Lösung werde ich mir dieses Wochenende noch 2 Intel PCIe Netzwerkkarten besorgen und auf das Spielzeug von Realtek verzichten ;)

Die getätigten Einstellungen überleben übrigens keinen reboot, es ist also erforderlich diese je nach Distribution in der Netzwerkkonfiguration einzutragen, um auch nach einem reboot keine bösen Überraschungen zu erleben. Wenn man für verschiedene Realtek LAN Chipsätze sucht findet man auch die ein oder andere Empfehlung für Windows diese Offload Funktionen abzuschalten, darunter auch von einigen Softwareanbietern aus dem Bereich der PC Spiele. Mein nächster Rechner wird also keinen Realtek Chipsatz mehr haben.


SSD am alten Desktop als Tuning Maßnahme

2014-08-09 16:38 | categories: arch debian hardware linux software ubuntu windows

Erst neulich habe ich das alte Notebook meiner Freundin mit etwas RAM und einer SSD in einen für heutige Verhältnisse angemessenen Arbeitszustand überführt. Diese Woche hat mir S.M.A.R.T. verraten, das auch die Festplatte am Desktop demnächst in den Ruhestand möchte. Aufgefallen ist dies primär durch eine stark gesunkene Performance bei Schreibzugriffen und sporadischen Problemen beim Bootvorgang. Hintergrund war das reorganisieren von Sektoren auf der Festplatte, was bei mechanischen/magnetischen Festplatten ordentlich was ausmacht.

Der mittlerweile ca. 6 Jahre alte Desktop tut abgesehen von der langsamen Festplatte aber noch einen guten Job. Es wäre daher nur wenig wirtschaftlich einen neuen PC zu beschaffen, welcher ohnehin nur für Office Tätigkeiten verwendet wird. Statt eines neuen PCs gab es also eine SSD (Plextor M5S 256GB) und leckeren 4GB RAM um Firefox und LibreOffice ohne Swap Partition zu befriedigen.

Vor dem Hardwareupdate ergaben sich folgende Werte für systemd-analyze bzw. hdparm -t /dev/sda:

Startup finished in 5.311s (kernel) + 39.187s (userspace) = 44.498s
Timing O_DIRECT disk reads: 376 MB in  3.00 seconds = 125.21 MB/sec

Nach dem Einbau der neuen Komponenten gibt es folgende Werte:

Startup finished in 4.703s (kernel) + 3.836s (userspace) = 8.539s
Timing O_DIRECT disk reads: 764 MB in  3.00 seconds = 254.45 MB/sec

Die Migration des Linux Systems auf den neuen, etwas kleineren, Datenträger war recht problemlos möglich. Windows macht hier seine typischen Zicken und war auch nach mehreren Versuchen nicht zum booten zu bewegen, eine Neuinstallation und die damit Verbundene nervenaufreibende Update Orgie waren die Folge.

Da alle von mir betreute Installationen LVM verwenden, bestand die Migration von Linux im Grund aus dem Kopieren und neu installieren vom Bootloader und dem anschließenden verschieben der Daten mittels LVM:

sudo -i
parted /dev/sdb # Partitionen anlegen wie erforderlich
umount /boot
dd if=/dev/sda2 of=/dev/sdb2 # Altes /boot kopieren
e2fsck -f /dev/sdb2 # Dateisystem prüfen
resize2fs /dev/sdb2 # dateisystem an Partition anpassen
mount /dev/sdb2 /boot # Manueller mount, da sdb ja sda wird nach Ausbau
grub-install /dev/sdb # GRUB neu installieren
pvcreate /dev/sdb3 # sdb3 als PV initialisieren
vgextend main /dev/sdb3 # VG um neues PV erweitern
pvmove /dev/sda3 # LVM nötigen das alte PV zu räumen
vgreduce main /dev/sdb3 # VG um altes PV erleichtern

Wie schon beim Asus B50A hat sich auch am alten Desktop das Update auf eine schnellere Festplatte und etwas mehr RAM ordentlich gelohnt. Zumindest die nächsten 3-4 Jahre sollte damit erst mal wieder Ruhe sein, dann wird doch mal ein neuer PC nötig ;)


Asus B50A Hardware modernisieren

2014-07-24 14:16 | categories: arch debian hardware linux software ubuntu

Das alte Asus B50A Notebook meiner Freundin hat jetzt schon einige Jahre auf dem Buckel. Das starten vom System und vieler Programme dauert, für meine Verhältnisse, mittlerweile unerträglich lange. Auffällig ist dabei vor allem die HDD LED am Gerät, was früher ein sporadisches Blinken bei Aktivität war, ist heute fast schon eine Zweite Betriebs LED. Gleichzeitig ist im Systemmonitor sehr gut zu sehen, dass die seit damals verbauten 2GB RAM bei Weitem nicht mehr den Anforderungen genügen.

Lösung

Die Kombination aus viel zu langsamer Festplatte und deutlich zu wenig RAM bekämpft man am besten mit mehr RAM und einer SSD. Bei der Aufnahme der bestehenden Hardware und dessen Ausbaumöglichkeiten wurde hier auch gleich noch ein nicht mehr benötigtes Windows 7 64-Bit (Dualboot) von der Platte gefegt. Nachdem dieser Speicherplatzverschwendung der gar ausgemacht wurde, waren noch ca. 30GB der installierten 500GB SATA Festplatte unter Verwendung.

SSD

Die installierte Festplatte wurde durch eine Plextor M5S 128GB ersetzt. Da ich auf mobilen Geräten ausschließlich verschlüsselte Datenträger verwende und die installierte CPU noch kein AES-NI unterstützt, liegt die Nettodatenübertragungsrate bei ca. 124,96MB/s. Ohne den Overhead der Verschlüsselung würden in diesem Notebook ca. 242MB/s durch die Leitung in Richtung Anwendung geschoben werden. Die alte Festplatte liefert, nur als Vergleich, ca. 69MB/s und ist damit aus technischen Gründen natürlich nicht mehr konkurrenzfähig. Benchmark der Komponenten

Die Bootzeit des Systems (Arch Linux, alles aktuell) liegt bei nur noch ca. 10 Sekunden, im Vergleich zu ca. 40 Sekunden mit der alten Festplatte. Aber auch bei den Anwendungen hat sich einiges getan, z.B. hat LibreOffice auf der alten Hardware noch ca. 30 Sekunden zum Starten benötigt, jetzt sind es deutlich unter 5 Sekunden. Sporadische Hänger gehören genauso wie lange Ladezeiten bei anderen Programmen jetzt der Vergangenheit an.

RAM

Die vorhandenen 2GB RAM wurden auf das für dieses System geltende Maximum von 4GB aufgerüstet, genau genommen komplett ersetzt. Mehr RAM schont die SWAP-Partition und ist im Zweifel immer für etwas mehr Reaktionsfreudigkeit des Systems brauchbar. Schon die Indianer verwendeten das beliebte Sprichwort »RAM ist nur durch mehr RAM zu ersetzen.«.

Fazit

Mit ca. 123€ konnte das doch recht alte Notebook noch mal ordentlich aufgerüstet werden, damit kann dieses Gerät auch noch die nächsten 3-4 Jahre für typische Arbeiten genutzt werden. Natürlich, eine Gaming Workstation wird aus dem Gerät nicht mehr werden, aber doch ein recht solides Arbeitsgerät.


Automatische WLAN Konfiguration

2014-07-09 19:16 | categories: hardware software windows

Der Systemdienst "Automatische WLAN Konfiguration" ist unter Windows unter anderem für das suchen nach verfügbaren Funknetzwerken (WLAN) erforderlich. Ist dieser wichtige Dienst nicht verfügbar, bekommt man lediglich die Fehlermeldung, dass kein Netzwerk verfügbar sei.

Bevor man diesen Dienst verdächtigt, sollte man sich aber die üblichen verdächtigen bei WLAN Verbindungsproblemen anschauen:

  • Hardware Schalter am Gerät?
  • Netzwerkschnittstelle in den Netzwerkverbindungen aktiv?
Hat man dies alles kontrolliert und auch schon den WLAN-Treiber auf den aktuellen Stand gebracht, was sich anbietet, wenn man eh schon dabei ist, sollte man sich die Windows Systemdienste anschauen.

In der Übersicht der Dienste (Windows Taste, "Dienste", Enter) kann man einen Dienst mit dem Namen Automatische WLAN Konfiguration finden, dieser muss gestartet sein. Ist dies nicht der Fall, gibt es links von der Liste entsprechende Optionen. Da dieser Dienst in der Regel automatisch gestartet wird, bekommt man gerne nachfolgende Fehlermeldung: Der Dienst "Automatische WLAN-Konfiguration" auf "Lokaler Computer" konnte nicht gestartet werden. Fehler 1114: Eine DLL-Initialisierungsroutine ist fehlgeschlagen.

Hintergrund ist das die ein oder andere DLL kaputt gegangen ist, nicht registriert ist oder der aktuelle Stand der Sterne ungünstig ist. Eine Überprüfung und Korrektur der installierten DLLs kann man mit folgendem Befehl, welcher als Administrator (Windows Taste, "cmd", Rechte Maustaste, als Administrator ausführen) ausgeführt werden muss, durchführen:

sfc /scannow
Dieser Vorgang dauert, je nach installierter Hardware, einige Minuten. Im Anschluss kann der Dienst (hoffentlich) erfolgreich gestartet werden.

Es wäre schön, wenn Windows derartige Fehler mit aussagekräftigen Fehlermeldungen an der richtigen Stelle schmücken würde. Das Problem ist nicht den Fehler zu finden, sondern die oft falsch gegebenen Standardtipps in diversen Foren (Systemwiederherstellung, Neuinstallation, Voodoo, …).