Algo que eu estava discutindo com alguns amigos e não conseguimos descobrir. No FreeBSD e no OpenSolaris / Solaris, quando você particiona uma unidade, é criada uma partição que cobre todo o disco:
da0s1c
c0d0s2
Por exemplo, a saída do meu disco rígido principal no meu servidor OpenSolaris:
[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
Qual foi o raciocínio por trás do uso da partição 2? Por que não particionar 0? Onde na história do unix isso foi decidido? Que recurso herdado serviu naquele momento? Com o particionamento GPT que desaparece completamente (pelo que eu encontrei).
Apenas algo interessante ...
Desde que o ParoX mencionou o particionamento no estilo GPT e como o Solaris representa isso em termos de layout vtoc, aqui está a saída de um dos meus discos com 1 TB e em uma matriz ZFS, e foi configurado automaticamente com o 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
Respostas:
Antigamente, realizávamos backups usando "dd" de todo o disco. Portanto, tivemos a fatia "c" para que pudéssemos fazer tudo com um comando.
É por isso que a fatia "c" existe.
DD não é perfeito. Se um disco estiver apenas 10% cheio, você gasta 90% do seu tempo copiando blocos que são "lixo" ou (por exemplo) são usados para "troca" (inútil para fazer backup). "dd" é uma perda de tempo, a menos que seu disco esteja quase cheio ou se, por algum motivo, você precisar de uma cópia exata, bloco a bloco.
Isso foi tudo antes do espelhamento de disco RAID-0 e dos gerenciadores de volume fazer todo esse tipo de partição de cópia para você.
(Alguém mencionou "dump" na fatia "c". Isso não funcionará. "Dump" é uma cópia de arquivo por arquivo [na verdade, inode por inode] para que não funcione.)
Alguém mais perguntou "por que é c, não a primeira partição ou a última". A resposta é "tradição". Só posso supor que Ken ou Dennis (ou possivelmente Bill Joy ou Kirk McKusick) tivessem um bom motivo na época. Suponho que eles usaram os dois primeiros rótulos de partição para partições reais. Então, um dia, alguém teve a idéia da partição de sobreposição para fazer backups e "c" foi a próxima partição disponível. Como havia apenas 2-3 máquinas Unix na época, fazer isso duas vezes pode "definir o padrão" usado pelo resto do tempo.
Outro exemplo de como os acidentes históricos se tornam padrões que nunca acontecem é descrito neste artigo: Entendendo a divisão bin, sbin, usr / bin, usr / sbin
fonte
É o resultado das fatias tradicionalmente serem dispostas da seguinte maneira:
s0: raiz
s1: troca
s2: bkup
Eles atribuíram a coisa mais importante à primeira fatia e continuaram com uma importância cada vez menor :) (Quem precisa de troca se você não possui partição raiz? Além disso, quem precisa fazer backup de qualquer coisa se você não tiver dados.)
Não sei quando exatamente isso foi decidido (provavelmente bem cedo; sempre que os desenvolvedores do Solaris decidissem usar identificadores e fatias de disco no estilo Solaris).
O problema desaparece com o GPT, pois o esquema de partição no estilo MBR não é aplicável. (Embora eu pessoalmente não conheça como o Solaris representa partições GPT ...)
Espero que isso tenha ajudado XD
================
Editar:
Agora você me interessou. Vou postar alguns links que encontrei antes de começar a trabalhar.
Livro de respostas do Solaris 2.4 Sysadmin: Fatias habituais
Guia do usuário do Solaris 2.4: Administração de periféricos
Ambos os documentos estão por volta de 1994 e definem a criação do s2 como integrada no 'formato' mesmo assim. Tenho que continuar cavando XD!
fonte
Mais informações sobre esta questão:
De acordo com http://en.wikipedia.org/wiki/BSD_disklabel no FreeBSD, a partição c em um disco que também está em uso por outros sistemas operacionais se estenderá apenas para toda a fatia do FreeBSD, e a partição d seria o disco rígido inteiro !
Adicionando Disco Manual ao FreeBSD veja 18.3.1 número 3.
fonte
Por que o scsi id 3 foi seu disco de inicialização padrão no Sun OS vintage?
Todos esses momentos serão perdidos no tempo, como lágrimas na chuva.
fonte