VMWare – Shrink/Compact Disk eines Linux Gastes

Im Zeitalter von SSDs ist man wieder mehr darauf bedacht, Speicherplatz zu sparen. Im Normalfall hat man seine VMs ja heutzutage auf eher kleineren SSD liegen, so dass man sicher stellen muss, dass diese Files von Zeit zu Zeit „ge-shrinked“ werden.

Ein einfaches schrinken des Diskfiles unter VMWare führt in den meisten fällen nicht zu gewünschten Ergebnis.

So sind beispielsweise nur ~13GB im Gast belegt, das Diskfile ist jedoch ganze 100GB groß. Um für VMWare den freien Speicherplatz zu markieren, muss dieser mit NULL/Zero vollgeschrieben werden. Dies mach aber auch nur sinn, wenn vorher alle Daten an den Anfang des Files verschoben wurden. Somit besteht die Prozedur aus 1. dem Defragmentieren und 2. dem Wipen der Disk, wo sich keine Daten befinden.

Danach wurden knapp 87GB wieder freigegeben, da diese nicht benutzt wurden.

tar auf einen remote Server per ssh

Wie kann man per tar direkt auf einen remote Server schreiben? Warum möchte man direkt per tar auf einen remote Server sichern? Diese Fragestellung tritt speziell dann auf, wenn man auf den zu sichernden Server nur wenig verbleibende Disk-Kapazität hat. Typischerweise sind das dann Datenbankserver, oder wie in meinem Fall Webserver, die eine OwnCloud Instanz hosten. Da auch im Web der Festplattenspeicher teuer ist, nutze ich mein NAS zu Hause zu die Daten zu sichern. Hier steht ja in gewissem Maße unbegrenzter Speicherplatz zur Verfügung.

Also gut, dann erzeugen wir ein Archiv und pipen die Ausgabe direkt per SSH auf den Remote Speicher um.

Nun wird das erzeugte Archiv direkt auf den SSH Server umgeleitet.

Müsst Ihr nun ein Backup wieder herstellen, so könnt Ihr das auch, ohne das Archiv kopieren zu müssen:

 

Limit CPU usage on Linux

Kürzlich stand ich vor dem Problem, dass einer meiner VPS Server immer vom Hoster gestoppt wurde. Dieses Problem tritt häufig auf, wenn bei einem 1 vCPU Server der CPU-load länger als 10 Minuten über 1.00 liegt.

Zur Lösung des Problems habe ich das Tool CPULIMIT entdeckt. Es gibt es auf Ubuntu & Centos / bereits als pre-kompiliertes Paket un kann einfach via apt-get oder yum installiert werden.

Im Anschluss habe ich ein Skript zu start eines Daemon hier /usr/bin/cpulimit_daemon.sh angelegt, mit diesem Inhalt:

Um das Skript ausführen zu können müssen noch die Berechtigungen geändert werden:

Um nun den Job zu starten einfach ein Skript wie folgt unter /etc/init.d/cpulimit anlegen:

Nun noch die Berechtigungen ändern:

Um das Skript auf CentOs zu starten habe ich es einfach am ende von /etc/rc.config eingefügt. somit wird es nach dem Booten automatisch gestartet und limitiert dann die CPU intensiven Jobs.

Quelle: http://ubuntuforums.org/showthread.php?t=992706

Langsamer ssh login

Heute habe ich mich gefragt, warum der Login auf einem durchaus schnellen i5 ssh Server mehrere Sekunden benötigt, bis die Passwort abfrage kommt.

Zuerst einmal habe ich versucht herauszufinden woran es hackt:

Im Anschluss habe ich geschaut woran es hackt und habe dann auf dem Server den Versuch der Namensauflösung gesehen.
Als ich die Namensauflösung abgeschaltet hatte war es dann auch wieder schnell.

Hierzu einfach in die sshd_config folgendes eintragen:

Im Anschluss dann noch ein

Ab sofort sollte der Login wieder schnell sein!

Apache für LOW Memory VPS/Raspberry Pi optimieren

Apache und LOW Memory vertragen sich ja nicht so wirklich, deshalb eines Vorweg, man sollte wenn man nich unbedingt Apache braucht, auf Alternative wie nginx oder Lighttpd setzen. Ich betreibe eigentlich nur auf allen meinen kleineren Systemen (<2GB Ram) nur nginx und (<256MB Ram) lighttpd. Hier haben ich auch einen Link zu einer Low Memory LLMP Konfiguration.

Nichts desto trotz benötigt man manchmal unbedingt einen Indianer, und so kann man ihn auch auf einem Low Mem Server betreiben.

Also wie gesagt ist das größte Problem der Speicher den der Apache braucht. In der Konfigurationsdatei
/etc/apache2/apache2.conf kann man die Einstellungen tunen.

In der Konfigurationsdatei dann folgende Konfiguration vornehmen:

Des weiteren empfiehlt sich das Timeout zu reduzieren. KeepAliveTimeout sollte nicht mehr als 15 (Sekunden) betragen.

Nach diesen Einstellungen ist Apache schon wesentlich genügsamen. Jetzt sollte man noch nicht benötigte Module deaktivieren. Mit diesem Befehl seht Ihr alle Apache Module.

Bildschirmfoto 2015-11-15 um 12.21.51

Um beispielsweise einen WordPress Blog zu hosten brauch man folgende Module (wie gesagt, WordPress läuft auch unter nginx & Lighttpd).

Um ein Modul zu deaktivieren kann man entweder die Konfigurationsdatei oder aber folgenden Befehl ausführen:

Anschließend noch den Apache neu starten und Spaß haben.

MySQL Dump richtig Importieren

mysqlJetzt noch ein schneller Tip für heute. Wie bekommt man den MySQL Dump wieder richtig eingespielt? Ich habe immer wieder
das Problem, dass dieses ä,ö und ü nicht korrekt wiederhergestellt werden.

Eigentlich ist es ganz einfach, wenn er Dump im utf8 Format erzeugt wurde, das einfach beim Import mit angeben.

 

Openmediavault Disk IO on Linux and Windows vBox Guest

Da man ja bekanntlich ;D zwischen den Jahren nicht viel zu tun hat, habe ich heute die Kernel Logs meines NAS auf Basis von OpenMediaVault geprüft. Mir fiel dabei auf, dass der aktuelle Kernel von Wheezy keine optimale Unterstützung für die von mir eingesetzte j1900 CPU (Intel ARK).

Nachdem ich mit einen „Custom“ Kernel genaut habe, passen jetzt auch die non-free treiber zum j1900. Dieser unterstützt jetzt auch im Burst-mode 2.4 Ghz.

Wenn jetzt also die Treiber besser passen, dachte ich mit, teste ich noch schnell mal den IO auf mein internes RAID5 (3x WD RED). Eine einfache Messung habe ich auf der Konsole mittels dd durchgeführt.

Test 1: 8k Länge & Anzahl 256k

Test 2: 8K Länge & Anzahl 512k

In einem VirtualBox Windows Gast habe ich eine Messung mit Cristal Mark gemacht. Auch hier war ich mit der Leistung durchaus zufrieden.

cristal_mark_LYON_TerminalServer_VM_test2

Als Vergleich noch mein Laptop mit SSD & HDD:

SSD:

SSD_c-Drive

HDD:

HDD_D-Drive

Mit der Disk-Performance meines NAS Server kann ich wohl ganz zufrieden sein.

Entfernen von Web-App in ClearOS 6.x

Heute stand ich spontan beim Aufräumen meiner Server vor dem Problem, wie man „App’s“ auf einem ClearOS Small Business Server entfernt.

Nach 10 Minuten suchen ohne Rat fand ich heraus, dass es auf der Roadmap ist, oder war? … ein Deinstallation Feature zu installieren. Geholfen hat die Aussage nur in so fern, dass ich händisch aktiv werden muss. Für alle die ClearOS nicht kennen; es ist der einzige Server bei mir, der nicht auf Debian basiert. ClearOS ist ein Weiterentwicklung von CentOs was bekanntlich auf RedHat basiert.

Also kurz die rpm-Paketlisten gecheckt und herausgefunden, dass man die App auch wieder mit rpm weg bekommt.

Der Befehl lautet:

Wobei „antivirus“ mit dem zu entfernenden App ersetzt werden muss. Den richtigen Namen des Apps kann man anhand der URL im Weg-Ui bestimmen.

Loggt man sich ein und wechselt auf das zu deinstallierende App, beispielsweise FTP, dann lautet die Url: https://ClearOS:81/app/ftp
Der Befehl würde dann also so lauten:

 

Virtualisierung @ Home

Immer mehr gibt es den Trend „Cloud“. Was ist die Cloud? Cloud, also Wolke ist etwas sehr undurchsichtiges. Spätestens jetzt sollten alle Alarmglocken klingeln. Ich habe für mich entschieden, dass ich den Trend des Daten „sharings“ nicht ungebremst mit machen möchte. Ich möchte weiterhin der alleinige Besitzer meiner Daten sein und auch wissen wo diese liegen.

Wie ich bereits schon früher geboggt habe, gibt es auch alternativen zum Mainstream Cloudstorage. Hier setzt ich auf ein ownCloud, gehostet in Frankfurt auf einem Filesystem mit militärischer Verschlüsselung.

Wem das immer noch nicht reicht, der hostet seine Server zu Hause. Hier kommt das Thema Virtualisierung zum Einsatz. Mittlerweile betreiben ca. 30% aller Haushalte ein NAS-System (Network Attached Storage) zu hause. Was wäre nun, wenn man eine Stromsparende CPU mit 64bit Architektur drinnen hätte? Der Stromverbrauch immer noch niedrig, aber deutlich mehr Leistung. Willkommen in 2014! Der NAS-Hersteller QNAP hat seinen neuen NAS-Systemen Intels Celeron verpasst und bietet jetzt Virtualisierung auf dem NAS an. Für mich war das Anreiz genug mit ein solches System zusammen zu stellen und das ganze einmal zu testen.

Was kam zu Einsatz?

Beim Board habe ich mich für das ASRock Q1900M M-ATX J1900 entschieden. Es hat zwar nur 2 SATA Schnittstellen aber mein OS soll ja eh auf ein USB3 Stick. Zudem hab ich noch einen Riegel mit 8GB reingepackt. Für ein NAS ABSOLUT überdimensioniert, aber für ein Virtualisierungshost notwendig. On-Top noch ein bisschen Kleinkram aus den Kramskisten und fertig.

Der Stromverbrauch mit einer 2,5″ 500GB Platte liegt unter Vollast bei 25W und einem Transcendent Extrem 780 32GB Stick!! Ok, es ist nur eine Platte im Moment drinnen, aber jetzt kommen noch 3x 6TG WD Red im RAID 5 rein. Für alle Kritiker von ext4 auf USB Sticks: Der USB Stick ist sehr schnell 210MB/s und unterstützt dynamic Level Wearing.

Nachdem das System eigentlich als reine V-Host gedacht war habe ich sehr mit der Stabilität von ProxMox VE gehardert. Zudem war der Kernel kein 3.2er womit kein USB 3 nativ unterstützt wurde.

Jetzt läuft auf dem System OpenMediaVault. Eigentlich wollte ich das NAS OS als Gast laufen lassen, aber es hat sich als Schweizer Taschenmesser herausgestellt und bietet dank VirtualBox auch eine gute Virtualisierung.

Hier noch ein paar Stats vom System. Und für alle Kritiker, das System war im Stress, bin ja nicht hier zum Waffeln backen 🙂