Estou lendo sobre monte namespaces e veja:
in a mount namespace you can mount and unmount filesystems without it affecting the host filesystem. So you can have a totally different set of devices mounted (usually less).
Estou tentando entender namespaces do linux , e o LXC e tal, mas eu não entendo bem o que essa afirmação significa.
O que estou tentando entender é como um contêiner (1) pode ter arquivos como este:
/foo/a.txt
/foo/bar/b.txt
E outro contêiner (2) pode ter arquivos como este:
/foo/a.txt
/foo/x.txt
/foo/bar/b.txt
/foo/bar/y.txt
Onde /foo/a.txt
e /foo/bar/b.txt
nos contêineres (1) e (2) são o mesmo caminho , mas talvez eles tenham um conteúdo diferente:
# container (1)
cat /foo/a.txt #=> Hello from (1)
# container (2)
cat /foo/a.txt #=> Hello from (2)
Isso significaria que os arquivos no sistema físico (dos quais eu não sei nada) são armazenados de uma maneira, talvez espalhados por toda parte. Mas depois há um banco de dados centralizado de arquivos "virtuais" no sistema operacional , assim:
db:
container1:
foo:
a.txt: Hello from a from (1)
bar:
b.txt: Hello from b from (1)
container2:
foo:
a.txt: Hello from a from (2)
x.txt: Hello from x from (2)
bar:
b.txt: Hello from b from (2)
y.txt: Hello from y from (2)
Em seguida, existe outro banco de dados do sistema operacional para os arquivos físicos que podem ter esta aparência:
drive1:
dir1:
foo:
a.txt
bar:
b.txt
dir2:
foo:
a.txt
x.txt
bar:
b.txt
y.txt
Então, quando você cria um arquivo no container, você está criando 2 novos registros:
- 1 para o mapa de arquivos físicos no nível do drive
- 1 para o mapa de arquivos virtuais no nível do contêiner
É assim que imagino que funcione. Isto é como eu posso ver que existe uma maneira de (1) apresentar o usuário (em um contêiner LXC ou cgroup (que eu não sei muito sobre)) com o que parece um completo "arquivo" system ", no qual eles podem (2) criar sua própria estrutura de diretório totalmente personalizável (que pode ter os mesmos arquivos / diretórios / caminhos nomeados como um sistema de arquivos virtual completamente diferente), tal que (3) os arquivos de vários diferentes virtuais sistemas de arquivos / containers não se sobrepõem.
Imaginando se é assim que funciona, ou se não funciona realmente (ou um esboço de como funciona).