Archiv der Kategorie: Computer und Internet

Eine Sammlung der Beitrage rund um Computer und Internet

Howto: Multi-Node Spark Cluster im Standalone-Mode auf Debian 9

Hallo Zusammen,

die Reise des verteilten Rechnens geht weiter. Ich setze voraus, dass ihr bereits einen Funktionsfähigen Hadoop-Cluster habt. Wie man diesen Aufsetzt kann hier nachgelesen werden: Hadoop-Cluster mit Debian 9 aufsetzen

Ich setze bei der Namensgebung stark auf diese Anleitung auf. Es lohnt sich also immer, diese

Spark Herunterladen und Konfigurieren

Ich setze hier voraus, dass ihr die Key-File-Anmeldung mit SSH eingerichtet habt und die verschiedenen Rechner in der /etc/hosts benannt sind.

Alle folgenden Arbeiten werden zunächst auf dem Master „hadoop-master“ (192.168.123.90) durchgeführt (vgl. Hadoop-Cluster mit Debian 9 aufsetzen). Zunächst die aktuelle Version herunterladen und entpacken. Wählt dazu die Pre-build Version für Apache Hadoop in der entsprechenden Version.

cd /opt/
wget https://d3kbcqa49mib13.cloudfront.net/spark-2.2.0-bin-hadoop2.7.tgz
tar xvf spark-2.2.0-bin-hadoop2.7.tgz
mv spark-2.2.0-bin-hadoop2.7/ spark/
chown -R hadoop:hadoop spark/
  • /opt/spark/conf/slaves.template zu /opt/spark/conf/slaves kopieren, anpassen und festlegen, auf welchen Maschinen ein Spark Worker gestartet werden soll
# A Spark Worker will be started on each of the machines listed below.
#localhost
hadoop-master
hadoop-slave-1
hadoop-slave-2
hadoop-slave-3
hadoop-slave-4
hadoop-slave-5
hadoop-slave-6
  • /opt/spark/conf/sparks-env.sh.template zu /opt/spark/conf/spark-env.sh kopieren und am Ende Folgendes einfügen:
SPARK_MASTER_HOST=hadoop-master
  • /opt/spark/conf/sparks-defaults.conf.template zu /opt/spark/conf/spark-defaults.conf kopieren und wie folgt anpassen:
spark.master                     spark://hadoop-master:7077
spark.eventLog.enabled           true
spark.eventLog.dir               hdfs://hadoop-master:8021/spark-log

Spark auf Slaves Verteilen

Nun erstelle wir zunächst mit Hilfe von tmuxinator (vgl. ) auf den Slaves das Sparks-Verzeichnis.

sudo mkdir /opt/spark/
sudo chown -R hadoop:hadoop /opt/spark/

Jetzt verteilen wir auf dem master die files auf die slaves:

scp -r spark/* hadoop-slave-1:/opt/spark/.
scp -r spark/* hadoop-slave-2:/opt/spark/.
scp -r spark/* hadoop-slave-3:/opt/spark/.
scp -r spark/* hadoop-slave-4:/opt/spark/.
scp -r spark/* hadoop-slave-5:/opt/spark/.
scp -r spark/* hadoop-slave-6:/opt/spark/.

Spark Cluster Starten

Nun sollte alles installiert sein und wir können den Spark-Cluster starten:

# Starts both a master and a number of slaves.
./opt/spark/sbin/start-all.sh
# Stops both the master and the slaves.
./opt/spark/sbin/stop-all.sh

Ab jetzt kann man über http://192.168.123.90:8080/ (hier natürlich die eigene IP eingeben) das Webinterface aufrufen und sieht seine Worker.

Hadoop-Cluster mit Debian 9 aufsetzen

Im Rahmen einer Forschungsarbeit beschäftige ich mich mit Spark auf einem Hadoop-Cluster. Ich habe daher ein wenig Spielzeug bekommen und wollte mal sehen, wie geeignet das System für uns ist. Der Testaufbau soll vor allem auch zeigen, ob man große Daten auch mit geringen Ressourcen gut verarbeiten kann.

Die Maschinen

Ingesamt 7 Desktop-Rechner mit

  • i7-2600 @3,4 GHz mit 4 Kernen
  • 500GB HDD
  • 8 GB RAM

Ich weiß, die Specs sind laut Empfehlungen viel zu klein für ein Hadoop-Cluster, aber der Test soll auch zeigen, wie weit man mit geringen Ressourcen kommt.

Das Betriebssystem

Mal wieder steht man vor der Wahl des Betriebssystem. Ich fühle mich eigentlich auf Arch am wohlsten, da ich aber weniger Arbeit mit der Wartung der Maschinen als vielmehr mit Hadoop verbringen möchte, hab ich mich für Debian 9 entschieden.

Festplattenkonfiguration

  • 30GB: /
  • 8GB: SWAP
  • Rest für /home/

Netzwerkkonfiguration

Wir arbeiten ein einem abgeschottenen Netzwerk innerhalb der Hochschule. Die IP-Adressen sind eigentlich egal und dienen nur mir als Gedächtnisstütze ;). Wichtig ist nur, dass man die Hosts-Datei /etc/hosts entsprechend anpasst:

192.168.123.90 hadoop-master
192.168.123.91 hadoop-slave-1
192.168.123.92 hadoop-slave-2
192.168.123.93 hadoop-slave-3
192.168.123.94 hadoop-slave-4
192.168.123.95 hadoop-slave-5
192.168.123.96 hadoop-slave-6

tmux dein Freund zur Administration vieler Maschinen

Für die Administration vieler Maschinen ist tmux quasi unverzichtbar. Ich verwende dazu noch das tool tmuxinator mit folgender Konfiguration:

name: hadoop
root: ~/
windows:
  - editor:
      layout: tiled
      synchronize: after
      panes:
        - ssh hadoop@192.168.123.90
        - ssh hadoop@192.168.123.91
        - ssh hadoop@192.168.123.92
        - ssh hadoop@192.168.123.93
        - ssh hadoop@192.168.123.94
        - ssh hadoop@192.168.123.95
        - ssh hadoop@192.168.123.96
  - server: bundle exec rails s

Installation Hadoop

Ich habe mich an der Anleitung http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/ClusterSetup.html orientiert und bilde hier nur die wichtigsten Schritte ab.

Zunächst die neuste Java-Version und rsync installieren:

sudo apt-get install openjdk-8-jdk rsync

SSH Public-Key Authentifizierung für alle Maschinen

Der master sollte auf alle slaves Zugriff haben. Daher habe ich auf dem master einen Schlüssel erstellt und diesen auf die anderen Maschinen verteilt.

Installation und Konfiguration des Masters

Die folgenden Arbeiten werden zunächst nur auf dem Master vorgenommen. Die neuste Version von Hadoop herunterlade und entpacken:

mkdir /opt/hadoop
cd /opt/hadoop/
wget http://www-eu.apache.org/dist/hadoop/common/hadoop-2.8.1/hadoop-2.8.1.tar.gz
tar -xzf hadoop-1.2.0.tar.gz
mv hadoop-2.8.1 hadoop
chown -R hadoop:hadoop /opt/hadoop/

Nun müssen einige files auf dem Master angepasst werden:

  • /opt/hadoop/hadoop/etc/hadoop/hadoop-env.sh
export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
  • /opt/hadoop/hadoop/etc/hadoop/core-site.xml
<configuration>
	<property>
		<name>fs.default.name</name> 
		<value>hdfs://hadoop-master:9000/</value>
	</property>
	<property>
		<name>io.file.buffer.size</name>
		<value>131072</value>
	</property>
</configuration>
  • /opt/hadoop/hadoop/etc/hadoop/hdfs-site.xml
<configuration>
	<property> 
		<name>dfs.name.dir</name> 
		<value>/home/hadoop/hadoop/dfs/name</value> 
	        <final>true</final> 
	</property> 
</configuration>
  • /opt/hadoop/hadoop/etc/hadoop/slaves
hadoop-slave-1
hadoop-slave-2
hadoop-slave-3
hadoop-slave-4
hadoop-slave-5
hadoop-slave-6

Installation und Konfiguration der Slaves

Nun müssen die Files auf alle slaves verteilt werden (hier hilft wieder tmux).

scp -r /opt/hadoop/hadoop hadoop-slave-1:/opt/hadoop
scp -r /opt/hadoop/hadoop hadoop-slave-2:/opt/hadoop
scp -r /opt/hadoop/hadoop hadoop-slave-3:/opt/hadoop
scp -r /opt/hadoop/hadoop hadoop-slave-4:/opt/hadoop
scp -r /opt/hadoop/hadoop hadoop-slave-5:/opt/hadoop
scp -r /opt/hadoop/hadoop hadoop-slave-6:/opt/hadoop

Nun auf den Slaves noch folgendes Config-File anpassen:

  • /opt/hadoop/hadoop/etc/hadoop/hdfs-site.xml
<configuration>
	<property> 
		<name>dfs.name.dir</name> 
		<value>/home/hadoop/hadoop/dfs/name</value> 
	        <final>true</final> 
	</property> 
</configuration>

Und fertig ist die komplette Konfiguration. Nund muss das HDFS formatiert werden:

/opt/hadoop/hadoop/bin/hdfs namenode -format <cluster_name>

Starten und Beenden der Dienste

Am Ende sollten verschiedene Dienste gestartet werden. Dazu zunächst in folgendes Verzeichnis wechseln:

  • /opt/hadoop/hadoop/sbin/
# Starten der HDFS Namenode und Datanodes
./start-dfs.sh
# Starten der YARN Prozesse
./start-yarn.sh
# Starten des WebAppProxy Servers
./yarn-daemon.sh --config /opt/hadoop/hadoop/etc/hadoop/ start proxyserver
# Starten des MapReduce JobHistory Servers
mr-jobhistory-daemon.sh --config /opt/hadoop/hadoop/etc/hadoop/ start historyserver

Möchte man die Server beenden können folgende Befehle verwendet werden:

# Stoppen der HDFS Namenode und Datanodes
./stop-dfs.sh
# Stoppen der YARN Prozesse
./stop-yarn.sh
# Stoppen des WebAppProxy Servers
./yarn-daemon.sh --config /opt/hadoop/hadoop/etc/hadoop/ stop proxyserver
# Stoppen des MapReduce JobHistory Servers
mr-jobhistory-daemon.sh --config /opt/hadoop/hadoop/etc/hadoop/ stop historyserver

Webinterfaces

Nach dem Starten aller Dienste, sollten folgende Dienste erreichbar sein (IP-Addresse ist diejenige wo auch der Service läuft, in dieser Beschreibung der Master; Port ist jeweils der Standardport):

  • NameNode: http://192.168.123.90:50070
  • ResourceManager: http://192.168.123.90:8088
  • MapReduce JobHistory Server: http://192.168.123.90:19888

Arch Linux: Android Studio Virtual Devices starten nicht

Heute nach langer Zeit mal wieder ein kleiner quick and dirty bugfix:

Ich habe mir Android Studio aus den Paketquellen installiert, doch leider konnte ich keine virtuellen Devices starten.

Einzige Lösung:

/home/[user]/Android/Sdk/emulator/emulator -use-system-libs -avd [vm_name]

Damit das ganze auch innerhalb von Android Studio klappt, musste ich folgenden Workaround anwenden:

cd /home/[user]/Android/Sdk/emulator/lib64/libstdc++
mkdir old
mv * old/
ln -s /usr/lib/libstdc++.so.6
ln -s /usr/lib/libstdc++.so.6.0.24

und nochmal das ganze für 32bit:

cd /home/[user]/Android/Sdk/emulator/lib/libstdc++
mkdir old
mv * old/
ln -s /usr/lib/libstdc++.so.6
ln -s /usr/lib/libstdc++.so.6.0.24

Das hat bei mir zum Erfolg geführt.

Update 27.08.2017

Übrigens muss diese Methode nach einem Update der SDKs wiederholt werden.

Automatischer Aufbau einer openVPN Verbindung beim Start von freeNAS

Hallo Zusammen,

ich arbeite derzeit mit FreeNAS und bin sehr begeistert von diesem System. Dieses bietet alles, was man 2017 von einem NAS erwartet und gibt mir noch dazu viele Freiheiten.

Situation

Leider befindet sich der FreeNAS Server hinter einer Firewall, die zwar Verbindungen in das Internet zulassen, aber nicht aus dem Internet auf den FreeNAS-Server. Dennoch habe ich einen Server im Internet, welcher als openVPN-Server fungiert. Das Ziel ist es, dem FreeNAS automatisch eine VPN-Verbindung zu dem Server im Internet aufbauen zu lassen. Von hier aus kann dann weiter agiert werden.

VPN Konfiguration

FreeNAS verwendet openBSD als Betriebssystem mein VPN-Server läuft mit Arch Linux. Da ich jetzt nicht den 100dersten „Wie konfiguriere ich VPN“-Beitrag posten möchte, verweise ich auf zwei sehr sehr gute Wiki-Beiträge im ArchWiki:

Konfiguration im FreeNAS

Für die Konfiguration im FreeNAS haben wir verschiedene Möglichkeiten. Leider habe ich es nur über eine Möglichkeit geschafft (die erste direkt im Betriebssystem). Unabhängig von der Lösung müssen alle benötigten Dateien auf den Ordner gepackt werden:

  • ca.crt
  • freenas.crt
  • freenas.key
  • ta.key
  • client.conf

Anschließend kann die Konfiguration auf dem FreeNAS-Server mit

openvpn /root/vpn/client.conf

getestet werden.

Speicherung der Dateien auf dem FreeNAS

Damit die Zertifikate und Konfigrationsfiles korrekt gespeichert werden, muss ein Pool eingebunden werden, der unverschlüsselt ist und automatisch gemountet wird. Da meine anderen Pools verschlüsselt sind, habe ich eine kleinere Festplatte eingebaut und diese unter /mnt/misc/ gemounted. Dort liegen die benötigten Dateien in einem Verzeichnis.

Autostart: Über Init/Shutdown Scripts

Dies ist der empfohlene weg, da diese Methode auch ein Update überlebt. Dazu muss zunächst ein kleines Script unter /mnt/misc/ angelegt werden:

#!/bin/bash

echo "start openvpn daemon"
/usr/local/sbin/openvpn --config /mnt/misc/vpn/client.conf --daemon

Eigentlich sollte es ausreichen diesen Befehl direkt über Init/Shutdown-Scripts aufzurufen, aber das hat bei mir nicht geklappt. Über Tasks -> Init/Shutdown Scripts -> Add kann das Starten des Skriptes aktiviert werden.

Nun sollte das Script automatisch starten!

Autostart: Direkt im Betriebssystem

Achtung, die folgende Konfiguration ist nicht empfohlen, da diese bei jedem Upgrade überschrieben wird.

Ich habe die oben genannten Dateien unter /root/vpn/ gelegt. Achtet dabei, dass in der client.conf immer der absolute Pfad angegeben ist. Anschließend muss in der Datei /conf/base/etc/rc.conf am Ende Folgendes Ergänzt werden:

# Start openVPN 
openvpn_enable="YES" 
openvpn_if="tun" 
openvpn_dir="/root/vpn" 
openvpn_configfile="/root/vpn/client.conf"

Anschließend reicht ein Neustart und die openVPN Verbindung wird automatisch erstellt.

Die R-Kom und das Routerwahlrecht

In meiner neuen Wohnung in Regensburg habe ich bereits kurz nach dem Einzug die freudige Nachricht erhalten, dass bald Glasfaser ins Haus kommt und man sich bei Glasfaster Ostbayern (eine Marke der R-Kom) einen Vertrag klicken kann. Alleine das Wort Glasfaser sorgt bei jedem Nerd schon für Euphorie. Kommen dann noch die Worte „In“ „der“ „eigenen“ „Wohnung“ dazu, brechen Freudenschreie aus. Gesagt getan *klickklick*.

Das Bestellformular

Seit Neustem darf sich jeder Internetnutzer seinen Router selbst aussuchen und manchmal ist das auch gar keine so schlechte Idee. Eine kurze Recherche hat ergeben, dass die Fritz!Box 7490 super mit dem FTTB Anschluss von Glasfaser Ostbayern klar kommt, daher habe ich mir diese auf Amazon gekauft. Irgendwie hatte ich aber das Gefühl die R-Kom möchte nicht nicht so gerne, dass sich dieser doofe Kunde seinen Router selbst aussucht, denn ich musste gleich 5x bestätigen, wie gefährlich doch so ein eigener Router ist.

r-kom-und-das-router-wahlrecht

Der Anschluss

Eigentlich hätte ich es mir schon denken können, dass der Glasfaseranschluss unter keinem guten Stern steht, denn auch der Anschlusstermin wurde kurz vor knapp nochmal um 3 Wochen nach hinten verschoben, wegen (jetzt kommts): „Es ist nicht genug Glasfaser auf Lager“ (*hihi*). Drei Wochen später kam dann aber der Techniker und hat meine Telefon-Kupferleitung von der Wohnung mit dem Verteiler im Keller angeschlossen. Mehr war dann aber auch nicht drin, denn der Techniker musste dann feststellen, dass man wohl vergessen hatte, das Glasfaserkabel auch mit dem Verteiler zu verbinden ^^. Ein paar Tage später war es dann aber so weit und ich konnte endlich im Internet surfen… naja… fast…

Die Konfiguration

Die R-Kom war in dieser Hinsicht besonders hilfreich und hat in dem Schreiben, welches mich über meinen erfolgreichen Anschluss informiert, für die Installation/Konfiguration von Routern auf folgendes sehr hilfreiches Dokument verwiesen: Schnittstellenbeschreibung (das war übrigens auch die einzige „Anleitung“ auf die verwiesen wurde)

Hier mal die erste Seite dieser tollen und für „nicht-Techniker“ sehr verständlichen Beschreibung:

gfo_schnittstellenbeschreibung

Auszug aus der Schnittstellenbeschreibung der R-Kom. Es handelt sich um ein Dokument zu finden auf: https://www.glasfaser-ostbayern.de/hilfe-service/downloads/#routerwahlrecht

Natürlich beinhaltet das Dokument alles was man braucht, aber mal ehrlich: Das soll ein nicht-Techniker verstehen? Das Dokument geht über 7 Seiten so weiter und verzichtet vollständig auf beschreibenden Text.

Einstellungen für die Fritzbox 7490

Für Alle, die vor dem selben Problem standen, hier die korrekten Einstellungen für die Fritzbox 7490 in Verbindung mit einem FTTB-Anschluss von Glasfaser Ostbayern:

Unter Internet -> Zugangsdaten: „Anschluss an einen DSL-Anschluss“ auswählen. Anschließend unter Verbindungseinstellungen folgendes Einstellen:

bildschirmfoto-von-2016-11-29-17-35-37

Unter Telefonie -> Eigene Rufnummer -> Anschlusseinstellungen muss dann noch folgendes eingestellt werden:

bildschirmfoto-von-2016-11-29-18-05-05

Nun muss noch bei Telefonie -> Eigene Rufnummer -> Bei der entsprechenden Telefonnummer die Option „Anmeldung immer über eine Internetverbindung“ deaktivieren (danke an vitallo). Nun sollte alles funktionieren.

Geschwindigkeit und Beschwerdemanagement

Nach all den Beschwerden hier im Beitrag muss ich aber auch sagen, dass die gelieferte Geschwindigkeit, der Ping und die allgemeine Verbindungsqualität exquisit sind und exakt den bestellten Leistungen entsprechen (wirklich ohne Ironie, ich bin damit sehr zufrieden). Auch das „Beschwerdemanagement“ finde ich in Ordnung. Als der Techniker-Termin verschoben wurde, hat man mich per Brief und sogar per Telefonanruf informiert. Jetzt muss die R-Kom nur noch ein bisschen besser in der Kundenfreundlichkeit bezüglich der freien Routerwahl werden und ein bisschen den „Hass“ auf Freifunk Regensburg verlieren und alles ist gut :).

Der König von Narnia und die Technische Niederschule Regensburg

Dass Mailverteiler bei denen man an alle Antworten kann manchmal keine gute Idee sind, dürfte der Ein oder Andere wohl schon am eigenen Leib erfahren haben. An unserer Hochschule ist es zum glück nicht so einfach. Es gibt zwar die Email-Adresse alle-stud@hs-regensburg.de, mit der alle Studenten erreicht werden können, aber die dort ankommenden Mails müssen vorher noch von einem Moderator abgenickt werden…

Der Fall Narnia

Manchmal passieren aber auch mit Moderation lustige Dinge. So kam es am 16.12.2015 zu folgender Konversation, die natürlich an alle Studenten ging:

Liebe Studentinnen, liebe Studenten,

einmal im Laufe des Studiums können Sie ein Büchergeldstipendium einfach und unkompliziert beantragen.

Die persönliche Antragsannahme ist in der Allgemeinen Studienberatung bis spätestens 23.12.2015 möglich. […]

Grüße
M.B.

Hört sich im Grunde wie der übliche Spam an, der so über den Äther läuft und die Postfächer der Studenten füllt, doch leider war ein Moderator sehr fleißig und hat dann auch folgende Antworten durch gelassen:

Sehr geehrte Frau M.B.,

Vielen Dank für Ihre E-Mail zum Büchergeldstipendium. Gerne möchte ich es beantragen, da ich passend für die Masterarbeit ein paar Bücher anschaffen muss.

Leider funktioniert der Link nicht und die Seite kann nicht gefunden werden. Auch auf der OTH Website kann ich keinen gültigen Link über das Bücherstipendium finden.

Könnten Sie mir bitte den Antrag als PDF per E-Mail schicken oder einen anderen Link zukommen lassen?

Vielen Dank im Voraus für Ihre Rückmeldung.

Mit freundlichen Grüßen,

R.T.

Tja kann schon mal passieren, aber hey.. das passiert sicher nur einmal…. Wiederum ein paar Minuten später:

Sehr geehrte Frau R.T.,
ich muss Ihnen leider absagen.
Studentinnen sind von deutschen Stipendien leider ausgeschlossen.
Ich finds auch kacke.
Mit freundlichen Grüßen
Prof. Dr. Egger
Stipendiatenbetreuer der Technischen Niederschule

Prof. Dr. Egger ist natürlich kein Professor sondern ein Student und außerdem ist ihm ein kleiner Fehler unterlaufen. Gut, dass sich jemand findet, der die Sache aufklärt:

Hochverehrter Prof. Dr. Egger,
ich darf an die Satzung des niederbayerischen Gremiums von 1867 erinnern, welche in Paragraph 12,5 Absatz 3/4 besagt, dass Studenten/innen unter besonderen Umständen und oder mit Defiziten in der Benutzung des elektronischen Postdienstes,das ausdrückliche Recht auf ein bezahltes Fördersemester in elektronischer Nachrichtenübermittlung haben.  Das Semester kann parallel zum Studium laufen, wird sowohl im Bachelor als auch im Masterstudium auf einer zusätzlichen Seite in Form einer Teilnehmerurkunde dokumentiert und mit der Freude sämtlicher Gesprächspartner gewürdigt . Es stimmt mich traurig, dass Sie der armen Frau R.T. dieses Wissen vorenthalten.
Mit freundlichen Grüßen
Dr. Main S. Enf
König von Narnia

Andere Hochschulen

So oder so Ähnlich haben es wohl schon viele Studenten auch von anderen Hochschulen mitbekommen. Dass es aber auch schlimmer geht, hat mir vor kurzem ein Kollege erzählt:

Durch ein Update oder eine fehlerhafte Konfiguration war es plötzlich möglich, allen Studenten zu antworten, natürlich ohne Moderation. Das Chaos war natürlich vorprogrammiert. Es ging sogar so weit, dass Studenten den „Tipp“ gegeben haben, doch im Betreff bitte „Abmelden + [Sein eigenes Passwort]“ zu schreiben, dann könne man sich von dem Mailverteiler abmelden. Natürlich haben viele Studenten diesen Tipp dann gleich mal ausprobiert.

Fazit

Aus Spaß kann schnell Ernst werden, aber so lange es bei dem König von Narnia bleibt, ist alles gut. Mich persönlich hat die Spam-Politik nur immer extrem genervt. Das Studentenpostfach wird völlig zugespammt und es gab natürlich keine Möglichkeit sich von einzelnen Programmen ab zu melden. Die Professoren dürfen sich wirklich nicht wundern, warum die Studenten die Email-Adresse kaum nutzen.

32C3 – Ich bin mal wieder platt 2.0

Nach dem ersten mal am 31C3 war es nicht schwer zu erahnen, dass das wohl nicht mein erste und einzige Kongress bleibt. Man läuft in das Gebäude, das von Außen gar nicht so beindruckend riesig aussieht, und taucht ab in eine andere Welt. Als Konsequenz dessen hab ich erst mal wieder ein Dauergrinsen im Gesicht. Es ist einfach unglaublich, was Leute aus der ganzen Welt anschleppen um einen der genialsten Events des Jahres auf die Beine zu stellen.

Wir waren dieses mal wieder einen Tag früher und es war schön zu beobachten, wie sich diese Welt durch nerdige Zauberhände ständig weiter entwickelt. Wie auch letztes Jahr gibt es einen haufen interessanter Vorträge, Workshops und Sessions. Doch leider sind viel davon so überfüllt und beliebt, dass man sich schon 30-60 Minuten vorher anstellen muss, um überhaupt noch einen Platz zu bekommen. Einerseits ist es genial, dass der jährliche Kongress wächst und wächst, doch leider hat das die Konsequenz, dass es jetzt schon kein passendes Gebäude mehr gibt, welches mit so vielen Nerds umgehen kann. Das Congress Center Hamburg (CCH) gehört leider zu den größen in Europa und ist jetzt schon übervoll.

Und natürlich noch die üblichen Nerd-Infos:

  • Anbindung insgesamt: Magere 50 Gbit/s (das erste mal 10 Gbit/s von der Telekom)
  • Davon wurden aber lediglich 21 Gbit/s in der Spitze gebraucht
  • Facebook war nicht mal in der TOP 200 beim Traffic
  • Als die Nachricht raus ging, dass die Colo (Colocation für die Server der Besucher) zugemacht wird, ging der Traffic um 2/3 nach unten 😉
  • 8150 WLAN Clients in der Spitze
  • 70% der Clients auf 5GHz
  • Bei den Devices hat Linux mit 24.1% gewonnen, dicht gefolgt von Android
  • Wifi hat im durchschnitt 3 Gbit/s Bandbreite benötigt
  • in Saal 1,2 und 3 wurde das pyhsikalische Limit, was mit 5GHz Freq

    uenzspektrum übertragen werden kann, fast immer erreicht! (100% channel Nutzung)

Arch Linux – UEFI Boot mit Grub und verschlüsseltem LVM

Hallo Zusammen,

heute widme ich mir mal wieder einer Linux-Geschichte. Im Grunde geht es um mein Standardsetup für meine Linux-Kisten (wenn es um Desktop-Versionen geht). Ich verwende hier sehr gerne Arch Linux insbesondere aus drei Gründen:

Beim heutigen Thema geht es lediglich um die Konfiguration der Partionen und die Installation von Grub und dem UEFI Bootloader. Alles weitere kann den Anleitungen im Arch Wiki entnommen werden. Diese sind extrem ausführlich und sehr gut!

Was möchte ich haben? Und warum?

Meine Ideale Konfiguration sieht wie folgt aus:

                     +-------+--------------------------+
                     |       |                          |
                     | SWAP  |       Systemplatte       |
                     |       |                          |
+----------------------------+--------------------------+
|                    |                                  |
|   UEFI/Grub Boot   | Verschlüsselter Container (LUKS) |
|                    |                                  |
+--------------------+----------------------------------+

Am Anfang der Festplatte befindet sich eine 512 MB große Partition für das UEFI Boot-System und den Grub Bootloader. Der Rest wird verwendet für eine LUKS verschlüsselte Partition. Innerhalb dieser ist das eigentliche Betriebsystem mit SWAP und System. Dadurch sind meine Daten und das gesamte Betriebsystem verschlüsselt. Direkt nach dem Bootloader muss ein Passwort eingegeben werden, welches den LUKS Container entsperrt und anschließend wird normal das System gebootet.

Wie bekomme ich das hin?

Im Grunde ist alles im sehr ausführlichen Arch Wiki beschrieben. Leider sind die einzelnen Artikel aber teilweise leicht versteckt und es gibt Diskrepanzen zwischen den Übersetzungen. Einige Punkte sind nur im deutschen Wiki beschrieben, Anderes nur im englischen Wiki. Ich halte mich gerne an den Beginners guide: https://wiki.archlinux.org/index.php/Installation_guide

1. Festplatte partitionieren

Zunächst partitionieren wir die Festplate.

fdisk -l

Damit finden wir raus, unter welchem Device die Festplatte zu finden ist (in meinem Fall /dev/sda).

gdisk /dev/sda

Ich Arbeite gerne mit gdisk. Die wichtigsten Befehle:

o      # Neue Tabelle anlegen
n      # Neue Partition erstellen
w      # Schreibe Tabelle auf die Festplatte

Weitere Infos zu den Befehlen und wie man die Partitionen anlegt: https://wiki.archlinux.de/title/GPT
Das erstellte Partitionsschema sollte dann wie folgt aussehen:

/dev/sda1	512M	ef00	EFI System
/dev/sda2	REST	8E00	Linux Filesystem

2. Crypt-Container auf sda2 erstellen

Nun erstellen wir den verschlüsselten Container auf sda2 mit LUKS.
Mehr Infos: https://wiki.archlinux.org/index.php/Dm-crypt/Encrypting_an_entire_system#LVM_on_LUKS
Mehr Infos zu cryptsetup: https://wiki.archlinux.org/index.php/Dm-crypt/Device_encryption#Encryption_options_for_LUKS_mode

# Verschlüssele /dev/sda2
cryptsetup luksFormat -c aes-xts-plain64 -s 512 /dev/sda2

# Öffnet verschlüsselten Cotainer wieder und mapped auf "lvm"
cryptsetup open --type luks /dev/sda2 lvm

3. LVM innerhalb des LUKS-Containers erstellen

Wir haben zwar jetzt einen (offenen) verschlüsselten Container, haben darin aber noch kein LVM. Dieses folgt nun mit folgenden Befehlen:

vgcreate main /dev/mapper/lvm		# Erstelle Volume Group auf /dev/mapper/lvm mit Namen "main"
lvcreate -L 32G main -n swap		# Erstelle 32GB SWAP
lvcreate -l 100%FREE main -n root	# Erstelle root mit Rest

Achtet bitte beim letzten Befehl darauf: Ein kleines „-l“ kein „-L“. Zum Swap: Ich halte mich nach wie vor daran: 2x RAM-Größe = SWAP-Größe

4. Filesystem erstellen

Jetzt fehlt nur noch das Filesystem auf den innerhalb des Containers erstellten Partitionen und der UEFI Partition am Anfang. Die UEFI Partiton MUSS Fat32 formatiert werden.

mkfs.ext4 /dev/mapper/main-root
mkswap /dev/mapper/main-swap
mkfs.fat -F 32 /dev/sda1

5. Mounten des Systems

Jetzt mounten wir nur noch die Festplatten an die richtige Stelle und wir können das Grundsystem installieren:

mount /dev/mapper/main-root /mnt
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot
swapon /dev/mapper/main-swap

Ab hier kann mit der Installation laut Anleitung fortgefahren werden, bis ihr zum Erstellen des Linux-Kernels kommt!

6. Hooks für Linux-Kernel anpassen

Folgende Datei muss angepasst werden: /etc/mkinitcpio.conf

HOOKS="base udev autodetect modconf block keyboard keymap encrypt lvm2 filesystems fsck shutdown"

Danach folgenden Befehl ausführen:

mkinitcpio -p linux

7. GRUB installieren

Jetzt wollen wir noch unseren Bootloader auf die UEFI-Platte schmeißen. Weitere Infos dazu: https://wiki.archlinux.de/title/UEFI_Installation#GRUB

Zunächst erst mal die efi-Variablen laden und die wichtigsten Pakete installieren.

mount -t efivarfs efivarfs /sys/firmware/efi/efivars
pacman -S grub efibootmgr dosfstools

Wenn ihr einen intel-CPU habt, noch folgendes Paket installieren:

pacman -S intel-ucode

Nun muss die Datei /etc/default/grub wegen unserer Verschlüsselung angepasst werden.

GRUB_CMDLINE_LINUX="cryptdevice=/dev/sda2:main root=/dev/mapper/main-root lang=de locale=de_DE.UTF-8"

Anschließend installieren wir grub und erstellen uns eine Config. Achtet darauf, dass hier keine Fehler ausgegeben werden.

grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch_grub --recheck --debug
grub-mkconfig -o /boot/grub/grub.cfg

Update: Luks Passwort hinzufügen / löschen / ändern

Beinahe vergessen, aber ab und an will man dann doch einen Key hinzufügen bzw. ändern/löschen:

Um die vorhandenen Schlüssel anzuzeigen:

sudo cryptsetup -y luksDump /dev/sda2

Um einen neuen Key hinzuzufügen:

sudo cryptsetup -y luksAddKey /dev/sda2

Um einen Key zu löschen:

sudo cryptsetup -y luksRemoveKey /dev/sda2

Beim letzten Befehl wird man dann gefragt, welches Passwort entfernt werden soll. Vorher UNBEDINGT einen neuen Key hinzufügen!

Moderne Vorlage für einen Lebenslauf mit Lyx / Latex

Hallo Leute,

ich bekomme immer wieder die Anfrage meinen Lebenslauf weiter zu schicken. Statt einfach meinen Lebenslauf weiter zu schicken, habe ich mich dazu entschlossen eine Vorlage für Latex bzw. Lyx zu machen.

Was ist denn Latex und Lyx?

Lyx ist ein tolles Programm für das Erstellen von Dokumenten jeglicher Art. Wie man Lyx Installiert und einsetzt, lest ihr bitte in folgendem Beitrag: Bachelorarbeit mit Lyx erstellen

Aufbau der Vorlage

lebenslauf_de_vorlage-page-001 lebenslauf_de_vorlage-page-002

Wie ihr den Bildern entnehmen könnt habe ich einen sehr allgemeinen Aufbau gewählt. Zu Anfangs die Kontaktdaten, ein Foto (optional) und ganz groß natürlich der Name. Anschließend die persönlichen Daten. Wer jetzt meint „huch da fehlt ja Religion, Familienstand, …“: Das ist noch ein Überbleibsel aus Großmutters Zeiten. Wie man es richtig macht könnt ihr hier lesen: Bewerbungen – Hilfe und Erfahrungsberichte für eine gute Bewerbung

Anschließend kommen eure Fertigkeiten und Kenntnisse. Geht immer vom Wichtigen zum Unwichtigen.

Weitere Infos zu Bewerbungen und dem Anscheiben

Zusammen mit Steffi habe ich auch einen eher allgemeinen Beitrag zum Erstellen eines Lebenslaufs und dem Anschreiben geschrieben. Darin sind auch all meine Beweggründe beschrieben, warum ich mich so und nicht anders entschieden habe. Einfach hier lesen: Bewerbungen – Hilfe und Erfahrungsberichte für eine gute Bewerbung

Download Vorlage

Wer sich erst mal die Vorlage als PDF anschauen möchte, folgt diesem Link:

Download: Vorlage als PDF (Version 1)

Wenn euch die Vorlage gefällt, einfach das ZIP-File herunter laden. Mit Lyx öffnen und los gehts. Alle nötigen Dateien sind im Archiv enthalten.

Download: Vorlage als ZIP-File (Version 1)

Eine Bitte: Diese Vorlage hat viel Zeit gekostet, es würde mich freuen, wenn ihr einen kurzen Kommentar oder einen Verbesserungsvorschlag hier hinterlasst. Dies ist sehr hilfreich für mich und Andere, die sich für das Thema Lebenslauf interessieren.

Update 14.10.2016

Dank einem Kommentar wurde ich auf folgende Seite aufmerksam gemacht: http://latex.tugraz.at/vorlagen/diverse Dort findet man neben einer modern-cv vorlage für tex auch noch eine schöne Vorlage für die Bewerbungsmappe. Kann ich nur empfehlen. Danke auch für den Kommentar.

Bewerbungen – Hilfe und Erfahrungsberichte für eine gute Bewerbung

Heute möchte ich euch zusammen mit meiner Gast-Autorin eine Hilfe zu einer erfolgreichen Bewerbung an die Hand geben. Ich möchte betonen, dass wir hier aus eigenen Erfahrungen sprechen und unser Wissen und unsere Erfahrungen veröffentlichen. Wir haben sicherlich den ein oder anderen Fehler gemacht, daher würden wir uns über Kommentare und Verbesserungen sehr freuen.

Allgemeines

Bei Bewerbungen gilt wie so oft, Kontakte und der erste Eindruck sind sehr wichtig. Wenn ihr euch für eine Stelle interessiert, schaut in eurer Umgebung, ob Ihr vielleicht schon jemanden aus dem Unternehmen kennt. Alleine wenn ihr dadurch wisst, wie der Verantwortliche für eure Bewerbung heißt, ist das schon ein Schritt in die richtige Richtung. Generell ist es immer besser, die Bewerbung an eine bestimmte Person zu richten, als mit einer unpersönliche Begrüßung (Sehr geehrte Damen und Herren) zu beginnen.

Die Sprache (Deutsch, Englisch, etc.) wird oft durch die Stellenbeschreibung vorgegeben. Grundsätzlich: Ist die Ausschreibung in englisch, dann sollten Lebenslauf und Anschreiben auch in englischer Sprache sein.

Ein großes Ärgernis sind immer wieder die veralteten Online-Bewerbungstools vieler Unternehmen. Ich glaube, damit hatte jeder schon zu kämpfen. Da hilft einfach nur Ruhe bewahren. Sollte das Tool eure Informationen durcheinander bringen, löschen oder falsch übernehmen (deswegen solltet ihr dringend die Zusammenfassung am Schluss überprüfen!), so schreibt der zuständigen Kontaktperson eine E-Mail, in der ihr erklärt, was schief gelaufen ist. Zusätzlich könnt ihr anbieten, bei Rückfragen telefonisch zur Verfügung zu stehen. Bitte denkt auch daran, alle Dokumente als .pdf abzuschicken, um ein Verrutschen der Formatierung zu verhindern.

Der Lebenslauf

lebenslauf_de_vorlage-page-001

Der Lebenslauf ist mit das wichtigste Dokument einer Bewerbung. Sein Sinn ist es, euren Ansprechpartner über euren Werdegang aufzuklären. Hier zählt vor allem der Eindruck. Eine saubere, strukturierte Darstellung mit den richtigen Informationen ist das, was ein Unternehmen haben möchte. Versetzt euch selbst in die Lage des Lesers eures Lebenslaufes. Was wollt ihr über einen Bewerber wissen? Was ist zu viel Information? Welche Informationen sind relevant für die Stelle?

Allgemeiner Aufbau

Immer vom Wichtigsten zum Unwichtigen. Ein möglicher Aufbau:

  1. Kontaktdaten und Persönliche Daten
  2. Praktische Erfahrungen
  3. Schule und Studium
  4. Veröffentlichungen (optional)
  5. Sprachkenntnisse
  6. Zusatzausbildungen (optional)
  7. Kenntnisse (IT/ Programme/ etc.)
  8. Hobbys
  9. Ehrenamtliche Tätigkeiten (optional)

Wie ihr seht, gibt es einige Möglichkeiten für den Aufbau. Ihr selbst entscheidet, auf welche Punkte ihr euren Schwerpunkt legt. Natürlich sollten die wichtigsten Informationen eurer Ausbildung/ Berufserfahrung enthalten sein. Sobald ihr euch auf Festanstellungen, z.B. nach dem Studium, bewerbt, sollten ihr die praktischen Erfahrungen vor der beruflichen Ausbildung nennen. Wir halten uns in der Reihenfolge der Aufzählung an den amerikanischen Stil: Die aktuellste Position sollte an erster Stelle stehen, damit diese auch sofort ins Auge springt und man nicht erst danach suchen muss.

Welche Informationen gehören in einen Lebenslauf?

Definitiv sollte euer CV folgende Punkte enthalten:

  1. Anschrift / Kontaktdaten
  2. Persönliche Daten (Name, Geburtsdatum)
  3. Schule / Studium
  4. Praktische Erfahrungen / Ehemalige Arbeitgeber
  5. Zusatzausbildungen
  6. Sprachen
  7. Kenntnisse

Ob ihr ein Bewerbungsbild auf den Lebenslauf packt, kommt ganz darauf an, für welchen Bereich und in welcher Region ihr euch bewebt. Im anglikanischen Raum ist es z.B. eher verpönt ein Foto mit anzuhängen (Nach dem Motto: „Der will ja nur durch sein tolles Aussehen bestechen.“). In Deutschland hingegen ist es aus Tradition noch üblich. Ich habe aber auch schon oft eine Bewerbung ohne Foto abgegeben und das hat auch geklappt.

Welche Informationen gehören nicht in einen Lebenslauf?

Uns wurde in der Schule noch gelernt, dass der Beruf der Eltern oder die Religion wichtig sind. Das ist völlig überholt! Persönliche Daten bestehen nur (!) aus Name, Anschrift, Kontaktdaten und dem Geburtsdatum und eventuell einem Bild. Auch der Familienstand muss nicht genannt werden.

Niemanden interessiert es, wo ihr zur Grundschule gegangen seid. Die höchste Ausbildung vor Beruf/Ausbildung/Studium reicht vollkommen. Bitte denkt auch daran, eine seriöse E-Mail Adresse anzugeben. Eine Kombination aus eurem Vor- und Nachnamen, zur Not auch mit dem Geburtsjahr wirkt seriös, während auf Spitz- und Kosenamen und Provider wie hotmail.de lieber verzichtet werden sollte.

Bleibt knapp mit Hobbies und macht diese aussagekräftig. Ist Lesen wirklich ein Hobby? Mit „Weggehen“ oder „Urlaub“ verhält es sich ähnlich. Besser ist es hingegen, Interesse an fremden Kulturen mit anzubringen. Hobbies können auch Fähigkeiten sein. Hobbyfotograf? Super, das hilft bei manchen Jobs und weist auf einen Blick fürs Detail hin.

Beispiel Lebenslauf mit Latex und Lyx

Für alle, die einen sauberen und gut strukturierten Lebenslauf möchten, habe ich eine Vorlage in Latex bzw. Lyx geschrieben. Wer nicht weiß, was Lyx ist, einfach dem Link folgen und glücklicher werden ;): Moderne Vorlage für einen Lebenslauf mit Lyx/Latex

Das Anschreiben

Im Allgemeinen solltet ihr darauf achten, das Anschreiben strukturiert zu gestalten und euch nicht zu wiederholen. Auf die simple Nennung von Tätigkeiten, die der Personaler einfach in eurem CV nachlesen kann, solltet ihr unbedingt verzichten. Folgende grobe Struktur gibt eine gute Orientierung für alle, die das Anschreiben lesen:

  1. Absatz: Warum will ich für das Unternehmen arbeiten?
  2. Absatz: Warum bin ich qualifiziert für die Stelle?
  3. Absatz: Warum bin ich eine Bereicherung für das Unternehmen?/ Was können wir zusammen erreichen?

Generell sollte das Anschreiben eine Länge von einer Seite nicht überschreiten. Also solltet ihr eher Wert auf ein übersichtliches Format legen und euch kurz fassen. Bitte denkt auch unbedingt daran, das Anschreiben zu unterschreiben.

Auch, wenn es viel Zeit kostet: Ihr solltet für jede Bewerbung ein eigenes Anschreiben verfassen, welches auf das Unternehmen und die Stelle zugeschnitten ist. Eine zu allgemeine Bewerbung wird auch als solche identifiziert und ihr disqualifiziert euch somit selbst!

Das Bewerbungsgespräch

Infos zum Bewerbungsgespräch werden folgen. Wenn ihr dazu Fragen habt, bitte einfach einen Kommentar hinterlassen.