Distinguindo os sistemas de arquivos Linux

5

Eu tenho tentado entender melhor como funciona o sistema de arquivos linux, olhando o journaling, inodes e lista de controle de acesso. Ao olhar para isso, me deparei com sistemas de arquivos que parecem não agir como eu esperaria que um sistema de arquivos agisse, como glusterfs e mergerfs. Em vez de serem gravados em um disco rígido semelhante ao mkfs.ext3 ou mkfs.xfs , eles são executados em cima dos outros sistemas de arquivos. Então, tanto o ext3 quanto o mergerfs (ou glusterfs) podem ser usados com a mesma unidade, o que parece estranho, pois até onde sei, dois sistemas de arquivos não podem ser definidos na mesma partição.

O meu entendimento dos sistemas de arquivos está errado, ou existe algo especial sobre os sistemas do mergerfs / glusterfs que os diferenciam do ext3 ou xfs?

    
por Hidden14 03.01.2018 / 00:57

3 respostas

16

A palavra "sistema de arquivos" está um pouco sobrecarregada, e acho que isso pode estar confundindo você. Em certo sentido, um "sistema de arquivos" é o formato no qual os arquivos são gravados em alguma mídia (por exemplo, uma partição em um disco). Em outro sentido, um "sistema de arquivos" (ou mais especificamente, um "Sistema de Arquivos Virtual") é uma abstração fornecida pelo sistema operacional que apresenta um conjunto de arquivos (arquivos regulares, diretórios, etc). Um sistema operacional pode ler o sistema de arquivos em disco e apresentar uma abstração do sistema de arquivos.

Os arquivos apresentados na abstração do sistema de arquivos podem ser armazenados em disco (por exemplo, ext4), em algum outro host na rede (por exemplo, cifs, nfs) ou em outro lugar. Algo como o mergerfs toma múltiplas fontes de arquivos e os apresenta como se fosse uma única fonte. Do site deles, "o mergerfs une logicamente vários caminhos. Pense em uma união de conjuntos".

Dê uma olhada no site da mergerfs , eles têm uma boa descrição do que isso faz.

    
por 03.01.2018 / 01:38
2

Os sistemas de arquivos de rede distribuída são mais parecidos com um banco de dados do que com um sistema de arquivos e geralmente residem em sistemas de arquivos comuns para evitar complicações / códigos duplicados.

    
por 03.01.2018 / 01:06
2

Com sistemas de arquivos de armazenamento conectados à rede, seria mais correto dizer que o sistema de arquivos está usando o sistema de arquivos subjacente para implementar-se ou com mais precisão usando o sistema de arquivos virtual (VFS) do sistema operacional que pode armazenar os dados no disco usando muitos sistemas de arquivos em disco diferentes.

Isso é verdade tanto no Samba quanto no NFS quando você os monta via sistema operacional. No entanto, o glusterfs também tem o recurso de combinar muitos armazenamentos conectados à rede em seu backend. Eu chamaria isso de FS em rede / sindicato, mas o termo que eles usam é scale-out.

Unionfs, mergerfs, aufs e overlayfs são implementações de montagem de união e existem como sistemas de arquivos no VFS do Linux, mas não no disco. Sua função é a de combinar arquivos de vários sistemas de arquivos subjacentes e apresentá-los como outro sistema de arquivos no VFS. Eles podem ser passados via mount ou fstab, mas eles não aparecerão no super bloco do ons disks.

Portanto, em nenhum momento, existem sistemas de arquivos em disco como vários dos sistemas de arquivos mencionados anteriormente. Embora, ironicamente, tais sistemas de arquivos existam. Por exemplo, um sistema de arquivos ext3 IS um sistema de arquivos ext4 até que um recurso específico do ext4 seja usado.

    
por 03.01.2018 / 01:31