কোনও এনএফএস দূরবর্তী কোনও ডিরেক্টরি রফতানি করছে কিনা তা আমি কীভাবে নির্ধারণ করতে পারি?


11

আমার স্ক্রিপ্টে, আমার স্থিতির কয়েকটি স্তর রয়েছে:

  1. রিমোট উপলব্ধ (পিং)
  2. রিমোট এনএফএস পরিষেবা সক্রিয়
  3. দূরবর্তী এনএফএস একটি নির্দিষ্ট ডিরেক্টরি রফতানি করে
  4. দূরবর্তী এনএফএস মাউন্ট করা হয় (মাউন্ট)

(2) এবং (3) এর জন্য আমি বিশ্বাস করি rcpinfoযে সেরা বাজি। (২) তবে, আমি কীভাবে এনএসএফ পরিষেবাতে সাবস্কেল (যা এই অ্যাপ্লিকেশনটির জন্য গ্রহণযোগ্য নয়) শুরু না করে কীভাবে আমার জিজ্ঞাসাটি সংকীর্ণ করব তা বুঝতে পারি না। (3) এর জন্য, আমি নিশ্চিত নই যে এই তথ্যটি দূর থেকেও পাওয়া যাবে ( sshঅবশ্যই ইনগ ইন না করে)।

আমি RHEL 6 এ কাজ করছি এবং স্ট্যান্ডার্ড বিতরণে অন্তর্ভুক্ত নয় এমন প্রোগ্রামগুলিতে অ্যাক্সেস নেই।

উত্তর:


16

3 এর জন্য) আপনি সম্ভবত ব্যবহার করতে চান showmount -e remote_nfs_serverযা দূরবর্তী_এনএফএস_সার্ভার কিছু রফতানি করেছে কিনা তা দেখায়।

এবং ২) যদি আপনি কোনও শাবশেল ব্যবহার করতে না চান এবং রিমোট সার্ভারটি এনএফএসভি 3 বা এনএফএসভি 4 চালায় এবং টিসিপি বা ইউডিপি থাকে তবে আপনি বিশেষত আরপিসিইনফো দিয়ে প্রশ্নটি করতে পারেন:
rpcinfo -u remote_nfs_server nfs 3 ইউডিপি এর মাধ্যমে এনএফএসভি 3 এবং
rpcinfo -t remote_nfs_server nfs 4টিসিপি এর মাধ্যমে এনএফএসভি 4 এর জন্য

4 এর জন্য) আপনি ফোল্ডারটি মাউন্ট করা দূরবর্তী ফাইল সিস্টেম কিনা তা পরীক্ষা করে দেখতে পারেন


আরো তথ্য:


showmount -r remoteআমাকে কিছুremote রফতানি হচ্ছে কিনা তা বলবেন , তবে সাবসেল (অর্থাত্ পাইপলাইন) চালু না করে রফতানি হচ্ছে কিনা তা নির্ধারণ করার কোনও উপায় কি আমার পক্ষে আছে ? remote:/mnt/dir
শান অলরেড

showmount -e remoteremoteকিছু রফতানি হয়েছে কিনা আপনাকে জানাতে হবে । showmount -rবিকল্পটি উপস্থিত না থাকায় কেবল আপনাকে একটি ত্রুটি বার্তা দেবে। শো-মাউন্ট আউটপুটে নিয়মিত প্রকাশের জন্য আপনি মূলত গ্রেপের সাথে শেল সাবস্ট্রিং ম্যাচ ব্যবহার করার চেষ্টা করতে পারেন। হয়তো যেমন কটাক্ষপাত আছে stackoverflow.com/questions/12619720/...
doktor5000

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

-rবিকল্পটি বনামের সাথে আমার ভুল -e- এটিই আমি বোঝাতে চেয়েছিলাম :) 'চেষ্টা করার পদ্ধতির' আগে পরামর্শ দেওয়া হয়েছিল। আমি বিশেষত এটি পছন্দ করি না তবে এটি একটি বাস্তব বিকল্পের মতো দেখাচ্ছে।
শান অলরেড

5

আপনি showmount -e <server># 3 এর কিছু দিকের জন্য ব্যবহার করতে পারেন । যখন রফতানিগুলি সহজ হয়, এটি কমপক্ষে একটি ডিরেক্টরি (বা সম্ভবত এই জাতীয় ডিরেক্টরিটির পিতামাতার) রফতানি করার পরামর্শ দেয়।

# showmount -e server
/export                               (everyone)

# 2 এর জন্য, আমি নিশ্চিত নই আপনি কী সন্ধান করছেন। আপনি যদি এনএফএসভি 3 ব্যবহার করছেন তবে আপনি কমপক্ষে মাউন্টেড এবং এনএফএস (এবং কিছু ক্ষেত্রে লক পরিচালকদের নিশ্চিত করতে চাইবেন) সন্ধান করছেন। আপনি rpcinfo এর সাথে আপনার স্পষ্টরূপে কোনও স্পষ্ট পরীক্ষা করতে পারেন।

# rpcinfo -t server mountd 3
program 100005 version 3 ready and waiting

showmount -r remoteআমাকে কিছুremote রফতানি হচ্ছে কিনা তা বলবেন , তবে সাবসেল (অর্থাত্ পাইপলাইন) চালু না করে রফতানি হচ্ছে কিনা তা নির্ধারণ করার কোনও উপায় কি আমার পক্ষে আছে ? remote:/mnt/dir
শান অলরেড

এটি আপনার নিষ্পত্তির সুবিধার উপর নির্ভর করে। আপনার লিপিটি কী লেখা আছে? অন্য শেল শুরুর চেয়ে পৃথক এক্সিকিউটেবল (শোমাউন্ট) কেন কম শুরু হচ্ছে?
বাউলোফ্রেড

আমি পাইথন ২.6 এ আমার স্ক্রিপ্ট লিখছি এবং subprocessমডিউলটি ব্যবহার করছি । আমি এটি দিয়ে একটি পাইপলাইন স্থাপন করতে পারি, তবে আমি ডিজাইনটিকে এত জটিল করে তুলব না। স্ক্রিপ্টটি নিখুঁতভাবে হত্যা করার অনুমতি দেওয়ার জন্য আমার একটি সাবস্কেল শুরু করা এড়াতে হবে - যদি এটি হত্যা করা হয় তবে এর শিশু প্রক্রিয়াগুলি হত্যা করা হবে, তবে শিশু প্রক্রিয়াগুলির শিশুদের নয় । সুতরাং, সাবশেল হত্যা করা হবে, তবে প্রক্রিয়াগুলি সাব-শেল স্প্যান করে না। আমি আরও উল্লেখ করেছি rpcinfoযে ফিরে আসতে তিন মিনিট সময় লাগতে পারে, এটি নো-সাবস্কেল জিনিসটির মূল ভিত্তি। যদিও এখন এটি পরিবর্তন করতে অনেক দেরি হয়েছে।
শান অলরেড

একটি পৃথক স্ক্রিপ্ট লিখুন যা আপনার যা প্রয়োজন তা করে (যেমন কল শোমাউন্ট, তবে ডিরেক্টরিতে আর্গুমেন্ট নেয় এবং সাফল্য / ব্যর্থতা দেয় এবং এতে একটি টাইমআউট অন্তর্ভুক্ত থাকে যা আপনার উদ্দেশ্যগুলির জন্য যুক্তিসঙ্গত হয়), তারপরে আপনার অজগর থেকে সেই স্ক্রিপ্টটি কল করুন।
বাউলঅফ্রেড

আমি আপনাকে প্রতিশ্রুতি দিতে পারি যে এটি তত্ক্ষণাত্ আপনি যেমন ভাবছেন তত সহজ নয় - যখন এটি লক হয়ে যায়, তখন rpcinfoসিক্কিল (যা একটি বিযুক্তি - ওএস স্পষ্টতই প্রক্রিয়াটিকে মেরে ফেলে) ছাড়া আর কোনও প্রতিক্রিয়া দেয় না। যে কোনও হারে, এটি এখনও শেল শুরু করতে শুরু করবে rpcinfo- অন্তর্নিহিত সমস্যাটি রয়ে গেছে।
শান অলরেড

0

সমস্ত সিউডো রুট এনএফএস-ভি 4 এক্সপোর্ট ডিরেক্টরি তালিকাভুক্ত করুন

ls /net/ip-addr-nfs-server

আমার উত্তরটি অন্য থ্রেডে দেখুন


একটি /netমাউন্ট কাজ করার জন্য, /etc/auto.netস্ক্রিপ্টটি অবশ্যই প্রতিষ্ঠিত করতে হবে যে সার্ভারের সাথে সম্পর্কিত রফতানি রয়েছে। এটি showmountকমান্ড ব্যবহার করে যদি সার্ভারটির কেবল এনএফএসভি 4 থাকে তবে এটি কাজ করবে না (শো-মাউন্ট প্রদর্শন RPC: Program not registered, এবং /net/serverকেবল রিপোর্ট করবে File not found)
আলে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.