SchlagwortLinux

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 🙂

[HowTo] Hinzufügen eines virtuellen NIC (Network Interface) unter debian/ubuntu

Unter Linux ist es relativ einfach mehrere IP Adressen auf eine Netzwerkkarte zu binden. Bei Debian Distributionen, so wie auch Ubuntu, muss man nur eine Datei bearbeiten.

Hierzu einfach folgenden Befehlt ausführen:

sudo nano /etc/network/interfaces

Bei mir sieht das file wie folgt aus:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 10.1.1.100
gateway 10.1.1.1
netmask 255.255.255.0
broadcast 10.1.1.255

Der einfachste Weg eine Virtuelle Schnittelle anzulegen, ist das eth0 Interface zu kopieren und beim Namen ein :0, :1 … anzuhängen.

auto eth0:0
iface eth0:0 inet static
address 10.1.1.101
gateway 10.1.1.1
netmask 255.255.255.0
broadcast 10.1.1.255

Im Anschluss einfach das Netzwerk neu starten und die Einstellungen übernehmen. Das spart den Reboot.

sudo ifup eth0:0

Und das war’s dann auch schon!

Airprint auf Debian

Heut gibts ein Quick Howto, wie Ihr eurem Debian Server beibringt die Drucker via AirPrint zu teilen 🙂

Zuerteinmal müsst Ihr ein paar Pakete installieren:

apt-get install avahi-daemon cups cups-pdf python-cups

nachdem nun Cups am Start ist, müssen wir das CUPS noch konfigurieren:

nano /etc/cups/cupsd.conf

Bildschirmfoto 2014-05-15 um 20.46.43

Hier die noch die 17 editieren, damit der Zugriff nicht nur auf den Localhost beschänkt ist:

# Only listen for connections from the local machine.
Listen 631

Anschlißend diesen Teil ersetzen:

# Restrict access to the server...
<Location />
  Order allow,deny
</Location>

# Restrict access to the admin pages...
<Location /admin>
  Order allow,deny
</Location>

# Restrict access to configuration files...
<Location /admin/conf>
  AuthType Default
  Require user @SYSTEM
  Order allow,deny
</Location>

NEU …

# Restrict access to the server...
<Location />
  Order allow,deny
  Allow @Local
</Location>

# Restrict access to the admin pages...
<Location /admin>
  Order allow,deny
  Allow @Local
</Location>

# Restrict access to configuration files...
<Location /admin/conf>
  AuthType Default
  Require user @SYSTEM
  Order allow,deny
  Allow @Local
</Location>

Nachdem nun Cups soweit konfiguriert ist, einfach den Service neu starten:

service cups restart

Da nicht jeder in Cups rumfummel kann, muss man noch einen User der lpadmin gruppe hinzufügen

adduser felix lpadmin

Jetzt geht es zum AirPrint Teil ….

mkdir /opt/AirPrint
cd /opt/AirPrint
wget -O airprint-generate.py --no-check-certificate https://raw.github.com/tjfontaine/airprint-generate/master/airprint-generate.py
chmod +x airprint-generate.py
./airprint-generate.py -d /etc/avahi/services

Jetzt nochmal ein Neustart für Cups und den avahi-daemon und alles sollte funktionieren.

service cups restart
service avahi-daemon restart

… GSCHAFFT!!!

Logs unter Debian Linux wöchentlich löschen per cronjob

Heute war es mal wieder soweit. 1 GB Logfiles im System. Was also tun? Log Dateien einfach löschen wäre fatal, da diese nicht noch einmal erzeugt werden. Das System wäre somit auf einfachste weise zerschossen. Um das zu verhindern schreiben wir den Inhalt ins nichts.

# cd /var/log
# for i in *; do test -f $i -a -s $i && > $i; done

Das ich ein fauler Mensch bin und es wieder vergessen würde, machen wir daraus noch einen wöchentlichen Cronjob

#sudo crontab -e
#Password: 

#[...]
#Am Ende der Datei einfach folgendes eintragen: 
0 0 * * 1 cd /var/log && for i in *; do test -f $i -a -s $i && > $i; done

Der Cronjob leert jetzt wöchentlich die Logs.

Log-Dateien leeren unter Linux

Hi, manchmal steht man vor dem Problem neue Sachen auf der Linux Kiste auszuprobieren. Natürlich funktioniert es in den wenigsten fällen direkt nach der Installation. “Was also tun?” frag man sich, wie man am schnellsten die log-Dateien leert aber nicht löscht.

# > logfile.log

Wenn noch 10 Zeilen drinnen bleiben sollen, da macht man es so

# tail -n 10 logfile.log logfile.log