Sshfs মাউন্টগুলির সার্ভার সংযোগ বিচ্ছিন্ন করার সাথে আরও ভাল উপায় কী?


58

Sshfs এর মাধ্যমে আমার বেশ কয়েকটি ডিরেক্টরি রয়েছে । আমি কখনও কখনও সার্ভার থেকে সংযোগ বিচ্ছিন্ন হয়ে যাই (আমার দ্বারা কনফিগারযোগ্য নয়)। আমি সাধারণত ডিরেক্টরিগুলি মাউন্ট করি

sshfs user@server.example.com:/home/user /mnt/example

যখন কোনও সার্ভার সংযোগ বিচ্ছিন্ন করে, sshfs সাবসিস্টেমটি ডিরেক্টরিটিকে চূড়ান্ত / মুক্ত করে না তবে পরিবর্তে এটি অ্যাক্সেসযোগ্য লক করে। টাইপ করার সময় মাউন্টটি এখনও দৃশ্যমান mount। আমি যখন টাইপ করি

ls /mnt/example

প্রক্রিয়াটি লক হয়ে যায় (এছাড়াও Ctrl+ সহায়তা cকরে না)। আমি তাই করি

sudo umount -l /mnt/example
# find pid of corresponding process:
ps aux | grep example.com
kill -9 <pid of locked sshfs process>

এটি মোকাবেলার জন্য আরও ভাল উপায় আছে? একথাও ঠিক যে sshfs করা উচিত আনমাউন্ট এবং পরিষ্কার ... মূলত এটি স্বয়ংক্রিয়ভাবে পুনরায় সংযোগ স্থাপন করবে।



4
রক্ষণাবেক্ষণ সফ্টওয়্যার ব্যবহার করে কোন সমাধান ?
সেবাস্তিয়ান

উত্তর:


45

আপনি "পুনরায় সংযোগ" বিকল্পের সাহায্যে sshfs চালাতে পারেন। আমরা আমাদের নেটওয়ার্কের প্রতিটি ওয়ার্কস্টেশনের জন্য সার্ভার ফাইলগুলি ভাগ করতে পিএএম / অটোমাউন্ট সহ এসএসএফএস ব্যবহার করি। আমরা sshfs এর জন্য প্যারামিটার হিসাবে পুনরায় সংযোগ ব্যবহার করি, বেশিরভাগ কারণে যে আমাদের ব্যবহারকারীরা তাদের কম্পিউটারগুলি স্থগিত করেছে এবং জাগ্রত sshfs পুনরায় সংযোগ স্থাপন করবে না (বা প্রতিক্রিয়া জানাতে পারে, বা কিছুই)।

উদাহরণ স্বরূপ:

sshfs mvaldez@192.168.128.1:/home/mvaldez/REMOTE /home/mvaldez/RemoteDocs -o reconnect,idmap=user,password_stdin,dev,suid

কেবল একটি নোট, যদি রিমোট কম্পিউটারটি সত্যিই বন্ধ থাকে তবে sshfs দীর্ঘ সময়ের জন্য প্রতিক্রিয়াহীন হয়ে উঠতে পারে।


11

সময়সীমা হ্রাস করে প্রায় কাজ করা যেতে পারে। নিম্নলিখিত $HOME/.ssh/configবা যোগ করুন /etc/ssh/ssh_config:

ServerAliveInterval 15
ServerAliveCountMax 3

এটি 45 সেকেন্ডের মেয়াদ উত্তীর্ণের ফলাফল।


3
এটি কেবল তখনই সহায়তা করবে যদি সমস্যাটি এসএসএইচ এর দোষ হয়। এখানে আরও বৃহত্তর সমস্যা রয়েছে যা sshfsঅন্তর্নিহিত sshপ্রক্রিয়াটির মৃত্যুর সাথে সম্মানজনকভাবে মোকাবেলা করে না ।
বাহামত

প্রকৃতপক্ষে এটি কেবলমাত্র কাজ এবং sshfs এর মধ্যে স্থির করা উচিত।
থোর

তবে কেবলমাত্র এমন এক কর্মকাণ্ড যা অনেকের মধ্যেই একটি কারণে ডিল করে। রক্ষণশীলদের সাথে তার সমস্যার কোনও সম্পর্ক নেই। প্রশ্নের প্রকৃতি কারণ সম্পর্কে কম এবং একটি সুসংগত অবস্থায় পরিচ্ছন্নতা সম্পর্কে আরও কম।
বাহামত

5

আমার কাছে এমন একটি সার্ভার রয়েছে যা আমি সঞ্চয় করার জন্য এবং যেখানে থাকি সেখানে জায়গার অভাবের জন্য, আমি এটিকে অন্য কোনও স্থানে রাখি। আমার নেটওয়ার্কে ফাইলগুলি আনতে আমি একটি রাস্পবেরি পাই ব্যবহার করি যা সার্ভার থেকে sshfs ব্যবহার করে ফাইলগুলি মাউন্ট করে।

বিদ্যুতের ব্যর্থতার কারণে সম্প্রতি আমাকে রাস্পবিয়ান জেসিতে আপগ্রেড করতে হয়েছিল এবং বুঝতে পেরেছিলাম যে এসএসএফগুলি গুরুতরভাবে অস্থির হয়ে পড়ে। ফোল্ডারগুলি সঠিকভাবে মাউন্ট করা হবে তবে কিছু সময়ের পরে আমি তাদের সাথে সংযোগ করতে সক্ষম হব না এবং আমি মাউন্টগুলির বিষয়বস্তু তালিকাবদ্ধ করতে চাইলে রাস্পবেরি পাই জমে যাবে।

আমি যা চেষ্টা করেছি তা হ'ল:

  1. fstab- এ পুনরায় সংযোগ ব্যবহৃত হয়েছে
  2. .ssh / কনফিগারেশন ফাইলে সার্ভারআলভইন্টারওয়াল এবং সার্ভারআলাইভাউন্টম্যাক্স ব্যবহার করেছেন তবে কোনও ফলসই হয়নি।
  3. অন্যান্য সমাধানগুলি আমি বেশিরভাগ ফোরামে পড়ি।

কিন্তু না পাশা! যতক্ষণ না আমি নীচে fstab ফাইলটি পরিবর্তন করেছি:

sshfs#user@server:/remote/folder /local/mount/dir fuse IdentityFile=sshkeyfile,Port=XXX,uid=1000,gid=1000,allow_other,_netdev,ServerAliveInterval=45,ServerAliveCountMax=2,reconnect,noatime,auto 0 0

এবং এটি কাজ করে! আর সংযোগ বিচ্ছিন্ন! আমি দেখে মনে হচ্ছে sshfs কোনও কারণে ssh কনফিগারেশন ফাইলটি পড়ে না এবং জীবিত সংকেতগুলি কখনও প্রেরণ করা হয়নি।


3

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


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

1

যদি এখনও লোকেরা এই সমস্যার মুখোমুখি হয় তবে আমি এখনও এটি ঠিক করতে পারিনি। আমি একটি শ্রমজীবী ​​কাজ খুঁজে পেয়েছি।

নিম্নলিখিত রুবি স্ক্রিপ্টটি কৌশলটি করেছে। এটি বারবার "কিপালাইভ" নামে একটি ফোল্ডার তৈরি করে। অনন্ত অবধি এই চালিয়ে যান।

$i =1 
$num =0
begin
    puts("Inside the loop i = #$i" )
    $i +=1
    puts 'creating obj'
    system 'mkdir  /{yourmountpoint}/keepalive'
    sleep 5
    puts 'we did it, it should be still alive'
end while $i > $num

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


6
ঠিক আছে, যদি এটি আপনার পক্ষে কাজ করে তবে আপনার কোনও স্ক্রিপ্ট এবং রুবি ইন্টারপ্রেটারের দরকার নেই। একটি একক লাইন ঠিক তেমনি করবে:while true; do mkdir -p /x/y; sleep 2; done
mivk
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.