Diskless Arch rehberini takip ederken bu soruna rastlamıştım ve bu beni gerçekten yavaşlattı. Bulgularımı burada paylaşacağım, çünkü bunun başkaları için işe yarayıp yaramayacağını merak ediyorum.
Disksiz kılavuza göre, üzerine monte edilmiş bir geridönüşüm görüntüsünde disksiz istemcinin kök dosya sistemine (dışa aktarmam gereken gerçek veriye) sahibim /srv/des1
:
/srv/des1.img on /srv/des1 type btrfs (rw,relatime,compress=lzo,discard,space_cache)
Sonra bir mountpoint oluşturdum, /nfs/des1
sonra mount'u çalıştırdım ve her şeyi görebildiğimi doğruladım:
# mkdir -p /nfs/des1
# mount --bind /srv/des1 /nfs/des1
# ls -l /nfs/des1
bin boot dev usr #[SNIP]
Değinen Arch NFS rehber, o zaman aşağıdaki koymak /etc/exports
sunucuda:
/nfs/ *(rw,no_root_squash,no_subtree_check,fsid=root)
/nfs/des1/ *{rw,no_root_squash,no_subtree_check,nohide)
Daha sonra exportfs -rav
bu değişiklikleri uygulamak için sunucuda bir koştum .
Ancak daha sonra sınama istemcisine paylaşımını yaptım: mount server:/des1 /mnt/tmp
disksiz kök dosya sisteminin olmasını beklediğimde yalnızca boş bir dizin bulmak için.
Bu aşamada, beni exports
man sayfasındaki bir seçeneğe yönlendirene kadar her şeyi denedim :
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.
Benim bu yüzden başka çalıştı herşey sahip Yani Bunu tersine takas /etc/exports
şuna benziyordu:
/nfs/ *(rw,no_root_squash,no_subtree_check,fsid=root,crossmnt)
/nfs/des1/ *{rw,no_root_squash,no_subtree_check)
Man page girişini okuduğunuzda, bunun önceki kodla aynı etkiye sahip olacağını düşünebilirsiniz, ancak exportfs -rav
değişiklikleri kaydetmek için tekrar koştuğumda , istemciden yeniden toplanmaya çalıştım ve çalıştı!
/srv/foo --> /bar/foo
mi?