Re: Partition c nicht ganze Platte

From: Oliver Fromme <olli(at)lurza.secnetix.de>
Date: Wed, 2 May 2012 16:14:32 +0200 (CEST)

Marc Santhoff <M.Santhoff(at)web.de> wrote:
> ich habe eben eine Platte angeguckt, die vor einer Weile mit sysinstall
> eingerichtet wurde. Nun warnt disklabel mich, daß die Partition c nicht
> üner die ganze physische Platte geht, sondern in einem Fall so groß ist,
> wie die Partition selbst:

Eigentlich sollte "c" das gesamte Parent-Device umfassen
(d.h. den "Provider" in GEOM-Terminologie). In diesem Fall
ist das die jewilige FDISK-Slice.

Für die physikalische Festplatte war früher "d" üblich,
aber das wird schon lange nicht mehr verwendet, und daher
ist "d" frei verfügbar.

> # disklabel ad12s1
> # /dev/ad12s1:
> 8 partitions:
> # size offset fstype [fsize bsize bps/cpg]
> c: 503315505 0 unused 0 0 # "raw" part, don't edit
> d: 503315505 0 4.2BSD 0 0 0
> disklabel: partition c doesn't cover the whole unit!
> disklabel: An incorrect partition c may cause problems for standard system utilities

Die Größe von "c" ist hier eigentlich korrekt. Ich bin
nicht ganz sicher, was bsdlabel(8) hier für ein Problem
sieht. Vielleicht: Normalerweise sollten zu Beginn 16
Sektoren unbenutzt bleiben, d.h. die erste Partition
(hier "d") sollte frühestens bei Offset 16 beginnen.
Wirklich notwendig ist das im Falle eines UFS-Dateisystems
nicht, da dieses ohnehin die ersten 16 Sektoren nicht
verwendet (ebenso Swap). Aber vielleicht möchte es
disklabel(8) trotzdem gerne so haben.

Du kannst auch mal testweise nachsehen, was gpart zu dem
Label zu sagen hat:

$ gpart show ad12s1

oder:

$ gpart list ad12s1

> Meine Frage nun:
> Wie gefährlich bei der Benutzung von system utilities ist dieser Zustand
> nun wirklich?

Ich kann mir nicht vorstellen, dass da irgendwas Schlimmes
passieren kann (immer vorausgesetzt, Du benutzt UFS).
Soviel ich weiß, ist das einzige, was dann nicht korrekt
funktioniert, die Vergabe von Volume-Labels: Aufgrund der
Überschneidung wird das Volume-Label des erstens Datei-
systems (kann man mit newfs -L oder tunefs -L setzen)
fälschlicherweise der Slice zugeordnet anstatt der
Partition.

Langer Rede kurzer Sinn: Wenn es (noch) kein großer Aufwand
ist, würde ich das Offset der Partition korrigieren.
Anderenfalls -- und wenn man keine Volume-Labels verwenden
möchte -- würde ich es so lassen.

Übrigens habe ich mir angewöhnt, die Offsets der Partitionen
so zu berechnen, dass sie relativ zur physikalischen Disk
auf möglichst "geraden" Adressen landen (Alignment). Dies
kann insbesondere bei Festplatten wichtig sein, die intern
4KB-Sektoren verwenden -- Bei falschem Alignment kann sich
die Geschwindigkeit deutlich reduzieren. Ähnliches gilt
für bestimmte Arten von RAIDs (z.B. Striping).

Konkretes Beispiel (Ausgabe gekürzt):

$ fdisk -s da0
Part Start Size Type Flags
   1: 63 6297417 0xa5 0x80
   2: 6297480 6297480 0xa5 0x00
   3: 12594960 129981915 0xa5 0x00

$ bsdlabel da0s1
# size offset fstype
  a: 6295432 1985 4.2BSD
  c: 6297417 0 unused

$ bsdlabel da0s2
# size offset fstype
  a: 6297360 120 4.2BSD
  c: 6297480 0 unused

$ bsdlabel da0s3
# size offset fstype
  b: 16777216 240 swap
  c: 129981915 0 unused
  d: 16777216 16777456 4.2BSD
  e: 96427243 33554672 4.2BSD

Die erste Slice beginnt bei Sektor 63, die erste Partition
darin bei Sektor 1985 (relativ zum Anfang der Slice), was
physikaisch Sektor 2048 (= 63 + 1985) ist, also ist das
Alignment genau 1 MB. Ebenso bei allen anderen Partitionen.
(1 MB mag sehr großzügig erscheinen, ist aber im Vergleich
zu den Plattengrößen verschwindend wenig.)

Und ein Tip zum Schluss: Nach Möglichkeit auf Sysinstall
verzichten, sondern fdisk, bsdlabel und/oder gpart nehmen.
Sysinstall ist einfach nur veraltet und hat etliche Bugs
und Unzulänglichkeiten.

Gruß
   Olli

-- 
Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M.
Handelsregister: Registergericht Muenchen, HRA 74606,  Geschäftsfuehrung:
secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht Mün-
chen, HRB 125758,  Geschäftsführer: Maik Bachmann, Olaf Erb, Ralf Gebhart
FreeBSD-Dienstleistungen, -Produkte und mehr:  http://www.secnetix.de/bsd
"File names are infinite in length, where infinity is set to 255 characters."
        -- Peter Collinson, "The Unix File System"
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Wed 02 May 2012 - 16:14:53 CEST

search this site