সংযোগ থেকে বেঁচে থাকা এসএসএইচএফএস মাউন্ট


56

আমি আমার ল্যাপটপ থেকে সেন্ট্রাল সার্ভারে এসএসএইচএসএস মাউন্টগুলি ব্যবহার করছি ।

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

দীর্ঘস্থায়ী সংযোগ বিচ্ছিন্নভাবে (> 5 মিনিট) বা আলাদা আইপি সহ পুনরায় ডায়ালিন বেঁচে থাকা এসএসএফএফস মাউন্টগুলি পাওয়ার কী উপায় আছে?

উত্তর:


62

ব্যবহার -o reconnect,ServerAliveInterval=15,ServerAliveCountMax=3

সংমিশ্রণের ServerAliveInterval=15,ServerAliveCountMax=3ফলে নেটওয়ার্কের বিচ্ছুরণের এক মিনিটের পরে আই / ও ত্রুটিগুলি পপ আউট হয়ে যায়। এটি গুরুত্বপূর্ণ তবে মূলত নথিভুক্ত। যদি ServerAliveIntervalবিকল্পটি ডিফল্টরূপে ছেড়ে যায় (সুতরাং জীবিত চেক ব্যতীত), প্রসেসগুলি যেগুলি I / O স্তব্ধ করে তা sshfs এর reconnect'এড' পাওয়ার পরেও অনির্দিষ্টকালের জন্য ঘুমিয়ে আছে । আমি এটি একটি অকেজো আচরণ বিবেচনা করি।

অন্য কথায় -o reconnectঅ্যাসাইনমেন্ট ব্যতীত যা ঘটে তা ServerAliveIntervalহ'ল যে কোনও আই / ও সফল হয়, অথবা এসএসএসের নীচে পুনরায় সংযোগ স্থাপনের পরে আবেদনটি অনির্দিষ্টকালের জন্য ঝুলিয়ে রাখে। একটি সাধারণ অ্যাপ্লিকেশন সম্পূর্ণরূপে ফলস্বরূপ হয়ে যায়। আপনি যদি I / O কে ত্রুটি ফিরে পেতে এবং অ্যাপ্লিকেশনটি পুনরায় চালু করতে চান তবে আপনার প্রয়োজন ServerAliveInterval=1বা আরও বেশি হওয়া উচিত।

ServerAliveCountMax=3ডিফল্ট যাহাই হউক না কেন, কিন্তু আমি পাঠযোগ্যতা জন্য এটা উল্লেখ করতে চাই।


এটা আমার জন্য এটি তৈরি। এছাড়াও আপনি একটি সংক্ষিপ্ত বিরতি ব্যবহার করতে পারেন, আফিকাল এটি খুব বেশি সমস্যার কারণ না হওয়া উচিত এবং পুরো জিনিসটিকে আরও প্রতিক্রিয়াশীল করে তোলে।
ম্যানুक्स

আমি দস্তাবেজগুলি পড়িনি, তবে আমি অন্য একটি সমাধান দেখেছি "সার্ভারআলাইভকাউন্টম্যাক্স = 0" এর অর্থ এটি অনির্দিষ্টকালের জন্য চেষ্টা করে চলেছে। আমি ধরে নিলাম আপনার সমাধানটি প্রতিটি ব্যর্থতার পরে 3 টি চেষ্টা করে?
পিজে ব্রুনেট

man 5 ssh_configআরও তথ্যের জন্য @ পিজে ব্রুননেট , তবে সংক্ষেপে বলা হয়েছে যে কম্পিউটারগুলি এখনও একে অপরকে সাড়া দিচ্ছে কিনা তা নিশ্চিত করতে প্রতি 15 সেকেন্ডে এসএসএস প্রতি 15 সেকেন্ডে একটি ' লাইভ-লাইভ ' পিংয়ের মতো কিছু পাঠাবে। যদি টানা তিনটি পিংস ব্যর্থ হয় (45 সেকেন্ড), পুনরায় সংযুক্ত করুন।
Wyatt8740

@ ওয়াইট ৮৪০৪০ আমি এটি আরও অধ্যয়ন করেছি এবং ডকুমেন্টেশনগুলি পড়েছি, আমি বিশ্বাস করি ServerAliveCountMax=3এর আলাদা অর্থ রয়েছে। যদি কোনও ব্যর্থতা থাকে তবে এটি আরও 3 বার পুনরায় সংযোগ করার চেষ্টা করবে এবং তারপরে ছেড়ে দেবে। এক পর্যায়ে আবার চেষ্টা করা নিরর্থক, তবে এটি প্রয়োগের উপর নির্ভর করে। তারপরে আবারও, আমি মনে করি ম্যান পৃষ্ঠাটি আরও সুনির্দিষ্ট হতে পারে, এটি আইএমও শব্দটি বোঝার বিভিন্ন উপায় রয়েছে। প্রোটনভিপিএন-এ স্যুইচ করার পরে আমার নির্দিষ্ট সমস্যাটি চলে গেছে W আমি মনে করি এটি ক্লায়েন্ট এবং সার্ভারে ssh কনফিগারেশন পরীক্ষা করাও মূল্যবান, তাদের পৃথক বিকল্প রয়েছে, সুতরাং আপনার যা সত্যই প্রয়োজন তা হ'ল-o reconnect
পিজে ব্রুনেট

1
এটি গ্রহণযোগ্য উত্তর হওয়া উচিত।
Fl0v0

52

অটোশ এবং অটোফসের টিপসগুলির জন্য ধন্যবাদ।

যাইহোক, আমার প্রত্যক্ষ উদ্দেশ্যে আমি একটি খুব সহজ সমাধান পেয়েছি যা এত ভালভাবে দলিল করা হয়নি:

sshfs -o reconnect server:/path/to/mount

খুব সুন্দর! এটি আমাকে সত্যই অনুলিপি অনুসারে
জেফ বার্ডেজস

12

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


ইন্টারেক্টিভ এসএসএইচ সেশনের জন্য সম্ভবত মোশ আরও ভাল।
মার্টিন ইউডিং

@ মার্টিনুডিংয়ের পরে আমি মোশাকে সন্ধান করলাম তবে ক) এসএসএফএস দিয়ে কাজ করে না খ) মনে হয় আপনার এটি সার্ভারেও ইনস্টল করা দরকার যা এটি কম আবেদনকারী, আইএমও করে তোলে।
পিজে ব্রুনেট

9

আপনি যা করতে পারেন তা হ'ল অটোফগুলির মাধ্যমে আপনার ফাইল সিস্টেমগুলি মাউন্ট করা । অটোফস এমন একটি সরঞ্জাম যা ফাইল সিস্টেম মাউন্ট করবে যখন আপনি ডিরেক্টরিটিতে এমন কিছু ব্যবহার করবেন যখন ফাইল সিস্টেমটি মাউন্ট হবে। যখন এটি কার্যকলাপ সনাক্ত করে তখন ফাইল সিস্টেমটি মাউন্ট হয়। ফাইল সিস্টেমে যখন কিছুই হচ্ছে না তখন তা কি আনমাউন্ট হয়।

এখানে একটি হল হাওটুর আমি Google- এ পাওয়া এই কাজ করা সম্ভব, সেখানে যেখানে বিভিন্ন অন্যদের।


2

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

আমার মনে হয়, আরও ভাল কৌশলটি হ'ল আপনার কম্পিউটারকে সাসপেন্ড করার আগে ফাইল সিস্টেমটি আনমন্ট করা এবং কম্পিউটারটি আবার জেগে উঠলে পুনরায় মাউন্ট করা। এটি করার পদ্ধতিটি আপনার কম্পিউটারকে ঠিক কীভাবে স্থগিত করবে তার উপর নির্ভর করতে পারে - আমি টাক্সোনাইস কার্নেলটি ব্যবহার করি এবং এরকম কিছু করার জন্য আমার কাছে একটি নির্দেশনা রয়েছে

Unmount /mnt/sshfs

মধ্যে /etc/hibernate/common.conf


0

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

#!/bin/bash
echo PWD | sshfs USER@SERVER:/ MOUNT_PATH -o password_stdin,reconnect,ServerAliveInterval=15,ServerAliveCountMax=3 -p PORT -C -oStrictHostKeyChecking=no
if xhost >& /dev/null ; then
    pcmanfm MOUNT_PATH
fi
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.