Estou compartilhando uma pasta com o NFS que contém outras unidades montadas no fstab, e o nfs do lado do cliente não consegue percorrer apenas a montagem mais profunda.
ie: / home / user / pictures É um diretório regular, que contém / camera1
/ home / user / pictures / camera1 é uma unidade 3TiB formatada com GPT e montada normalmente como ext4 no servidor / etc / fstab
É possivelmente um conflito que atualmente é compartilhado com o samba, mas parece coexistir, e isso funciona bem no servidor e no cliente.
Mas depois de montá-lo com o NFS, tenho um problema incomum de ver / camera1: é como se ele não estivesse montado. Em vez disso, mostra o diretório vazio de pré-montagem do servidor quando visto do cliente conectado por NFS.
Descobri que - r mount (observe o início 'r') - como distinto do --mount sugerido em todos os exemplos - faz o servidor NFS exportar o diretório (/ mnt / nfs / ...) percorre todo o caminho até / camera1. Mas o lado do cliente ainda não monta / camera1 - monta / ~ imagens ok, mas / camera1 é visto como a pasta vazia: como se / camera1 fossem desmontadas no servidor.
Para fins de demonstração, existe um UNMOUNTED.txt no diretório do servidor: ~ / pictures / camera1 / antes de montar qualquer coisa. Então, quando eu montar a unidade, o UNMOUNTED.txt é substituído por uma listagem de diretórios correta da unidade camera1 .. no servidor. Como pretendido.
** Mas * no cliente eu ainda vejo ... / camera1 / UNMOUNTED.txt
Nota:
/ - é uma unidade
/ home - é uma segunda unidade
/ home / user / pictures - é uma pasta na unidade / home
/ home / user / imagens / camera1 - é um terceiro disco
Todo o trabalho, como esperado, como o f4ab ext4 comum é montado no servidor, e apenas a montagem 'camera1' é um problema quando visualizado remotamente via NFS.
Eu vou passar pela minha configuração apenas no caso de estar errado.
SERVIDOR (Kubuntu 14.10)
ninguém e nogroup existem, então ..
# mkdir -p /mnt/nfs/pictures
# chown -R nobody:nogroup /mnt/nfs
# chmod 777 /mnt
# chmod 777 /mnt/nfs
# chmod 777 /mnt/nfs/pictures
ok
# mount --bind /home/user/pictures /mnt/nfs/pictures
montagens / mnt / nfs / imagens, mas / mnt / nfs / fotos / camera1 está vazio. Esse é o ponto crucial do problema.
# mount --rbind /home/user/pictures /mnt/nfs/pictures
( r bind desta vez) funciona como esperado e / mnt / nfs / pictures / camera1 é preenchido
então, então ..
/etc/idmapd.conf já tinha os mapeamentos corretos e eu confirmei tudo idêntico em ambas as máquinas.
Eu editei / etc / exports :
/mnt/nfs/ <SERVER-IP>(rw,fsid=root,no_subtree_check)
/mnt/nfs/pictures <SERVER-IP>(rw,no_subtree_check,sync,no_root_squash)
ok
sudo exportfs -rav
ok
sudo service nfs-kernel-server restart
também ok.
Então, no ..
CLIENTE (Kubuntu 16.04)
(Usando o SSH, mas acessando fisicamente, ele tem os mesmos resultados)
$ showmount -e <SERVER-IP>
Export list for <SERVER-IP>:
/mnt/nfs/pictures <SERVER-IP>
/mnt/nfs <SERVER-IP>
exibe corretamente o compartilhamento
então
$ ls -al /home/user/pictures
total 8
drwxr-xr-x 2 user user 4096 Aug 23 23:47 .
drwxr-xr-x 36 user user 4096 Aug 23 23:49 ..
confirma que o diretório existe e está vazio, então montei o compartilhamento:
# mount -t nfs <SERVER-IP>:/pictures /home/user/pictures
or
# mount -t nfs <SERVER-IP>:/mnt/nfs/pictures /home/user/pictures
....same diff
ok
... mas ...
$ ls -al ~/pictures/camera1
total 16
drwxrwxr-x 2 user user 4096 Nov 12 2015 .
drwxrwxrwx 6 user user 4096 Aug 24 12:31 ..
-rw-rw-r-- 1 user user 21 Nov 12 2015 UNMOUNTED.txt
-rwxr-xr-x 1 user user 213 Nov 12 2015 .directory
É claro que deve ser totalmente preenchido pelo conteúdo da montagem do drive 'camera1' montada e funcional.
Becasue - r bind ajuda o lado do servidor que eu estava tentando alavancar o lado do cliente, mas
# mount --rbind -t nfs <SERVER-IP>:/pictures /home/user/pictures
Apenas falha, dizendo que minha sintaxe está errada ... apesar de listar --rbind como válido na ajuda / man.
Ajuda?