Etwas, das ich mit ein paar Freunden besprochen habe und das wir nicht herausfinden konnten. In FreeBSD und OpenSolaris / Solaris wird beim Partitionieren eines Laufwerks eine Partition erstellt, die die gesamte Festplatte abdeckt:
da0s1c
c0d0s2
Zum Beispiel die Ausgabe meiner Hauptfestplatte auf meinem OpenSolaris-Server:
[email protected]:/dev/rdsk# prtvtoc /dev/rdsk/c4d0s2
* /dev/rdsk/c4d0s2 partition map
*
* Dimensions:
* 512 bytes/sector
* 63 sectors/track
* 255 tracks/cylinder
* 16065 sectors/cylinder
* 7296 cylinders
* 7294 accessible cylinders
*
* Flags:
* 1: unmountable
* 10: read-only
*
* Unallocated space:
* First Sector Last
* Sector Count Sector
* 0 16065 16064
*
* First Sector Last
* Partition Tag Flags Sector Count Sector Mount Directory
0 2 00 16065 117145980 117162044
2 5 01 0 117178110 117178109
8 1 01 0 16065 16064
Was war der Grund für die Verwendung von Partition 2? Warum nicht Partition 0? Wo in der Geschichte von Unix wurde das entschieden? Welches Legacy-Feature war es zu diesem Zeitpunkt? Mit GPT-Partitionierung geht das ganz weg (von dem, was ich gefunden habe).
Nur etwas interessantes ...
Da ParoX die GPT-Partitionierung erwähnte und wie Solaris dies im Hinblick auf das vtoc-Layout darstellt, ist hier die Ausgabe von einer meiner Festplatten, die 1 TB groß ist und sich in einem ZFS-Array befindet und automatisch mit GPT eingerichtet wurde:
[email protected]:~# prtvtoc /dev/rdsk/c5d0
* /dev/rdsk/c5d0 partition map
*
* Dimensions:
* 512 bytes/sector
* 1953520128 sectors
* 1953520061 accessible sectors
*
* Flags:
* 1: unmountable
* 10: read-only
*
* Unallocated space:
* First Sector Last
* Sector Count Sector
* 34 222 255
*
* First Sector Last
* Partition Tag Flags Sector Count Sector Mount Directory
0 4 00 256 1953503455 1953503710
8 11 00 1953503711 16384 1953520094
Antworten:
Früher haben wir Backups mit "dd" der gesamten Festplatte erstellt. Daher hatten wir das "c" -Slice, damit wir alles mit einem Befehl ausführen können.
Deshalb gibt es das "c" -Slice.
DD ist nicht perfekt. Wenn eine Festplatte nur zu 10% voll ist, verbringen Sie 90% Ihrer Zeit damit, Blöcke zu kopieren, die "Junk" sind oder (zum Beispiel) für "Swap" verwendet werden (nutzlos, um gesichert zu werden). "dd" ist Zeitverschwendung, es sei denn, Ihre Festplatte ist fast voll oder Sie benötigen aus irgendeinem Grund eine genaue blockweise Kopie.
Dies war alles, bevor RAID-0-Plattenspiegelung und Volume-Manager diese Art von Partitionskopien für Sie ausführten.
(Jemand erwähnte "dump" auf dem "c" -Slice. Das wird nicht funktionieren. "Dump" ist eine Datei-für-Datei-Kopie [tatsächlich Inode für Inode], sodass dies nicht funktioniert.)
Jemand anderes fragte "warum ist es c, nicht die erste Partition oder die letzte". Die Antwort lautet "Tradition". Ich kann nur vermuten, dass Ken oder Dennis (oder möglicherweise Bill Joy oder Kirk McKusick) zu dieser Zeit einen guten Grund hatten. Ich gehe davon aus, dass sie die ersten beiden Partitionsbezeichnungen für die tatsächlichen Partitionen verwendet hatten. Dann kam eines Tages jemand auf die Idee, eine überlappende Partition für Backups zu erstellen, und "c" war die nächste verfügbare Partition. Da es zu diesem Zeitpunkt nur 2-3 Unix-Maschinen gab, kann dies zweimal "den Standard setzen", der für den Rest der Zeit verwendet wird.
Ein weiteres Beispiel dafür, wie historische Unfälle zu Standards werden, die niemals funktionieren, finden Sie in diesem Artikel: Grundlegendes zu bin, sbin, usr / bin, usr / sbin split
quelle
Es ist ein Ergebnis der traditionellen Anordnung der Scheiben wie folgt:
s0: root
s1: swap
s2: bkup
Sie wiesen dem ersten Slice das Wichtigste zu und machten mit abnehmender Wichtigkeit weiter.
Ich weiß nicht, wann genau dies beschlossen wurde (wahrscheinlich ziemlich früh; wann immer sich die Solaris-Entwickler für die Verwendung von Festplattenkennungen und Slices im Solaris-Stil entschieden haben).
Das Problem verschwindet mit GPT, da das MBR-Partitionsschema nicht anwendbar ist. (Obwohl mir persönlich nicht bekannt ist, wie Solaris GPT-Partitionen darstellt ...)
Hoffe das hat geholfen XD
==============
Edit:
Jetzt hast du mich interessiert. Ich werde ein paar Links posten, die ich gefunden habe, bevor ich zur Arbeit gehe.
Solaris 2.4 Sysadmin-Antwortbuch: Standard-Slices
Solaris 2.4-Benutzerhandbuch: Peripheral Administration
Beide Dokumente stammen aus dem Jahr 1994 und definieren die Erstellung von s2 schon damals als in das 'Format' integriert. Muss weiter graben XD!
quelle
Weitere Informationen zu dieser Frage:
Laut http://en.wikipedia.org/wiki/BSD_disklabel unter FreeBSD erstreckt sich die c-Partition auf einer Festplatte, die auch von anderen Betriebssystemen verwendet wird, nur auf das gesamte FreeBSD-Slice, und Partition d ist die gesamte Festplatte !
FreeBSD Manual Disk Adding siehe 18.3.1 Nummer 3.
quelle
Warum war scsi id 3 Ihre Standard-Bootdiskette in Sun OS?
All diese Momente werden in der Zeit verloren gehen, wie Tränen im Regen.
quelle