Beiträge getagged mit bash

RAID5: erst zwei dann drei dann vier, dann ist das Raid OK

Aufbau eines RAID5 mit anfangs zwei Platten LVM und Cryptfilesystem.

Tests

Um zu testen kann man sich kleine “virtuelle” Platten anlegen:

  1.  dd if=/dev/zero of=/opt/platte_1 bs=1024 count=10000
  2.  dd if=/dev/zero of=/opt/platte_2 bs=1024 count=10000
  3.  dd if=/dev/zero of=/opt/platte_3 bs=1024 count=10000
  4.  dd if=/dev/zero of=/opt/platte_4 bs=1024 count=10000

Diese “virtuellen” Platten kann man mittels loop1..4 einhängen.

  1.  losetup /dev/loop0 /opt/platte_1
  2.  losetup /dev/loop1 /opt/platte_2
  3.  losetup /dev/loop2 /opt/platte_3
  4.  losetup /dev/loop3 /opt/platte_4

Testen wir, ob alles funktioniert hat:

  1.  losetup -a

hier sollte etwas in der folgenden Art zu sehen sein:

  1.  /dev/loop0: [0801]:134352 (/opt/platte_1)
  2.  /dev/loop1: [0801]:134540 (/opt/platte_2)
  3.  /dev/loop2: [0801]:189589 (/opt/platte_3)
  4.  /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:

  1.  mdadm --create /dev/md0 -l 5 -n 3 -x 0 /dev/loop0 /dev/loop1 missing

Prüfen mittels:

  1.  mdadm --detail /dev/md0

Ausgabe:

  1.  /dev/md0:
  2.  Version : 00.90
  3.  Creation Time : Sat Mar 12 10:50:36 2011
  4.  Raid Level : raid5
  5.  Array Size : 19840 (19.38 MiB 20.32 MB)
  6.  Used Dev Size : 9920 (9.69 MiB 10.16 MB)
  7.  Raid Devices : 3
  8.  Total Devices : 2
  9.  Preferred Minor : 0
  10.  Persistence : Superblock is persistent
  11.  Update Time : Sat Mar 12 10:50:36 2011
  12.  State : clean, degraded
  13.  Active Devices : 2
  14.  Working Devices : 2
  15.  Failed Devices : 0
  16.  Spare Devices : 0
  17.  Layout : left-symmetric
  18.  Chunk Size : 64K
  19.  UUID : c3c06f4b:99c5788a:d25d07bf:3cebe68e (local to host dh-VirtualBox)
  20.  Events : 0.1
  21.  Number Major Minor RaidDevice State
  22.  0 7 0 0 active sync /dev/loop0
  23.  1 7 1 1 active sync /dev/loop1
  24.  2 0 0 2 removed

Einrichtung des LVM auf dem erstelltem RAID Device

  1.  pvcreate /dev/md0
  2.  vgcreate test_vg /dev/md0
  3.  lvcreate -L19M -n test_logical test_vg

Erstellen dey Crypto Filesystem:

  1.  cryptsetup -y create secret /dev/test_vg/test_logical
  1.  mkfs.ext3 /dev/mapper/secret
  2.  mount /dev/mapper/secret /mnt/secret

Hinzufühgen der dritten Platte

  1.  mdadm --add /dev/md0 /dev/loop2

Dieser Schritt kann bei einer wirklichen Platte > 1TB mehrere Stunden bis zu Tagen beanspruchen.

  1.  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.

  1.  pvresize /dev/md0
  2.  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.

  1.  cryptsetup resize secret
  2.  resize2fs /dev/mapper/secret

Hinzufühgen der vierten Platte

  1.  mdadm --add /dev/md0 /dev/loop3

Auch dieser Schritt wird wieder eine oder mehrere Stunden bis hin zu Tagen benötigen.

VN:F [1.9.13_1145]
Rating: 0.0/10 (0 votes cast)

, , , , ,

Keine Kommentare

ERROR: “Unknown media type in type ‘all/all’” und weitere…

Hi,

beim update von gentoo bekomme ich derzeit folgende Meldungen:

Unknown media type in type 'all/all'
Unknown media type in type 'all/allfiles'
Unknown media type in type 'uri/mms'
Unknown media type in type 'uri/mmst'
Unknown media type in type 'uri/mmsu'
Unknown media type in type 'uri/pnm'
Unknown media type in type 'uri/rtspt'
Unknown media type in type 'uri/rtspu'
Unknown media type in type 'fonts/package'
Unknown media type in type 'interface/x-winamp-skin'

Hierbei handelt es sich um das updaten der “mime-database”.

Dies update erfolgt nach einem emerge von Paketen, es kann auch manuell gestartet werden per:

update-mime-database /usr/share/mime

Es ist derzeit zwar unschön, scheint aber keine Auswirkungen zu haben… Mal sehen ob ich hier eine Lösung finde diese unschönen Meldungen zu unterbinden, bzw das Problem zu lösen.

VN:F [1.9.13_1145]
Rating: 1.0/10 (1 vote cast)

, , ,

Keine Kommentare

TomTom Route aufzeichnen und darstellen

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 »

VN:F [1.9.13_1145]
Rating: 6.0/10 (3 votes cast)

, , ,

Keine Kommentare

HOWTO: bash history – HISTCONTROL

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=""
VN:F [1.9.13_1145]
Rating: 10.0/10 (1 vote cast)

, , , , ,

Keine Kommentare