Como montar uma pasta de uma máquina Linux em outra máquina Linux?

14

Quero montar uma pasta de uma máquina Linux em outra máquina Linux. Como faço isso? Preciso atualizar /etc/fstabou /etc/export?

Meu objetivo é montar a /tmppartir de outra máquina Linux. Eu tenho o Debian 5.1. 10.45.40.165, esse é o IP da outra máquina.

Por exemplo, eu tentei:

mount -t nfs 10.45.40.165:/tmp /tmp
mount: 10.45.40.165:/tmp failed, reason given by server: Permission denied
slhck
fonte
1
Por que isso foi migrado do SF?
Ignacio Vazquez-Abrams
@ Ignacio Bem - o OP provavelmente não é administrador de sistemas. David, eu presumi que você tivesse o Debian. Corrija-me se eu estiver errado. Enfim, não há Linux 5.1 .
slhck
1
@slhck, @Darth: Se você insiste.
Ignacio Vazquez-Abrams
1
@ David: Por favor, poste /etc/exportse a saída de netstat -plante iptables -Lpara o servidor.
Ignacio Vazquez-Abrams
1
@ David: você iniciou um servidor NFS na máquina do servidor? O iptables está sendo executado no servidor?
Peltier

Respostas:

9

O que você está fazendo é compartilhar NFS. Em um sistema Debian, você deve instalar as ferramentas necessárias. Vamos supor que o cliente (a máquina na qual você deseja montar a pasta remota) e o servidor (a máquina onde está a pasta remota)

No servidor, você precisará instalar

apt-get install nfs-server portmap nfs-common

em novas versões debian

apt-get install nfs-kernel-server portmap nfs-common

No cliente, você precisará instalar:

apt-get install nfs-client nfs-common

Minha seleção de pacotes pode ter mais ou menos o que você precisa, mas algumas combinações serão suficientes.

Agora, o que você precisa fazer é colocar as pastas que deseja compartilhar com a máquina remota em / etc / exportações :

/path_to_tmp_folder/tmp 192.168.0.2(rw,sync,no_subtree_check,no_root_squash)

Então:

exportfs -ra
/etc/init.d/nfs-kernel-server restart
/etc/init.d/portmap restart

Aqui 192.168.0.2 é o endereço da sua máquina local, substitua-o pelo seu próprio IP. O arquivo de exportação possui a lista de máquinas que podem acessar a pasta compartilhada. Se suas máquinas não tiverem restrições de firewall entre si (você pode resolver isso adicionando host ao /etc/hosts.allow).

Agora na sua máquina local, você pode usar o comando:

sudo mount -o soft,intr,rsize=8192,wsize=8192 server_ip:/path_to_tmp_folder/tmp /local_path_to_empty_tmp_folder/tmp

Se você deseja montar automaticamente na inicialização, edite seu arquivo / etc / fstab e coloque a linha em seu cliente:

server_ip:/path_to_tmp/tmp /local_empty_folder/tmp nfs rsize=16384,wsize=16384,rw,auto,nolock

Este é apenas um exemplo de configurações (cópia copiada da minha), você precisa verificar a ajuda do nfs para ver quais suítes são as melhores.

enedene
fonte
Qualquer razão para que r / wsize seja diferente para a abordagem de montagem em oposição à abordagem fstab?
PUK
1
ao invés do nfs-server em novas versões do debian, o nfs-kernel-server deve ser usado. Esta informação está na árvore de dependência da debian. Portanto, a atualização da resposta é recomendada.
Dee
Você pode permitir uma sub-rede no exportsarquivo?
Nonsensickle
0

Para montar a pasta / tmp de outra máquina, ela deve ser exposta por um serviço que permita isso. Sua pergunta indica que você pretende usar o NFS para isso.

Nesse caso, você precisará editar / etc / exportações e fornecer uma linha semelhante a

/tmp 10.45.40/24(ro,insecure,sync,no_subtree_check)

Leia a página do manual para exportações para obter detalhes exatos de todas as opções. Quando as opções forem necessárias, reinicie o serviço NFS com

exportfs -ra

Em seguida, monte a pasta exportada do seu cliente.

wolfgangsz
fonte