スライスCまたはスライス2がディスク全体をカバーする理由


14

数人の友人と話し合っていて、それを理解することができませんでした。FreeBSDおよびOpenSolaris / Solarisでは、ドライブをパーティション分割すると、ディスク全体をカバーするパーティションが作成されます。

da0s1c
c0d0s2

たとえば、OpenSolarisサーバーのメインハードドライブの出力:

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

パーティション2を使用した理由は何ですか?パーティション0を使用しないのはなぜですか?UNIXの歴史のどこでこれが決定されましたか?その時点でどのレガシー機能が提供されていましたか?(私が見つけたものから)完全になくなるGPTパーティション分割で。

ただ何か面白い...

ParoXはGPTスタイルのパーティション分割とSolarisがvtocレイアウトに関してそれをどのように表現するかについて言及したので、ここに1 TBでZFSアレイにあり、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

そんなにそんなに考えたことはありませんでしたが、今、あなたが私に考えさせてくれたのは興味深いことです。誰かが答えるかどうかを知りたい。
ミルナー

うーん。Solarisでは、「バックアップ」スライスと呼ばれていました。パーティションマップを含むディスク全体を1つのダンプでバックアップする方法だったのだろうか?たとえば、/ dev / rdsk / c0t0d0s2をテープファイルにダンプすると、FSレイアウトを含む物理ドライブ全体を1回の復元で復元できますか?ただの推測。グーグルでこれ以上何も見つかりませんでした。良い質問!
jj33 2009年

@ jj33:確かに、なぜスライス2を買うのか?なぜ0または-1または他の特有の値ではないのですか?
エディ

回答:


7

昔は、ディスク全体の「dd」を使用してバックアップを行っていました。したがって、1つのコマンドですべてを実行できるように、「c」スライスがありました。

それが「c」スライスが存在する理由です。

DDは完璧ではありません。ディスクの空き容量が10%しかない場合、「ジャンク」なブロックのコピーに90%の時間を費やすか、(たとえば)「スワップ」に使用されます(バックアップする必要はありません)。「dd」は、ディスクがほぼ満杯であるか、何らかの理由でブロックごとの正確なコピーが必要でない限り、時間の無駄です。

これはすべて、RAID-0ディスクミラーリングとボリュームマネージャーがすべての種類のパーティションコピーを行う前のことでした。

(誰かが "c"スライスで "dump"に言及しました。それは動作しません。 "dump"はファイルごとのコピーです(実際には、iノードごとのiノード)。

他の誰かが「なぜ最初のパーティションではなくcなのか、最後のパーティションなのか」と尋ねました。答えは「伝統」です。ケンまたはデニス(またはビルジョイやカークマッキュージック)が当時正当な理由を持っていたと推測できます。実際のパーティションには最初の2つのパーティションラベルを使用したと思います。それからある日、誰かがバックアップを行うための重複するパーティションのアイデアを持ち、「c」が次に利用可能なパーティションでした。当時は2〜3個のUnixマシンしかなかったため、これを2回実行すると、残りの時間に使用される「標準を設定」できます。

歴史的な事故が決して解決しない標準になる別の例は、この記事で説明されています:bin、sbin、usr / bin、usr / sbin splitの理解


はい、しかしなぜcではなくaですか?
クリスチャン・シウピトゥ

1
なぜその手紙が選ばれたのですか?知りません。リッチー、トンプソン、またはビルジョイのいずれかが答えるでしょう。私の推測では、彼らは0を使用し、次に1を使用し、誰かが重複したパーティションラベルのこの素晴らしいアイデアを持っていると思います。次のスロットが利用可能であり、パーティションを移動するよりもはるかに安全でした。覚えておいてください...これは、大学全体に1台または2台のコンピューターがあったときでした。主要なシステム変更はめったにありません。このような変更を行った場合、マシンを自由に再想像できる今日はそうではありませんでした。50人全員が1台のコンピューターを共有しているため、アップグレードは全員の準備が整うまで待機します。
TomOnTime

4

これは、従来のようにスライスが次のようにレイアウトされているためです。

s0:ルート
s1:スワップ
s2:bkup

彼らは最初のスライスに最も重要なものを割り当て、重要性を減らし続けました:)(ルートパーティションがない場合、誰がスワップを必要としますか?さらに、データがない場合、誰が何かをバックアップする必要があります。)

いつこれが決定されたかはわかりません(おそらくかなり早い時期に、Solaris開発者がSolarisスタイルのディスク識別子とスライスを使用することを決定したときはいつでも)。

MBRスタイルのパーティションスキームは適用できないため、GPTの問題はなくなります。(私は、SolarisがGPTパーティションをどのように表現するかについて個人的にはよく知りませんが...)

XD


================
編集に
役立て ば幸いです。仕事に出る直前に見つけたいくつかのリンクを投稿します。

Solaris 2.4 Sysadminアンサーブック:通常のスライス
Solaris 2.4ユーザーガイド:周辺機器管理

これらのドキュメントは両方とも1994年頃であり、s2の作成はそれでも「フォーマット」に統合されていると定義しています。XDを掘り続けましょう!


それは役立ちますが、私が探していた具体的な答えではありません。確固たる証拠または証拠が欲しい!
X-Istence

この質問である狂気に他の誰かをドラッグしてください:-)。
X-Istence

わかりました...スライスの概念は、BSD 4.2とUnix System V.4(1984-1989)のリリースのどこかで生まれたようです...ライブラリを見つける時間>。<(インターネットのログはあまりありませんでした明らかな理由でその時点で。)
ParoX

docsrv.sco.com/cgi-bin/man/man?vtoc+7どうやらUnixWareはs0をパーティション全体として使用し、s1とs2をそれぞれルートとスワップとして使用しているようです。興味深い...
ParoX

1
1982年にBSDツリーでUFSを導入することに絞っています。私は今、SVRが4.2リリースでBSDからコンセプトを借用していることを確信しています(多くの古いプログラマーの参考文献を調べた後)。明日再びライブラリを
見つけます

1

この質問に関する詳細:

FreeBSDのhttp://en.wikipedia.org/wiki/BSD_disklabelによると、他のオペレーティングシステムでも使用されているディスク上のcパーティションは、FreeBSDスライス全体にのみ拡張され、パーティションdはハードドライブ全体になります。 !

cパーティションは、専用モードではディスク全体、またはスライスモードではFreeBSDスライス全体をアドレス指定します。他のパーティションは一般的な使用のためのものです。

FreeBSD手動ディスク追加は、18.3.1番号3 参照してください。


0

ビンテージSun OSでscsi id 3がデフォルトのブートディスクだったのはなぜですか?

雨の涙のように、それらの瞬間はすべて時間内に失われます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.