Partition, Slice und label

rbrinkmo

Well-Known Member
Da denkt man, man kennt sich schon 'n bisserl aus ... ja von wegen.

Vorab:
http://www.lindloff.com/netbsd/netbsd-install.html#AEN300
http://www.lindloff.com/netbsd/de-misc.htm
sind bekannt

Hintergrund:
Bisher ging ich davon aus (jetzt eigentlich auch noch), dass die label (/, /usr, etc) nur innerhalb einer slice liegen können.
Und ich ging davon aus, dass mit disklabel nur genau solche labels erstellt/bearbeitet werden.
Und ich ging davon aus, dass mit fdisk die slices erstellt/bearbeitet werden.

Bei vorherigen NetBSD/Xen-Installation bin ich immer nach Anleitung vorgegangen und habe mir dazu nicht mehr Gedanken als nötig gemacht.
Nun stosse ich bei der Erstellung einer FreeBSD domU allerdings auf ein kleines aber nicht unbedeutendes Problem das mich zu diesen Überlegungen führte.

Bisher konnte ich bei einer 80 GB grossen Festplatte eine 8 GB grosse Slice erstellen.
Dies sah man dann mit fdisk so ähnlich aus:
fdisk: bla
Disk: bla
NetBSD disklabel disk geometry:
bla

BIOS disk geometry:
bla

Partition table
0: NetBSD (sysid 169)
start 63, size 2084652 (8192 MB, bla), Active
1: <UNUSED>
2: <UNUSED>
3: <UNUSED>

Diese Slice war dann in labels unterteilt:

512 MB + /
512 MB swap
0 MB tmp (mfs)
4096 MB /usr
512 MB /var
2048 MB /home
512 MB /tmp

Somit war die Slice voll mit Platz für die label belegt.
Mit dem Befehl "disklabel wd0d" wurden also die Partitionen a: bis h: angezeigt (wobei d: die ganze Platte darstellt).

Dann wurden mit "disklabel -i wd0d" vier weitere labels von 8 GB grösse erzeugt in denen dann die Xen domU erstellt wird.
Das seltsame ist, es funktioniert. Wahrscheinlich der Grund warum ich mir weiter keine Gedanken dazu gemacht habe.
Zumindest funktioniert es mit NetBSD-domU. Das Erstellen einer FreeBSD-domU will aber nicht. Und es hat den Anschein als hinge dies mit dem label zusammen.
Anders gesagt:
Mit dem Befehl "disklabel wd0d" werden anschliessend die Partitionen a: bis l: angezeigt.
i: und j: stellen dabei die labels dar in denen die NetBSD domU laufen.
k: und l: sind die label die für die FreeBSD domU Installationen vorgesehen sind.

Nun zur eigentlichen Frage:
Wo ... zur Hölle ... werden diese labels abgelegt/erstellt?

Nach meinem Verständnis müssten diese ausserhalb der 8 GB slice liegen.
Denn diese slice ist ja voll belegt und beim interaktiven Erstellen der label i: bis l: wurden diese jeweils hinter dem letzten label angelegt.

Wieso ist das überhaupt möglich und warum wird in diesem Fall dennoch in der Partition table von fdisk die "1:" weiterhin als "<UNUSED>" gekennzeichnet (Ok, Es gibt ja nur weitere label aber keine neue slice)???

Ich hoffe ich habe mich verständlich ausgedrückt und jemand kann mir dieses Phänomen erklären oder Quellen zu entsprechenden Informationen liefern. Merci
 
Bisher ging ich davon aus (jetzt eigentlich auch noch), dass die label (/, /usr, etc) nur innerhalb einer slice liegen können.

/
/usr

sind weder Labels noch (Disklabel-)Partitionen sondern mount-points im Filesystem.


wd0a
wd0b

sind keine Labels sondern Disklabel-Partitionen.


Am besten waere es, wenn Du nun deine Frage nochmals zusammenfassen koenntest, da es sonst schwierig wird, verstaendlich auf Quotes einzugehen. :)
 
rbrinkmo schrieb:
Da denkt man, man kennt sich schon 'n bisserl aus ... ja von wegen.

Vorab:
http://www.lindloff.com/netbsd/netbsd-install.html#AEN300
http://www.lindloff.com/netbsd/de-misc.htm
sind bekannt


Wieso ist das überhaupt möglich und warum wird in diesem Fall dennoch in der Partition table von fdisk die "1:" weiterhin als "<UNUSED>" gekennzeichnet (Ok, Es gibt ja nur weitere label aber keine neue slice)???

Lindloff hat sich vielleicht nicht präzise genug ausgedrückt:

In seiner BIOS- Partition (auch »Slice« genannt) definiert NetBSD seine Partitionen mit Hilfe eines »Disklabes«.
... trifft zwar zu, soll aber wohl nicht heißen, daß man im Disklabel nicht auch Fremdpartitionen - sorry, Fremdslices - hinterlegen kann, denn schließlich gilt gemäß Lindloff auch
NetBSD beschreibt das Layout der Platte durch das Disklabel.
Platte, nicht nur Slice ! Sonst hieße es wohl Slicelabel.

disklabel und fdisk haben so nicht viel miteinander zu tun. Wenn Du in disklabel etwas änderst, interessiert das fdisk nicht die Bohne. Es kann aber u.U. sehr hilfreich/kooperativ/fair ggü. anderen Betriebssystemen auf der Platte sein, fdisk zusätzlich entsprechend zu pflegen. Ich empfehle dies sogar.

Grunsätzlich kann man folgende Reihenfolge beachten:

  1. fdisk -> DOS-Partitionen (Slices) einrichten
  2. disklabel -> NetBSD-Sicht auf die Platte einrichten, eigene Partitionen und ggf. Fremdslices mit einbinden, die Offset- und Size-Angaben von fdisk können hierbei hilfreich sein.
  3. newfs -> Partitionen und/oder Fremdslices ggf. formatieren.
  4. mount, /etc/fstab, ... -> Partitionen und/oder Fremdslices einhängen.
 
Danke. Die Informationen haben es mir wieder etwas verständlicher machen können.

finger schrieb:
/
/usr

sind weder Labels noch (Disklabel-)Partitionen sondern mount-points im Filesystem.

Das es sich hierbei um mount-points handelt war mir schon klar. Hier habe ich mich sicherlich falsch ausgedrückt.
Da diese mit disklabel als disklabel-Partitionen unter den Labels(Überschriften/Bezeichnern/Zuordnungen) a: bis ... dargestellt werden ging ich davon aus,
dass diese auch als labels bezeichnet werden könnten.

Zur Verifizierung:
Ich habe eine Festplatte 160 GB
Bei der Installation habe ich eine 20 GB BIOS-Partition erstellt.
Dies ist die erste (und hier einzige) primäre BIOS-Partition mit der Bezeichnung "0: NetBSD (sysid 169)".
Weiterhin habe ich während der NetBSD-Installation die mount-points eingerichtet (/, swap, /usr, /etc, /home und /tmp (ja kein mfs)).
Diesen mount-points habe ich dann jeweils soviel Plattenplatz zugewiesen, dass diese zusammen die erste Slice (erste primäre BIOS-Partition) vollkommen belegen.
Mit disklable habe ich später weitere disklabel-Partitionen ausserhalb der ersten Slice angelegt. So dass ich dann ein ähnliches Ergebnis wie das folgende erhalte:

PHP:
 a:   5764752        63     4.2BSD   2048 16384 24544  # (Cyl.      0*-   5719*) <- root - dom0
 b:    525168   5764815       swap                     # (Cyl.   5719*-   6240*) <- swap - dom0
 c:  41945652        63     unused      0     0        # (Cyl.      0*-  41612*) <- whole first slice(?)
 d: 312581808         0     unused      0     0        # (Cyl.      0 - 310100)  <- whole hard disk
 e:  16778160   6289983     4.2BSD   2048 16384 27680  # (Cyl.   6240*-  22885*) <- /usr - dom0
 f:   2097648  23068143     4.2BSD   2048 16384 21872  # (Cyl.  22885*-  24966*) <- /var - dom0
 g:   8389584  25165791     4.2BSD   2048 16384 25656  # (Cyl.  24966*-  33289*) <- /home - dom0
 h:   8390340  33555375     4.2BSD   2048 16384 25664  # (Cyl.  33289*-  41612*) <- /tmp - dom0
 i:  41943040  41945715     4.2BSD      0     0     0  # (Cyl.  41612*-  83222*) <- for NetBSD 3 domU (works fine)
 j:  41943040  83888755     4.2BSD      0     0     0  # (Cyl.  83222*- 124833*) <- for FreeBSD domU (no setup possible)
(Nur zur Erläuterung - entspricht nicht ganz der ersten Beschreibung da hier eine andere Aufteilung vorliegt)


Die hier dargestellten disklabel-partitionen i: und j: sind somit jeweils 20 GB gross und liegen ausserhalb der ersten BIOS-Partition und somit ausserhalb der ersten Slice.
Da mit disklabel erstellt, kann NetBSD mit diesem, neu zur Verfügung gestellten Platz umgehen.

Dies sind jedoch keine primären BIOS-Partitionen sonst müsste fdisk diese ja auch erkennen und darstellen (tut es aber nicht).

Die mount-points liegen jeweils in einer eigenen disklabel-partitionen (label ?).

Die neuen disklabel-partitionen i: und j: liegen ausserhalb der ersten Slice was rein technisch aus der Sicht von NetBSD zwar möglich, nach meinem jetzigen Verständnis jedoch eher nicht zu empfehlen ist.
Besser wäre es gewesen entweder die erste Slice (BIOS-Partition) gleich 60 GB zuzuweisen oder weitere Slices (1x40 GB oder 2x20GB) zu erstellen.
Insbesondere wenn man u.U. später mit fdisk weitere BIOS-Partitionen erstellen will. Hier könnte es sonst passieren, dass man die disklable-partitionen - welche ausserhalb der ersten Slice liegen - überschreibt.
Korrekt?
 
rbrinkmo schrieb:
Dies sind jedoch keine primären BIOS-Partitionen sonst müsste fdisk diese ja auch erkennen und darstellen (tut es aber nicht).

Richtig ! Warum sollte es auch ? Du hast dem BIOS/fdisk nicht mitgeteilt was mit den ganzen GB passiert, die außerhalb des ersten Slice liegen.

rbrinkmo schrieb:
Die mount-points liegen jeweils in einer eigenen disklabel-partitionen (label ?).

Was willst Du mit diesem Satz ausdrücken ? Ich blicke es nicht.

rbrinkmo schrieb:
Die mount-points liegen jeweils in einer eigenen disklabel-partitionen (label ?).

Die neuen disklabel-partitionen i: und j: liegen ausserhalb der ersten Slice was rein technisch aus der Sicht von NetBSD zwar möglich, nach meinem jetzigen Verständnis jedoch eher nicht zu empfehlen ist.
Besser wäre es gewesen entweder die erste Slice (BIOS-Partition) gleich 60 GB zuzuweisen oder weitere Slices (1x40 GB oder 2x20GB) zu erstellen.
Insbesondere wenn man u.U. später mit fdisk weitere BIOS-Partitionen erstellen will. Hier könnte es sonst passieren, dass man die disklable-partitionen - welche ausserhalb der ersten Slice liegen - überschreibt.
Korrekt?

Du verwirrst mich. Was genau ist Dein Ziel ?

Kann es sein, daß Du gerade den Wald vor lauter Bäumen nicht siehst ? Oder etwas kompliziert denkst ? Ich verstehe das Problem nicht so richtig.

Meiner Meinung nach hast Du folgende Möglichkeiten (je nach Zielsetzung):

1. Die komplette Platte mit fdisk einrichten, keinen freien Platz lassen. In ein Slice NetBSD installieren.

1.1 Die anderen Slices mit Dateisystemen Deiner Wahl (aber von NetBSD unterstützten) einrichten, d.h. newfs + disklabel.

1.2 In die anderen Slices andere Betriebssysteme installieren (vorsicht bei anderen BSD-Derivaten !), deren Partition(en) ggf. in NetBSD aufnehmen (disklabel + mount/fstab).

2 Die komplette Platte von vorneherein für NetBSD nutzen, d.h. ein Slice - mit oder ohne fdisk - so groß wie die Platte, mit disklabel anlegen was Du willst.


So, und nun erzähle er ...
 
CAMISOLITE schrieb:
Du verwirrst mich.
Sorry, das lag nicht in meiner Absicht.
CAMISOLITE schrieb:
Was genau ist Dein Ziel ?
Mein Ziel ist es zu verstehen. Mit dem letzten Abschnitt wollte ich lediglich verifizieren ob ich es auch wirklich verstanden habe. Daher auch die Einleitung "Zur Verifizierung:".
CAMISOLITE schrieb:
Kann es sein, daß Du gerade den Wald vor lauter Bäumen nicht siehst ? Oder etwas kompliziert denkst ? Ich verstehe das Problem nicht so richtig.
Das ich den Wald vor lauter Bäumen nicht sehe oder etwas zu kompliziert denke kann man bei mir nie ganz ausschliessen ;)
Im Ernst. Ich wollte die Ursache eines Problems herausfinden. In diesem Zusammenhang habe ich versucht ein besseres Verständnis für die Begrifflichkeiten und funktionen bezüglich der Partitionierung zu bekommen.
Wenn mein letzter Thread nun keine Falschaussagen mehr enthält, dann habt ihr es erfolgreich verständlich machen können.
Das ursprüngliche Problem mit der Installation von FreeBSD als domain U unter NetBSD/Xen würde an dieser Stelle den Rahmen sprengen denke ich.
 
Zurück
Oben