Archiv

Artikel Tagged ‘Linux’

Verschlüsseltes Online-Backup mit curlftpfs und encfs

6. Mai 2009

An Online-Speicher mit FTP-Zugang bekommt man relativ leicht: Entweder als Gratis-Webspace (aktuell findet man leicht Angebote mit 1-3 GB Platz) oder gegen Bezahlung in nahezu beliebiger Größe.

Für automatisierte Backups wäre es schön, auf diesen Speicher als Teil des Dateisystems zuzugreifen. Aufgrund der unverschlüsselten Übertragung und externen Speicherung ist ebenfalls eine transparente Verschlüsselung wünschenswert. Dies bietet die Kombination der FUSE-Dateisysteme curlftps und encfs.

Um FTP-Speicher mit dem Benutzer mit der UID 1000 als Besitzer mit curlftpfs über /etc/fstab einzubinden, benötigt man dort einen Eintrag in folgender Form:

# /etc/fstab [...]
# FTP filesystems
curlftpfs#ftp.domain.com	/mnt/ftp/backup1	fuse 	auto,user,uid=1000,gid=1000,allow_other,user=<user>:<password>							0	0	# unverschlüsselt
curlftpfs#ftp.domain.com	/mnt/ftp/backup2	fuse 	auto,user,uid=1000,gid=1000,allow_other,user=<user>:<password>,ssl_try,no_verify_peer,no_verify_hostname	0	0	# SSL verwenden falls möglich
curlftpfs#ftp.domain.com	/mnt/ftp/backup3	fuse 	auto,user,uid=1000,gid=1000,allow_other,user=<user>:<password>,ssl,no_verify_peer,no_verify_hostname		0	0	# SSL erzwingen

Auch, wenn wir gleich noch ein encfs-verschlüsseltes Dateisystem darüberlegen, empfiehlt es sich, SSL für die Verbindung zum FTP-Server zu verwenden, da Benutzername und Passwort sonst unverschlüsselt übertragen werden.

Der folgende Befehl hängt das encfs im Ordner /backup/encfs auf dem FTP-Server unter /mnt/ftp-encfs/backup1 ein:

#encfs	<rootDir>			<mountPoint>
encfs	/mnt/ftp/backup1/backup/encfs	/mnt/ftp-encfs/backup1

Beim ersten Aufruf wird das encfs erzeugt und es werden eine Reihe von Parametern abgefragt, wie z.B. Verschlüsselungsalgorithmus, gewünschte Verschlüsselungsstärke und natürlich auch das Passwort. Eine genaue Erklärung der encfs-Optionen gibt es bei Wikipedia sowie hier.

Linux , , , , ,

ZFS auf Partitionen/Slices oder der ganzen Disk?

5. Mai 2009

Beim Anlegen von ZFS-Speicherpools stellt sich die Frage, ob man ZPOOL die gesamte(n) Disk(s) verwalten lässt (durch Angabe von z.B. c0t0d1 unter Solaris oder /dev/sdb unter Linux) oder den Pool aus einzelnen Partitionen aufbaut (ggf. mit ZFS als einziger Partition auf der Platte).
In letzterem Fall stellt sich außerdem die Frage, welchen Typ von Partitionstabelle man verwenden soll (MBR/DOS-Partitionstabelle, GUID Partition Table (GPT)/EFI Disklabel oder Solaris VTOC).

Insbesondere die zweite Frage ist dann von Bedeutung, wenn man den ZFS-Pool unter verschiedenen Betriebssystemen (z.B. Solaris, Linux und Mac OS X) verwenden möchte.

Diesen beiden Fragen möchte ich im Folgenden versuchen, auf den Grund zu gehen.

  • Generell wird empfohlen, die Disks jeweils komplett für ZFS zu verwenden (d.h. man übergibt ZFS entweder das „RAW-Device” oder weist dem ZFS eine Partition zu, die sich über die gesamte Festplatte erstreckt).
  • Lässt man zpool das gesamte Gerät verwalten, legt ZFS dort ein GPT-Disklabel an (siehe auch meinen Kommentar)
    (Allerdings entspricht dieses wohl nicht ganz dem, was z.B. Linux erwartet; siehe hier bzw. hier)
  • Bei großen Festplatten scheiden DOS-Partitionstabellen und Solaris VTOCs aus:
    • DOS-Partitionstabellen erlauben Partitionen von max. 2 TB Größe
    • Solaris VTOCs unterstützen Festplatten von max. 1 TB Größe

Zu dem Thema habe ich im Folgenden noch etwas „Belegmaterial” zusammengestellt:

Mehr…

Linux, Mac OS X, Solaris , , , , , , ,

USB-Laufwerke „ganz” sicher entfernen unter GNU/Linux / spin-down von USB-Festplatten

23. April 2009

USB-Laufwerk „ganz” sicher entfernen

Von Windows kennt man die Funktion „Hardware sicher entfernen”. Diese sorgt dafür, dass vor dem „Abziehen” eines USB-Speichers alle Daten darauf geschrieben wurden und stoppt anschließend den Motor der Festplatte.

Unter GNU/Linux sollte man vor dem „Abklemmen” eines USB-Datenträgers Dateisysteme darauf auf jeden Fall mit umount oder über die grafische Oberfläche „aushängen”. Dieses stoppt aber nicht den Motor der Festplatte.

Abhilfe schafft das Skript „suspend-usb-device” (benötigt sdparm): Yan Li’s Words: Safely remove an USB hard drive in Linux.

Dieses

  • sendet die Kommandos SYNC und STOP an das Laufwerk (mittels sdparm)
  • löst den USB-Storage-Treiber vom entsprechenden USB-Device (unbind)
  • schaltet das USB-Gerät in den Power-Level CONFIG_USB_SUSPEND.

Die Dateisysteme auf dem Datenträger werden vom Skript aber nicht ausgehängt, das muss man vorher weiterhin selbst tun. Insofern entspricht die Funktion nicht ganz dem „Hardware sicher entfernen” in Windows.

Motor einer USB-Festplatte anhalten („spin-down”)

Für IDE-Platten gibt es folgenden Befehl, um diese anzuhalten (standby):

hdparm -y /dev/sdb

Bei meiner USB-Festplatte scheitert dieser jedoch mit einem „HDIO_DRIVE_CMD(standby) failed: Input/output error”.

Für SCSI-Platten lautet der Befehl zum Anhalten (meine USB-Festplatte hält daraufhin kurz an, läuft aber sofort wieder hoch):

sg_start --stop /dev/sdb

Außerdem gibt es jedoch noch

sdparm --command=stop /dev/sdb

Mit letzterem Befehl lässt sich meine externe Festplatte (SATA-Festplatte Seagate ST315003) in einem USB-Gehäuse von Fantec (mit JMicron-Chip) anhalten.

Allgemeines, Computer, Linux , , , , , , , , , , ,

Heimserver mit Atom-CPU, die 3.: Kosten für den Eigenbau

21. April 2009

Nachdem ich nun zwei fertige NAS-Systeme mit Atom-CPU betrachtet habe, stellt sich mir die Frage, was ein in etwa vergleichbares System, z.B. à la DIY: Home NAS Box with OpenSolaris and ZFS mit Intel D945GCLF2 mini-ITX Motherboard mit Dual-Core Atom 330 (1,6 GHz, mit Unterstützung für HyperThreading) in etwa kosten würde.

Wenn ich mich nach obigem Artikel richte, benötige ich in etwa folgende Teile (im Vergleich zu dem Artikel habe ich allerdings einen Promise-RAID-Controller mit drin):

Bauteil Modell Preis ca.
Mainboard Intel D945GCLF2 80 €
Speicher 2 GB DDR2 533/667 MHz 240-pin DIMM 25 €
Gehäuse Chenbro ES34069 220 € (inkl. 180W Netzteil und PCI-Riser-Karte)
SATA-Controller PCI 4-port SATA II 65 €
Gesamt: ca. 390 € zzgl. Versand und Kleinteilen

Allgemeines, Computer, Hardware , , , , , ,

kostenlose Linux E-Books

13. April 2009

Eine Datei (z.B. Thumbs.db) unter GNU/Linux/UNIX in allen Unterverzeichnissen löschen

8. April 2009

Der folgende Befehl durchkämmt unter Linux/UNIX das Verzeichnis /home/user rekursiv und löscht alle vorkommenden Dateien mit dem Namen Thumbs.db:

find /home/user -name Thumbs.db -exec rm -f {} \;

Achtung! Vorher wird der Benutzer nicht zu einer Bestätigung aufgefordert (wegen des -f im rm-Befehl)!

Allgemeines, Computer, Linux, Solaris , ,

ZFS Pool (ZPOOL) und ZFS Posix Layer (ZPL) versions

4. April 2009

Mit dem Befehl “zpool upgrade -v” lässt sich eine Liste der vom System unterstützten Pool-Versionen anzeigen:

VER  DESCRIPTION
---  --------------------------------------------------------
 1   Initial ZFS version
 2   Ditto blocks (replicated metadata)
 3   Hot spares and double parity RAID-Z
 4   zpool history
 5   Compression using the gzip algorithm
 6   bootfs pool property
 7   Separate intent log devices
 8   Delegated administration
 9   refquota and refreservation properties
 10  Cache devices
 11  Improved scrub performance
 12  Snapshot properties
 13  snapused property
 14  passthrough-x aclinherit property support
 15  quota support

For more information on a particular version, including supported releases, see:

http://www.opensolaris.org/os/community/zfs/version/N

Ebenso gibt es für den ZFS POSIX Layer einen Befehl “zfs upgrade -v

The following filesystem versions are supported:

VER  DESCRIPTION
---  --------------------------------------------------------
 1   Initial ZFS filesystem version
 2   Enhanced directory entries
 3   Case insensitive and File system unique identifer (FUID)
 4   quota support

For more information on a particular version, including supported releases, see:

http://www.opensolaris.org/os/community/zfs/version/zpl/N

Where 'N' is the version number.

Zusammengefasst sieht die Unterstützung in den verschiedenen Portierungen von ZFS folgendermaßen aus:

OS uname -a ZFS pool version ZFS ZPL version
OpenSolaris 2008.11 Live-CD SunOS opensolaris 5.11 snv_101b [...] 13 3
Ubuntu GNU/Linux 9.04 „Jaunty Jackalope”, zfs-fuse 0.5.1-1ubuntu2 Linux [...] 2.6.28-11-generic #40-Ubuntu SMP Fri Apr 3 17:39:51 UTC 2009 i686 GNU/Linux 13 3
Mac OS X 10.5 (read-only, SNV build 61) 6 1
Mac OS X ZFS synced with Solaris SNV Build 72 8 2
FreeBSD 7.1-RELEASE FreeBSD [...] 7.1-RELEASE [...] 6 1
FreeBSD 8.0 FreeBSD [...] 8.0-CURRENT [...] 13 2

Allgemeines , , , , , , , , , , ,

„ZFS pool disappeared in zfs-fuse after system freeze”

3. April 2009

I have written the following post about a problem I encountered using zfs-fuse under Ubuntu GNU/Linux:
„ZFS pool disappeared in zfs-fuse after system freeze” in Google Group „zfs-fuse”.

I hope someone has an advice. I hope it will work again, because it definitely was working in this configuration before and continues to work well in OpenSolaris.

Allgemeines , , , ,

ZFS-Unterstützung für Ubuntu GNU/Linux

27. März 2009

Da ich mich nach wie vor nur schlecht für ein bestimmtes Betriebssystem entscheiden kann, habe ich beschlossen, mich wenigstens auf ein Dateisystem festzulegen ;-).

Meine Wahl ist nun also auf ZFS gefallen, da ich dieses neben (Open)Solaris sowohl unter Linux (mit ZFS-FUSE) als auch unter Mac OS X lesen kann (vielleicht wird mein nächster “PC” ja ein Mac)

ZFS-FUSE in Ubuntu 8.10

Der Eintrag zu ZFS im Ubuntu-Wiki beschreibt die Installation von ZFS-Fuse unter Ubuntu Linux. Diese beschränkt sich hauptsächlich auf das Eintragen der Paketquellen in /etc/apt/sources.list sowie ein apt-get update sowie apt-get install zfs-fuse. Bestehende ZFS-Dateisysteme werden daraufhin automatisch gemountet.

Anlegen des ZFS unter OpenSolaris

Leider habe ich für die Erstellung des ZFS-Pools nur zwei Platten frei. Eine dritte Platte wird erst frei, wenn ich meine Daten von dieser auf den ZFS-Pool verschoben habe.

Von einer OpenSolaris 2008.11 Live-CD erstelle ich den RAID-Z-Pool, der eigentlich aus mindestens drei Disks bestehen müsste, aus zwei Platten und einem genauso großen Sparse-File auf der Festplatte:


jack@opensolaris:~$ pfexec mkfile -nv 1000202305536 /tmp/tera
tera 1000202305536 bytes

jack@opensolaris:~$ pfexec zpool create -f timo raidz c6d0 c6d1 /tmp/tera

jack@opensolaris:~$ pfexec zfs create /timo/daten
jack@opensolaris:~$ pfexec zfs create /timo/musik

jack@opensolaris:~$ zpool status
 pool: timo
 state: ONLINE
 scrub: none requested
config:

	NAME                  STATE     READ WRITE CKSUM
	timo                  ONLINE       0     0     0
	  raidz1              ONLINE       0     0     0
	    c6d0              ONLINE       0     0     0
	    c6d1              ONLINE       0     0     0
	    /tmp/tera         ONLINE       0     0     0

errors: No known data errors

Nach dem Anlegen des Dateisystems nehme ich diese Datei /tmp/tera wieder aus dem Pool heraus (entweder per zpool offline bzw. in diesem Fall per Neustart).

Umkopieren der Daten unter GNU/Linux

Von einer Ubuntu-Installations-Live-CD aus kann ich nun (nach oben beschriebener Installation von ZFS-FUSE) die Dateien vom XFS-Dateisystem auf das neue ZFS umziehen. Der ZFS-Pool hat solange allerdings den Status „DEGRADED”. Später kann ich dann das fehlende /tmp/tera durch die bisherige Datenfestplatte ersetzen:

ubuntu@ubuntu:~$ sudo zpool status
  pool: timo
 state: DEGRADED
status: One or more devices could not be opened.  Sufficient replicas exist for
	the pool to continue functioning in a degraded state.
action: Attach the missing device and online it using 'zpool online'.
   see: http://www.sun.com/msg/ZFS-8000-2Q
 scrub: none requested
config:

	NAME                     STATE     READ WRITE CKSUM
	timo                     DEGRADED     0     0     0
	  raidz1                 DEGRADED     0     0     0
	    sdb1                 ONLINE       0     0     0
	    sdc1                 ONLINE       0     0     0
	    7106139258821418871  UNAVAIL      0     0     0  was /tmp/tera

errors: No known data errors
ubuntu@ubuntu:~$ 


Links

Computer, Linux, Mac OS X, Solaris , , , , , ,

Auf der Suche nach dem richtigen Datei- und Betriebssystem…

6. März 2009

Bisher residieren meine Daten auf Festplatten mit dem XFS-Dateisystem (SGI XFS | XFS.org Wiki). Dies hat sich bei mir mit etlichen hundert Gigabyte Daten (Fotos, Musik, …) im Einsatz unter Linux sehr gut bewährt.

Notfalls klappt auch ein Zugriff von (beliebigen) anderen Systemen aus (getestet mit Windows und Mac OS X 10.5 „Leopard”), indem ich eine virtuelle Linux-Maschine mit Vollzugriff auf diese Platten einrichte und deren Inhalt per Samba über das Netzwerk anbiete. Leistungsmäßig kann das natürlich nur eine Behelfslösung sein (z.B. eben bei meinen seltenen Ausflügen in die Windows-Welt oder aber, um irgendwann auf ein anderes Dateisystem umzustellen).

So langsam denke ich über eine Modernisierung meiner Rechnerausstattung nach. Dazu gehört auch die Frage nach dem passenden Betriebs- und Dateisystem. Vielleicht lohnt sich — obwohl ich mit meinem Ubuntu Linux sehr zufrieden bin — ein Blick über den Tellerrand.

Da ich (außer einer DVB-S-Karte) kaum irgendwelche spezielle Hardware habe und Windows, wenn überhaupt, hauptsächlich in der VirtualBox benutze, hängt die Frage nach dem Betriebssystem für mich sehr eng mit den unterstützten Dateisystemen zusammen:

  • Solaris/OpenSolaris hat natürlich von Haus aus volle Unterstützung für ZFS. Für XFS bleibt nur die o.g. „Behelfslösung”.
  • FreeBSD kann ab Release 7 das XFS lesen und hat experimentelle Unterstützung für ZFS.
  • Mac OS X 10.5 „Leopard” kann ZFS lesen, Schreibunterstützung ist für Mac OS X 10.6 „Snow Leopard” geplant bzw. kann von MacOSForge „nachgerüstet” werden.

Außerdem gibt es eine Handvoll Programme, die unter dem jeweiligen Betriebssystem laufen sollten:

  • OpenOffice.org (Linux, Solaris, Mac OS X)
  • TrueCrypt (Linux, Mac OS X)
  • VirtualBox (Linux, Solaris, Mac OS X)
  • MATLAB (Linux, Mac OS X; Solaris nur auf UltraSPARC)
  • NetBeans (Linux, Mac OS X, Solaris, Java)
  • LaTeX
  • Adobe Reader (Linux, Mac OS X; Solaris nur auf SPARC)
  • Adobe Flash Plugin (Linux, Mac, Solaris)

Bei einigen anderen Programmen, die ich regelmäßig benutze, mache ich mir kaum Sorgen, da diese auf etlichen Plattformen verfügbar sind (The GIMP, Pidgin, Mozilla Firefox, …).

Sieht wohl bisher so aus, als ob der Mac das Rennen macht (und dann Linux-Multi-Boot oder Linux in der VirtualBox?). Na ja, mal sehen…

Links

Linux, Mac OS X , , , , , , , , , ,