Natknąłem się na ten problem podczas korzystania z przewodnika Diskless Arch , co naprawdę mnie spowolniło. Podzielę się tutaj swoimi odkryciami, ponieważ jestem ciekawy, czy to zadziała dla kogokolwiek innego.
Zgodnie z przewodnikiem bezdyskowym mam główny system plików klienta bezdyskowego (rzeczywiste dane, które muszę wyeksportować) w obrazie pętli zwrotnej, który został zamontowany na /srv/des1
:
/srv/des1.img on /srv/des1 type btrfs (rw,relatime,compress=lzo,discard,space_cache)
Następnie utworzyłem punkt montowania, /nfs/des1
a następnie uruchom go i potwierdź, że wszystko widzę:
# mkdir -p /nfs/des1
# mount --bind /srv/des1 /nfs/des1
# ls -l /nfs/des1
bin boot dev usr #[SNIP]
Odnosząc się do przewodnika Arch NFS , następnie umieściłem /etc/exports
na serwerze:
/nfs/ *(rw,no_root_squash,no_subtree_check,fsid=root)
/nfs/des1/ *{rw,no_root_squash,no_subtree_check,nohide)
Następnie uruchomiłem exportfs -rav
na serwerze, aby zastosować te zmiany.
Jednak potem zamontowałem udział na kliencie testowym za pomocą: mount server:/des1 /mnt/tmp
tylko po to, by znaleźć pusty katalog, kiedy spodziewałem się, że istnieje system plików root-bezdyskowych.
Na tym etapie próbowałem prawie wszystkiego, aż coś doprowadziło mnie do tej opcji na exports
stronie podręcznika :
crossmnt
This option is similar to nohide but it makes it possible for clients
to move from the filesystem marked with crossmnt to exported filesystems
mounted on it. Thus when a child filesystem "B" is mounted on a parent "A",
setting crossmnt on "A" has the same effect as setting "nohide" on B.
Więc po wypróbowaniu wszystkiego innego zamieniłem to, więc /etc/exports
wyglądałem tak:
/nfs/ *(rw,no_root_squash,no_subtree_check,fsid=root,crossmnt)
/nfs/des1/ *{rw,no_root_squash,no_subtree_check)
Po przeczytaniu wpisu strony podręcznika można by pomyśleć, że będzie to miało taki sam efekt jak poprzedni kod, ale kiedy exportfs -rav
ponownie uruchomiłem program, aby zarejestrować zmiany, spróbowałem ponownie połączyć się z klientem i zadziałało!
/srv/foo --> /bar/foo
?