এনএফএস ক্যাশে: সার্ভারে পরিবর্তিত হয়ে ক্লায়েন্টে ফাইলের সামগ্রী আপডেট হয় না


11

এখানে আমার সেট আপ করা হয়েছে: ওয়ান এনএফএস সার্ভার মেশিন (ভি 4), বেশ কয়েকটি এনএফএস ক্লায়েন্ট মেশিন।

যখন কোনও ক্লায়েন্ট মেশিন এনএফএস মাউন্টে ফাইলগুলি লেখেন, অন্য ক্লায়েন্টগুলি তাত্ক্ষণিকভাবে নতুন সামগ্রী দেখতে পান: কোনও সমস্যা নেই।

কিন্তু, সার্ভার মেশিন যখন ফাইলের সামগ্রীটি পরিবর্তন করে, আমি lsক্লায়েন্টের কাছ থেকে ডিরেক্টরিটি না করা পর্যন্ত এই নতুন সামগ্রীটি ক্লায়েন্টের উপরে প্রদর্শিত হবে না ।

আমি এই অসঙ্গতিতে একেবারে স্টাম্পড ... কোনও সাহায্যের প্রশংসা করা হবে!

ইনফোস:

  • ক্লায়েন্ট এবং সার্ভার উভয়ই এনএফএস 1.2.3-r1
  • অ্যাক্রেগমিন, অ্যাক্রেগম্যাক্স, অ্যাকডিরমিন, অ্যাকডিরম্যাক্স, লুকআপক্যাচ: ডিফল্ট মান

1
আপনি আরও তথ্যের জন্য কিছুটা পরীক্ষা করতে পারেন ?: ls -iসার্ভারে ফাইল সম্পাদনা করার আগে ক্লায়েন্টের সাথে একটি করুন, তারপরে আবার। সংখ্যা পরিবর্তন হয় কিনা দেখুন। সার্ভার ফাইলটি প্রতিস্থাপন করছে এবং ডিরেক্টরিটি পুনরুদ্ধার না করা অবধি ক্লায়েন্ট এটি পর্যবেক্ষণ করবে না বলে যদি তারা এটি করে। যদি তাই হয় তবে মাউন্ট অপশনটি সেট করার চেষ্টা করুন lookupcache=noneএবং দেখুন আচরণটি পরিবর্তন হয়েছে কিনা।
প্যাট্রিক

2
দেরি করার জন্য দুঃখিত. ইনোড কার্যকরভাবে পরিবর্তিত হয়। আমি লুক্ক্যাচক্যাস বিকল্পটি যুক্ত করেছি, মনে হচ্ছে এটি কার্যকর হবে। আমি আগামীকাল আবার চেক করব।
numberxiii

উত্তর:


11

আপনার মন্তব্যের ভিত্তিতে উত্তর হিসাবে যুক্ত করা হচ্ছে।
সমাধানটি হল lookupcache=noneআপনার এনএফএস মাউন্ট অপশনগুলিতে যুক্ত করা।

যা ঘটে তা হ'ল আপনার ক্লায়েন্ট প্রথমবারের মতো ফাইলটি পড়েন এটি এনএফএস ফাইলিড পাওয়ার জন্য একটি এনএফএস লকআপ করে। এরপরে এটি এনএফএস ফাইলিডকে ক্যাশে করে এবং আপনি যখন ফাইলটি খুলতে ফিরে যান তখন এটি ক্যাশে ব্যবহার করে। সাধারণত ফাইলটি আপডেট হওয়ার সাথে সাথে এটির সমস্যাটি হয় না যেমন এর ফাইলিড একই থাকে। তবে কিছু কারণে পুরানো ফাইলটি সরিয়ে ফেলা হচ্ছে এবং একটি নতুন ফাইল তৈরি করা হয়েছে (বা নাম পরিবর্তন করা হয়েছে, বা এমন কিছু যেখানে এটি একই ফাইল নয়)।
এখন সাধারণত এটি সমস্যা হয় না যেমন হয় যখন আপনার ক্লায়েন্ট কোনও ফাইলআইড খোলার চেষ্টা করে যা সেখানে নেই, এটি সার্ভার থেকে একটি ত্রুটি পাবে এবং নতুন ফাইলিড পাওয়ার জন্য অন্য অনুসন্ধান করবে। তবে কোনও কারণে এনএফএস সার্ভার ক্লায়েন্টকে সেই পুরানো ফাইলিড খুলতে দিচ্ছে। সম্ভবত অন্য ক্লায়েন্টের ফাইলটি খোলা আছে এবং এটি এখনও মুছে ফেলা হচ্ছে না, আমি জানি না।

যে কোনও ক্ষেত্রে এটি সমাধানের উপায় হ'ল এনএফএস মাউন্ট বিকল্পটি ব্যবহার করে কোনও ফাইল খোলার আগে ক্লায়েন্টকে সর্বদা একটি এনএফএস লুকআপ করতে বলা lookupcache=none। এর খারাপ দিকটি হ'ল এটি ব্যয়বহুল হতে পারে যদি আপনি প্রায়শই ফাইলগুলি খোলেন কারণ এটি এনএফএস সার্ভারে আরও ট্র্যাফিক যুক্ত করে।


আপনার ব্যাখ্যার জন্য ধন্যবাদ। এনএফএস সার্ভারে, রফতানি হওয়া ডিরেক্টরিটির স্ট্যাকটি ডিআরবিডি / এলভিএম / এক্সট 4। এটি "বাগ" এর কারণ হতে পারে। আমার বেশ কয়েকটি ক্লায়েন্টের সমস্যা রয়েছে, তবে অন্য কারও কাছে নয় ... আমি আমার সমস্ত পরীক্ষা আবার করব এবং এই বিকল্পটি দিয়ে যদি সবকিছু ঠিকঠাক চলছে কিনা আপনাকে জানাব।
numberxiii

0

মাউন্ট বিকল্পটি এতে পরিবর্তন করুন hard,intr। আমি মনে করি আপনার সিস্টেমে ডিফল্টটি নরম হতে পারে। এইটা সাহায্য করবে.


দুর্ভাগ্যক্রমে, এই মাউন্ট অপশনগুলি যুক্ত করে কোনও পরিবর্তন হয় নি :(
xiii

আমার প্রথম পরীক্ষার জন্য, আমি একটি রিমাউন্ট করি। তারপরে আমি একটি ক্লিন মাউন্ট দিয়ে অন্য ক্লায়েন্টের কাছ থেকে একটি পরীক্ষা করেছি। সমস্যাটি সংশোধন হয়েছে বলে মনে হচ্ছে: আমরা নতুন সামগ্রী দেখতে 30
সেকেন্ড

আমি যাচাই করার জন্য একটি নতুন ক্লায়েন্ট (ভিএম) তৈরি করেছি: সামগ্রীটিতে কোনও সমস্যা নেই!
numberxiii

1
@ জনহেন 64৪ কেন আপনি ভাবেন যে কঠোরভাবে সমস্যাটি সমাধান হবে? সংযোগ বাধা দেওয়ার ক্ষেত্রে কেবল শক্ত / নরমতার বিষয়টি বিবেচনা করে, ক্যাশে করার সাথে কিছুই করার নেই।
প্যাট্রিক

0

আপনি ম্যানুয়ালি এনএফএস ক্যাশে দিয়ে রিফ্রেশ করতে পারেন

sudo mount /nfs-mount -o remount

... আপনি যদি কোনও মাউন্ট অপশন ডিগ্রোফর্ম পারফরম্যান্স যুক্ত করতে না চান তবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.