অটোম্যান্ট এনএফএস: অবিশ্বস্ত সার্ভারগুলির জন্য অটোফস টাইমআউট সেটিংস - কিভাবে হ্যাঙ্গআপ এড়ানো যায়?


18

আমি আমাদের ফ্ল্যাট শেয়ারের জন্য একটি ছোট সার্ভার চালাচ্ছি। এটি বেশিরভাগ অতিরিক্ত পরিষেবা সহ একটি ফাইল সার্ভার । ক্লায়েন্টগুলি লিনাক্স মেশিন (বেশিরভাগ উবুন্টু, তবে কিছু অন্যান্য ডিস্ট্রোও) এবং কিছু ম্যাক (-বুক) এর মধ্যে রয়েছে (তবে তারা প্রশ্নের জন্য গুরুত্বপূর্ণ নয়)। সার্ভারটি উবুন্টু ১১.১০ (ওয়ানিরিক ওসেলোট) 'সার্ভার সংস্করণ' চলছে , আমি যে সিস্টেমটি থেকে আমার সেটআপ করি এবং পরীক্ষা করি এটি ১১.১০ 'ডেস্কটপ সংস্করণ' চালায়। আমরা যেখানে সাম্বার সাথে আমাদের শেয়ারগুলি চালিয়ে যাচ্ছি (যার সাথে আমরা আরও পরিচিত) তবে পরে এনএফএসে স্থানান্তরিত হলাম (কারণ আমাদের ল্যানটিতে কোনও উইন্ডোজ ব্যবহারকারী নেই এবং এটি চেষ্টা করতে চান) এবং এখন পর্যন্ত সবকিছু ঠিকঠাক কাজ করে

এখন আমি সঙ্গে সেটআপ স্বয়ংক্রিয় মাউন্ট করতে চান autofs 'র জিনিষ আপ (আপ এখন সবাই মাউন্ট শেয়ার ম্যানুয়ালি প্রয়োজন হলে) মসৃণ করতে। অটো-মাউন্টিং কাজ করছে বলে মনে হচ্ছে। সমস্যাটি হ'ল আমাদের "সার্ভার" শক্তি বাঁচাতে 24/7 চালায় না (যদি কারও কাছে সার্ভারের স্টাফ প্রয়োজন হয় তবে সে এটিকে চালিত করে এবং পরে এটি বন্ধ করে দেয়, তাই এটি কেবল প্রতিদিন কয়েক ঘন্টা চালায়)। কিন্তু অটোস সেটআপ করার পরে যখন ক্লায়েন্টরা ঝুলতে থাকে তখন প্রায়শই সার্ভারটি চালু না থাকে।

  • সার্ভার চলমান না থাকা অবস্থায়ও আমি সমস্ত ক্লায়েন্টকে ঠিকঠাক শুরু করতে পারি।

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

    • এড়াতে কি উপায় আছে? যাতে মাউন্টটি ডিরেক্টরিতে কোনও পরিবর্তন না হওয়া পর্যন্ত বা সেই ডিরেক্টরিতে থাকা সামগ্রীর অ্যাক্সেস না হওয়া পর্যন্ত বিলম্বিত হবে? নীচে ভাগ করার কোনও লিঙ্কটি যখন "দেখছেন" না /nfs? আমি মনে করি না, তবে সম্ভবত এতদিন এটি অ্যাক্সেস করার চেষ্টা না করা সম্ভব? এবং আমাকে কেবল একটি খালি ডিরেক্টরি দিন বা একটি "সেই দিরের সাথে সন্ধান / সংযোগ করতে পারে না" বা এর মতো কিছু।
  • সার্ভার চলমান থাকলে, সবকিছু ঠিকঠাক কাজ করে।

  • কিন্তু যখন সার্ভারটি শাট ডাউন হয়ে যায়, কোনও ভাগ আনমাউন্ট হওয়ার আগে , সরঞ্জামগুলি (যেমন dfবা ll) হ্যাং হয় (ধরে নেওয়া হয় কারণ তারা মনে করে যে ভাগটি এখনও চালু রয়েছে তবে সার্ভার আর প্রতিক্রিয়া জানাবে না)।

    • সংযোগটি হারিয়ে যাওয়ার পরে কী স্বয়ংক্রিয়ভাবে শেয়ারগুলি আনমাউন্ট করার কোনও উপায় আছে?
  • এছাড়াও সার্ভারটি ডাউন থাকাকালীন ক্লায়েন্টগুলি শাটডাউন বা পুনঃসূচনা করবে না এবং তাদের এখনও শেয়ারগুলি মাউন্ট হয়েছে। " অবশিষ্ট প্রক্রিয়াগুলি হত্যার " ক্ষেত্রে তারা ঝুলিয়ে রাখে (অসীমভাবে মনে হয়) এবং কিছুই ঘটেছিল বলে মনে হয় না।

আমি মনে করি এটি মাউন্ট এবং আনমাউন্টিংয়ের জন্য ঝরঝরে সময়সীমা মানগুলিতে নেমে আসে। এবং যখন সার্ভারের সাথে সংযোগটি নষ্ট হয়ে যায় তখন সমস্ত শেয়ার মুছে ফেলার জন্য।

সুতরাং আমার প্রশ্ন: এটি কিভাবে পরিচালনা করবেন? এবং একটি বোনাস হিসাবে: /nfsআসল শেয়ারগুলি মাউন্ট করার প্রয়োজন ছাড়াই কি ভিতরে লিঙ্ক করার একটি ভাল উপায় আছে (একটি অটোস বিকল্প বা সম্ভবত একটি সিউডো এফএস ব্যবহার করে /nfsযার জন্য মাউন্টটি ঘটে বা এরকম কিছু হয়ে গেলে প্রতিস্থাপন হয়)?

আমার সেটআপ

NFS- র সেটিং প্রশংসনীয় মৌলিক কিন্তু ভাল এতদূর (ব্যবহার পরিবেশিত অবস্থায় NFSv4 রূপে নির্ধারিত ):

জন্য / etc / ডিফল্ট / NFS-সাধারণ

NEED_STATD=
STATDOPTS=
NEED_IDMAPD=YES
NEED_GSSD=

/etc/idmapd.conf

[General]
Verbosity = 0
Pipefs-Directory = /var/lib/nfs/rpc_pipefs
Domain = localdomain
[Mapping]
Nobody-User = nobody
Nobody-Group = nogroup

/ Etc / exports-

/srv/   192.168.0.0/24(rw,no_root_squash,no_subtree_check,crossmnt,fsid=0)

এক্সপোর্ট রুটের অধীনে /srvআমরা দুটি ডিরেক্টরি পেয়েছি bind:

/ ইত্যাদি / fstab (সার্ভার)

...
/shared/shared/      /srv/shared/      none    bind  0 0
/home/Upload/        /srv/upload/      none    bind  0 0

1 মটি বেশিরভাগই কেবল পঠিত হয় (তবে আমি এনটিএস সেটিংসের পরিবর্তে ফাইল অ্যাট্রিবিউট এবং মালিকানার মাধ্যমে এটি প্রয়োগ করি) এবং দ্বিতীয়টি সকলের জন্য আরডাব্লু । দ্রষ্টব্য: / etc / রফতানিতে তাদের কোনও অতিরিক্ত প্রবেশ নেই , এগুলি পৃথক করে মাউন্ট করা যদিও কাজ করে।

ক্লায়েন্টের পাশে তারা সেটআপ পান /etc/fstabএবং প্রয়োজন অনুসারে ম্যানুয়ালি মাউন্ট করা হয় ( mortonসার্ভারের নাম এবং এটি সূক্ষ্ম সমাধান করে)।

/ ইত্যাদি / fstab (ক্লায়েন্ট)

morton:/shared  /nfs/shared nfs4    noauto,users,noatime,soft,intr,rsize=8192,wsize=8192    0   0
morton:/upload  /nfs/upload nfs4    noauto,users,noatime,soft,intr,rsize=8192,wsize=8192    0   0

জন্য autofs 'র সেটআপ আমি থেকে এন্ট্রি মুছে /etc/fstabক্লায়েন্ট এবং এই মত বিশ্রাম সেট করুন:

/etc/auto.master

/nfs    /etc/auto.nfs

প্রথমে আমি সরবরাহ করা এক্সিকিউটেবলকে বেঁধে দিয়েছি /etc/auto.net(আপনি এটি এখানে একবার দেখতে পারেন ) তবে এটি স্বয়ংক্রিয়ভাবে আমার জন্য কিছু মাউন্ট করবে না। তারপরে আমি /etc/auto.nfsঅনলাইনে পাওয়া কিছু হাওটোসের উপর ভিত্তি করে লিখি:

/etc/auto.nfs

shared  -fstype=nfs4  morton:/shared
upload  -fstype=nfs4  morton:/upload

এবং এটি কিন্ডা কাজ করে ... অথবা সার্ভারটি 24/7 চলমান থাকলে কাজ করবে। সুতরাং যখন কোনও ক্লায়েন্ট সার্ভার ছাড়াই বুট হয় বা যেখানে এখনও সংযুক্ত থাকে সেখানে ভাগ করার সময় যখন সার্ভারটি ডাউন হয় তখন আমরা হ্যাঙ্গআপগুলি পাই।

উত্তর:


2

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

সুতরাং আমি যা করেছি তা ছিল / এনএফএস / এমএনটিতে মাউন্টগুলি তৈরি করতে অটো.মাস্টার পরিবর্তন করা।

এটি আমার জন্য সমস্যাটি স্থির করেছে। আমি / এনএফএস / এমএনটি-র বিষয়বস্তুগুলি তালিকাভুক্ত করার চেষ্টা করি তবে আমি খুব বেশি বিলম্ব পাই, যা আমি সহজেই এড়াতে পারি।


20

মাউন্ট-অপশনগুলি "বিজি, ইন্টার, হার্ড" ব্যবহার করে ক্লায়েন্টগুলিতে এনএফএস-ভাগ মাউন্ট করুন।

আপনার ক্ষেত্রে সর্বাধিক গুরুত্বপূর্ণ হ'ল ব্যাকগ্রাউন্ডের জন্য "বিজি" - যা সার্ভারটি উপলভ্য না হলে সিস্টেমকে অবরুদ্ধ না করার কথা বলে।

"ইন্ট্রি" অবিচ্ছিন্ন জন্য - যাতে আপনি কমান্ড কমান্ডের সাহায্যে ক্লায়েন্টের উপর ঝুলন্ত মাউন্টগুলি হত্যা করতে পারেন।

"শক্ত" হ'ল "নরম" এর বিপরীত। পার্থক্যটি হ'ল "হার্ড" অবিরাম চেষ্টা চালিয়ে যাবে যখন সার্ভার উপলব্ধ নেই তখন "নরম" তত্পরভাবে তার পুনরায় চেষ্টাগুলি বন্ধ করে দেবে।


উত্তরের জন্য ধন্যবাদ. আমি এখনই পরীক্ষা করতে পারছি না কারণ আমি বাড়িতে নেই, তবে লোক পৃষ্ঠাটি পেতে (আবার) চেষ্টা করার পরে, আমি আরও কিছু প্রশ্ন পেয়েছি: hardএবং bgআমার কাছে প্রথমে স্বজ্ঞাত মনে হচ্ছে। আমি চাই মাউন্টটি আবার চেষ্টা করবে না এবং যদি এটি বিল হয়ে যায় তবে অবিলম্বে ফিরে আসবে? intrঠিক আছে বলে মনে হচ্ছে তবে এটি আর কাজ করবে না: " কর্নেল ২.6.২৫ এর পরে ইন্ট্রি / নেন্টার মাউন্ট অপশনটি হ্রাস করা হয়েছে Only কেবল সাইনকিইএল এই কার্নেলগুলিতে একটি মুলতুবি থাকা এনএফএস অপারেশনকে বাধা দিতে পারে, এবং যদি নির্দিষ্ট করা থাকে তবে এই মাউন্ট বিকল্পটিকে পিছনের দিকে সামঞ্জস্যতা প্রদান করতে উপেক্ষা করা হবে পুরানো কার্নেল দিয়ে ? "
ব্রুটাস

2
হার্ড অবিরাম চেষ্টা করবে - এখনই মাউন্টটি সম্ভব না হলে বিজি ব্লক করবে না। ফলাফলটি যখন পাওয়া যায় তখন এটি মাউন্ট হয় তবে অন্যান্য সমস্ত ক্রিয়াকলাপ চলবে। INTR এখন ডিফল্ট বলে মনে হচ্ছে - যা দুর্দান্ত। শুরুতে আপনার এনএফএস-সার্ভার মারা গেলে আপনাকে ঝুলন্ত ক্লায়েন্টটি পুনরায় চালু করতে হবে ...
নীল

আমি এটা পরীক্ষিত, কিন্তু যোগ hard,bgকরতে /etc/auto.masterপরিবর্তন কিছুই বলে মনে হয়। একটি time ls -l ~(আমার ব্যবহারকারী দির এতে একটি সিমিলিং রয়েছে /nfs/upload) এখনও সার্ভারটি চলমান না থাকলে আরও দুই মিনিট বেশি সময় নেয়।
ব্রুটাস

আপনি অটোফগুলি পুনরায় চালু করেছেন? কেবলমাত্র সাবম্যাপ-পরিবর্তনগুলি অটোফ পুনরায় আরম্ভ না করে প্রচার করবে।
নীল

আমি করেছি:sudo reload autofs && sudo restart autofs
ব্রুটাস

7

আমি ম্যান পৃষ্ঠা থেকে কিছু অপশন নিয়ে আরও কিছু খেলেছি। সকল এর bg,hard, bg,soft, fg,hardএবং fg,softআমাকে দুই ওভার মিনিট সময় আসতে দেব।

সেটিং retrans=1,retry=0(উপরের যে কোনওটির সাথে মিলিত) যদিও আমাকে প্রায় তিন সেকেন্ড সময় দেয়। ভীষণ ভদ্র. যদিও আমি নিশ্চিন্ত নই যে প্রতিটি সংমিশ্রণের অর্থ কী। আরও কাছাকাছি খনন করা হবে।

এছাড়াও আমি অটোফস বিকল্পগুলি জুড়ে এসেছি MOUNT_WAITএবং UMOUNT_WAIT। আমি তাদের সাথে কিছু পৃথক ফলাফল পেতে সক্ষম হইনি তবে আমি চেষ্টা চালিয়ে যাব। "আরও সুরক্ষিত" (ওরফে আরও পুনরায় চেষ্টা করা ইত্যাদি) এনএফএস বিকল্পটি ব্যবহার করার মতো লাইকাকে একটি ভাল উপায় বলে মনে হচ্ছে অটোফের জন্য দ্রুত ফেরতের সময়, না?


1
এখানে অন্যান্য বিকল্পগুলিও রয়েছে বলে মনে হয়, rsize=32768,wsize=32768,noatimeযেমন: এখানে টেকেরপলিটিকাল ডটকম
ব্লগ

-1

প্রতিবার আপনি যখন আপনার Red Hat Linux সিস্টেম চালু করবেন তখন স্বয়ংক্রিয়ভাবে মাউন্ট করার জন্য একটি এনএফএস ফাইল সিস্টেম সেটআপ করতে আপনাকে / etc / fstab ফাইলে সেই এনএফএস ফাইল সিস্টেমের জন্য একটি এন্ট্রি যুক্ত করতে হবে। / Etc / fstab ফাইলটিতে আপনার Red Hat Linux সিস্টেমের জন্য মাউন্টের বিভিন্ন ধরণের (এবং মাউন্ট করার জন্য উপলব্ধ) ফাইল সিস্টেম সম্পর্কিত তথ্য রয়েছে। EX:: nfs ফাইল সিস্টেম রফতানি করে সার্ভারের হোস্টনাম, আইপি ঠিকানা, বা পুরোপুরি যোগ্যতাসম্পন্ন ডোমেন নামের সাথে সম্পর্কিত। রফতানি নির্দেশিকার পথ হ'ল। রফতানি ডিরেক্টরিটি মাউন্ট করার জন্য স্থানীয় ফাইল সিস্টেমটি কোথায় তা সুনির্দিষ্ট করে। এই মাউন্ট পয়েন্টটি অবশ্যই / etc / fstab পড়ার আগে উপস্থিত থাকতে হবে বা মাউন্ট ব্যর্থ হবে এই অঞ্চলটি ফাইল সিস্টেমের জন্য মাউন্ট অপশন নির্দিষ্ট করে। উদাহরণস্বরূপ, যদি বিকল্প অঞ্চলটি rw, suid বলে থাকে রফতানি হওয়া ফাইল সিস্টেমটি পঠন-লিখনে মাউন্ট করা হবে এবং সার্ভারের দ্বারা সেট করা ব্যবহারকারী এবং গ্রুপিড ব্যবহার করা হবে। নোট করুন যে বন্ধনী এখানে ব্যবহার করা হবে না

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