Schlagwort-Archive: filesystem

HowTo – Ext3 FS für den Einsatz mit einem USB Stick optimieren

Problem:
Ich möchte einen 2GB USB-Stick mit ext3 formatieren und dauerhaft mit einer Fritzbox nutzen. Gibt es mögliche Optimierungen für diesen UseCase?

Lösung:
Ja, bzw. sollte! =)
Die Partitionierung und Formatierung kann der Bequemlichkeit halber mit gparted durchgeführt werden. Soweit – sogut.
Im Anschluss sollte man die manpage des Tools „tune2fs“ studieren, um das jeweilige Filesystem (je Partition!) zu tunen.
Nach der Erstellung und Formatierung der Partition mittels gparted hat man folgenden Zustand:

user@hostname:~$ sudo tune2fs -l /dev/sde1
tune2fs 1.42.9 (4-Feb-2014)
Filesystem volume name: rootfs
Last mounted on:
Filesystem UUID: d34e5d7a-e3c6-4cbe-8ac4-39b979352331
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype sparse_super
Filesystem flags: signed_directory_hash
Default mount options: user_xattr acl
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 128016
Block count: 512000
Reserved block count: 25600
Free blocks: 485301
Free inodes: 128005
First block: 1
Block size: 1024
Fragment size: 1024
Reserved GDT blocks: 256
Blocks per group: 8192
Fragments per group: 8192
Inodes per group: 2032
Inode blocks per group: 254
Filesystem created: Sun Mar 23 14:17:53 2014
Last mount time: n/a
Last write time: Sun Mar 23 14:17:58 2014
Mount count: 0
Maximum mount count: -1
Last checked: Sun Mar 23 14:17:53 2014
Check interval: 0 ()
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 128
Journal inode: 8
Default directory hash: half_md4
Directory Hash Seed: d0ba6c40-c20c-40b9-bd25-08a7a32940a4
Journal backup: inode blocks

Ich lege euch ans Herz, die nachfolgend verwendeten Optionen in Eurem Fall DOPPELT zu prüfen. Ich warne ausdrücklich und gebe keine Garantie auf Richtigkeit – das jedoch gilt ja eh für den ganzen Blog. tune2fs kann auch nachträglich verwendet werden. In einem solchen Fall sollte man sich immer vergewissern, dass ein aktuelles Backup vorliegt.
Das Device ist natürlich entsprechend den Gegebenheiten anzupassen.


sudo tune2fs -m 0 -o journal_data_writeback,^acl,^user_xattr -c 0 -i 52w /dev/sde1

Ausgabe:

tune2fs 1.42.9 (4-Feb-2014)
Die maximale Anzahl von Einhängungen wird auf -1 gesetzt
Das Intervall zwischen zwei Checks wird auf 31449600 Sekunden gesetzt
Der Prozentsatz reservierter Böcke wird auf 0% (0 Blöcke) gesetzt

Ich erläutere kurz, was ich mir hier gedacht habe:

# reservierter Speicher auf null setzen, sollte bei einem RootFS sinnvoll gesetzt werden
-m 0
# Entfernen von acl und xattr, und das FS Journal wird nicht so streng gehandhabt
# dadurch arbeitet der Stick etwas schneller im Vergleich zum Standard
# INFORMIERT EUCH ÜBER DIE AUSWIRKUNG DER OPTION!!
-o journal_data_writeback,^acl,^user_xattr
# automatischen fsck nach x Tagen deaktivieren
-c 0
# alle 52 Wochen wird aber ein fsck forciert, fürs Gewissen 😉
-i 52w

Optische Datenrettung unter Linux

Problem:
Ich habe mehrere CDs mit Daten. Leider sind die Datenträger in die Jahre gekommen und lassen sich nicht mehr fehlerfrei auslesen.

Lösung:
Es kommt ddrescue zum Einsatz

apt-get install gddrescue

Zuerst mache ich ein Abbild von der CD mit ddrescue nach /tmp/sr0.iso. Die Erstellung kann je nach Schaden eine Weile dauern. Im schlechtesten Fall kann auch ddrescue nichts mehr ausrichten, dann sollte man sich von den Daten verabschieden.

cd /tmp
time ddrescue /dev/sr0 sr0.iso

Das Ergebnis schaute in meinem Fall dann „irgendwann“ so aus:

GNU ddrescue 1.16
Press Ctrl-C to interrupt
rescued: 701469 kB, errsize: 5453 kB, current rate: 7680 B/s
ipos: 692124 kB, errors: 1070, average rate: 40049 B/s
opos: 692124 kB, time since last successful read: 0 s
Finished

Nun kann man das ISO File mounten um die Daten runter zu kopieren

mount -t iso9660 -o loop /tmp/sr0.iso /mnt

Viel Erfolg beim CDs sichern!

Das sollte im besten Fall mit jedem Datenträger (DVD, Diskette, CD, HDD) so funktionieren falls unerwartet Probleme auftauchen.

Flexibles Filesystem für Datenpartition unter Linux

Problem:
Ich benötige ein schnelles, unkompliziertes, für große Filestores erprobtes und vergrößerbares Dateisystem.

Lösung:
Ich werde wohl xfs nutzen.

Es hat eine aktive Community (siehe http://xfs.org/index.php/XFS_Status_Updates) und wird von RedHat entwickelt. Es kann Dateisysteme über 16 TB bedienen und man kann es mittels „xfs_grow“ vergrößern.

xfs_growfs  is most often used in conjunction with logical volumes (see md(4) and lvm(8) on Linux).  However, it can also be used on a regular disk partition, for example if a partition has been enlarged while retaining the same starting block.

Da ich XFS in einer VMDK nutzen möchte, ist auch wichtig, dass es Vergrößerungen über VMWare stand hält. Andere Filesysteme verhalten sich wohl zickig in solchen Fällen.
Verkleinern unterstützt xfs (bisher) leider nicht, dazu sollte man tatsächlich die Daten komplett vom Filesystem nehmen und frisch formatieren. 😉

Folgende Mountoptionen werden beim Einsatz von XFS auf einem virtuellen Host empfohlen:

barrier
optimiert das Caching, sollte standardmäßig aktiviert sein
http://xfs.org/index.php/XFS_FAQ#Write_barrier_support.

inode64
bei Filesystemen größer 16TB – wichtig: wurde es einmal genutzt darf es nicht mehr weg gelassen werden.

Im Hardforum gibt es einen interessanten Thread dazu http://hardforum.com/showthread.php?t=1704262

Hier befinden sich noch weitere Infos zur Optimierung
http://www.practicalsysadmin.com/wiki/index.php/XFS_optimisation

Mögen die Spiele beginnen!

Ich erstelle also mein Filesystem via

mkfs.xfs -f -l size=128m,lazy-count=1 -L DATATANK /dev/sdb1

und mounte es mit folgenden Optionen

mount -o logbufs=8,logbsize=256k,barrier,noatime,nodiratime,largeio,inode64,quota /dev/sdb1 /srv

Diese Optionen kann man nun in /etc/fstab eintragen und somit fixen!

Die Option osyncisosync ist deprecated, was auch im syslog quittiert wird

osyncisosync has no effect, option is deprecated.

Next: Plattendurchsatz testen!