<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Dateisysteme &#8211; Linux und Ich</title>
	<atom:link href="https://linuxundich.de/tag/dateisysteme/feed/" rel="self" type="application/rss+xml" />
	<link>https://linuxundich.de</link>
	<description>Blog über Ubuntu, Linux, Android und IT</description>
	<lastBuildDate>Wed, 07 May 2025 06:29:38 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://linuxundich.de/wp-content/uploads/2025/04/cropped-lui-app-512-32x32.png</url>
	<title>Dateisysteme &#8211; Linux und Ich</title>
	<link>https://linuxundich.de</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Bitrot bei JPG-Dateien, wirklich so dramatisch?</title>
		<link>https://linuxundich.de/gnu-linux/bitrot-bei-jpg-dateien-wirklich-dramatisch/</link>
					<comments>https://linuxundich.de/gnu-linux/bitrot-bei-jpg-dateien-wirklich-dramatisch/#comments</comments>
		
		<dc:creator><![CDATA[Christoph Langner]]></dc:creator>
		<pubDate>Tue, 22 Mar 2016 08:53:05 +0000</pubDate>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Backup]]></category>
		<category><![CDATA[Bitrot]]></category>
		<category><![CDATA[Btrfs]]></category>
		<category><![CDATA[Dateisysteme]]></category>
		<category><![CDATA[Datensicherheit]]></category>
		<guid isPermaLink="false">https://linuxundich.de/?p=34903</guid>

					<description><![CDATA[Daten können auf unterschiedliche Art und Weise verloren gehen: Kaputte Massenspeicher (egal ob Festplatte oder SSD), zerschossene Dateisysteme, Verlust des Notebooks oder Smartphones durch Diebstahl oder Schusseligkeit, sowie die eigene Dummheit beim versehentlichen Löschen von Daten. Gegen allzu dramatische Datenverluste infolge dieser unglücklichen Ereignisse helfen in der Regel Backups, die eigentlich jeder Computeranwender regelmäßig erstellen [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Daten können auf unterschiedliche Art und Weise verloren gehen: Kaputte Massenspeicher (egal ob Festplatte oder SSD), zerschossene Dateisysteme, Verlust des Notebooks oder Smartphones durch Diebstahl oder Schusseligkeit, sowie die eigene Dummheit beim versehentlichen Löschen von Daten. Gegen allzu dramatische Datenverluste infolge dieser unglücklichen Ereignisse helfen in der Regel Backups, die eigentlich jeder Computeranwender regelmäßig erstellen sollte &#8212; was bekanntlich aber nur ein Bruchteil aller User macht. Gegen eine weitere Form des Datenverlusts helfen jedoch auch Backups nur bedingt. <a href="https://en.wikipedia.org/wiki/Data_corruption" target="_blank" rel="noopener">Silent Data Corruption</a> oder Bitrot schlägt unmerklich zu, da nur einzelne Bits einer oder mehrere Dateien betroffen sind. Moderne Dateisysteme wie Btrfs oder ZFS schützen in einem RAID-Verbund mit Prüfsummen zu Daten und Metadaten gegen Bitrot. Doch wie dramatisch ist das Problem eigentlich? Ich schaue mir von Bitrot befallene JPG-Dateien einmal genauer an.</p>
<p><span id="more-34903"></span></p>
<h2>Bitrot schummelt Fehler leise ins Dateisystem</h2>
<p>Unter Bitrot bezeichnet man umgangssprachlich das &#8222;Kippen&#8220; einzelner Datenbits. Dies kann etwa bei Zahlen schnell dramatische Folgen hervorrufen: Habt ihr etwa 100 Euro auf dem Konto (Binär: 1100100) und das erste Bit kippt in der Datenbank der Bank zu einer 0, dann schrumpft euer Guthaben auf einen Schlag auf nur noch 36 Euro (Binär: 0100100). Damit dies nicht passiert, speichern moderne Dateisysteme Daten redundant und schreiben Prüfsummen, sodass man zum einen merkt, dass etwas mit den Daten nicht stimmt und zum anderen sie auch automatisch wiederherstellen kann. Auch Dateiformate selber besitzen eine gewisse Redundanz, sodass kleine Datenfehler im Bild eigentlich kaum ersichtlich sein sollten. Daher hat mich <a href="http://arstechnica.com/information-technology/2014/01/bitrot-and-atomic-cows-inside-next-gen-filesystems/3/" target="_blank" rel="noopener">dieser Beitrag von Ars Technica</a> sehr gewundet. Schon nach drei gekippten Bits ist das dort gezeigte Bild nicht mehr erkennbar. Gut, nach 10 gekippten Bits bin ich auch nicht mehr wiederzuerkennen, aber der Totalausfall nach 3 gedrehten Bits macht einem schon Sorgen &#8212; schließlich gehören Bilder für viele von uns zum wertvollsten Datenschatz.</p>
<p>Um das Thema also einmal selber nachzustellen, braucht es ein Bild und ein kleines Programm, mit dem man gezielt einzelne Bits einer Datei umkippen lassen kann. Im Netz finden sich dazu eine Reihe von kleinen Code-Schnippseln, der folgende in Python geschriebene Code macht als <code>bitflip.ph</code> abgespeichert genau dies. Als Parameter übergebt ihr den Programm einen Offsetwert, also im Endeffekt das wie vielte Bit es drehen soll. Zudem habe ich mit <code>bitflip.sh</code> ein kleines Shell-Skript geschrieben, das automatisiert eine beliebige Anzahl an Bits einer Datei drehen kann. Es nummeriert zudem die einzelnen Bilder und erstellt am Ende aus den Einzelbildern ein Video &#8212; mit dem Ziel am Ende den Verfall des Bildes als animierten Verlauf zu sehen.</p>
<h2>Skripte zum automatisierten Drehen einzelner Bits</h2>
<h3>bitflip.ph</h3>
<pre>#!/usr/bin/python
"""Toggle the bit at the specified offset.
Syntax:  filename bit-offset"""

import sys
fname = sys.argv[1]
# Convert bit offset to bytes + leftover bits
bitpos = int(sys.argv[2])
nbytes, nbits = divmod(bitpos, 8)

# Open in read+write, binary mode; read 1 byte 
fp = open(fname, "r+b")
fp.seek(nbytes, 0)
c = fp.read(1)

# Toggle bit at byte position `nbits`
toggled = bytes( [ ord(c)^(1&lt;&lt;nbits) ] ) 
# print(toggled) # diagnostic output

# Back up one byte, write out the modified byte
fp.seek(-1, 1)  # or absolute: fp.seek(nbytes, 0)
fp.write(toggled)
fp.close()</pre>
<h3>bitflip.sh</h3>
<pre>#!/bin/bash
# Settings
ORIGFILE=$1
FIRSTBIT=$2
LASTBIT=$3
STEPWIDTH=$4

# Folders
FLIPPEDFILES=tmp_flipped
VIDEOTEMP=tmp_video

# Init
FLIPPEDBITS=0

# Watch for Ctrl+C
trap "exit" INT

# Prepare
if [[ ! -e $FLIPPEDFILES ]]; then
	mkdir $FLIPPEDFILES
else
	rm $FLIPPEDFILES/*
fi

if [[ ! -e $VIDEOTEMP ]]; then
	mkdir $VIDEOTEMP
else
	rm $VIDEOTEMP/*
fi

# Function annotate
function annotate () {
	convert $1/$2.jpg -gravity southeast \
		-stroke '#000C' -pointsize 100   -strokewidth 2 -annotate 0 $3 \
		-stroke  none   -pointsize 100   -fill white    -annotate 0 $3 \
		$1/$2.jpg
}

# Flip bits
cp $ORIGFILE $FLIPPEDFILES/$FIRSTBIT.jpg
convert $ORIGFILE $FLIPPEDFILES/$FIRSTBIT.jpg +append $VIDEOTEMP/$FIRSTBIT.jpg

while [  $FIRSTBIT -lt $LASTBIT ]; do

	echo Flipping bit: $FIRSTBIT
	echo Flipped bits: $FLIPPEDBITS

	let PLUSONE=FIRSTBIT+STEPWIDTH
	cp $FLIPPEDFILES/$FIRSTBIT.jpg $FLIPPEDFILES/$PLUSONE.jpg
	./bitflip.py $FLIPPEDFILES/$PLUSONE.jpg $PLUSONE
	convert $FLIPPEDFILES/$FIRSTBIT.jpg $FLIPPEDFILES/$PLUSONE.jpg +append $VIDEOTEMP/$PLUSONE.jpg
	annotate $VIDEOTEMP $PLUSONE $FLIPPEDBITS

	let FIRSTBIT=FIRSTBIT+STEPWIDTH
	let FLIPPEDBITS=FLIPPEDBITS+1
	clear
done

# Build video
cd $VIDEOTEMP
cat *.jpg | ffmpeg -y -f image2pipe -r 15 -vcodec mjpeg -i - -vcodec libx264 ../out.mp4</pre>
<p>Doch bevor ich das Skript auf ein JPG loslasse, muss <code>bitflip.ph</code> beweisen, ob es auch wirklich funktioniert. Dazu nehme ich ein beliebiges PNG-Bild und flippe gezielt ein einzelnes Bit. Ein binärer Verglich mit <code>cmp</code> zeigt dann den Unterschied. Der Aufruf von <code>file</code> erkennt anschließend zwar noch eine PNG-Datei, doch ein Bildbetrachter mag die Datei nicht mehr öffnen, wie auch <code>identify</code> aus der Imagemagick-Suite einen mit <code>IDAT: CRC error</code> einen Fehler in der Bilddatei meldet. Schalte ich das Bit erneut um, dann akzeptiert <code>identify</code> das Bild wieder brav und der Bildbetrachter von Gnome öffnet die PNG-Datei ebenfalls wieder. Sum­ma sum­ma­rum: Schon ein gekipptes Bit kann eine Datei komplett runinieren. JPG bringt jedoch deutlich mehr Redundanzen mit, von daher bin ich gespannt, wie sich das für Fotografien übliche Dateiformat schlägt.</p>
<pre>### Beliebige PNG-Datei kopieren
$ cp picture.png picture-flip.png
### Als Beispiel das 2000. Bit flippen
$ ./bitflip.py picture-flip.png 2000
### Hat es geklappt, ja!
$ cmp -l picture.png picture-flip.png | gawk '{printf "%08X %02X %02X\n", $1, strtonum(0$2), strtonum(0$3)}'
000000FB 1C 1D</pre>
<pre>### Immer noch eine PNG-Datei?
$ file picture-flip.png
picture-flip.png: PNG image data, 800 x 533, 8-bit/color RGB, non-interlaced
### Bild-Information kaputt
$ identify -verbose picture-flip.png
identify: IDAT: CRC error `picture-flip.png' @ error/png.c/MagickPNGErrorHandler/1630.
identify: corrupt image `picture-flip.png' @ error/png.c/ReadPNGImage/3959.</pre>
<pre>### Gegenprüfung, wieder das 2000. Bit flippen
$ ./bitflip.py picture-flip.png 2000
### Bild-Informationen stimmen wieder
$ identify -verbose picture-flip.png
Image: picture-flip.png
  Format: PNG (Portable Network Graphics)
  Mime type: image/png
  Class: DirectClass
  Geometry: 800x533+0+0
  Resolution: 28.35x28.35</pre>
<figure id="attachment_34920" aria-describedby="caption-attachment-34920" style="width: 640px" class="wp-caption aligncenter"><a href="https://linuxundich.de/wp-content/uploads/2016/02/bitrot-png-file.png" rel="attachment wp-att-34920"><img fetchpriority="high" decoding="async" class="wp-image-34920 size-medium" src="https://linuxundich.de/wp-content/uploads/2016/02/bitrot-png-file-640x509.png" alt="Ein gekipptes Bit reicht aus um eine PNG-Datei zu zerstören." width="640" height="509" srcset="https://linuxundich.de/wp-content/uploads/2016/02/bitrot-png-file-640x509.png 640w, https://linuxundich.de/wp-content/uploads/2016/02/bitrot-png-file-528x420.png 528w, https://linuxundich.de/wp-content/uploads/2016/02/bitrot-png-file-681x542.png 681w, https://linuxundich.de/wp-content/uploads/2016/02/bitrot-png-file-250x199.png 250w, https://linuxundich.de/wp-content/uploads/2016/02/bitrot-png-file-550x438.png 550w, https://linuxundich.de/wp-content/uploads/2016/02/bitrot-png-file-800x637.png 800w, https://linuxundich.de/wp-content/uploads/2016/02/bitrot-png-file-226x180.png 226w, https://linuxundich.de/wp-content/uploads/2016/02/bitrot-png-file-377x300.png 377w, https://linuxundich.de/wp-content/uploads/2016/02/bitrot-png-file-628x500.png 628w, https://linuxundich.de/wp-content/uploads/2016/02/bitrot-png-file.png 907w" sizes="(max-width: 640px) 100vw, 640px"></a><figcaption id="caption-attachment-34920" class="wp-caption-text">Ein gekipptes Bit reicht aus um eine PNG-Datei zu zerstören.</figcaption></figure>
<p>Bei Ars <a href="http://arstechnica.com/information-technology/2014/01/bitrot-and-atomic-cows-inside-next-gen-filesystems/3/" target="_blank" rel="noopener">schildert Autor Jim Salter</a> nun, dass es schon mit einem geflippten Bit im JPG-Bild Artefakte erscheinen. Nach zwei und erst recht nach drei gekippten Bits ist dann kaum mehr etwas von dem Originalbild zu erkennen. In meinen Tests kann ich das nun aber nicht nachvollziehen: Mein Testbild bleibt ein Bild und für das Auge ergibt sich kein erkennbarer Unterschied, nur <code>cmp</code> meldet (wie gewünscht) die Anzahl der Unterschiede in den jeweiligen Dateien. Ich habe den Vergleich bewusst auf eine &#8222;richtige&#8220; Fotografie beschränkt und nicht auf eine künstlich kleine JPG-Datei, da natürlich die Redundanz mit der Größe des Bildes zunimmt. 1000 gekippte Bits in einer 1 Kb großen Datei dürften sich deutlich dramatischer Auswirken als in einer 5 Mb großen Datei, frisch von der Digitalkamera geladen.</p>
<h2>Mit 10 gekippten Bits</h2>
<pre>$ cmp -l ../katze_orig.jpg 11000.jpg | gawk '{printf "%08X %02X %02X\n", $1, strtonum(0$2), strtonum(0$3)}' | wc -l
10</pre>
<figure id="attachment_34922" aria-describedby="caption-attachment-34922" style="width: 640px" class="wp-caption aligncenter"><a href="https://linuxundich.de/wp-content/uploads/2016/02/11100.jpg" rel="attachment wp-att-34922"><img decoding="async" class="wp-image-34922 size-medium" src="https://linuxundich.de/wp-content/uploads/2016/02/11100-640x360.jpg" alt="10 gekippte Bits (Links: Original, Rechts: Defekt)" width="640" height="360" srcset="https://linuxundich.de/wp-content/uploads/2016/02/11100-640x360.jpg 640w, https://linuxundich.de/wp-content/uploads/2016/02/11100-1280x720.jpg 1280w, https://linuxundich.de/wp-content/uploads/2016/02/11100-747x420.jpg 747w, https://linuxundich.de/wp-content/uploads/2016/02/11100-681x383.jpg 681w, https://linuxundich.de/wp-content/uploads/2016/02/11100-250x141.jpg 250w, https://linuxundich.de/wp-content/uploads/2016/02/11100-550x309.jpg 550w, https://linuxundich.de/wp-content/uploads/2016/02/11100-800x450.jpg 800w, https://linuxundich.de/wp-content/uploads/2016/02/11100-320x180.jpg 320w, https://linuxundich.de/wp-content/uploads/2016/02/11100-533x300.jpg 533w, https://linuxundich.de/wp-content/uploads/2016/02/11100-889x500.jpg 889w, https://linuxundich.de/wp-content/uploads/2016/02/11100.jpg 1920w" sizes="(max-width: 640px) 100vw, 640px"></a><figcaption id="caption-attachment-34922" class="wp-caption-text">10 gekippte Bits (Links: Original, Rechts: Defekt)</figcaption></figure>
<h2>Mit 100 gekippten Bits</h2>
<pre>$ cmp -l ../katze_orig.jpg 20100.jpg | gawk '{printf "%08X %02X %02X\n", $1, strtonum(0$2), strtonum(0$3)}' | wc -l
100</pre>
<figure id="attachment_34923" aria-describedby="caption-attachment-34923" style="width: 640px" class="wp-caption aligncenter"><a href="https://linuxundich.de/wp-content/uploads/2016/02/20100.jpg" rel="attachment wp-att-34923"><img decoding="async" class="wp-image-34923 size-medium" src="https://linuxundich.de/wp-content/uploads/2016/02/20100-640x360.jpg" alt="100 gekippte Bits (Links: Original, Rechts: Defekt)" width="640" height="360" srcset="https://linuxundich.de/wp-content/uploads/2016/02/20100-640x360.jpg 640w, https://linuxundich.de/wp-content/uploads/2016/02/20100-1280x720.jpg 1280w, https://linuxundich.de/wp-content/uploads/2016/02/20100-747x420.jpg 747w, https://linuxundich.de/wp-content/uploads/2016/02/20100-681x383.jpg 681w, https://linuxundich.de/wp-content/uploads/2016/02/20100-250x141.jpg 250w, https://linuxundich.de/wp-content/uploads/2016/02/20100-550x309.jpg 550w, https://linuxundich.de/wp-content/uploads/2016/02/20100-800x450.jpg 800w, https://linuxundich.de/wp-content/uploads/2016/02/20100-320x180.jpg 320w, https://linuxundich.de/wp-content/uploads/2016/02/20100-533x300.jpg 533w, https://linuxundich.de/wp-content/uploads/2016/02/20100-889x500.jpg 889w, https://linuxundich.de/wp-content/uploads/2016/02/20100.jpg 1920w" sizes="(max-width: 640px) 100vw, 640px"></a><figcaption id="caption-attachment-34923" class="wp-caption-text">100 gekippte Bits (Links: Original, Rechts: Defekt)</figcaption></figure>
<h2>Mit knapp 1000 gekippten Bits</h2>
<pre>$ cmp -l ../katze_orig.jpg 110000.jpg | gawk '{printf "%08X %02X %02X\n", $1, strtonum(0$2), strtonum(0$3)}' | wc -l
999</pre>
<figure id="attachment_34924" aria-describedby="caption-attachment-34924" style="width: 640px" class="wp-caption aligncenter"><a href="https://linuxundich.de/wp-content/uploads/2016/02/110000.jpg" rel="attachment wp-att-34924"><img loading="lazy" decoding="async" class="wp-image-34924 size-medium" src="https://linuxundich.de/wp-content/uploads/2016/02/110000-640x360.jpg" alt="999 gekippte Bits (Links: Original, Rechts: Defekt)" width="640" height="360" srcset="https://linuxundich.de/wp-content/uploads/2016/02/110000-640x360.jpg 640w, https://linuxundich.de/wp-content/uploads/2016/02/110000-1280x720.jpg 1280w, https://linuxundich.de/wp-content/uploads/2016/02/110000-747x420.jpg 747w, https://linuxundich.de/wp-content/uploads/2016/02/110000-681x383.jpg 681w, https://linuxundich.de/wp-content/uploads/2016/02/110000-250x141.jpg 250w, https://linuxundich.de/wp-content/uploads/2016/02/110000-550x309.jpg 550w, https://linuxundich.de/wp-content/uploads/2016/02/110000-800x450.jpg 800w, https://linuxundich.de/wp-content/uploads/2016/02/110000-320x180.jpg 320w, https://linuxundich.de/wp-content/uploads/2016/02/110000-533x300.jpg 533w, https://linuxundich.de/wp-content/uploads/2016/02/110000-889x500.jpg 889w, https://linuxundich.de/wp-content/uploads/2016/02/110000.jpg 1920w" sizes="auto, (max-width: 640px) 100vw, 640px"></a><figcaption id="caption-attachment-34924" class="wp-caption-text">999 gekippte Bits (Links: Original, Rechts: Defekt)</figcaption></figure>
<p>Lange Rede, kurzer Sinn: Ganz so schlimm wie der Autor von Ars darstellt, wirkt sich Bitrot bei JPEG-Dateien nicht aus. Dennoch sollte man sich bei seiner Backupstrategie ein wenig Gedanken an die Tatsache verschwenden, dass einzelne Bits auf dem Datenträger kippen können. Sichert man nun einfach nur Stumpf seine Daten auf ein Backup-Medium, dann wandert der Defekt unbemerkt ins Backup und ersetzt auch irgendwann mal die älteste Version in der Sicherung, sodass eine Wiederherstellung zu einem späteren Zeitpunkt unmöglich wird. Dazu gehören moderne Dateisysteme, die Prüfsummen wie Btrfs oder ZFS für alle Daten anlegen (nicht nur wie Ext4 für das Journal) und am besten darunter noch ein RAID1, sodass man Daten leicht wiederherstellen kann.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://linuxundich.de/gnu-linux/bitrot-bei-jpg-dateien-wirklich-dramatisch/feed/</wfw:commentRss>
			<slash:comments>10</slash:comments>
		
		
			</item>
		<item>
		<title>ZFS für Linux!</title>
		<link>https://linuxundich.de/gnu-linux/zfs-fur-linux/</link>
					<comments>https://linuxundich.de/gnu-linux/zfs-fur-linux/#comments</comments>
		
		<dc:creator><![CDATA[Christoph Langner]]></dc:creator>
		<pubDate>Thu, 23 Sep 2010 19:25:39 +0000</pubDate>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Dateisysteme]]></category>
		<category><![CDATA[Sun]]></category>
		<category><![CDATA[ZFS]]></category>
		<guid isPermaLink="false">http://linuxundich.de/de/?p=9475</guid>

					<description><![CDATA[Die Welt der Dateisysteme für Linux hat heute eine prominentes Mitglied hinzugewonnen. Oracle hat sein Versprechen ZFS auf Linux zu portieren wahr gemacht. Auf der eigens eingerichteten Webseite ZFS on Linux kann man sich vom Quellcode bis hin zu RPM- und DEB-Paketen so ziemlich alles in der Richtung runterladen. Getestet habe ich das nicht, werde [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Die Welt der Dateisysteme für Linux hat heute eine prominentes Mitglied hinzugewonnen. Oracle hat sein Versprechen ZFS auf Linux zu portieren wahr gemacht. Auf der eigens eingerichteten Webseite <a href="http://zfsonlinux.org/" target="_blank" rel="noopener">ZFS on Linux</a> kann man sich vom Quellcode bis hin zu RPM- und DEB-Paketen so ziemlich alles in der Richtung runterladen. Getestet habe ich das nicht, werde ich auch nicht bis ZFS direkt in den Distributionen steckt, doch ZFS wird Linux sicherlich bereichern und die Qual der Wahl das richtige Dateisystem zu wählen noch verschlimmern&#8230;</p>
<p>Warum? Das Dateisystem hat sich unter Solaris schon seit Jahren bewährt und hat Features, die es auch für den Desktop interessant machen. Deduplizierung, Snapshots, etc. Weiteres lässt sich in der <a href="http://de.wikipedia.org/wiki/ZFS_(Dateisystem)" target="_blank" rel="noopener">Wikipedia</a> nachlesen. Besonders die eingebaute Möglichkeit gelöschte Daten oder ältere Dateistände wiederherzustellen ist schick, ich bin gespannt wann die von <a href="http://blogs.sun.com/erwann/entry/zfs_on_the_desktop_zfs" target="_blank" rel="noopener">Sun an Nautilus erstellten Patches</a> auch unter Linux Einzug halten.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://linuxundich.de/gnu-linux/zfs-fur-linux/feed/</wfw:commentRss>
			<slash:comments>25</slash:comments>
		
		
			</item>
		<item>
		<title>Warum ist meine Ext4-Festplatte kleiner als angegeben?</title>
		<link>https://linuxundich.de/gnu-linux/festplatte-kleiner-als-angegeben-ext4/</link>
					<comments>https://linuxundich.de/gnu-linux/festplatte-kleiner-als-angegeben-ext4/#comments</comments>
		
		<dc:creator><![CDATA[Christoph Langner]]></dc:creator>
		<pubDate>Tue, 08 Sep 2009 09:28:06 +0000</pubDate>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Dateisysteme]]></category>
		<category><![CDATA[Einsteiger]]></category>
		<category><![CDATA[Ext2]]></category>
		<category><![CDATA[Ext3]]></category>
		<category><![CDATA[Ext4]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<guid isPermaLink="false">http://linuxundich.de/de/?p=3562</guid>

					<description><![CDATA[In Foren fallen mir immer wieder Fragen von Linux-Anwendern zur Kapazität Ihrer Festplatten auf. Man wundert sich oft, warum nach dem Formatieren einer etwa 500 GByte großen Festplatte deutlich weniger freier Plattenplatz angezeigt wird, als eigentlich erwartet. Dies liegt zum Einen an der unterschiedlichen Rechnungsweise der Festplattenhersteller, zum Anderen am Dateisystem Ext2, Ext3 und Ext4 das [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>In Foren fallen mir immer wieder Fragen von Linux-Anwendern zur Kapazität Ihrer Festplatten auf. Man wundert sich oft, warum nach dem Formatieren einer etwa 500 GByte großen Festplatte deutlich weniger freier Plattenplatz angezeigt wird, als eigentlich erwartet. Dies liegt zum Einen an der unterschiedlichen Rechnungsweise der Festplattenhersteller, zum Anderen am Dateisystem Ext2, Ext3 und Ext4 das üblicherweise einen Teil der Festplatte für das System reserviert. Ich versuche das Thema kurz zusammenzufassen.</p>
<p><span id="more-3562"></span></p>
<h2>Das Einheiten-Chaos</h2>
<p>Der primäre Unterschied liegt in der unterschiedlichen rechenweise von Festplattenherstellern und Informatikern. In der &#8222;normalen&#8220; Welt sind wir die 10 als Vorsatz für Maßeinheiten gewohnt. Bei den Gewichtseinheiten wird immer mit 10 hoch irgendwas gerecht, also beispielsweise&#8230;</p>
<ul>
<li>1 Kilogramm sind 10^3 Gramm</li>
<li>1 Tonne sind 10^3 Kilogramm oder 10^6 Gramm</li>
<li>usw&#8230;</li>
</ul>
<p>Informatiker rechnen nun meist Binär. Daher verwenden sie die 2 als Präfix für Potenzen.</p>
<ul>
<li>1 Byte entspricht 8 Bit</li>
<li>1 Kilobyte sind 2^10 Byte, also 1024 Byte</li>
<li>1 Megabyte sind 2^20 Byte, also 1.048.576 Byte</li>
<li>usw&#8230;</li>
</ul>
<p>Bei auf der 2 basierenden Einheiten sollte man daher eigentlich von Kibibyte, Mebibyte und Co. reden, doch im allgemeinen Sprachgebrauch macht das praktisch niemand. Die Folge dieser unterschiedlichen Rechenweise: Eine vom Hersteller mit 1000 GByte Speicherkapazität angegebene Festplatte wird vom Betriebssystem mit nur rund 932 GByte ausgewiesen.</p>
<figure id="attachment_28406" aria-describedby="caption-attachment-28406" style="width: 640px" class="wp-caption aligncenter"><a href="https://linuxundich.de/wp-content/uploads/2009/09/immer-etwas-kleiner.png"><img loading="lazy" decoding="async" class="td-modal-image wp-image-28406 size-medium" src="https://linuxundich.de/wp-content/uploads/2009/09/immer-etwas-kleiner-640x466.png" alt="Je nach Rechenweise liegt die Festplattengröße immer etwas unter dem angegebenen Betrag." width="640" height="466" srcset="https://linuxundich.de/wp-content/uploads/2009/09/immer-etwas-kleiner-640x466.png 640w, https://linuxundich.de/wp-content/uploads/2009/09/immer-etwas-kleiner-577x420.png 577w, https://linuxundich.de/wp-content/uploads/2009/09/immer-etwas-kleiner-681x495.png 681w, https://linuxundich.de/wp-content/uploads/2009/09/immer-etwas-kleiner-250x182.png 250w, https://linuxundich.de/wp-content/uploads/2009/09/immer-etwas-kleiner-550x400.png 550w, https://linuxundich.de/wp-content/uploads/2009/09/immer-etwas-kleiner-800x582.png 800w, https://linuxundich.de/wp-content/uploads/2009/09/immer-etwas-kleiner-247x180.png 247w, https://linuxundich.de/wp-content/uploads/2009/09/immer-etwas-kleiner-412x300.png 412w, https://linuxundich.de/wp-content/uploads/2009/09/immer-etwas-kleiner-687x500.png 687w, https://linuxundich.de/wp-content/uploads/2009/09/immer-etwas-kleiner.png 837w" sizes="auto, (max-width: 640px) 100vw, 640px"></a><figcaption id="caption-attachment-28406" class="wp-caption-text">Je nach Rechenweise liegt die Festplattengröße immer etwas unter dem angegebenen Betrag.</figcaption></figure>
<p>Dem Marketing- und Kaufleuten der Festplattenherstellern kommt die größer aussehende Auszeichnung natürlich besser, als die &#8222;kleinere&#8220; Rechenweise der Informatiker. Viel mehr will ich gar nicht auf diesen Unterschied eingehen. In der <a href="http://de.wikipedia.org/wiki/Byte#Gr.C3.B6.C3.9Fenunterschiede_zwischen_den_Bedeutungsauffassungen" target="_blank" rel="noopener">Wikipedia</a> und selbst auf <a href="http://www.spiegel.de/netzwelt/web/0,1518,646498,00.html" target="_blank" rel="noopener">Spiegel Online</a> finden sich wirklich gute Artikel, die das Thema auch dem Laien und nicht-Mathematiker erklären&#8230;</p>
<h2>Ext2, Ext3 und Ext4 reservieren Speicher</h2>
<p>Das eigentliche Thema ist die Tatsache, dass bei der Formatierung einer Festplatte mit Ext2 oder Ext3 (Ext4 scheint auch noch zu machen, <del datetime="2009-09-08T19:19:59+00:00">allerdings scheitert tune2fs bei Ext4</del>) als Dateisystem ein Teil der Festplatte für das System reserviert wird. Zum Warum und Weshalb komme ich gleich, erst einmal kurz ein paar Zahlen&#8230; Ich demonstriere das an einer alten Festplatte mit vom Hersteller angegebenen 4,32 GByte. Schaut man sich die Ausgabe von <code>df -h</code> an, so sieht man dass von den real freien 4GB Speicherplatz nur 3,7 GByte verfügbar sind</p>
<pre>$ df -h
Dateisystem Größe Benut Verf Ben% Eingehängt auf
[...]
/dev/sdh1 4,0G 137M 3,7G 4% /media/disk-1</pre>
<p>Der Grund dafür liegt darin, dass bei Ext{2,3,4} als Dateisystem von Haus aus 5% Speicherplatzes einer Partition für das System reserviert werden. Dies soll Fragmentierung verhindern und garantieren, dass wichtige Dienste IMMER Schreiben können, selbst wenn ein User des Systems die Platte zugemüllt hat. Die man-Page von tune2fs beschreibt die Funktion so&#8230;</p>
<pre>$ man tune2fs
[...]
-m reserved-blocks-percentage

Set the percentage of the filesystem which may only be allocated by privileged processes. Reserving some number of filesystem blocks for use by privileged processes is done to avoid filesystem fragmentation, and to allow system daemons, such as syslogd(8), to continue to function correctly after non-privileged processes are prevented from writing to the filesystem. Normally, the default percentage of reserved blocks is 5%.</pre>
<p>Bei modernen Platten ist dieser reservierte Speicherbereich mit 5% natürlich recht groß, bei einer Platte mit 1000 GB werden zum Beispiel 50GB reserviert. Gerade wenn man eine Festplatte nur als Datenspeicher benutzt, kann man diesen Wert ruhig runtersetzen. Über den Befehl&#8230;</p>
<pre>$ sudo tune2fs -m [Prozentsatz] /dev/sd[xy]</pre>
<p>kann man dies über ein Terminal machen. Die Partition kann währenddessen eingehängt (aka gemountet) bleiben. Den Prozentsatz kann Ihr dabei frei wählen. Die Partition muss man natürlich korrekt angegeben, Ihr findet die Partition etwa über fdisk heraus&#8230;</p>
<pre>$ sudo fdisk -l
[...]
Platte /dev/sdh: 4327 MByte, 4327464960 Byte
255 Köpfe, 63 Sektoren/Spuren, 526 Zylinder
Einheiten = Zylinder von 16065 × 512 = 8225280 Bytes
Disk identifier: 0x16b6ac7b

Gerät boot. Anfang Ende Blöcke Id System
/dev/sdh1 1 526 4225094+ 83 Linux</pre>
<p>Habt Ihr eine Partition nur mit Daten, so könnt Ihr den reservierten Speicherplatz komplett deaktivieren. Nach einem&#8230;</p>
<pre>$ sudo tune2fs -m 0 /dev/sdh1
Setze den Prozentsatz reservierter Böcke auf 0% (0 Blöcke)</pre>
<p>&#8230;steht auf der vorhin gezeigte Festplatte nun (fast) der komplette Speicherplatz auch zur Verfügung.</p>
<pre>$ df -h
[...]
/dev/sdh1 4,0G 137M 3,9G 4% /media/disk-1</pre>
<p>Die bereits nach der Formatierung belegten MB dienen dem <a href="http://de.wikipedia.org/wiki/Journaling-Dateisystem" target="_blank" rel="noopener">Journal</a> des <a href="http://de.wikipedia.org/wiki/Ext3" target="_blank" rel="noopener">Ext4</a>-Dateisystem. &#8222;Ganz leer&#8220; bekommt Ihr die Platte mit Ext4 also nie.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://linuxundich.de/gnu-linux/festplatte-kleiner-als-angegeben-ext4/feed/</wfw:commentRss>
			<slash:comments>21</slash:comments>
		
		
			</item>
		<item>
		<title>Ext4 noch nicht reif für den Desktop!</title>
		<link>https://linuxundich.de/gnu-linux/ext4-noch-nicht-reif-fur-den-desktop/</link>
					<comments>https://linuxundich.de/gnu-linux/ext4-noch-nicht-reif-fur-den-desktop/#comments</comments>
		
		<dc:creator><![CDATA[Christoph Langner]]></dc:creator>
		<pubDate>Fri, 06 Mar 2009 23:31:15 +0000</pubDate>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Dateisysteme]]></category>
		<category><![CDATA[Ext4]]></category>
		<category><![CDATA[Kernel]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<guid isPermaLink="false">http://christoph-langner.de/de/?p=685</guid>

					<description><![CDATA[Ubuntu Jaunty Jackalope 9.04 bringt Unterstützung für das neue Dateisystem Ext4 mit und ab Ubuntu Karmic Koala 9.10 wird Ext4 vielleicht auch Standard. Von daher werden viele User sicherlich das neue Dateisystem &#8211; gerade weil es eine sehr hohe Performance verspricht &#8211; ausprobieren. Doch scheint es gravierende Probleme mit Ext4 zu geben. Ich zitiere mal [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Ubuntu Jaunty Jackalope 9.04 bringt Unterstützung für das neue Dateisystem Ext4 mit und ab Ubuntu Karmic Koala 9.10 wird Ext4 vielleicht auch Standard. Von daher werden viele User sicherlich das neue Dateisystem &#8211; gerade weil es eine sehr hohe Performance verspricht &#8211; ausprobieren. Doch scheint es <a href="https://bugs.edge.launchpad.net/ubuntu/+source/linux/+bug/317781" target="_blank" rel="noopener">gravierende Probleme</a> mit Ext4 zu geben. Ich zitiere mal aus dem Bugreport&#8230;</p>



<span id="more-685"></span>



<p class="has-cyan-bluish-gray-background-color has-background"><strong>UPDATE:</strong> Leser dieses Artikels sollten bedenken, dass sich das Rad der Geschichte immer weiterdreht. Zum Zeitpunkt der Erstellung des Beitrages waren diese Informationen korrekt, doch mittlerweile kann man beruhigt zu Ext4 greifen. Die im Beitrag genannten Patches haben es sogar noch in den Kernel von Ubuntu Jaunty geschafft. Ext4 IST in der Zwischenzeit reif für den Desktop geworden!</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>I recently installed Kubuntu Jaunty on a new drive, using Ext4 for all my data.</p>



<p>The first time i had this problem was a few days ago when after a power loss ktimetracker&#8217;s config file was replaced by a 0 byte version . No idea if anything else was affected.. I just noticed ktimetracker right away.</p>



<p>Today, I was experimenting with some BIOS settings that made the system crash right after loading the desktop. After a clean reboot pretty much any file written to by any application (during the previous boot) was 0 bytes. For example Plasma and some of the KDE core config files were reset. Also some of my MySQL databases were killed…</p>
</blockquote>



<p>Es ist auch kein &#8222;Ubuntu-Problem&#8220;</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>I thought it was worth adding this, even though I&#8217;m running Gentoo, it seems to be exactly the same issue:</p>



<p>I recently upgraded to ext4 as well, I ran a game in Wine and the system hardlocked (nothing special there with the fglrx drivers). After rebooting all my Wine registry files were 0 bytes, as were many of my Gnome configuration files. Absoloute nightmare. fsck on boot said that it had removed 760+ orphaned inodes.</p>
</blockquote>



<p>Um es kurz zusammenzufassen: Sollte ein Rechner mit Ext4 Partitionen abstürzen oder ihm der Saft ausgehen, so droht massiver Datenverlust. Die Gefahr bei einem Crash Daten zu verlieren ist deutlich höher als bei Ext3. Das Problem ist massiv und Bedarf sowohl Änderungen am Kernel wie auch Änderungen an der Art und Weise wie Anwendungen Daten ablegen. <a href="https://bugs.edge.launchpad.net/~tytso" target="_blank" rel="noopener">Theodore</a> <a href="http://de.wikipedia.org/wiki/Theodore_Ts%27o" target="_blank" rel="noopener">Ts&#8217;o</a> &#8211; einer der bekanntesten Entwickler des Linux Kernels &#8211; fasst das Problem <a href="https://bugs.edge.launchpad.net/ubuntu/+source/linux/+bug/317781/comments/45" target="_blank" rel="noopener">hier</a> sehr gut zusammen.</p>



<p>Ext4 mag reif für Serversysteme sein, denen dank USV sicherlich nie der Strom ausgeht. Doch man sollte es sich mehr als zweimal überlegen Ext4 auf einem Notebook oder Desktop einzusetzen, denen dank proprietären Treiber und experimentierfreudigen Usern der eine oder andere Absturz droht!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://linuxundich.de/gnu-linux/ext4-noch-nicht-reif-fur-den-desktop/feed/</wfw:commentRss>
			<slash:comments>15</slash:comments>
		
		
			</item>
	</channel>
</rss>
