Dlaczego klient NFS uzyskuje dostęp do nieaktualnej ścieżki?

1

Mam pytanie dotyczące NFS.

Eksportuję / opt / foo przez NFS w / etc / export:

/opt/foo      client.domain.com(rw,no_root_squash,async,wdelay,no_subtree_check)

/ opt / foo jest zamontowany na client.domain.com.

Ponieważ brakuje mi miejsca na dysku, postanowiłem zamontować wolumin logiczny w / opt / foo / bar, ponieważ „bar” to katalog, w którym przechowywane są dane aplikacji.

mv bar bar.bak
mkdir bar
mount -t ext3 /dev/VolGroup00/LogVol00 /opt/foo/bar

Teraz okazuje się, że klient uzyskuje dostęp do folderu „bar.bak”. Próbowałem odświeżyć tabelę eksportu, wykonując jedną z następujących czynności:

exportfs -r
/etc/init.d/nfsd restart

Czy jest jakiś sposób, aby uzyskać dostęp do nowego „/ opt / foo / bar” bez ponownego montażu? Nie mam dostępu do klienta, który montuje eksport NFS.

Michael

Michael
źródło

Odpowiedzi:

1

Krótka odpowiedź: nie możesz.

Po zamontowaniu wyeksportowanego systemu plików klient uzyskuje do niego dostęp za pomocą uchwytu, a nie nazwy; uchwyt jest zbudowany z urządzenia i i-węzła, którego zmiana nazwy nie ulegnie zmianie - i nie spowoduje zamontowania czegoś w już zamontowanym katalogu (inny identyfikator systemu plików). Jeśli absolutnie nie możesz zmusić klienta do ponownego zamontowania, najlepszym rozwiązaniem jest zamontowanie nowego woluminu w celu zastąpienia zajętego / pełnego podkatalogu / opt / foo / bar - nie wpłynie to na otwarte uchwyty plików na kliencie, ale nowe otwiera wolę.

Gabe
źródło