Qual é a diferença entre um symlink e binding com fstab?

7

No artigo de Eric Hammond Executando o MySQL no Amazon EC2 com EBS ele mostra como adicionar uma segunda unidade ( /vol/ ) e então progride para mover a configuração e os dados de mysql para lá.

/sdh é montado como /vol editando fstab e adicionando:

/dev/sdh /vol xfs noatime 0 0

E depois alguns caminhos são adicionados assim:

/vol/etc/mysql /etc/mysql     none bind

Eu não tenho problema em fazer isso, mas não entendo muito bem o que está acontecendo.

Eu posso comparar isso mais de perto usando um link simbólico, algo como:

ln -s /etc/mysql /vol/etc/mysql

Eu dei uma olhada em man fstab sem ver muita informação sobre a sintaxe bind e não consigo encontrá-la na seção fstab no Linux Administrator's Handbook. Alguém pode lançar alguma luz sobre a sintaxe fstab do bind , como funciona, o que faz e onde eu deveria ser capaz de encontrar mais informações sobre isso?

    
por cwd 26.03.2012 / 22:23

1 resposta

8

bind espelha um sistema de arquivos (entre outras situações, é útil ao definir um chroot dentro do qual você precisa ter um sistema "completo" (como ao descompactar / instalar o Gentoo).

Simplesmente assim, ele espelha uma árvore de A para B. Eu não sei ao certo se tem alguma opção, mas duvido, não faz mais que, bem, espelhamento.

Ao contrário de um link simbólico, que é um arquivo em um sistema de arquivos apontando para outro sistema de arquivos, requerendo que você o configure, e ainda é um "arquivo especial", o bind realmente espelha toda a subárvore. Dependendo da ferramenta, ambas as estratégias podem funcionar, mas é possível detectar o symlink e algumas ferramentas podem resolvê-lo para o caminho original. A abordagem bind é mais transparente, agindo como dois sistemas de arquivos diferentes.

    
por 26.03.2012 / 22:40