• Und wer ist…?
  • Holiday Berichte
    • Urlaub Schottland 2013
    • Urlaub Griechenland 2013
  • Services
  • Kontakt/GnuPG

KOKOLOR.ES

Hier geht's einfach mal um alles und nichts!

linux

mdadm Test RAID mit loop Devices

5. Februar 2016 by Sebastian 5 Comments

Ich brauchte heute mal schnell eine mdadm Testumgebung und da ich kein physisches Testgerät da hatte und ich auf keinem Produktivssystem rumspielen wollte, dachte ich mir, das muss doch auch anders gehen, z.B. mit loop Devices:

Je nachdem mit welchem RAID Level man rumspielen will, legt man sich eine entsprechende Anzahl an Files an:

dd bs=1M count=200 if=/dev/zero of=dev1
dd bs=1M count=200 if=/dev/zero of=dev2
dd bs=1M count=200 if=/dev/zero of=dev3

Ich lege mir hier also 3 Files á 200MB an. Nun verknüpft man diese Files mit einem loop Device:

losetup /dev/loop1 dev1
losetup /dev/loop2 dev2
losetup /dev/loop3 dev3

Zu guter letzte noch das RAID Device erstellen, in meinem Fall ein Raid5:

mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/loop1 /dev/loop2 /dev/loop3
Posted in: IT, Linux, Opensource Tagged: linux, mdadm, raid

LXC Ubuntu Template failed unter Debian

15. Dezember 2015 by Sebastian Leave a Comment

Als ich heute unter Debian Ubuntu in einen LXC Container installieren wollte, schlug dies fehl mit folgender Meldung:

I: Keyring file not available at /usr/share/keyrings/ubuntu-archive-keyring.gpg; switching to https mirror https://mirrors.kernel.org/debian
I: Retrieving Release 
E: Failed getting release file https://mirrors.kernel.org/debian/dists/precise/Release

Dazu gibt es auch schon ein entsprechendes Ticket auf Github. Die Lösung ist ganz einfach das Paket ubuntu-archive-keyring zu installieren. Cooler wäre natürlich wenn man entweder direkt darauf hingewiesen wird, oder es in die Abhängigkeiten von LXC aufgenommen wird.

Posted in: IT, Linux, Opensource Tagged: debian, linux, lxc, ubuntu

Arch Linux: login incorrect without password prompt

13. November 2015 by Sebastian 3 Comments

Heute habe ich zum ersten mal mit Arch Linux rummgespielt, da ich kein Lust hatte das riesige Rasbian auf das neue Raspberry Pi 2 der Firma zu spielen. Also SD Karte erstellt, gebootet und nenn Upgrade gemacht mit anschließendem Reboot. Danach konnte ich mich dann nicht mehr einloggen. Das kuriose daran ich kam gar nicht bis zum Passwort. Direkt nach Bestätigung des Users bekam ich Login Incorrect. Da ich so nun gar nicht mehr ins System kam, entschied ich mich nochmal alles neu drauf zu spielen.
Nachdem das geschehen war, ging ich vor wie beim ersten mal, nur ohne reboot. Direkt nach dem Update bekam ich schon auf tty2 den gleichen Fehler. Also mal einen Blick in die syslog schauen. Jaaaaa denkste, ist ja systemd. Also mal eben die journalctl Manpage zu Rate gezogen und einen Blick ins Log geworfen. An dieser Stelle möchte ich mal anmerken das ich es persönlich umständlich finde eine Logdatei nur mit einem Programm lesen zu können, weil sie binär abgelegt wird. Ich weiß zwar wieso es so gemacht wird, aber dennoch… Aber egal, jedenfalls bekam ich so den Grund raus wieso ich mich nicht mehr einloggen konnte:

login[4179]: PAM unable to dlopen(/usr/lib/security/pam_unix.so): libtirpc.so.1: cannot open shared object file: No such file or directory
login[4179]: PAM adding faulty module: /usr/lib/security/pam_unix.so
login[4179]: PAM unable to dlopen(/usr/lib/security/pam_access.so): libtirpc.so.1: cannot open shared object file: No such file or directory
login[4179]: PAM adding faulty module: /usr/lib/security/pam_access.so
login[4179]: FAILED LOGIN SESSION FROM tty2 FOR root, Module is unknown

libtirpc.so.1 ist also nicht mehr vorhanden. Die Library wurde auch im Update aktualisiert und zwar von Version 0.3.2-2 auf 1.0.1-2. Mit

pacman -Ql libtirpc

lies ich mir dann mal die Dateien des Pakets anzeigen und siehe da, der Filename hat sich in libtirpc.so.3 geändert. Also erster Versuch, erstmal einen Symlink setzen:

cd /usr/lib/
ln -s libtirpc.so.3.0.0 libtirpc.so.1

und siehe da, man kann sich wieder einloggen.

Posted in: Arbeit, IT, Linux, Opensource Tagged: arch, linux, raspberrypi

zabbix-check-ksm: Kernel Samepage Merging

14. September 2015 by Sebastian Leave a Comment

Kernel Samepage Merging (KSM) erlaubt eine Deduplizierung des Memory unter Linux und wurde mit der Kernel Version 2.6.32 eingeführt. KSM versucht gleiche Memory Pages zu erkennen und diese zusammenzuführen um den doppelt belegten Memory freizugeben. Ursprünglich für Virtualisierung vorgesehen kann es nun auch von allen Programmen genutzt werden, die viele Instanzen mit gleichen Daten erzeugen.
Die Werte dazu kann man schön unter /sys/kernel/mm/ksm/ abfragen und in Zabbix integrieren. Bei Hostsystemen mit vielen Gästen ist es sicher interessant sich das mal in Form von Graphen im Frontend anzuschauen. Die Werte sind die folgenden:

pages_to_scan Zu scannende Shared pages
sleep_millisecs Zeit bis zum nächsten Scan
run 0 = stop ksmd, 1 = start/running ksmd, 2 = stop ksmd und unmerge
pages_shared how many shared pages are being used
pages_sharing how many more sites are sharing them i.e. how much saved
pages_unshared how many pages unique but repeatedly checked for merging
pages_volatile how many pages changing too fast to be placed in a tree
full_scans how many times all mergeable areas have been scanned

Dazu hab ich kleines Paket gebaut, was im Grund eigentlich nur aus einem Einzeiler besteht. Zu finden unter:

Sourcecode: Github
Repository: repository.chr.istoph.de

Posted in: IT, Linux, Monitoring, Opensource Tagged: linux, monitoring, package, zabbix

Diskfilter writes are not supported

6. August 2015 by Sebastian 2 Comments

Auf Servern mit Ubuntu 14.04 bekomme ich beim booten schon immer folgenden Fehler angezeigt:

error:  Diskfilter writes are not supported

Dies ist ein Bug, der Auftritt wenn man die Root, oder wenn einzeln die Boot Partition, in einem RAID oder LVM anlegt. Ein sehr gute ausführliche Beschreibung, warum der Bug auftritt gibt es in diesem Forumbeitrag: Beitrag bei askbuntu.com Da dieser alles ziemlich gut erklärt, werde ich das jetzt nicht nochmal niederschreiben, sondern nur die Lösung:

  • Download der gepatchten GRUB Header Datei
  • wget https://gist.githubusercontent.com/rarylson/da6b77ad6edde25529b2/raw/99f266a10e663e1829efc25eca6eddb9412c6fdc/00_header_patched
    
  • Sichern der Originaldatei und verschieben der neuen
  • mv /etc/grub.d/00_header /etc/grub.d/00_header.orig
    mv 00_header_patched /etc/grub.d/00_header
    
  • Altes Script deaktivieren und neues aktivieren
  • chmod -x /etc/grub.d/00_header.orig
    chmod +x /etc/grub.d/00_header
    
  • GRUB updaten
  • update-grub
    

    Wie man in dem Beitrag auch lesen kann ist das ab 15.04 gefixt. Warum sie den Patch nicht in 14.04 einfließen lassen, versteh ich nicht.

    Posted in: Allgemein, IT, Linux, Opensource Tagged: bugs, linux, ubuntu

    Move LV’s von einem Device auf ein anderes

    6. August 2015 by Sebastian Leave a Comment

    Ich habe auf Arbeit ein Storage worin 3 RAID’s sind. Ein RAID1, welches für diesen Artikel irrelevant ist, ein RAID6 (md1) worauf iSCSI Volumes in Form von LV’s liegen und ein RAID5 (md2) welches zum Testen da ist. Das RAID6 besteht dabei aus 8 relativ alten Platten, welches nun zu bröckeln anfing und zu allem Übel fing ein Platteneinschub auch noch an CRC Error zu produzieren, wodurch ein Plattentausch verhindert wurde, da jede sofort wieder aus dem RAID geworfen wurde. Es wurde von mir also kurzer Hand das RAID5 Volume gekapert, da mir die Tests in dem Moment relativ egal waren, und fügte es meiner VG hinzu:

    vgextend vg /dev/md2
    

    Diese sollte mit einer Erfolgsmeldung quittiert werden. Man kann aber mit pvdisplay nochmal kontrollieren. Um zu sehen auf welchem Volume welches LV liegt benutzt man

    lvs -o +devices
    

    Moven der LV’s geht dann wie folgt, entweder man tut es mit jeder einzeln:

    pvmove -n test /dev/md1 /dev/md2
    

    was ich, wie man schon an dem Namen der LV sieht, erstmal nur zum testen tat, oder man verschiebt einmal den gesamten Pool:

    pvmove /dev/md1 /dev/md2
    

    Das ganze funktionierte während des Betriebs, ohne das die VM’s, zu welchen die LV’s gehören, irgendwas davon merkten. Das ganze dauert natürlich, abhängig von der Größe eine ganze Weile, da die Daten blockweise kopiert werden.
    Sind die Daten dann alle verschoben kann man das kaputte RAID aus der VG entfernen:

    vgreduce vg /dev/md1
    
    Posted in: Arbeit, IT, Linux, Opensource Tagged: linux, lvm, raid

    apt-get force IPv4

    26. Juli 2015 by Sebastian 3 Comments

    Ich hatte letzte Woche auf Arbeit das Problem, das scheinbar das IPv6 bei einem Kunden kaputt war, weshalb ich kein apt-get update durchführen konnte, da er die IP nicht erreichen konnte. Also musste ich apt-get dazu bewegen doch bitte IPv4 zu nutzen. Ab Version 0.9.7.9~exp1 geht das wie folgt:

    apt-get -o Acquire::ForceIPv4=true update
    

    Da es sich in diesen Fall aber um ein Precise handelte mit einer älteren apt-get Version muss hier anders vorgegangen werden. Und zwar muss in /etc/gai.conf folgende Zeile einkommentiert werden:

    precedence ::ffff:0:0/96  100
    
    Posted in: Arbeit, IT, Linux, Netzwerk, Opensource Tagged: apt, linux, precise, ubuntu

    XFCE4: Lock screen after Lid Switch

    26. Juli 2015 by Sebastian Leave a Comment

    Letzte Woche musste mein mir Jahre lang treues Netbook, ein Asus EeePC R051PX, in den Ruhestand gehen und wurde nun durch ein Lenovo X220 ersetzt. Erster Akt natürlich, Linux installieren – also Debian mit XFCE um genau zu sein.
    Mir fiel jetzt die Tage etwas unangenehm auf, dass nachdem ich den Deckel geschlossen habe das Gerät in Standby geht, beim Aufwachen allerdings der Bildschirm nicht gesperrt ist. Also nochmal alle Einstellungen in der Energieverwaltung angeschaut, alles richtig. Auch der entsprechende Haken unter Sitzung und Startverhalten > Advanced > Bildschirm vor dem Versetzen in den Energiesparmodus sperren war gesetzt. Zusätzlich habe ich die gesetzten Einstellungen nochmal auf der Konsole mit dem Tool xfconf-query überprüft und hier dann auch die Lösung gefunden:
    logind-handle-lid-switch war auf True gesetzt, allerdings ist unter /etc/systemd/logind.conf überhaupt nichts in der Richtung konfiguriert. Also habe ich die Option, wie folgt, auf False gesetzt:

    xfconf-query -c xfce4-power-manager -p /xfce4-power-manager/logind-handle-lid-switch -s false
    

    Danach funktioniert es so wie es sollte.

    Posted in: IT, Linux, Opensource, Privates Tagged: debian, linux, xfce

    pgAdmin III: Passwort expired nach Bearbeiten von Login Rollen

    25. Juni 2015 by Sebastian Leave a Comment

    Mein Kollege und ich waren heute extrem verwirrt. Er wollte mir einen Benutzer in postgres Datenbank anlegen und tat dies auch. Gleichzeitig änderte er bei sich noch eine der Privilegien, danach stürzte bei ihm pgAdmin ab. Keine Seltenheit, nun kam aber der kuriose, er konnte sich nicht mehr einloggen, Grund: keiner. Dann loggte er sich mit meinem User ein, änderte auch hier ein Privileg und schon konnte ich mir auch nicht mehr einloggen. Beim connecten mal auf SSL require gestellt und nun bekamen wir die Meldung das das Passwort falsch ist. Also Passwort in der Datenbank auf der Console geändert, kein Login möglich. Auf der Console fiel uns dann irgendwann mal auf, das unsere Accounts plötzlich auf „Expired“ gestellt sind. Also das wieder Rückgängig gemacht, und schon ging es wieder.
    Dann änderten wir in pgAdmin nochmal die Privilegien, und siehe da, er stellt sofort beim speichern das Expiry Date auf den heutigen Tag. Grund dafür ist, das sobald die Properties eines Logins geöffnet werden, pgAdmin in dem Reiter Definition das Expiry Date auf den aktuellen Tag setzt, ohne darüber einen Hinweis einzublenden.

    Heißt, wenn ihr mit pgAdmin eine Benutzer bearbeitet, denkt daran das Expiry Date im Reiter Definition zu checken und gegebenfalls zu löschen.

    pgAdmin II Version: 1.18.1
    Ubuntu Version: 14.04

    Laut Changelog auf der pgAdmin Seite wurde das in Version 1.18.2 gefixt, scheinbar aber nur für Mac:
    2013-10-22 DP 1.18.2 Fix the handling of the „Valid Until“ date/time on the
    role dialogue on Mac [Dinesh Kumar].

    Posted in: Arbeit, IT, Linux, Opensource Tagged: linux, pgAdmin, postgres, trusty, ubuntu

    zabbix-check-smart: S.M.A.R.T. HDD Monitoring mit Zabbix

    28. Mai 2015 by Sebastian 4 Comments

    Ich setze schon seit vielen Jahren beruflich sowie privat beim Überwachen von Servern auf Zabbix. In diesem Zusammenhang musste ich mich auch das erste mal richtig mit Bash beschäftigen um diverse Skripts zu schreiben, die Dinge überwachen die Zabbix von Haus aus nicht mitbringt. Da es bei einer größeren Infrastruktur allerdings nervigen werden kann, sowas immer von Hand auf die Server zu legen, habe ich mich irgendwann entschieden Pakete daraus zu bauen. Die Skripts, bzw. Pakete, die auch allen anderen von nutzen sein können, werden ich und mein ehemaliger Kollege Christoph auch öffentlich in einem Repository zur Verfügung stellen. Da wir beide meist auch noch ältere Server, mit älteren Debian oder Ubuntu Versionen verwalten, sind die meisten Skripts auch darauf nutzbar. Wenn ihr Bugs bemerkt oder Fragen habt, kontaktiert einfach denjenigen von uns, welcher das Pakete erstellt hat. Die XML Templates zum importieren ins Frontend liegen dabei immer unter /usr/share/doc/{package_name}/

    So nun zum eigentlichen Teil, dem Paket um S.M.A.R.T. Werte (RAW und VALUE) eines Servers auszulesen und diese in Zabbix darstellen zu lassen. Geschrieben habe ich es in Python, mit ein paar Hilfestellungen eines Kollegen, da dies so zu sagen meine ersten Gehversuche in Python sind. Bestehen tut das ganze aus zwei Skripten, einem Discovery Skript, welches die verbauten Platten für die Discovery Rule im Frontend erfasst und dem Skript welches der Agent aufruft und die Werte abzufragen.
    Installieren könnt ihr das Paket, nachdem ihr das Repository hinzugefügt habt, via:

    apt-get install zabbix-check-smart
    

    Bei der Installation wird direkt geschaut ob SMART auch auf den Platten aktiviert ist, wenn nicht wird es aktiviert. Danach einfach das Template zum Frontend hinzufügen. In diesem sind ein paar Abfragen integriert, die mir jetzt erstmal wichtig waren. Ihr könnt im Grunde jeden SMART Wert damit, als RAW_VALUE oder VALUE abfragen. Will man RAW_VALUE Werte bekommen muss der Key z.B. so aussehen:

    smart.raw[{#HDD},Current_Pending_Sector]
    

    Für VALUE Werte z.B. so:

    smart.value[{#HDD},Raw_Read_Error_Rate]
    
    Posted in: IT, Linux, Monitoring, Netzwerk, Opensource Tagged: linux, monitoring, package, python, smart, zabbix
    « Zurück 1 2 3 4 … 8 Weiter »

    Social Shit

    Fediverse PGP-Key XMPP Matrix Git Github

    Kategorien

    • Allgemein
    • Android
    • Anime
    • Arbeit
    • Entertainment
    • Games
    • Handy
    • IT
    • Linux
    • Monitoring
    • Netzwerk
    • Opensource
    • Privates
    • QEK Junior
    • Rattis
    • Showtime Ost
    • Showtime West
    • Windows

    Interessantes

    • chr.istoph's Blog
    • 5222.de
    • World of Edolas
    • Lainblog

    Archive

    • Juni 2023
    • August 2019
    • Oktober 2018
    • März 2018
    • Dezember 2017
    • Juli 2017
    • Juni 2017
    • Mai 2017
    • März 2017
    • Februar 2017
    • Januar 2017
    • Dezember 2016
    • November 2016
    • September 2016
    • August 2016
    • Juli 2016
    • Juni 2016
    • Mai 2016
    • April 2016
    • März 2016
    • Februar 2016
    • Dezember 2015
    • November 2015
    • September 2015
    • August 2015
    • Juli 2015
    • Juni 2015
    • Mai 2015
    • April 2015
    • März 2015
    • Februar 2015
    • November 2014
    • Oktober 2014
    • August 2014
    • Juli 2014
    • Juni 2014
    • Mai 2014
    • April 2014
    • März 2014
    • Februar 2014
    • Dezember 2013
    • November 2013
    • Oktober 2013
    • September 2013
    • August 2013
    • Juli 2013
    • April 2013
    • März 2013
    • Februar 2013
    • Januar 2013
    • Dezember 2012
    • November 2012
    • September 2012
    • Juli 2012
    • Juni 2012
    • Mai 2012
    • Februar 2012
    • Januar 2012

    Tags

    android anime apt bash bugs debian freifunk freifunk-aachen gnome hardware htpc kernel linux lucid lxc mdadm mint monitoring mysql network nginx openwrt outdoor package pgp php postgres precise raid redmine squeeze telekom testing trusty ubuntu virtualization vserver wheezy windows xbmc xenial xorg xubuntu zabbix zarafa

    Datenschutzerklärung | Impressum

    Copyright © 2025 KOKOLOR.ES.

    Omega WordPress Theme by ThemeHall