Beruflich Dokumente
Kultur Dokumente
Installation Auf Flashmedien Wiki Ubuntuusers - de
Installation Auf Flashmedien Wiki Ubuntuusers - de
de
Dieser Artikel erfordert mehr Erfahrung im Umgang mit Linux und ist daher nur für fortgeschrittene
Benutzer gedacht.
Inhaltsverzeichnis
Flashbench
Aus dem Quellcode
Werte
Dateisystem anlegen
Links
Dieser Artikel soll einen kurzen Überblick verschaffen, wie eine SD-Karte für optimale
Geschwindigeit vorzubereiten ist, um darauf ein Ubuntu-/Linuxsystem optimal zu betreiben. Der Artikel
selber versteht sich als Vorbereitung für die Installation auf externen Speichermedien.
Da Linux standardmäßig für die Nutzung auf klassischen Festplatten optimiert ist, soll dieser Artikel dabei
helfen, Zugriffszeiten und Schreibzugriffe zu reduzieren bzw. zu optimieren. Während bei einer normalen
Festplatte bei Änderungen einer Datei nur die zu ändernden Daten neu geschrieben bzw. erweitert werden,
müssen bei einer SD-Karte ganze Bereiche ausgelesen und neu geschrieben werden. Dieses mag bei großen
Dateien unwichtig sein (ob nun 1004 MiB statt 1000 MiB neu geschrieben werden), aber wenn viele kleine
Dateien geschrieben werden müssen (z.B. 3 Logdateien à 4 KiB = 12 KiB oder 3 × 4 MiB = 12 MiB), die
verteilt auf der SD-Karte liegen, führt dieses zu erheblichen Geschwindigkeitseinbrüchen beim
Schreibvorgang. Um dieses zu verhindern, kann das Speichermedium dahingehend optimiert werden,
Schreibvorgänge vorzuhalten und erst ab einer gewissen Größe diese, sozusagen "in einem Rutsch",
abzuarbeiten.
Es empfiehlt sich, die SD-Karte nicht während der Installation, sondern bereits im Vorfeld entsprechend zu
optimieren. Die benötigten Daten zur optimalen Partitionierung liefert das Werkzeug Flashbench �.
Hinweis:
Da Speicherkarten bzw. -Sticks grundsätzlich, bis auf extrem teure Sonderausführungen, relativ langsam im
Vergleich zu Festplatten sind, empfiehlt es sich immer, Lubuntu bzw. Xubuntu als Grundsystem für die
Installation zu nutzen. Diese Systeme sind für die Verwendung auf leistungsschwacher Hardware ausgelegt.
Außerdem empfiehlt sich mindestens eine SD-Karte der Geschwindigkeitskategorie Class 6 oder höher!
Flashbench¶
Das Programm ist seit Ubuntu 14.04 Bestandteil der offiziellen Paketquellen. Folgendes Paket muss
installiert werden [1]:
flashbench (universe)
Nun stehen die beiden Programme flashbench und flashbench-erase zur Verfügung.
Zum Kompilieren [3] aus dem Quellcode wird folgendes Metapaket benötigt:
build-essential
Jetzt muss die aktuelle Version von Flashbench als Archivdatei linaro.zip ⮷ heruntergeladen und
anschließend entpackt [4] werden.
Nun wird ein Terminal geöffnet und in das entpackte Verzeichnis gewechselt (XYZ ist entsprechend der
Version anzupassen). Das Programm wird durch Eingabe des Befehls make kompiliert [5]:
Nun stehen im selben Verzeichnis 2 neue ausführbare Dateien zu Verfügung: flashbench und erase.
vergrößern
Nun kann mit Flashbench schnell und sicher die Erasureblockgröße von Flashmedien ermittelt werden. Je
nachdem, ob Flashbench nur kompiliert oder richtig installiert wurde, werden folgende Befehle zum Starten
benötigt [3]:
Die Ausgabe ist auf einen "Sprung" in der letzten Spalte (diff) abzusuchen (normalerweise zwischen 2 und
16 MiB). In diesem Beispiel sieht man zwischen 2 MiB und 4 MiB einen plötzlichen Anstieg der
Differenzzeiten von 171µs auf 317µs. In diesem Beispiel ist 4 MiB die Erasureblockgröße, mit der ab hier
gerechnet wird.
Hinweis:
Als Erasureblock wird der Block bezeichnet, welcher bei allen Flashmedien komplett ausgelesen und neu
geschrieben werden muss, um Daten auf einem Flashmedium zu ändern. Hinkendes Beispiel: Um einen
"Plattfuß" am PKW zu beheben, müssen alle 4 Reifen (4 MiB-Block) ab- und wieder angeschraubt werden,
obwohl eigentlich nur ein Reifen (1 Bit) gewechselt werden muss.
Werte¶
Kurze Übersicht der Werte, mit denen im weiteren Verlauf gearbeitet wird:
Ermittelte Werte
Erasureblocksize 4 gemessen mit Flashbench
MiB
SD-Karten 8 Standardwert von SD-Karten
Pagesize KiB
Blocksize ext4 4
KiB
stride-Wert ext4 2 2x Blocksize 4KiB = 8 KiB Pagesize
stripe-size ext4 512
optimale 8192 jede Partition muss auf ein Vielfaches von 8192 beginnen: 4 MiB
Sektorgröße (4*1024*1024 Byte) Erasursize / 512 Byte Größe einzelner Sektor = 8192
Sektoren
Achtung!
Beim Formatieren des Datenträgers gehen alle darauf befindlichen Daten verloren.
Mit GNU Parted steht ein Tool zur Verfügung, dass das manuelle Rechnen für optimales Alignment erspart.
Zuerst wird in den interaktiven Modus für den entsprechenden Datenträger gewechselt:
Und dann die Einheit für Ein- und Ausgabeformat auf das besser lesbare MiB gesetzt.
Anschließend wird die erste Partition angelegt. STARTWERT und ENDWERT sind dabei Anfangs- und
Endwert vom Anfang des Datenträgers gemessen und werden in MiB angegeben. Die Differenz
STARTWERT - ENDWERT muss durch den mit Flashbench ermittelten Wert teilbar sein. Für den
Bootloader sollten am Anfang der Platte mindestens ca. 2 MiB freigelassen werden:
Hinweis:
Alle weiteren Partitionen werden mit dem selben Befehl erstellt, aber mit angepassten Start- und Endwerten.
Welche Größe die Partitionen haben müssen/sollten und welche Partitionen nötig sind, wird im Artikel
Partitionierung erklärt.
Die Partitionen sollten nun jeweils auf einer ungeraden Zahl enden, damit die nachfolgende Partition auf
einem Vielfachen der optimale Sektorgröße (im Beispiel 8192) beginnen kann!
Mit
kann nachgeschaut werden, ob die Partition N (natürliche Zahl) korrekt ausgerichtet ist. Ist dies der Fall,
sieht man eine Ausgabe der Form:
Dateisystem anlegen¶
Nun müssen die Dateisysteme für die erstellten Partitionen, z.B. für / und /home mit den oben ermittelten
Werten angelegt werden:
mkfs.ext4 Parameter
-O ^has_journal kein Journal anlegen
-E Stride=2,stripe- Stride=2 bedeutet 2x 4096 Byte Blockwidth = 8 KiB
width=512
stripe-width=512 ist der Erasurewert → 512 (*8 KiB Blockwidth=4 MiB
Erasuresize)
-b Blockwidth 4096 Byte
-L Name der Partition (optional)
Nun ist die SD-Karte sowohl entsprechend ausgerichtet (Alignment) als auch das Dateisystem entsprechend
modifiziert. Das Grundsystem kann nun installiert werden.
Hinweis:
Während der Installation ist darauf zu achten, das als Installationsart "etwas anderes" angeklickt wird und
die Partitionen nicht formatiert werden!
Nach der Installation sollten/können noch einige Parametern geändert werden. Dazu sind die folgenden
Dateien mit dem Editor zu bearbeiten:
Achtung!
Für weitere Optimierungsmöglichkeiten empfiehlt sich ein Blick ins Wiki zum Thema SSD-Festplatten.
Links¶
SSD Übersichtsartikel
Installation Übersichtsartikel