Re: Partition c nicht ganze Platte

From: Marc Santhoff <M.Santhoff(at)web.de>
Date: Thu, 03 May 2012 06:00:08 +0200

Am Mittwoch, den 02.05.2012, 16:14 +0200 schrieb Oliver Fromme:
> 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:

> > # 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.

Das werde ich mal ausprobieren.

Ah ja, wenn man bsdlabel -e ad12s3 aufruft, bekommt man nun das da zu
sehen:

# /dev/ad12s3:
8 partitions:
# size offset fstype [fsize bsize bps/cpg]
  a: 1953525152 16 unused 0 0
  c: 503315568 0 unused 0 0 # "raw" part, don't edit

ich schätze Du liegst mit deiner Vermutung richtig. Etwas später, nur
zum Test die Vorgabezeile für Partition a angepaßt:

# bsdlabel ad12s3
# /dev/ad12s3:
8 partitions:
# size offset fstype [fsize bsize bps/cpg]
  c: 503315568 0 unused 0 0 # "raw" part, don't edit
  d: 503315552 16 4.2BSD 0 0 0

Ohne Warnung.

> Du kannst auch mal testweise nachsehen, was gpart zu dem
> Label zu sagen hat:
>
> $ gpart show ad12s1

# gpart show ad12s1
gpart: No such geom: ad12s1

> oder:
>
> $ gpart list ad12s1

# gpart list ad12s1
gpart: No such geom: 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.

Ah ja. Labels benutze ich bisher für's System, damit beim umstöpseln
der Platten nichts durcheinandergerät, bei Datenplatten eher nicht. Aber
wer weiß.

> 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.

Werde ich wohl so machen, noch geht's und ich bin (hoffentlich)
wenigstens die Meldung los.

> Ü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.)

Klar, ich muß mir nur angewöhnen mit fdisk die Partitionen anzulegen,
seit da Wildcards möglich sind ist das ja auch auszuhalten. Und daran,
exakt nachzurechnen.

> 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.

Seh' ich ja jetzt, unerwünschte Nachbesserung ...

-- 
Marc Santhoff <M.Santhoff(at)web.de>
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Thu 03 May 2012 - 05:58:32 CEST

search this site