zpool zerstört Label

laenger

ACME Produkttester
zpool zerstört Label [gelöst]

Hello zusammen,

leider scheitere ich beim Versuch ein raidz aus 3 gelabelten Festplatten zu erstellen.
Folgende Konfiguration:
Verbaut sind 4 Festplatten.
/dev/ada0 für das System, die restlichen 3 sollen zu einem ZFS-Pool zusammengefasst werden.

Code:
[B]# uname -mv[/B]
FreeBSD 9.1-RELEASE #0 r243825: Tue Dec  4 09:23:10 UTC 2012     [email]root@farrell.cse.buffalo.edu[/email]:/usr/obj/usr/src/sys/GENERIC  amd64
Auf der Systemfestplatte sind bereits zwei Label vorhanden.
Code:
[B]# ls -al /dev/label[/B]
total 0
crw-r-----  1 root  operator    0, 137 Feb 15 22:22 rootfs
crw-r-----  1 root  operator    0, 140 Feb 15 21:22 swap

[B]# camcontrol devlist[/B]
<ST3250620AS 3.AAE>                at scbus0 target 0 lun 0 (ada0,pass0)
<WDC WD20EFRX-68AX9N0 80.00A80>    at scbus2 target 0 lun 0 (ada1,pass1)
<WDC WD20EFRX-68AX9N0 80.00A80>    at scbus3 target 0 lun 0 (ada2,pass2)
<WDC WD20EFRX-68AX9N0 80.00A80>    at scbus4 target 0 lun 0 (ada3,pass3)

Jetzt werden die 3 Festplatten welche den ZFS-Pool bilden sollen gelabelt.
Code:
[B]# glabel label ZFS1 /dev/ada1
# glabel label ZFS2 /dev/ada2
# glabel label ZFS3 /dev/ada3[/B]

Die Label wurden ordnungsgemäß erstellt.
Code:
[B]# glabel list | grep -A3 -B3 ZFS[/B]
Geom name: ada3
Providers:
1. Name: label/ZFS3
   Mediasize: 2000398933504 (1.8T)
   Sectorsize: 512
   Stripesize: 4096
--

Geom name: ada2
Providers:
1. Name: label/ZFS2
   Mediasize: 2000398933504 (1.8T)
   Sectorsize: 512
   Stripesize: 4096
--

Geom name: ada1
Providers:
1. Name: label/ZFS1
   Mediasize: 2000398933504 (1.8T)
   Sectorsize: 512
   Stripesize: 4096

Bei den verwendeten Datenträgern handelt es sich um 3 gleiche Western Digital RED Festplatten.
Code:
[B]# diskinfo -v /dev/label/ZFS1[/B]
/dev/label/ZFS1
	512         	# sectorsize
	2000398933504	# mediasize in bytes (1.8T)
	3907029167  	# mediasize in sectors
	4096        	# stripesize
	0           	# stripeoffset
	3876020     	# Cylinders according to firmware.
	16          	# Heads according to firmware.
	63          	# Sectors according to firmware.

Wenn ich das richtig verstanden habe besitzen diese Festplatten 4K-Sektoren täuschen jedoch 512byte-Sektoren vor.
In Kombination mit ZFS sollte man ashift=12 verwenden (2^12=4096).

Dies hab ich mit Hilfe von gnop gemacht.
Code:
[B]# gnop create -S 4096 /dev/label/ZFS1
# gnop create -S 4096 /dev/label/ZFS2
# gnop create -S 4096 /dev/label/ZFS3[/B]

Überprüft mit:
Code:
[B]# ls -l /dev/label[/B]
total 0
crw-r-----  1 root  operator    0, 163 Feb 15 21:36 ZFS1
crw-r-----  1 root  operator    0, 164 Feb 15 21:54 ZFS1.nop
crw-r-----  1 root  operator    0, 162 Feb 15 21:36 ZFS2
crw-r-----  1 root  operator    0, 165 Feb 15 21:54 ZFS2.nop
crw-r-----  1 root  operator    0, 153 Feb 15 21:36 ZFS3
crw-r-----  1 root  operator    0, 166 Feb 15 21:54 ZFS3.nop
crw-r-----  1 root  operator    0, 137 Feb 15 22:22 rootfs
crw-r-----  1 root  operator    0, 140 Feb 15 21:22 swap

Jetzt kann der Pool erstellt werden.
Code:
[B]# zpool create -m /mnt/zpool daten raidz /dev/label/ZFS{1,2,3}.nop[/B]

[B]# zpool status[/B]
  pool: daten
 state: ONLINE
  scan: none requested
config:

	NAME                STATE     READ WRITE CKSUM
	daten               ONLINE       0     0     0
	  raidz1-0          ONLINE       0     0     0
	    label/ZFS1.nop  ONLINE       0     0     0
	    label/ZFS2.nop  ONLINE       0     0     0
	    label/ZFS3.nop  ONLINE       0     0     0

[B]# zdb | grep ashift[/B]
            ashift: 12

Nun wird der Pool exportiert und gnop node entfernt.
Code:
[B]# zpool export daten
# gnop destroy /dev/label/ZFS1.nop /dev/label/ZFS2.nop /dev/label/ZFS3.nop[/B]

Überprüft:
Code:
[B]# ls -l /dev/label[/B]
total 0
crw-r-----  1 root  operator    0, 163 Feb 15 21:36 ZFS1
crw-r-----  1 root  operator    0, 162 Feb 15 21:36 ZFS2
crw-r-----  1 root  operator    0, 153 Feb 15 21:36 ZFS3
crw-r-----  1 root  operator    0, 137 Feb 15 22:22 rootfs
crw-r-----  1 root  operator    0, 140 Feb 15 21:22 swap

Der Pool wird nun wieder importiert.
Code:
[B]# zpool import daten
# zpool status[/B]
  pool: daten
 state: ONLINE
  scan: none requested
config:

	NAME            STATE     READ WRITE CKSUM
	daten           ONLINE       0     0     0
	  raidz1-0      ONLINE       0     0     0
	    label/ZFS1  ONLINE       0     0     0
	    label/ZFS2  ONLINE       0     0     0
	    [COLOR="Red"][B]ada3[/B][/COLOR]        ONLINE       0     0     0

Genau hier liegt mein Problem. Warum wird die letzte Festplatte nicht mit ihrem Label im zpool eingefügt?
Eine erneute Auflistung zeigt mir, dass die letzte Festplatte kein Label Besitzt.
Code:
[B]# ls -l /dev/label[/B]
total 0
crw-r-----  1 root  operator    0, 163 Feb 15 21:36 ZFS1
crw-r-----  1 root  operator    0, 162 Feb 15 21:36 ZFS2
crw-r-----  1 root  operator    0, 137 Feb 15 22:22 rootfs
crw-r-----  1 root  operator    0, 140 Feb 15 21:22 swap
ZFS3 fehlt :confused:

Nehme ich diese Festplatt hingegen wieder aus dem Pool heraus, erscheint das Label wieder.
Code:
[B]# zpool offline daten ada3
# ls -l /dev/label[/B]
total 0
crw-r-----  1 root  operator    0, 163 Feb 15 21:36 ZFS1
crw-r-----  1 root  operator    0, 162 Feb 15 21:36 ZFS2
crw-r-----  1 root  operator    0, 144 Feb 15 22:16 ZFS3
crw-r-----  1 root  operator    0, 137 Feb 15 22:22 rootfs
crw-r-----  1 root  operator    0, 140 Feb 15 21:22 swap

Erneutes hinzufügen der Festplatte lässt das Label wieder verschwinden und im Pool wird diese wieder als ada3 und nicht per Labelname eingebunden.
Auch ein Neustart des Systems ändert daran nichts.

Bin für alle Tipps, Tricks und jegliche Hilfe dankbar,
laenger
 
Last edited:
Versuch mal zpool import -d /dev/label

Das kommt daher, dass mehrere devices existieren, die als potentielle Komponenten eines vdev erkannt werden, je nachdem welches zuerst gefunden wird.

Mit -d /dev/label beschränkst du die Suche auf dieses Verzeichnis.

Es ist halt reichlich braindead von ZFS, die Komponenten automatisch zu suchen, wenn es im System Mechanismen gibt, die devices mehrfach unterschiedlich abbilden.

Es sollte wohl zuerst nach gelabelten devices gesucht werden, bevor man an die "rohen" devices geht.
 
Also das Problem dürfte sein, wie glabel und ZFS (nicht) miteinander zusammen arbeiten. ZFS sucht auf allen GEOM Providern nach seinen Metadaten. Glabel schreibt sein Label allerdings ans Ende des Consumers. Wird nun das Device zu erst ohne Label gefunden sieht ZFS das ganze Device. Die Lösung ist die Platten nicht nur zu labeln sondern zu formatieren.

Code:
for INDEX in 1 2 3; do
    gpart create -s gpt ada$INDEX
    gpart add -a 1m -t freebsd-zfs -l zfs$INDEX ada$INDEX
done
 
Ich habe gerade meinen Pool zerstört und neu angelegt. Diesmal jedoch ohne gnop zu verwenden.

Code:
[B]# zpool destroy daten
# ls -l /dev/label[/B]
total 0
crw-r-----  1 root  operator    0, 144 Feb 16 08:37 ZFS1
crw-r-----  1 root  operator    0, 145 Feb 16 08:37 ZFS2
crw-r-----  1 root  operator    0, 146 Feb 16 08:37 ZFS3
crw-r-----  1 root  operator    0, 137 Feb 16 09:37 rootfs
crw-r-----  1 root  operator    0, 140 Feb 16 08:37 swap

[B]# zpool create -m /mnt/zpool daten raidz /dev/label/ZFS{1,2,3}
# zpool status[/B]
  pool: daten
 state: ONLINE
  scan: none requested
config:

	NAME            STATE     READ WRITE CKSUM
	daten           ONLINE       0     0     0
	  raidz1-0      ONLINE       0     0     0
	    label/ZFS1  ONLINE       0     0     0
	    label/ZFS2  ONLINE       0     0     0
	    label/ZFS3  ONLINE       0     0     0
Ohne gnop funktioniert alles problemlos.
Auch exportieren und importieren.

Allerdings:
Code:
[B]# zdb | grep ashift[/B]
            ashift: 9

Laut dem Wiki http://wiki.bsdforen.de/zfs_ashift bringt mir das leider nichts, da der Pool neu erstellt werden muss um ashift zu ändern.


@ TCM

Vielen Dank für den Tipp, so scheint es zu funktionieren.

Code:
[B]# zpool destroy daten
# gnop create -S 4096 /dev/label/ZFS1
# gnop create -S 4096 /dev/label/ZFS2
# gnop create -S 4096 /dev/label/ZFS3
# ls -l /dev/label[/B]
total 0
crw-r-----  1 root  operator    0, 144 Feb 16 08:48 ZFS1
crw-r-----  1 root  operator    0, 153 Feb 16 08:51 ZFS1.nop
crw-r-----  1 root  operator    0, 145 Feb 16 08:48 ZFS2
crw-r-----  1 root  operator    0, 162 Feb 16 08:51 ZFS2.nop
crw-r-----  1 root  operator    0, 146 Feb 16 08:48 ZFS3
crw-r-----  1 root  operator    0, 163 Feb 16 08:51 ZFS3.nop
crw-r-----  1 root  operator    0, 137 Feb 16 09:48 rootfs
crw-r-----  1 root  operator    0, 140 Feb 16 08:48 swap

[B]# zpool create -m /mnt/zpool daten raidz /dev/label/ZFS{1,2,3}.nop
# zpool export daten
# zpool import -d /dev/label daten
# zpool status[/B]
  pool: daten
 state: ONLINE
  scan: none requested
config:

	NAME            STATE     READ WRITE CKSUM
	daten           ONLINE       0     0     0
	  raidz1-0      ONLINE       0     0     0
	    label/ZFS1  ONLINE       0     0     0
	    label/ZFS2  ONLINE       0     0     0
	    label/ZFS3  ONLINE       0     0     0

errors: No known data errors

Ein späteres Exportieren und erneutes Importieren (ohne den Parameter -d /dev/label) funktioniert problemlos.

Code:
[B]# zpool export daten
# zpool import daten
# zpool status[/B]
  pool: daten
 state: ONLINE
  scan: none requested
config:

	NAME            STATE     READ WRITE CKSUM
	daten           ONLINE       0     0     0
	  raidz1-0      ONLINE       0     0     0
	    label/ZFS1  ONLINE       0     0     0
	    label/ZFS2  ONLINE       0     0     0
	    label/ZFS3  ONLINE       0     0     0

[B]# zdb | grep ashift[/B]
            ashift: 12

Stimmt, ZFS sollte zuerst in /dev/label suchen und dann erst anhand der Devices.

Vielen Dank für die schnelle Hilfe :)
 
Last edited:
@ Crest

Vielen Dank für die Erklärung.
Dabei verstehe ich allerdings nicht warum in meinem Fall die beiden Label label/ZFS1 und label/ZFS2 in den Pool genommen werden, label/ZFS3 jedoch nicht?
Hierbei sollten doch entweder alle Label übernommen werden, oder eben keines.

Beste Grüße,
laenger
 
Last edited:
So, ich hab nun noch ein bisschen experimentiert und habe folgendes herausgefunden:

Zunächst wurde eine fünfte Festplatte am Motherboard angeschlossen.
So wie es sein soll, wird diese auch vom System als /dev/ada4 erkannt.
Nun wiederholte ich sämtliche Schritte aus meinem ersten Post zum erstellen des Pools aus den 3 Festplatten.
Nachdem die gnop nodes zerstört wurden, wird der Pool ohne die Option -d /dev/label importiert und siehe da, der Pool verwendet die Label der 3 Festplatten.
Wird jetzt die 5. Festplatte ausgebaut, so bleiben die Label erhalten.
Exportieren und Importieren funktioniert auch ganz normal.

Das ist ein etwas seltsames Verhalten von ZFS :confused:
Die 5. Festplatte wird dabei eigentlich nicht wirklich verwendet, sie muss lediglich am System angeschlossen sein.
Leider habe ich keine Möglichkeit dies an einem anderen PC zu testen.
Ohne 5. Festplatte erhalte ich wieder den zuvor beschriebenen Fehler vom Anfang des Threads.

Wie gesagt, mit dem Tipp von TCM funktioniert alles wie es soll :)

Beste Grüße,
laenger
 
Das geht jetzt in den Bereich Voodoo.

Die Reihenfolge, in der die Platten abgefragt werden, ist anscheinend einfach undefiniert, fertig. D.h. nicht, dass sie zufällig ist, sie ist aber auch nicht jedes Mal gleich. Du kannst sie einfach nicht vorhersagen und solltest dementsprechend handeln.

Da jetzt irgendwelche Muster erkennen zu wollen, wie man die Reihenfolge evtl. beeinflusst, ist Cargo-Kult IT
 
Hehe, ja das stimmt :rolleyes:

Wie gesagt, die sauberste Lösung ist den Pool mit dem Parameter -d /dev/label zu importieren.

Nachdem eine zufriedenstellende Lösung gefunden wurde, werde ich den Thread mal als gelöst markieren.

Danke nochmal,
laenger
 
Sobald ein geom Provider verwendet wird, werden alle Labels von geom zerstört. Nur wenn der Provider über das Label verwendet wird nicht.

Erst wenn der Provider wieder freigegeben wird, wird auch das Label neu erzeugt.

Ich schätze, wenn du ohne -d /dev/label arbeitest, kann es passieren, dass beim anschauen der Partitionen Label zerstört werden und noch nicht wieder da sind, wenn ZFS rein sehen will.
 
Mach dir das leben nicht schwerer als nötig und benutze GPT Formatierung. Diese löst das Problem indem die Labels außerhalb der Partitionen in der Partitionstabelle stehen.
 
"Labeln" hat mir auch den Kopf warum gerieben. Erst als ich eine Festplatte als OFFLINE markiert hatte um dann eine korrekte GPT zu erstellen konnte ich die Platte unter einem Label via "replace" in den Pool zurück holen. Das funktioniert sehr gut.
 
Solange du noch beim Pools erstellen bist denk an ashift=12 für Platten mit 4kB Sektoren.

Moin! Meine Festplatten werden alle als 512 Byte Sector-Platten gemeldet.
Jedoch habe ich nichts konfiguriert sondern ZFS hat ashift=9 eingesetzt und
das würde 2^9 wieder 512 ergeben.

Muss man das unbedingt tun(fish)? Das ist doch eine Performance-Tuning-Maßnahme oder?
Ich würde jetzt ungern alles wieder zerreissen um von 512 -> 4096 Sectorgrößen zu kommen.
 
Okay...
Also gpt scheint der bessere Weg zu sein - danke für den Tipp!
Ich habe mir die Manpages von GPART(8) mal etwas genauer durchgelesen.
Vorgegangen bin ich wie folgt:

Zunächst wurden die Partitionstabellen erstellt.
Code:
[B]# gpart create -s gpt /dev/ada1
# gpart create -s gpt /dev/ada2
# gpart create -s gpt /dev/ada3[/B]

Dann habe ich wie von Crest vorgeschlagen die Partitionen mit Label angelegt.
Code:
[B]# gpart add -a 1m -t freebsd-zfs -l ZFS1 /dev/ada1
# gpart add -a 1m -t freebsd-zfs -l ZFS2 /dev/ada2
# gpart add -a 1m -t freebsd-zfs -l ZFS3 /dev/ada3

# gpart show[/B]
=>        34  3907029101  ada1  GPT  (1.8T)
          34        2014        - free -  (1M)
        2048  3907026944     1  freebsd-zfs  (1.8T)
  3907028992         143        - free -  (71k)

=>        34  3907029101  ada2  GPT  (1.8T)
          34        2014        - free -  (1M)
        2048  3907026944     1  freebsd-zfs  (1.8T)
  3907028992         143        - free -  (71k)

=>        34  3907029101  ada3  GPT  (1.8T)
          34        2014        - free -  (1M)
        2048  3907026944     1  freebsd-zfs  (1.8T)
  3907028992         143        - free -  (71k)

[B]# ls -l /dev/gpt[/B]
crw-r-----  1 root  operator    0, 147 Feb 19 07:52 ZFS1
crw-r-----  1 root  operator    0, 167 Feb 19 07:52 ZFS2
crw-r-----  1 root  operator    0, 171 Feb 19 07:52 ZFS3

Jetzt wurde mit gnop ZFS beigebracht, dass es 4kB Sektoren verwenden soll.
Code:
[B]# gnop create -S 4096 /dev/gpt/ZFS1
# gnop create -S 4096 /dev/gpt/ZFS2
# gnop create -S 4096 /dev/gpt/ZFS3

# ls -l /dev/gpt[/B]
total 0
crw-r-----  1 root  operator    0, 147 Feb 19 07:52 ZFS1
crw-r-----  1 root  operator    0, 173 Feb 19 07:57 ZFS1.nop
crw-r-----  1 root  operator    0, 167 Feb 19 07:52 ZFS2
crw-r-----  1 root  operator    0, 174 Feb 19 07:57 ZFS2.nop
crw-r-----  1 root  operator    0, 171 Feb 19 07:52 ZFS3
crw-r-----  1 root  operator    0, 175 Feb 19 07:57 ZFS3.nop

Jetzt den Pool "daten" erstellt.
Code:
[B]# zpool create -m /mnt/zpool daten raidz /dev/gpt/ZFS{1,2,3}.nop
# zpool status[/B]
  pool: daten
 state: ONLINE
  scan: none requested
config:

	NAME              STATE     READ WRITE CKSUM
	daten             ONLINE       0     0     0
	  raidz1-0        ONLINE       0     0     0
	    gpt/ZFS1.nop  ONLINE       0     0     0
	    gpt/ZFS2.nop  ONLINE       0     0     0
	    gpt/ZFS3.nop  ONLINE       0     0     0

[B]# zdb | grep ashift[/B]
            ashift: 12

Nun wurde der Pool exportiert und gnop node entfernt.
Code:
[B]# zpool export daten
# gnop destroy /dev/gpt/ZFS1.nop /dev/gpt/ZFS2.nop /dev/gpt/ZFS3.nop[/B]

Abschließend konnte der Pool wieder importiert werden.
Code:
[B]# zpool import daten
# zpool status[/B]
  pool: daten
 state: ONLINE
  scan: none requested
config:

	NAME          STATE     READ WRITE CKSUM
	daten         ONLINE       0     0     0
	  raidz1-0    ONLINE       0     0     0
	    gpt/ZFS1  ONLINE       0     0     0
	    gpt/ZFS2  ONLINE       0     0     0
	    gpt/ZFS3  ONLINE       0     0     0

[B]# zdb | grep ashift[/B]
            ashift: 12

Das Label der einzelnen Platten bleibt auch erhalten.
Code:
[B]# ls -l /dev/gpt[/B]
total 0
crw-r-----  1 root  operator    0, 147 Feb 19 07:52 ZFS1
crw-r-----  1 root  operator    0, 167 Feb 19 07:52 ZFS2
crw-r-----  1 root  operator    0, 171 Feb 19 07:52 ZFS3

Wie von Crest vorgeschlagen ist es in Summe die bessere Lösung als jene zu Beginn mit glabel.

@ MarkusG
Das kommt darauf an, welche Festplatten du verwendest.
Manche Hersteller "lügen" bei der Angabe der Sektorgröße ihrer Festplatten.
Bei den verwendeten Festplatten lässt sich dies mit Hilfe von
Code:
[B]# diskinfo -v /dev/ada1[/B]
/dev/ada1
	[COLOR="Red"]512         	# sectorsize[/COLOR]
	2000398934016	# mediasize in bytes (1.8T)
	3907029168  	# mediasize in sectors
	[COLOR="Red"]4096        	# stripesize[/COLOR]
	0           	# stripeoffset
	3876021     	# Cylinders according to firmware.
	16          	# Heads according to firmware.
	63          	# Sectors according to firmware.
überprüfen.
Verwendest du Festplatten mit 4kB (4096) mit ashift=9, so sollte zfs keine Probleme bereiten.
Einzig die Performance der Festplatte wird nicht voll ausgeschöpft - bitte darum mich auszubessern, sollte ich hier kompletten Kauderwelsch verzapfen ;)
Laut http://wiki.bsdforen.de/zfs_ashift musst du den gesamten Pool löschen und neu erstellen, wenn ashift falsche Werte liefert.


Ich hoffe das passt so, wie ich es gemacht habe - bin noch etwas ungeübt in Sachen BSD und ZFS :rolleyes:

Besten Dank,
laenger
 
Last edited:
Es gibt 2TB Festplatten welche wirklich nur 512 Bytes pro Sektor haben. z.B. "Seagate Constellation ES.2 - ST32000645SS" aber die WD Red ist def. eine mit 4k Sektoren. Da wäre es schon sinnvoll, diese dann auch zu nutzen. Wobei wenn du jetzt mit der Performance zufrieden bist, würde ich diesen Aufwand nicht machen...
 
Ja die kleinste ZFS Blockgröße (2 hoch ashift) muss nicht nur min. 4kB betragen sondern auch die Partition richtig ausgerichtet werden. -a 4k reicht derzeit auch wenn ich -a 1m verwende.
 
@ Crest

Gibt es einen bestimmten Grund, warum du bei deinen Festplatten -a 1m verwendest? Irgendwelche Vorteile gegenüber -a 4k die ich wissen sollte?
In der Manpage von GPART(8) werden zwar die Parameter -a alignment und -b start beschrieben, so richtig verstanden habe ich es ehrlich gesagt aber noch nicht :o
Lauf folgender Anleitung werden auch die von dir genannten Einstellungen empfohlen:
http://www.thomas-krenn.com/de/wiki/Partition_Alignment
Hierbei wird auch schön erklärt, warum die Performance bei falscher Blockgröße eher bescheiden ausfällt.

Besten Dank,
laenger

P.S.: Sollte das jetzt zu sehr vom eigentlichen Thema abweichen, bitte kurz Bescheid geben dann werde ich einen neuen Thread erstellen.
 
Last edited:
-a ist eine Komfortoption, die automatisch ausrechnet wo die jeweilige Partition beginnen muss, damit die Dateisystem-Sektoren auf den physikalischen Sektoren der Festplatte liegen. Kurz gesagt sorgt "-a 4k" dafür, dass die Partition auf einem vollen 4096 Byte Block beginnt und nicht innerhalb des Blocks. Das wird logischerweise dadurch erreicht, dass vor der Partition eine entsprechende Menge Platz freigelassen wird. Siehe z.B.:

Code:
=>       34  234441581  ada0  GPT  (111G)
         34       2014        - free -  (1M) <- Padding für 4k Alignement
       2048        512     1  freebsd-boot  (256k)
       2560    2097152     2  freebsd-ufs  (1.0G)
    2099712    2097152     3  freebsd-ufs  (1.0G)
    4196864    2097152     4  freebsd-ufs  (1.0G)
    6294016   52428800     5  freebsd-ufs  (25G)
   58722816   62914560     6  freebsd-ufs  (30G)
  121637376  112804239     7  freebsd-ufs  (53G)

1M ist nun aber ein Vielfaches von 4k. Wenn man also "-a 1M" sagt (wie ich da oben), landet man wieder auf einem vollen 4k-Sektor, man verliert nur ein paar Kilobyte. Interessant ist sowas vor allem für SSD, die oft intern noch deutlich größere Sektoren als nur 4096 Byte nutzen, aber über die genaue Blockgröße nicht sprechen. Windows nimmt übrigens immer 2MB freien Platz vor der Platte, damit erschlagen sie eigentlich alle denkbaren Blockgrößen. :)
 
Aja, vielen Dank für die Erklärung Yamagi.
Ich spiele auch mit dem Gedanken eine SSD-Festplatte zu verbauen.
Dafür werde ich dann den vorgeschlagenen Parameter -a 1M setzten.
Ich denke die paar Kilobyte kann ich verkraften ;)
So gesehen ist die angesprochene Vorgehensweise von Windows eigentlich gut gelöst.
Bei den heute üblichen Kapazitäten sind "verschenkten" 2MB vernachlässigbar gering.

Beste Grüße,
laenger
 
Back
Top