<?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>Btrfs &#8211; Linux und Ich</title>
	<atom:link href="https://linuxundich.de/tag/btrfs/feed/" rel="self" type="application/rss+xml" />
	<link>https://linuxundich.de</link>
	<description>Blog über Ubuntu, Linux, Android und IT</description>
	<lastBuildDate>Thu, 13 Mar 2025 11:05:07 +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>Btrfs &#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>Btrfs-Snapshots in Synology DSM einrichten und managen</title>
		<link>https://linuxundich.de/gnu-linux/synology-btrfs-snapshots/</link>
					<comments>https://linuxundich.de/gnu-linux/synology-btrfs-snapshots/#comments</comments>
		
		<dc:creator><![CDATA[Christoph Langner]]></dc:creator>
		<pubDate>Sat, 19 Mar 2016 16:12:28 +0000</pubDate>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Backup]]></category>
		<category><![CDATA[Btrfs]]></category>
		<category><![CDATA[Synology]]></category>
		<guid isPermaLink="false">https://linuxundich.de/?p=34896</guid>

					<description><![CDATA[Seit DSM 5.2 bieten einige NAS-Geräte von Synology die Möglichkeit Volumes mit Btrfs als Dateisystem zu formatieren. Dadurch lassen sich zum Beispiel sehr einfach inkrementelle Snapshots von Daten machen, ohne dass diese zusätzlichen Festplattenplatz in Anspruch nehmen. Die Option hat Synology damals allerdings nur in drei Profi-Netzwerkspeicher und mit der Diskstation DS216+ und DS716+ in zwei bezahlbarere Modelle eingebaut. [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Seit DSM 5.2 bieten <a href="https://www.synology.com/de-de/dsm/Btrfs" target="_blank" rel="noopener">einige NAS-Geräte von Synology</a> die Möglichkeit Volumes mit <a href="https://de.wikipedia.org/wiki/Btrfs" target="_blank" rel="noopener">Btrfs als Dateisystem</a> zu formatieren. Dadurch lassen sich zum Beispiel sehr einfach inkrementelle Snapshots von Daten machen, ohne dass diese zusätzlichen Festplattenplatz in Anspruch nehmen. Die Option hat Synology damals allerdings nur in drei Profi-Netzwerkspeicher und mit der <a href="http://amzn.to/1pOMmRt" target="_blank" rel="noopener">Diskstation DS216+</a> und <a href="http://amzn.to/1pOMnVN" target="_blank" rel="noopener">DS716+</a> in zwei bezahlbarere Modelle eingebaut. Weitere Modelle mit Btrfs-Support sollen mit der<a href="https://www.synology.com/de-de/dsm/6.0beta/" target="_blank" rel="noopener"> Freigabe von DSM 6.0</a> folgen, welche oder ob Btrfs vielleicht generell für alle Geräte mit DSM 6.0 kommt, lässt sich aus der Ankündigung jedoch nicht erfahren. Wer umsteigen möchte, muss seine Daten sichern und die Speichermedien neu formatieren. Ist die Arbeit allerdings einmal gemacht, kann man sehr bequem auf die Snapshots zugreifen.</p>
<p><span id="more-34896"></span></p>
<p><a href="https://btrfs.wiki.kernel.org/index.php/Main_Page" target="_blank" rel="noopener">Btrfs</a> gibt es als Dateisystem schon seit mehreren Jahren im Linux-Kernel, openSUSE setzt etwa seit Version 13.2 als Standard auf Btrfs als Dateisystem. Eine Spezialität des jungen Dateisystems liegt darin <a title="Copy-On-Write" href="https://de.wikipedia.org/wiki/Copy-On-Write" target="_blank" rel="noopener">Copy-On-Write</a> zu unterstützen. So lassen sich Daten kopieren, ohne dass zusätzlicher Speicherplatz benötigt wird. Erst wenn sich eine der beiden Kopien ändert, wird diese auch auf die Festplatte geschrieben &#8212; und zwar auch nur der Speicherblock, der die Änderung enthält. Dies eignet sich daher ideal für Snapshots von Datenpartition, da sich zahlreiche Snapshots erstellen lassen, ohne dass man viel Speicher verbrät. Zahlreiche weitere Informationen zu Btrfs und dem Umgang mit dem Dateisystem in einem Linux-System finden sich inzwischen zum Beispiel im <a href="https://wiki.ubuntuusers.de/Btrfs-Dateisystem/" target="_blank" rel="noopener">Wiki von Ubuntuusers</a>.</p>
<h2>Diskstation auf Btrfs-Snapshots umrüsten</h2>
<p>Für mich war es daher einer der Kriterien auf eine Diskstation DS216+ umzusteigen &#8212; andere NAS-Hersteller wie QNAP etwa unterstützen Btrfs allerdings selbstverständlich auch, ich bin allerdings jedoch schon ein wenig länger mit Synology-Geräten unterwegs, daher bleibe ich in der Syno-Community. Für die Umrüstung einer Diskstation auf Btrfs muss man nun leider die Datenpartition einmal löschen und wieder neu aufsetzen. Dazu gilt es zuallererst ein Backup eurer Daten zu erstellen, dann im <em>Speicher-Manager</em> das gewünschte Volume zu löschen und es anschließend gleich wieder mit Btrfs als Dateisystem wieder neu aufzusetzen.</p>
<figure id="attachment_39032" aria-describedby="caption-attachment-39032" style="width: 640px" class="wp-caption aligncenter"><a href="https://linuxundich.de/wp-content/uploads/2016/03/synology-btrfs_2.png" rel="attachment wp-att-39032"><img loading="lazy" decoding="async" class="wp-image-39032 size-medium" src="https://linuxundich.de/wp-content/uploads/2016/03/synology-btrfs_2-640x430.png" alt="" width="640" height="430" srcset="https://linuxundich.de/wp-content/uploads/2016/03/synology-btrfs_2-640x430.png 640w, https://linuxundich.de/wp-content/uploads/2016/03/synology-btrfs_2-625x420.png 625w, https://linuxundich.de/wp-content/uploads/2016/03/synology-btrfs_2-537x360.png 537w, https://linuxundich.de/wp-content/uploads/2016/03/synology-btrfs_2-681x458.png 681w, https://linuxundich.de/wp-content/uploads/2016/03/synology-btrfs_2.png 1253w" sizes="auto, (max-width: 640px) 100vw, 640px"></a><figcaption id="caption-attachment-39032" class="wp-caption-text">Beim Anlegen eines Volumens in Synology DSM steht jetzt Btrfs als Dateisystem zur Wahl.</figcaption></figure>
<p>Beim Anlegen der neuen gemeinsamen Ordner auf dem Volume unter <em>Systemsteuerung</em> | <em>Gemeinsame Ordner</em> achtet ihr am besten gleich zusätzlich darauf, dass im Reiter <em>Erweitert</em> die Option <em>Erweiterten Datenintegritätsschutz</em> aktiviert ist &#8212; was bei einem Btrfs-Volumen eigentlich von Haus aus der Fall sein sollte. Die Option sorgt dafür, dass Btrfs Prüfsummen erstellt und ihr <a href="https://en.wikipedia.org/wiki/Data_degradation" target="_blank" rel="noopener">im Falle von Bitrot</a> die betroffenen Daten wiederherstellen könnt. Bei Bitrot treten schleichend und bitweise Fehler in den Daten auf, ohne dass das System diese tatsächlich als Fehler interpretiert. Nachträglich lässt sich diese Option, genauso wie die in Btrfs integrierte Dateikomprimierung, nicht mehr de-/aktivieren. Überlegt euch also schon im vorhinein genau, was dieser Ordner können soll.</p>
<figure id="attachment_39055" aria-describedby="caption-attachment-39055" style="width: 640px" class="wp-caption aligncenter"><a href="https://linuxundich.de/wp-content/uploads/2016/03/synology-btrfs-datenintegritätsschutz.png" rel="attachment wp-att-39055"><img loading="lazy" decoding="async" class="size-medium wp-image-39055" src="https://linuxundich.de/wp-content/uploads/2016/03/synology-btrfs-datenintegritätsschutz-640x430.png" alt="Shares auf dem Btrfs-Volumen solltet ihr mit dem erweiterten Datenintegritätsschutz versehen." width="640" height="430" srcset="https://linuxundich.de/wp-content/uploads/2016/03/synology-btrfs-datenintegritätsschutz-640x430.png 640w, https://linuxundich.de/wp-content/uploads/2016/03/synology-btrfs-datenintegritätsschutz-626x420.png 626w, https://linuxundich.de/wp-content/uploads/2016/03/synology-btrfs-datenintegritätsschutz-537x360.png 537w, https://linuxundich.de/wp-content/uploads/2016/03/synology-btrfs-datenintegritätsschutz-681x457.png 681w, https://linuxundich.de/wp-content/uploads/2016/03/synology-btrfs-datenintegritätsschutz.png 1199w" sizes="auto, (max-width: 640px) 100vw, 640px"></a><figcaption id="caption-attachment-39055" class="wp-caption-text">Shares auf dem Btrfs-Volumen solltet ihr mit dem erweiterten Datenintegritätsschutz versehen.</figcaption></figure>
<h2>Btrfs-Snapshots aktivieren und Zeitplan erstellen</h2>
<p>Für die Snapshots müsst ihr nun die Erweiterung <em>Schnappschuss &amp; Replikation</em> aus dem <em>Paketzentrum</em> installieren und diese dann anschließend aus dem Anwendungsmenü heraus öffnen. Für jeden gemeinsamen Ordner lässt sich dort dann im Reiter <em>Schnappschüsse</em> in den <em>Eigenschaften</em> ein Zeitplan bestimmen, der regelt wie oft das System einen Snapshot archiviert. Da bei Btrfs-Snapshots nur die zwischenzeitlich angelaufenen Änderungen als zusätzliche Datenmenge entstehen, könnt die Snapshots durchaus recht häufig erstellen lassen, ohne dass die Festplatte vollläuft. Im Reiter Aufbewahrung könnt ihr zudem dann noch festlegen, wie lange das System die einzelnen Snapshots archivieren soll. Danach gilt es abzuwarten, bis die Snapshot-Funktion das erste mal zuschlägt, alternativ könnt ihr mit <em>Einen Schnappschuss machen</em> manuell einen Snapshot auslösen.</p>
<figure id="attachment_39054" aria-describedby="caption-attachment-39054" style="width: 640px" class="wp-caption aligncenter"><a href="https://linuxundich.de/wp-content/uploads/2016/03/synology-btrfs-snapshots.png" rel="attachment wp-att-39054"><img loading="lazy" decoding="async" class="size-medium wp-image-39054" src="https://linuxundich.de/wp-content/uploads/2016/03/synology-btrfs-snapshots-640x430.png" alt="Die Snapshot-Funktion für Btrfs müsst ihr aus dem Paketzentrum nachinstallieren." width="640" height="430" srcset="https://linuxundich.de/wp-content/uploads/2016/03/synology-btrfs-snapshots-640x430.png 640w, https://linuxundich.de/wp-content/uploads/2016/03/synology-btrfs-snapshots-625x420.png 625w, https://linuxundich.de/wp-content/uploads/2016/03/synology-btrfs-snapshots-537x360.png 537w, https://linuxundich.de/wp-content/uploads/2016/03/synology-btrfs-snapshots-681x458.png 681w, https://linuxundich.de/wp-content/uploads/2016/03/synology-btrfs-snapshots.png 1200w" sizes="auto, (max-width: 640px) 100vw, 640px"></a><figcaption id="caption-attachment-39054" class="wp-caption-text">Die Snapshot-Funktion für Btrfs müsst ihr aus dem Paketzentrum nachinstallieren.</figcaption></figure>
<figure id="attachment_39056" aria-describedby="caption-attachment-39056" style="width: 640px" class="wp-caption aligncenter"><a href="https://linuxundich.de/wp-content/uploads/2016/03/synology-btrfs-snapshots-zeitplan.png" rel="attachment wp-att-39056"><img loading="lazy" decoding="async" class="wp-image-39056 size-medium" src="https://linuxundich.de/wp-content/uploads/2016/03/synology-btrfs-snapshots-zeitplan-640x430.png" alt="" width="640" height="430" srcset="https://linuxundich.de/wp-content/uploads/2016/03/synology-btrfs-snapshots-zeitplan-640x430.png 640w, https://linuxundich.de/wp-content/uploads/2016/03/synology-btrfs-snapshots-zeitplan-625x420.png 625w, https://linuxundich.de/wp-content/uploads/2016/03/synology-btrfs-snapshots-zeitplan-537x360.png 537w, https://linuxundich.de/wp-content/uploads/2016/03/synology-btrfs-snapshots-zeitplan-681x458.png 681w, https://linuxundich.de/wp-content/uploads/2016/03/synology-btrfs-snapshots-zeitplan.png 1200w" sizes="auto, (max-width: 640px) 100vw, 640px"></a><figcaption id="caption-attachment-39056" class="wp-caption-text">Über einen Zeitplan regelt ihr, wie oft das System einen neuen Snapshot des gemeinsamen Ordners erstellen soll.</figcaption></figure>
<figure id="attachment_39057" aria-describedby="caption-attachment-39057" style="width: 640px" class="wp-caption aligncenter"><a href="https://linuxundich.de/wp-content/uploads/2016/03/synology-btrfs-snapshots-aufbewahrung.png" rel="attachment wp-att-39057"><img loading="lazy" decoding="async" class="wp-image-39057 size-medium" src="https://linuxundich.de/wp-content/uploads/2016/03/synology-btrfs-snapshots-aufbewahrung-640x430.png" alt="" width="640" height="430" srcset="https://linuxundich.de/wp-content/uploads/2016/03/synology-btrfs-snapshots-aufbewahrung-640x430.png 640w, https://linuxundich.de/wp-content/uploads/2016/03/synology-btrfs-snapshots-aufbewahrung-625x420.png 625w, https://linuxundich.de/wp-content/uploads/2016/03/synology-btrfs-snapshots-aufbewahrung-537x360.png 537w, https://linuxundich.de/wp-content/uploads/2016/03/synology-btrfs-snapshots-aufbewahrung-681x458.png 681w, https://linuxundich.de/wp-content/uploads/2016/03/synology-btrfs-snapshots-aufbewahrung.png 1200w" sizes="auto, (max-width: 640px) 100vw, 640px"></a><figcaption id="caption-attachment-39057" class="wp-caption-text">Damit der Speicher trotz der sparsamen Btrfs-Snapshots nicht vollläuft, erstellt ihr einen Plan zum Aufräumen.</figcaption></figure>
<h2>Zugriff geht auch über den Dateimanager</h2>
<p>Der Vorteil der Btrfs-Snapshots liegt nun darin, dass ihr über einen ganz normalen Dateimanager Zugriff auf die Sicherungen erhaltet. Im Stammordner eines jeden gemeinsamen Ordners des Systems (bei dem ihr die Snapshot-Funktion aktiviert habt) erscheint ein Verzeichnis mit der Bezeichnung #snapshots &#8212; unter Windows ist dies mit einem Kamera-Icon hervorgehoben. In diesem findet ihr die bisher angelaufenen Sicherungen; in diesen dann direkt den Stand eurer Daten zum Zeitpunkt der Sicherung. Löscht ihr also nun mal eine Datei oder ein Verzeichnis aus Versehen oder seid ihr mit einer Änderung an einem Dokument unzufrieden und möchtet einen älteren Stand wiederherstellen, dann müsst ihr einfach nur die #Snapshots ansteuern und die verbastelte Datei mit der gewünschten Version überschreiben.</p>
<figure id="attachment_38952" aria-describedby="caption-attachment-38952" style="width: 640px" class="wp-caption aligncenter"><a href="https://linuxundich.de/wp-content/uploads/2016/02/double-commander-btrfs.png" rel="attachment wp-att-38952"><img loading="lazy" decoding="async" class="size-medium wp-image-38952" src="https://linuxundich.de/wp-content/uploads/2016/02/double-commander-btrfs-640x443.png" alt="Die Btrfs-Snapshots lassen sich direkt im Dateinmanager aufrufen." width="640" height="443" srcset="https://linuxundich.de/wp-content/uploads/2016/02/double-commander-btrfs-640x443.png 640w, https://linuxundich.de/wp-content/uploads/2016/02/double-commander-btrfs-607x420.png 607w, https://linuxundich.de/wp-content/uploads/2016/02/double-commander-btrfs-681x471.png 681w, https://linuxundich.de/wp-content/uploads/2016/02/double-commander-btrfs.png 1091w" sizes="auto, (max-width: 640px) 100vw, 640px"></a><figcaption id="caption-attachment-38952" class="wp-caption-text">Die Btrfs-Snapshots lassen sich direkt im Dateinmanager aufrufen.</figcaption></figure>
<figure id="attachment_38953" aria-describedby="caption-attachment-38953" style="width: 640px" class="wp-caption aligncenter"><a href="https://linuxundich.de/wp-content/uploads/2016/03/windows-explorer-btrfs.png" rel="attachment wp-att-38953"><img loading="lazy" decoding="async" class="size-medium wp-image-38953" src="https://linuxundich.de/wp-content/uploads/2016/03/windows-explorer-btrfs-640x439.png" alt="Mit dem Windows Explorer gelingt der Zugriff auf die Btrfs-Snapshots selbstverständlich auch." width="640" height="439" srcset="https://linuxundich.de/wp-content/uploads/2016/03/windows-explorer-btrfs-640x439.png 640w, https://linuxundich.de/wp-content/uploads/2016/03/windows-explorer-btrfs-613x420.png 613w, https://linuxundich.de/wp-content/uploads/2016/03/windows-explorer-btrfs-681x467.png 681w, https://linuxundich.de/wp-content/uploads/2016/03/windows-explorer-btrfs.png 1120w" sizes="auto, (max-width: 640px) 100vw, 640px"></a><figcaption id="caption-attachment-38953" class="wp-caption-text">Mit dem Windows Explorer gelingt der Zugriff auf die Btrfs-Snapshots selbstverständlich auch.</figcaption></figure>
<p>Im Großen und Ganzen deckt man so mit Btrfs und einem RAID 1 schon zahlreiche Szenarien ab. Fällt eine der Platten aus, ist auf der zweiten alles gespielt. Also einfach die defekte Platte ausbauen, eine neue einsetzen und das System das RAID wiederherstellen lassen. Die Snapshots decken jetzt die Fälle ab, bei denen man als User zu dumm war: Also versehentliches Löschen und Änderungen an Daten, die man später bereut. Hängt man nun noch in regelmäßig Abständen eine externe Festplatte an das NAS und lässt eine &#8222;richtige&#8220; Sicherung erstellen, ist man auch vor Komplettausfällen des NAS-Geräts abgesichert.</p>
<h2>Gegen Bitrot sichern die Btrfs-Snapshots noch nicht</h2>
<p>Einzig gegen den vorhin angesprochenen &#8222;Bitrot&#8220; oder besser die Silent Data Corruption ist die Synology-Lösung noch nicht das Wahre. Dies liegt nicht an Btrfs selber, sondern an der Art und Weise wie Synology den Speicher organisiert: Bei einem klassischen Software-RAID (Mdadm-RAID) übernimmt das System die Daten von dem Speichermedium, das sich als Erstes meldet. Btrfs wählt hingegen nun aber die Quelle aus, bei der auch die Prüfsumme der ausgelieferten Daten stimmt (deswegen müsst ihr wie oben beschrieben die Option <em>Erweiterten Datenintegritätsschutz</em> aktivieren<em>)</em>. Von Bitrot beschädigte Daten fallen dann sofort auf, so dass das System sie theoretisch automatisch mit jenen aus dem intakten Datenbereich ersetzen kann.</p>
<p>Synology legt nun aber unter das Btrfs-RAID ein LVM, wodurch diese automatische Korrektur nicht mehr möglich ist. Das System erkennt nun zwar eine Datei mit defekten Bits, da die Prüfsummen nicht stimmen. Es kann den Schaden aber nicht mehr automatisch reparieren, da es nicht weiß, von welcher Platte die defekten Daten stammen &#8212; Ich muss das Szenario noch austesten, aktuell habe ich hier keine Festplatten übrig. Im Forum von Synology gibt es zu diesem Thema eine <a href="https://forum.synology.com/enu/viewtopic.php?f=260&amp;t=104519&amp;start=60" target="_blank" rel="noopener">ausführliche Diskussion</a>, und auch Synology musste schon Marketingmaterial ändern, weil die die Implementation von Btrfs seitens Synology diesen Schutz nicht bietet. Vielleicht ist das auch ein Grund, warum Synology DSM 6.0 bisher noch nicht offiziell an den Start gebracht hat.</p>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://linuxundich.de/gnu-linux/synology-btrfs-snapshots/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
	</channel>
</rss>
