ডিস্কলেস আর্চ গাইড অনুসরণ করার সময় আমি এই সমস্যায় পড়ে গিয়েছিলাম এবং এটি সত্যিই আমাকে ধীর করে দিয়েছে। আমি আমার অনুসন্ধানগুলি এখানে ভাগ করতে যাচ্ছি, কারণ আমি আগ্রহী যে এটি অন্য কারও পক্ষে কাজ করবে কিনা।
ডিস্কলেস গাইড অনুসারে আমার একটি লুপব্যাক চিত্রটিতে ডিস্কলেস ক্লায়েন্টের মূল ফাইল সিস্টেম (সত্যিকারের ডেটা রফতানি করতে হবে) রয়েছে, যা মাউন্ট করা হয়েছে /srv/des1
:
/srv/des1.img on /srv/des1 type btrfs (rw,relatime,compress=lzo,discard,space_cache)
তারপরে আমি একটি মাউন্টপয়েন্ট তৈরি করেছি তারপরে /nfs/des1
মাউন্টটি চালনা করব এবং নিশ্চিত হয়েছি যে আমি সবকিছু দেখতে পাচ্ছি:
# mkdir -p /nfs/des1
# mount --bind /srv/des1 /nfs/des1
# ls -l /nfs/des1
bin boot dev usr #[SNIP]
আর্চ এনএফএস নির্দেশিকা উল্লেখ করে আমি নিম্নলিখিতটি /etc/exports
সার্ভারে রেখেছি :
/nfs/ *(rw,no_root_squash,no_subtree_check,fsid=root)
/nfs/des1/ *{rw,no_root_squash,no_subtree_check,nohide)
আমি তখন exportfs -rav
এই পরিবর্তনগুলি প্রয়োগ করতে সার্ভারে একটি রান করেছিলাম ।
তবে আমি তার পরে পরীক্ষার ক্লায়েন্টের সাথে শেয়ারটি চাপিয়েছি: mount server:/des1 /mnt/tmp
কেবলমাত্র এটি খালি ডিরেক্টরিটি সন্ধান করার জন্য, যখন আমি ডিস্কলেস-রুট-ফাইল সিস্টেমটি আশা করি।
এই পর্যায়ে আমি সবকিছু সম্পর্কে চেষ্টা করেছি যতক্ষণ না কোনও কিছু আমাকে exports
মেন পৃষ্ঠায় এই বিকল্পটিতে নিয়ে যায় :
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.
তাই আমি এটিকে অন্যরকম বদলে নেওয়ার চেষ্টা করেছি তাই আমার /etc/exports
চেহারাটি এমন দেখাচ্ছে:
/nfs/ *(rw,no_root_squash,no_subtree_check,fsid=root,crossmnt)
/nfs/des1/ *{rw,no_root_squash,no_subtree_check)
ম্যান পেজ এন্ট্রিটি পড়ে আপনি ভাববেন এটি আগের কোডের মতো একই প্রভাব ফেলবে, কিন্তু যখন আমি exportfs -rav
আবার পরিবর্তনগুলি নিবন্ধকরণ করতে দৌড়ালাম , তখন ক্লায়েন্টের কাছ থেকে রিমাউন্ট করার চেষ্টা করলাম এবং এটি কাজ করেছিল!
/srv/foo --> /bar/foo
?