Quando e por que os dispositivos de bloco precisam ser particionados? [duplicado]

6

Portanto, tenho um dispositivo de bloco, digamos /dev/sda ou /dev/loop0 . Claramente, se eu quiser inicializar a partir do primeiro, ou eu quero subdividi-lo em segmentos com sistemas de arquivos separados, eu preciso particioná-lo. Mas suponha que eu não tenha essas necessidades. Em vez disso, pretendo usar meu dispositivo de bloco inteiro como armazenamento. Talvez eu faça parte de um volume de ataque, ou talvez eu o criptografe com cryptsetup, ou talvez eu faça um PV para o LVM. Ou talvez eu só queira instalar um sistema de arquivos diretamente nele. Em pelo menos alguns desses casos, não parece haver nenhum obstáculo técnico ao uso do dispositivo não particionado. É o que geralmente fazemos com dispositivos de bloco gerados pelo losetup, e também podemos fazer isso com discos rígidos comuns. Eu sei porque eu fiz isso.

Agora, há perigos para isso. Por exemplo, se você for executar fdisk /dev/sda , não verá nada sensato. E você pode acidentalmente escrever uma tabela de partições ou algo assim em seu dispositivo, e então os dados que você tinha no dispositivo não particionado seriam apagados. Talvez, se você inicializar o Windows com o dispositivo conectado, ele seja fechado. As pessoas contam histórias assustadoras.

Mas eu gostaria apenas de entender, se o dispositivo está sempre conectado à sua configuração Unix (e para manter as coisas simples, vamos nos ater apenas ao Linux), e você nunca tenta escrever uma tabela de partição ou MBR nele. ou qualquer coisa assim, existem outras desvantagens de usar um dispositivo de armazenamento não particionado? Eu não estou propondo fazer isso; Eu só quero entender quais são as razões genuínas para não fazer isso.

Por outro lado, existe algum obstáculo ou desvantagem para particionar o dispositivo de bloco /dev/loop0 ? Talvez não houvesse vantagem em fazê-lo. Mas espero que funcione, não é? Aqui também estou apenas perguntando porque quero entender as razões por trás de nossas práticas padrão.

    
por dubiousjim 20.10.2012 / 02:02

3 respostas

6

O kernel e outros programas, ocasionalmente, procuram por partições no disco, por exemplo, durante a inicialização. Se você tem uma tabela de partições: ótimo, ela os encontrará e você poderá colocar qualquer coisa que quiser dentro dessa partição.

Mas se você não tiver partições, então será preciso ter cuidado para não colocar algo dentro do disco que possa parecer como uma partição! Caso contrário, em uma inicialização subsequente, esses dados podem ser interpretados inadvertidamente como uma tabela de partição.

Eu sempre faço uma tabela de partições, só por segurança.

    
por 21.10.2012 / 02:46
4

O particionamento não é obrigatório em geral. Para o dispositivo de inicialização, é necessário apenas a) permitir que a partição de inicialização seja acessível por meio da API do BIOS (para permitir que o carregador de inicialização MBR carregue o grub ou outro carregador de inicialização corretamente se este for instalado na partição) eb) permitir a partição de inicialização pode ser lida pelo grub ou outro gerenciador de inicialização (por exemplo, o lilo não pode ler o LVM)

De todos os outros pontos de vista, não é necessário ter um dispositivo para ser particionado, a menos que você tenha alguns motivos para isso.

    
por 20.10.2012 / 02:58
3

Uma partição é apenas uma subdivisão lógica de um dispositivo de bloco (ou vamos usar o espaço de armazenamento em massa).

Você não precisa subdividir, exceto para coisas como limitações, etc. Entretanto, se você planeja colocar um sistema de arquivos lá, é outra história.

Você pode formatar sem particionar, apenas criando a estrutura do sistema de arquivos, e é isso. Agora, se você quiser que esta partição seja acessível a partir de coisas como BIOS ou outras coisas de baixo nível, é uma boa idéia usar tabelas de partição e MBRs, com suas cópias em determinados pontos (ferramentas de particionamento e formatação fazem isso para você).

E essa é basicamente a única razão para realmente particionar, além de subdivisões lógicas para o usuário (por exemplo, você), por qualquer motivo.

Isso provavelmente vai além de sua pergunta, mas a vantagem de ter uma partição de sistema e uma partição de usuário é que você pode formatar uma, sem perder a outra. Você provavelmente formatará o sistema com mais frequência do que os diretórios do usuário. Você não precisa salvar todos os dados do usuário em unidades externas ou qualquer outra coisa. Além disso, você pode usar essa partição para fazer backup de algumas configurações do sistema.

    
por 20.10.2012 / 09:39