É possível que as partições raiz e home tenham sistemas de arquivos diferentes e estejam localizados em dispositivos físicos separados?

11

Imagine que eu tenha formatado a raiz com um sistema de arquivos ext3 em uma partição separada que exista em um disco rígido SATA e no diretório inicial em uma partição btrfs diferente que exista em um SSD da Intel.

Eu baixei um arquivo da Internet e o salvei temporariamente em /tmp (no sistema de arquivos raiz), então decidi movê-lo para meu diretório pessoal (a segunda partição).

Eu posso sentir o doloroso processo que acontece em segundo plano para fazer com que um simples comando mv funcione.

Então, primeiro, é possível que o root e o home tenham sistemas de arquivos diferentes? Em segundo lugar, supondo que a resposta para a pergunta anterior fosse "sim", como o SO gerencia toda a transição de ext3 para btrfs e depois usando diferentes drivers de dispositivo para diferentes tipos de disco (HDD e SSD)?

    
por Karim Manaouil 03.06.2017 / 05:31

2 respostas

25

A resposta é sim, você pode ter qualquer diretório em qualquer dispositivo, executando qualquer sistema de arquivos que o SO possa suportar.

Você pode ter / /var /home /opt e até /home/afr0ck em dispositivos diferentes, partições diferentes, sistemas de arquivos diferentes.

Não só você pode, mas é comum. Por exemplo, é sempre recomendado manter /var e /home em partições diferentes em / , pois é mais provável que consumam inadvertidamente espaço em disco - se elas forem preenchidas, isso não afetará muito o sistema. Se eles estiverem na mesma partição que o root, isso pode fazer com que o sistema pare.

E você pode querer que diretórios diferentes sejam executados em dispositivos diferentes por motivos de velocidade. E use sistemas de arquivos diferentes para finalidades diferentes. Por exemplo, talvez o ext4 seja o que você deseja para os arquivos do SO, já que eles não mudam muito, mas você pode querer o btrfs para / home para poder manter os instantâneos dos backups. Essas são todas as decisões que podem ser tomadas por cada pessoa para seu caso de uso específico.

A parte do espaço do usuário do sistema operacional não precisa entender os diferentes tipos de dispositivos e sistemas de arquivos. Tudo isso faz com que o kernel mova um arquivo, e o kernel orquestra tudo a partir daí. Portanto, o comando mv (por exemplo) é independente do sistema de arquivos e do dispositivo. O kernel invoca todos os drivers necessários para ler e gravar nas diferentes partições.

    
por 03.06.2017 / 06:06
7

Sim, sistemas de arquivos separados (pontos de montagem) podem ser diferentes tipos de sistema de arquivos. /proc é sempre um procfs filesystem e /sys é sempre sysfs . Sistemas de arquivos transitórios (às vezes incluindo /tmp ) são geralmente tmpfs , e, em configurações de grupo de trabalho, é comum os diretórios iniciais do usuário (e seus diretórios de produtos de trabalho) para ser nfs ou outros tipos de sistema de arquivos remotos (rede / compartilhada).

Não há nenhum gerenciamento especial para o sistema operacional fazer. Até certo ponto, no nível do usuário, todos os sistemas de arquivos são parecidos, no sentido de que uma listagem ls será praticamente a mesma em qualquer diretório. Além desse ponto, os sistemas de arquivos não interagem. Mesmo entre dois sistemas de arquivos (partições) no mesmo disco físico, do mesmo tipo de sistema de arquivos, não há linkagem 1 . Por exemplo, mover um arquivo de um sistema de arquivos (ponto de montagem) para outro sempre envolve fazer uma cópia e excluir o original. Não importa se são partições em discos diferentes. Não importa se um deles é HDD e um é SSD. Não importa se um é ext3 e um é btrfs . Não importa se um é interno (dentro do gabinete do computador) e um é externo (alguns centímetros fora, conectado por um cabo) - ou remoto (acessado pela rede).

Falando da rede, é um pouco análogo a ssh . Lê do teclado e envia os caracteres que você digita para a rede. Simultaneamente, lê da rede e exibe os resultados na tela.

Ou considere isto: imagine que você esteja no telefone, e você está mediando uma conversa entre a pessoa do outro telefone e outra pessoa na sala. Não é grande coisa.

por 03.06.2017 / 06:10