Perché la fetta C o la fetta 2 coprono l'integer disco

Qualcosa che stavo discutendo con un paio di amici e non siamo riusciti a capire. In FreeBSD e OpenSolaris / Solaris quando si partiziona un'unità, viene creata una partizione che copre l'integer disco:

da0s1c c0d0s2 

Ad esempio, l'output del mio disco rigido principale nel mio server OpenSolaris:

  • Cercando di montare da freebsd a centos NFS server
  • Debian 8 AMI utilizza solo partizione 8 GB
  • Migrare la prigione FreeBSD
  • COMSTAR e ZFS zvol che forniscono un model di scrittura bursty
  • Installazione di più versioni php e estensioni su freebsd
  • Solaris 11 si blocca casualmente: necessita di aiuto per capire la ragione
  •  xistence@Keyhole.network.lan:/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 

    Qual è stato il ragionamento dietro l'utilizzo della partizione 2? Perché non partizione 0? Dove nella storia di unix è stato deciso questo? Quale funzionalità ereditaria ha servito a quel punto nel tempo? Con la partizione GPT che va via completamente (da quello che ho trovato).

    Solo qualcosa di interessante …

    Poiché ParoX ha menzionato la partizione di stile GPT e come Solaris rappresenta in termini di layout vtoc, ecco l'output di uno dei miei dischi che è di 1 TB ed è in una matrix ZFS ed è stato automaticamente configurato con GPT:

     xistence@Keyhole.network.lan:~# 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 

    4 Solutions collect form web for “Perché la fetta C o la fetta 2 coprono l'integer disco”

    Nei vecchi tempi avremmo fatto backup utilizzando "dd" dell'integer disco. Pertanto, abbiamo avuto la fetta "c" affinché possiamo fare tutto con un solo command.

    Ecco perché la fetta "c" esiste.

    Il DD non è perfetto. Se un disco è solo 10% pieno, spendi il 90% del tuo tempo copiando blocchi che sono "spazzatura" o (ad esempio) vengono utilizzati per "swap" (inutile da eseguire il backup). "dd" è uno spreco di tempo se il disco non è quasi pieno o se, per qualche motivo, hai bisogno di una copia esatta, bloccata per block.

    Questo era tutto prima che il mirroring dei dischi RAID-0 ei gestori del volume avessero eseguito tutte le copie di quel tipo di partizione per te.

    (Qualcuno ha menzionato "dump" sulla fetta "c" che non functionrà. "Dump" è una copia file per file, in realtà inode per inode, in modo che non funziona.

    Qualcun altro ha chiesto "perché è c, non la prima partizione, o l'ultima". La risposta è "tradizione". Posso solo indovinare che Ken o Dennis (o forse Bill Joy o Kirk McKusick) avevano una buona ragione al momento. Suppongo di aver usato le prime due etichette delle partizioni per le partizioni effettive. Poi un giorno qualcuno aveva l'idea della partizione over-lapping per fare i backup e "c" era la prossima partizione disponibile. Dal momento che all'epoca vi erano solo due macchine Unix, fare questo due volte può "impostare lo standard" che viene utilizzato per il resto del tempo.

    Un altro esempio di come gli incidenti storici diventano standard che non vanno mai sono descritti in questo articolo: Comprensione del bin, sbin, usr / bin, usr / sbin split

    È il risultato delle fette tradizionalmente definite come segue:

    s0: root
    s1: swap
    s2: bkup

    Hanno assegnato la cosa più importnte alla prima fetta e hanno continuato con una diminuzione di importnza 🙂 (Chi ha bisogno di swap se non hai partizioni di root? Inoltre, chi ha bisogno di backup qualsiasi cosa se non hai dati.)

    Non so quando esattamente questo è stato deciso (probabilmente abbastanza presto, each volta che il Solaris devs ha deciso di utilizzare gli identificatori e le fette di disco in stile Solaris).

    Il problema si allontana con GPT poiché il sistema di partizione stile MBR non è applicabile. (Anche se non sono personalmente a conoscenza di come Solaris rappresenta le partizioni GPT …)

    Spero che questo ha aiutato XD

    ================
    Edit:
    Ora mi hai interessato. Farò pubblicare alcuni link che ho trovato appena prima di andare a lavorare.

    Risposta di Solaris 2.4 Sysadmin: fette personalizzate
    Guida per l'utente di Solaris 2.4: Amministrazione periferica

    Entrambi questi documenti sono intorno al 1994 e definiscono la creazione di s2 come integrata in "formato" anche allora. Devo continuare a scavare XD!

    Ulteriori informazioni su questa domanda:

    Secondo http://en.wikipedia.org/wiki/BSD_disklabel su FreeBSD la partizione c su un disco che è anche in uso da altri sisthemes operativi si estenderà solo sull'intera fetta FreeBSD e la partizione d sarà l'integer disco rigido !

    La partizione c indirizza l'integer disco in modalità dedicata o l'intera fetta FreeBSD in modalità slice. Le altre partizioni sono per uso generale.

    Aggiunta del disco manuale FreeBSD vedi 18.3.1 numero 3.

    Perché scsi id 3 è il disco di avvio predefinito in Sun OS vintage?

    Tutti quei momentjs saranno persi nel tempo, come lacrime in pioggia.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.