Beiträge getagged mit Linux
RAID5: erst zwei dann drei dann vier, dann ist das Raid OK
Verfasst von Dietrich Heise unter Linux am 23. März 2011
Aufbau eines RAID5 mit anfangs zwei Platten LVM und Cryptfilesystem.
Tests
Um zu testen kann man sich kleine “virtuelle” Platten anlegen:
- dd if=/dev/zero of=/opt/platte_1 bs=1024 count=10000
- dd if=/dev/zero of=/opt/platte_2 bs=1024 count=10000
- dd if=/dev/zero of=/opt/platte_3 bs=1024 count=10000
- dd if=/dev/zero of=/opt/platte_4 bs=1024 count=10000
Diese “virtuellen” Platten kann man mittels loop1..4 einhängen.
- losetup /dev/loop0 /opt/platte_1
- losetup /dev/loop1 /opt/platte_2
- losetup /dev/loop2 /opt/platte_3
- losetup /dev/loop3 /opt/platte_4
Testen wir, ob alles funktioniert hat:
- losetup -a
hier sollte etwas in der folgenden Art zu sehen sein:
- /dev/loop0: [0801]:134352 (/opt/platte_1)
- /dev/loop1: [0801]:134540 (/opt/platte_2)
- /dev/loop2: [0801]:189589 (/opt/platte_3)
- /dev/loop3: [0801]:197763 (/opt/platte_4)
Das RAID5 wird nun mit zwei Platten eingerichtet, also zu diesem Zeitpunkt darf keine der Platten ausfallen, da das RAID5 erst mit drei Platten redundant ist. Wir legen also mit dem folgenden Befehl ein RAID5 an und tun so, als wäre die dritte Patte ausgebaut:
- mdadm --create /dev/md0 -l 5 -n 3 -x 0 /dev/loop0 /dev/loop1 missing
Prüfen mittels:
- mdadm --detail /dev/md0
Ausgabe:
- /dev/md0:
- Version : 00.90
- Creation Time : Sat Mar 12 10:50:36 2011
- Raid Level : raid5
- Array Size : 19840 (19.38 MiB 20.32 MB)
- Used Dev Size : 9920 (9.69 MiB 10.16 MB)
- Raid Devices : 3
- Total Devices : 2
- Preferred Minor : 0
- Persistence : Superblock is persistent
- Update Time : Sat Mar 12 10:50:36 2011
- State : clean, degraded
- Active Devices : 2
- Working Devices : 2
- Failed Devices : 0
- Spare Devices : 0
- Layout : left-symmetric
- Chunk Size : 64K
- UUID : c3c06f4b:99c5788a:d25d07bf:3cebe68e (local to host dh-VirtualBox)
- Events : 0.1
- Number Major Minor RaidDevice State
- 0 7 0 0 active sync /dev/loop0
- 1 7 1 1 active sync /dev/loop1
- 2 0 0 2 removed
Einrichtung des LVM auf dem erstelltem RAID Device
- pvcreate /dev/md0
- vgcreate test_vg /dev/md0
- lvcreate -L19M -n test_logical test_vg
Erstellen dey Crypto Filesystem:
- cryptsetup -y create secret /dev/test_vg/test_logical
- mkfs.ext3 /dev/mapper/secret
- mount /dev/mapper/secret /mnt/secret
Hinzufühgen der dritten Platte
- mdadm --add /dev/md0 /dev/loop2
Dieser Schritt kann bei einer wirklichen Platte > 1TB mehrere Stunden bis zu Tagen beanspruchen.
- mdadm --grow /dev/md0 -n 4 --backup-file=/root/growfile
Dieser Schritt wird bei einer wirklichen Platte > 1TB mehrere Tage beanspruchen. Der Platz der für die Datei /root/growfile benötigt wird liegt im einstelligen MB Bereich.
- pvresize /dev/md0
- lvresize -L 28MB /dev/test_vg/test_logical
Die Größe 28MB wurde weiter oben ermittelt “mdadm –detail /dev/md0″ zeigt die zur Verfühgung stehende “Array Size” an.
- cryptsetup resize secret
- resize2fs /dev/mapper/secret
Hinzufühgen der vierten Platte
- mdadm --add /dev/md0 /dev/loop3
Auch dieser Schritt wird wieder eine oder mehrere Stunden bis hin zu Tagen benötigen.
USB – Festplatten – Fest definierte Namen
Verfasst von Dietrich Heise unter Linux am 3. Februar 2011
Wer kennt es nicht, USB Festplatten unter Linux, mal sda, mal sdb, oder mal sdc.
Je nachdem in welcher Reihenfolge die Festplatten angeschlossen werden haben bekommen die Festplatten unterschiedliche Devicenamen. Um dieses Problem zu lösen kann man eine Datei anlegen in der man eigene udev Regeln definiert.
Hierzu benutzt man z.B. folgende Datei:
- /etc/udev/rules.d/90-storage-custom.rules
Mit folgendem Inhalt:
- KERNEL=="sd?1",ENV{ID_SERIAL}=="ST31500341AS_9VS0PAP7",SYMLINK+="disk_fotos"
- KERNEL=="sd?1",ENV{ID_SERIAL}=="SAMSUNG_HD154UI_S1Y6J1KS904134",SYMLINK+="disk_arbeit"
Stöpselt man nun die Festplatte mit der ID_SERIAL = ST31500341AS_9VS0PAP7 ein, so gibt es auf dieser eine Partition 1 (KERNEL==”sd?1″), so wird für diese Partition Symlink auf die entsprechende Partition unter “/dev/disk_fotos” (SYMLINK+=”disk_fotos”) angelegt, so dass man nun wenn man diese Festplatte angestöpselt immer /dev/disk_fotos mounten kann, egal ob die eigentliche Partition unter /dev/sda1, /dev/sdb1, dev/sdc1, … existiert, denn es wir nun immer ein Symlink angelegt, wie z.B:
- lrwxrwxrwx 1 root root 4 2. Feb 16:43 /dev/disk_fotos -> sdf1
- lrwxrwxrwx 1 root root 4 2. Feb 16:43 /dev/disk_arbeit -> sdd1
Um die ID_SERIAL für z.B. /dev/sdc auszulesen gibt man folgendes ein:
- udevadm info --query=all --name /dev/sdc |grep ID_SERIAL
Wobei das Device was hier abgefragt wird “/dev/sdc” ist. Bei mir sieht das Ergebnis so aus:
- udevadm info --query=all --name /dev/sdc |grep ID_SERIAL
- E: ID_SERIAL=SAMSUNG_HD154UI_S1XWJ1KZ101955
- E: ID_SERIAL_SHORT=S1XWJ1KZ101955
Mit den hier gesammelten Informationen kann man dann sehr einfach eine udev Regel, wie weiter oben im Beispiel, erstellen.
Nach dem editieren der udev Regeln, sollten die udev Regeln neu geladen werden. So wird beim nächsten anstöpseln der Festplatte diese mit dem “richtigen” Namen (Symlink) angelegt. Ein reload der udev Regeln erfolgt mit dem folgenden Befehl:
- udevadm control --reload-rules
Live TV per VDR und MediaTomb
Verfasst von Dietrich Heise unter Linux, Multimedia am 20. August 2010
Mit dem MED500X Player ist es über UPnP möglich auf Live Steams zuzugreifen. Hierfür ist die folgende Anleitung sehr gut geeignet.
Um nun auch gespeicherte Sendungen streamen zu können, ergängzt man folgendes in die Datei: /etc/mediatomb/config.xml
Für “allte” VDR-Versionen, die noch Dateien mit 001.vdr speichern, benötigt man:
Zum Rest des Beitrags »
MediaBox MED500X
Verfasst von Dietrich Heise unter Linux, Multimedia am 20. August 2010
Die Mede8er MediaBox MED500X, eine nette Box mit einem HDMI-Ausgang der wirklich 1080p schaft.
Als Medien kann man S-ATA-Platten, USB-Sticks, USB-Platten sowie SD-Cards verwenden. Wobei ich derzeit nichts dergleichen verwende, da der eingebaute 16MB Flash Speicher und 128MB DDR2 SDRAM für meine Zwecke ausreichend sind.
Die Multimedia-Dateien liegen auf einem VDR-Server. Der Zugriff auf den VDR erfolgt per UPnP. Hierfür läuft jetzt auf dem VDR ein UPnP-Server MediaTomb. Über diesen UPnP-Server lassen sich quasi alle Media-Dateien streamen.
Bislang bin ich mit der Box und der MediaTomb Konfiguration sehr zufrieden. Allerdings läuft wie gesagt fast alles per UPnP
SNI: Server Name Indiation / SSL-vhosts
Verfasst von Dietrich Heise unter Linux am 26. März 2010
Um auf einer IP mehrere SSL-vhosts-hosts mit unterschiedlichen Zertifikaten zu betreiben benötigt man Server Name Indication.
Mit dem Apache ab Version 2.2.12 und mod_ssl ist es möglich SSL-Vhosts zu benutzen, wie seit Jahren auch ohne SSL.
Folgende Browser ünterstützen SNI
Server Name Indication
Mozilla Firefox 2.0 or later
- Mozilla Firefox 2.0 or later
- Opera 8.0 or later (the TLS 1.1 protocol must be enabled)
- Internet Explorer 7 (Vista or higher, not XP) or later
- Google Chrome (Vista or higher, not XP. OS X 10.5.7 or higher on Chrome 5.0.342.1 or newer)
- Safari Safari 3.2.1 and newer on Mac OS X 10.5.6 and Windows Vista or higher, not XP
siehe auch: NameBasedSSLVHostsWithSNI
gentoo – Portage abspecken für Server
Verfasst von Dietrich Heise unter Linux am 5. Oktober 2009
In portage gibt es nette Features, wie auch ein exclude für überflüssige Pakete aus dem portage. Eigentlich braucht man auf einem Server nie etwas wie z.B. games-* ![]()
Da es unter diesem Punkt doch einiges gibt, kann der Portage-Tree durch entfernen der games um ein großes Stück verkleinert werden.
Hierzu benötigt man eine Exclude-Liste (alles was nicht im Portage erscheinen soll). Unter <portage-dir> (z.B. /usr/portage) stört hier u.a. “games-*”
Dazu ist dann folgendes zu tun:
vi /etc/portage/rsync_excludes
Inhalt der Datei dann:
games-*/
des weiteren ist dann noch die Datei /etc/make.conf zu bearbeiten, so dass portage auch mitbekommt, dass es eine Exclude-Liste gibt:
vi /etc/make.conf
Hier ist folgendes zu ergänzen:
PORTAGE_RSYNC_EXTRA_OPTS="--exclude-from=/etc/portage/rsync_excludes"
Hierdurch wird nun beim “emerge –sync” alles was auf /usr/portage/games-*/ matched nicht gesynced.
Da hier vermutlich auch noch alte Dateien liegen kann man diese nun auch direkt löschen:
rm -rf /usr/portage/games-*
Viel Spass damit
TomTom Route aufzeichnen und darstellen
Verfasst von Dietrich Heise unter Linux am 13. August 2009
Wie vor ein paar Tagen beschrieben, ist es mit einem TomTom möglich die gefahrenen Routen, bzw alle GPS-Daten der zurückgelegten Strecke vom TomTom aufzeichnen zu lassen.
Diese gesammelten Daten lassen sich dann z.B. über die folgende Seite:
http://maps.gpsvisualizer.com/ grafisch in Google maps darstellen.
Da es ein paar Probleme gab, um mehrere Routen pro Tag aufzeichnen zu lassen, hab ich das Start-Skript etwas geändert, so dass jetzt beim Start die alten Daten archiviert werden. Hier nun das Start-Skript: Zum Rest des Beitrags »
HOWTO: bash history – HISTCONTROL
Verfasst von Dietrich Heise unter Linux am 27. Juli 2009
Die bash besitzt eine Reihe nützlicher Einstellungen:
z.B. kann man mit den Tasten [ctrl]+[r] in der bash-history suchen. Die history protokolliert in der Regel alle commands, die eingegeben werden und mit enter bestätigt werden. Es gibt jedoch dummerweise wie bei jeder Regel Ausnahmen
In der default-Eintellung z.B. werden keine Zeilen protokolliert die mit einem whitespace beginnen. Diese Einstellung kann jedoch mit der Umgebungsvariable HISTCONTROL bearbeitet werden.
Hier der Eintag in der man page der bash:
HISTCONTROL
A colon-separated list of values controlling how commands are saved on the history list. If the list of values includes ignorespace, lines which begin with a space character are not saved in the history list. A value of ignoredups causes lines matching the previous history entry to not be saved. A value of ignoreboth is shorthand for ignorespace and ignoredups. A value of erasedups causes all previous lines matching the current line to be removed from the history list before that line is saved. Any value not in the above list is ignored. If HISTCONTROL is unset, or does not include a valid value, all lines read by the shell parser are saved on the history list, subject to the value of HISTIGNORE. The second and subsequent lines of a multi-line compound command are not tested, and are added to the history regardless of the value of HISTCONTROL.
HISTCONTROL
Dieser Parameter erwartet einen der folgenden Strings: “ignorespace“, “ignoredups” oder “ignoreboth“.
Die erste Option speichert alle Zeilen die mit einem space beginnen nicht in der history.
Der Zweite löscht alle doppelten Zeilen und behält immer die Jüngste.
Naja und “ignoreboth” steht eben für beide Einstellungen zusammen.
Will man wirklich alles in der history behalten, so ist die die HISTCONTROL=”" zu setzen
Dieser Parameter kann global in z.B. der Datei /etc/bashrc oder /etc/bash/bashrc (je nach Linux Distribution) gesetzt werden, oder Benutzer spezifisch in der Datei ~/.bashrc
Hier kann man z.B. eine der folgenden Zeilen eintragen:
Um sowohl doppelte Eingaben sowie Eingaben die mit einem whitespace beginnen nicht zu protokollieren:
export HISTCONTROL=ignoreboth
Um Eingaben die mit einem whitespace beginnen nicht zu protokollieren:
export HISTCONTROL=ignorespace
Um doppelte Eingaben nicht zu protokollieren:
export HISTCONTROL=ignoredups
Um alles zu protokollieren:
export HISTCONTROL=""
1und1 Virtual-Server
Verfasst von Dietrich Heise unter Linux am 23. Juli 2009
Dieser Blog läuft nun seit dem Juni 2009 auf einem 1und1 VServer.
Der VServer läuft seit 2006 und wurde Kurzerhand auf gentoo umgestellt. Die Umstellung erfolgte anhand diese sehr guten Tutorials gentoo-on-1-vserver.
Wer also mit SuSE oder Debian nicht zufrieden ist kann auch auf gentoo umsteigen
Derweil bietet 1und1 allerdings nun auch mehr Linux Distributionen an:
- openSUSE 10.3 mit Plesk 9 (64 Bit)
- CentOS 5 mit Plesk 9 (64 Bit)
- openSUSE 10.3 mit Plesk 8.6 (64 Bit)
- openSUSE 10.3 Minimalsystem (64 Bit)
- CentOS 5 Minimalsystem (64 Bit)
- Debian 4.0 (etch, 32 Bit)
- ubuntu 8.04 LTS (64 Bit)
Miro (ehemals Democracy Player)
Verfasst von Dietrich Heise unter Linux am 22. Juli 2009
sSeit einer ganzen weile ist auf meinem Rechner nun schon der Democracy Player bei mir installiert. In letzter Zeit hab ich den Player wenig genutzt nachdem er mir anfangs sehr gut gefiel. Es ist also einmal Zeit auf den Aktuellen Player der sich jetzt Miro heißt zu updaten.
Den Player gibt es jetzt unter www.getmiro.com
Ihr werdet hier jedenfalls auf dem laufendem gehalten, wie es mit dem Player bei mir weitergeht