Wenn ich erschaffeein Multi-Device-BTRFS-Dateisystem. Die offizielle Empfehlung in der Dokumentation scheint zu sein, es auf Rohgeräten zu erstellen, d. h. /dev/sdb
, /dev/sdc
, usw., aber das wird nicht erklärt.
Gibt es Vorteile, wenn man auf diesen Geräten zuerst eine Partitionstabelle (GPT oder MBR) erstellt und dann das Dateisystem auf usw. erstellt /dev/sdb1
? /dev/sdc1
Hat es einen besonderen Vorteil, ganze Geräte mit btrfs zu versorgen, oder sind diese grundsätzlich gleichwertig?
Antwort1
Partitionieren ist lediglich eine Möglichkeit, eine Festplatte in mehrere Volumes aufzuteilen, die unabhängig voneinander verwendet werden können. Wenn Sie nur ein Volume pro Festplatte möchten, bringt Ihnen Partitionieren nichts – es verbraucht nur zusätzlichen Speicherplatz (ja, er ist sehr klein) und erschwert Dinge wie das Ausrichten Ihrer Daten auf Festplatten mit 4K-Sektoren oder Flash-Laufwerken. Der einzige andere Grund für eine Partitionstabelle ist das Booten von diesem Laufwerk. Wenn es keinen Grund für eine Partitionstabelle gibt, ist es einfacher, sie einfach wegzulassen.
Antwort2
Die Partitionierung hat eine Reihe von Nachteilen. MBR verschwendet eine ganze „Spur“. Eine Spur ist die Anzahl der Sektoren mal Sektorgröße, aber eine echte Festplatte hat Sektoren und die Sektorgröße beträgt nicht 512o. Eine echte Festplatte hat Blöcke, die bei rotierenden Festplatten 8-mal größer und bei Flash-Geräten noch viel größer sind. Diese Verschiebung zur nächsten Spur kann es unmöglich machen, „logische“ Sektoren mit tatsächlichen Blöcken unter Verwendung von Stride und Stripe auszurichten.
Früher konnte man die Sektorgröße in FAT definieren, aber MBR hat dem ein Ende gesetzt.
Wenn Sie von der CD booten, benötigt das BIOS am Ende der ersten 512 Byte eine Boot-Signatur, damit es weiß, dass es dies ausführen kann, wenn es geladen wird. Wenn Sie EFI verwenden, betrinken Sie sich. Das Dateisystem müsste hierfür eine Lücke aufweisen, wenn es zum Booten des Systems verwendet werden soll.
XFS (meistens auf /var auf rotierenden Datenträgern verwendet) hat kein solches Loch.
Antwort3
Wenn ich das richtig verstehe, kann BTRFS durch die Verwendung ganzer Festplatten einige Annahmen treffen, die eine gewisse Verhaltensoptimierung ermöglichen.
Wenn dem System beispielsweise volle Geräte zum Arbeiten zur Verfügung gestellt werden, kann es davon ausgehen, dass es beim Zugriff auf das Gerät keine Hindernisse gibt. Es kann seine Zugriffsmethoden entsprechend anpassen und muss nicht mit regelmäßigen Verzögerungen rechnen, weil etwas anderes von einer anderen Stelle auf dem Gerät Daten anfordert. Außerdem muss es nicht warten, bis das Laufwerk nach der Bearbeitung der anderen Anforderung wieder bei ihm ankommt.
Antwort4
Verwenden Sie separate Festplatten, um die Lese-/Speichergeschwindigkeit der Festplatte zu verbessern.
Grundsätzlich /dev/sda
ist eine Festplatte und /dev/sda1
sind /dev/sda2
Teile derselben physischen Festplatte.
Wenn Sie für Ihr Setup /dev/sda
, + verwenden /dev/sdb
, können Sie gleichzeitig von zwei separaten Festplatten abrufen.
Wenn Sie /dev/sda1
/dev/sda2
dann verwenden, versucht dieselbe Festplatte, beide Daten zu lesen, und muss daher erst das eine und dann das andere ausführen.