Mengapa slice C atau slice 2 menutupi seluruh disk

14

Sesuatu yang saya diskusikan dengan beberapa teman dan kami tidak dapat mengetahuinya. Di FreeBSD dan OpenSolaris / Solaris saat Anda mempartisi drive, partisi dibuat yang mencakup seluruh disk:

da0s1c
c0d0s2

Sebagai contoh, output dari hard drive utama saya di server OpenSolaris saya:

[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

Apa alasan di balik penggunaan partisi 2? Mengapa tidak mempartisi 0? Di mana dalam sejarah unix ini diputuskan? Apa fitur warisan yang dilayaninya pada saat itu? Dengan partisi GPT yang hilang sepenuhnya (dari apa yang saya temukan).

Hanya sesuatu yang menarik ...

Karena ParoX menyebutkan partisi gaya GPT dan bagaimana Solaris menyatakan bahwa dalam hal tata letak vtoc, berikut adalah output dari salah satu disk saya yang 1 TB dan dalam susunan ZFS, dan secara otomatis telah diatur dengan GPT:

[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
X-Istence
sumber
Tidak pernah benar-benar memikirkannya sebanyak itu, tetapi menarik sekarang karena Anda membuat saya memikirkannya. Penasaran ingin tahu apakah ada yang menjawab.
Milner
hmmm. Saya tahu di Solaris itu disebut sebagai slice "cadangan". Saya bertanya-tanya apakah itu cara untuk membuat cadangan seluruh disk, termasuk peta partisi, dalam satu dump? Seperti, dump / dev / rdsk / c0t0d0s2 ke file tape dan Anda dapat memulihkan seluruh drive fisik, termasuk tata letak FS, dalam satu pemulihan? Tebakan saja. Tidak dapat menemukan yang lain di google. Pertanyaan bagus!
jj33
@ jj33: Tentu, beli kenapa slice 2 ? Mengapa tidak 0 atau -1 atau nilai khusus lainnya?
Eddie

Jawaban:

7

Kembali di masa lalu kita akan melakukan backup menggunakan "dd" dari seluruh disk. Oleh karena itu, kami memiliki irisan "c" sehingga kami dapat melakukan semuanya dengan satu perintah.

Itu sebabnya irisan "c" ada.

DD tidak sempurna. Jika disk hanya 10% penuh, Anda menghabiskan 90% dari waktu Anda menyalin blok yang "sampah" atau (misalnya) digunakan untuk "swap" (tidak berguna untuk dicadangkan). "dd" adalah buang-buang waktu kecuali disk Anda hampir penuh atau jika, karena alasan tertentu, Anda memerlukan salinan, blok-demi-blok yang tepat.

Ini semua sebelum mirror-0 disk mirroring dan manajer volume melakukan semua jenis penyalinan partisi untuk Anda.

(Seseorang menyebut "dump" pada slice "c". Itu tidak akan berhasil. "Dump" adalah salinan file-demi-file [sebenarnya, inode demi inode] sehingga tidak akan berfungsi.)

Orang lain bertanya "mengapa itu c, bukan partisi pertama, atau yang terakhir". Jawabannya adalah "tradisi". Saya hanya bisa menebak bahwa Ken atau Dennis (atau mungkin Bill Joy atau Kirk McKusick) punya alasan bagus saat itu. Saya berasumsi mereka telah menggunakan dua label partisi pertama untuk partisi sebenarnya. Kemudian suatu hari seseorang memiliki ide partisi over-lapping untuk melakukan backup dan "c" adalah partisi berikutnya yang tersedia. Karena hanya ada 2-3 mesin Unix pada saat itu, melakukan ini dua kali dapat "menetapkan standar" yang digunakan selama sisa waktu.

Contoh lain tentang bagaimana kecelakaan bersejarah menjadi standar yang tidak pernah jalan dijelaskan dalam artikel ini: Memahami bin, sbin, usr / bin, usr / sbin split

TomOnTime
sumber
Ya, tapi mengapa c dan bukan a ?
Cristian Ciupitu
1
Mengapa surat itu dipilih? Saya tidak tahu Entah Ritchie, Thompson, atau mungkin Bill Joy bisa menjawabnya. Dugaan saya adalah bahwa mereka menggunakan 0, lalu 1, maka seseorang memiliki ide cemerlang tentang label partisi yang tumpang tindih. Slot berikutnya tersedia, dan jauh lebih aman daripada memindahkan partisi. Ingat ... saat inilah seluruh universitas memiliki 1 atau 2 komputer. Anda jarang melakukan perubahan sistem besar. Tidak seperti hari ini di mana jika Anda membuat perubahan seperti ini, Anda akan dengan bebas membayangkan kembali mesin Anda. Dengan 50 orang semuanya berbagi satu komputer, pemutakhiran menunggu hingga semua orang siap.
TomOnTime
4

Ini adalah hasil dari irisan yang secara tradisional ditata sebagai berikut:

s0: root
s1: swap
s2: bkup

Mereka menetapkan hal yang paling penting pada irisan pertama dan melanjutkan dengan menurunnya kepentingan :) (Siapa yang butuh swap jika Anda tidak memiliki partisi root? Selanjutnya, siapa yang perlu membuat cadangan apa pun jika Anda tidak memiliki data.)

Saya tidak tahu kapan tepatnya ini diputuskan (mungkin cukup awal; kapan Solaris memutuskan untuk menggunakan pengidentifikasi dan irisan disk gaya Solaris.)

Masalahnya hilang dengan GPT karena skema partisi gaya MBR tidak berlaku. (Meskipun saya pribadi tidak terbiasa dengan bagaimana Solaris mewakili partisi GPT ...)

Semoga ini bisa membantu XD


================
Edit:
Sekarang Anda membuat saya tertarik. Saya akan memposting beberapa tautan yang saya temukan tepat sebelum saya berangkat kerja.

Solaris 2.4 Buku jawaban Sysadmin: Irisan adat
Solaris 2.4 Panduan Pengguna: Administrasi Periferal

Kedua dokumen ini sekitar tahun 1994 dan mereka mendefinisikan pembuatan s2 sebagai terintegrasi ke dalam 'format' bahkan saat itu. Harus terus menggali XD!

Parox
sumber
Ini membantu, tetapi masih bukan jawaban konkret yang saya cari :-) Saya sudah tahu kemungkinan alasan mengapa, dan tata letak irisan default. Saya ingin bukti atau bukti kuat!
X-Istence
Senang menyeret orang lain ke kegilaan yang merupakan pertanyaan ini :-).
X-Istence
Ok ... Konsep irisan tampaknya berasal dari suatu tempat di sekitar rilis BSD 4.2 dan Unix System V.4 (1984-1989) ... Waktu untuk membuka perpustakaan>. <(Tidak ada banyak internet logging pada waktu itu untuk alasan yang jelas.)
ParoX
docsrv.sco.com/cgi-bin/man/man?vtoc+7 Rupanya UnixWare menggunakan s0 sebagai seluruh partisi dengan s1 dan s2 sebagai masing-masing root dan swap. Menarik ...
ParoX
1
Saya mempersempit ini ke pengenalan UFS pada tahun 1982 di pohon BSD. Saya sekarang cukup yakin bahwa SVR meminjam konsep dari BSD dalam rilis 4.2-nya (setelah mencari-cari referensi programmer lama.) Saya akan mengunjungi perpustakaan lagi besok lol
ParoX
1

Informasi lebih lanjut tentang pertanyaan ini:

Menurut http://en.wikipedia.org/wiki/BSD_disklabel pada FreeBSD, partisi c pada disk yang juga digunakan oleh sistem operasi lain hanya akan meluas ke seluruh slice FreeBSD, dan partisi d akan menjadi seluruh hard drive !

Partisi c membahas seluruh disk dalam mode khusus, atau seluruh slice FreeBSD dalam mode slice. Partisi lain adalah untuk penggunaan umum.

FreeBSD Manual Disk Adding lihat nomor 18.3.1 3.

X-Istence
sumber
0

Mengapa scsi id 3 disk boot default Anda di OS Sun vintage?

Semua momen itu akan hilang dalam waktu, seperti air mata dalam hujan.

Ronald Pottol
sumber