লিনাক্স: সিআইএফএস / সাম্বা মাউন্টটি বেশ কয়েক মিনিটের জন্য স্তব্ধ থাকে


26

আমার একটি ছোট স্থানীয় নেটওয়ার্ক রয়েছে যার একটি জেন্টু বাক্স এবং একটি উইন্ডোজ বাক্স রয়েছে। আমি উইন্ডোজ বাক্সে উত্সিত একটি অংশ জেন্টু বক্সের মতো কমান্ডের সাহায্যে মাউন্ট করব:

mount -t cifs -o username=WindowsUsername,password=thepassword,uid=pistos //192.168.0.103/Users /mnt/windowsbox

বেশিরভাগ সময়, সবকিছু ঠিকঠাক কাজ করে এবং আমি সমস্যা ছাড়াই পড়তে এবং লিখতে পারি। যাইহোক, প্রতি কয়েক সপ্তাহ বা তার পরে, সংযোগ বা মাউন্ট পয়েন্টটি নিখোঁজ হয়ে গেছে বা ঝুলছে বলে মনে হচ্ছে যেমন মাউন্ট পয়েন্ট অ্যাক্সেস করার চেষ্টা করে এমন কোনও প্রক্রিয়া ডি অবস্থায় আটকে যায় (ডিস্ক, বা I / O অপেক্ষা)। এই প্রক্রিয়াগুলি TERM এবং কিল সংকেতগুলিতে অভেদ্য হয়ে ওঠে। নেটওয়ার্ক থেকে উইন্ডোজ বাক্সটি সংযোগ বিচ্ছিন্ন করা এবং পুনরায় সংযোগ স্থাপনের ফলে কোনও লাভ হয় না। হিমশীতল রাজ্যটি 5+ মিনিটের জন্য স্থায়ী হয়। এটি সত্যিই হতাশাব্যঞ্জক এবং স্বাভাবিক কাজের পথে চলে যায়, কারণ এটি সংরক্ষণ করুন কথোপকথন, lsকমান্ড ইত্যাদির মতো সংরক্ষণ করুন যদি আমি umountমাউন্ট পয়েন্টে কোনও ইস্যু করি তবে তা হয় স্তব্ধ হয়ে যায়, বা মাউন্ট পয়েন্টটি ব্যবহারের রিপোর্ট রয়েছে। অবশেষে, মৃত অবস্থা নিজেই সমাধান করে, এবং মাউন্ট পয়েন্টটি আনমাউন্ট হয়ে যায়, বা umountকোনও দেরি না করে এটি সম্ভব হয় ।

আমার ধারণা হ'ল সংযোগ / মাউন্ট নিষ্ক্রিয় হয়ে যাওয়ার পরে বা উইন্ডোজ মেশিনটি নিষ্ক্রিয় হয়ে যাওয়ার পরে এটি ঘটে। আমি আসলে নিশ্চিত নই।

কেন এটি হচ্ছে, এবং এটি প্রতিরোধে আমি কী করতে পারি? বা আমি কীভাবে ইচ্ছামতো এই ডি-রাষ্ট্র প্রক্রিয়াগুলি সফলভাবে হত্যা করতে পারি?

সম্ভবত সম্পর্কিত: সিআইএফএসের মাউন্টগুলি পঠন করতে পারে


1
দুটি মেশিনের মধ্যে কি কোনও ধরণের ফায়ারওয়াল ব্যবহার করা হচ্ছে?
শ্রুতে

@ স্ক্রুট: আমি ধরেই নিয়েছি লিনাক্স (iptables?) এবং উইন্ডোজ চলমান যাবতীয় খেলাপি আছে। আপনি কি মনে করেন যে ফায়ারওয়ালগুলি সংযোগের সময়সীমা শেষ করছে? আমি এ জাতীয় কথা কখনও শুনিনি।
পিসটোস

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

1
আমার পরামর্শটি লিনাক্স মেশিনে একটি রিং-বাফার নেটওয়ার্ক ক্যাপচার সেটআপ করার জন্য (যেমন tcpdump -i eth0 -C 5 -W 10 -s 0 -v -w /tmp/cifs.pcap হোস্ট 192.168.0.103 - আমিও চালাব এটি যখন আপনি সংযোগ বিচ্ছিন্ন করেন তখন প্রক্রিয়াটি শেষ হওয়া আটকাতে পর্দার আওতায় থাকে)। সমস্যাটি দেখা দিলে, কয়েক সেকেন্ড পরে ট্রেসটি থামান এবং প্যাকেট ট্রেস পর্যালোচনা করার সময় কোন দিকটি সমস্যার সৃষ্টি করছে তা আপনি কমপক্ষে নির্ধারণ করতে সক্ষম হবেন (যেমন সার্ভার সাড়া দেওয়া বন্ধ করে দেয়, সেশনটি সংযোগ বিচ্ছিন্ন হয়ে যায়)।
GeekyDeaks

1
@ পিস্তোস - ওয়্যারশার্ক আপনার বন্ধু! ট্রেসগুলি বিভ্রান্তিকর লাগতে পারে তবে ওয়্যারশার্ক সাহায্য করার জন্য ফ্রেমগুলি ডিকোড করবে। আপনি প্রথমে সার্ভার বা ক্লায়েন্টের অধিবেশন (এফআইএন প্যাকেট) বাদ দেওয়ার মতো বেসিকগুলি প্রথমে মুছে ফেলতে চান, তারপরে সার্ভারের মতো অন্যের দিকে অগ্রগতি সাড়া দেওয়া বন্ধ করে দেয় ইত্যাদি you আপনার যদি সময় থাকে তবে ২০১৩ সালে সিআইএফএস-এ একটি শার্কফেষ্ট ভিডিও ছিল ( youtube.com/watch ? v = এক্সবিভিএফএক্সএক্সপিগ-ডাব্লু ) তবে এটি বরং দীর্ঘ :)
গিকিডিক্স

উত্তর:


11

সমস্যাটি কেন ঘটছে তা নিশ্চিত নন, তবে কার্যনির্বাহী হিসাবে, আপনি কি প্রতি মিনিটে ক্রোন দিয়ে কিছু চালানোর touch /mnt/windowsbox/keepalive.txtবা echo "I am still alive." >/mnt/windowsbox/keepalive.txtচালানোর চেষ্টা করেছেন ? এইভাবে সংযোগটি সক্রিয় থাকা উচিত।


ভাল ধারণা. আমি এটি জায়গায় রেখে দিয়েছি এবং কী হবে তা দেখব।
পিস্তোস

2
এটি সমস্যার সমাধান করেছে বলে মনে হয়, আমার উল্লেখ করা উচিত।
পিস্তোস

এটা শুনে খুশি হলাম!
জান্নে পিক্কারাইনেন

1
@ প্যাট এর উত্তর অনুসারে, এটি প্রতি মিনিটে একটি হার্টবিট থেকে 5 মিনিট (300 সেকেন্ড) একটি হার্টবিট পর্যন্ত ছাঁটাই করতে পারে, যা */5 * * * *
ক্রোন্টাবের

আমি আপাতত এটি ব্যবহার করছি। 3 দিনের মধ্যে, আমার তিনটি পৃথক উবুন্টু সার্ভার 16 এলটিএস মেশিন (দুটি শারীরিক, একটি ভিএম) পুনরায় বুট হওয়ার কয়েক ঘন্টা পরে তাদের এসএমবি সংযোগগুলি ফেলে দেয়। প্রারম্ভকালে, এসএমবি সংযোগটি ইস্যু ছাড়াই মাউন্ট করা হয়, তবে শেষ পর্যন্ত এটি প্রতিক্রিয়াবিহীন হয়ে যায়।
ব্যবহারকারীর 858537


0

আর একটি সম্ভাব্য উত্তর ক্রোনের মাধ্যমে নিয়মিত বিরতিতে মাউন্টের কোনও ফাইলকে লেখার পরামর্শ দেয়। আমি পরিবর্তে smbclient প্রোগ্রাম ব্যবহার করে ভাগ এবং সংযোগ বিচ্ছিন্ন করতে পরামর্শ দিতে হবে।

এটি সম্পাদন করার জন্য আমি এই জাতীয় বাশ স্ক্রিপ্ট লিখেছিলাম:

#!/bin/bash

su usernamehere -c "smbclient \\\\\\\\\\\\\\\\servernamehere\\\\\\\\sharenamehere passwordhere -c exit" >/dev/null 2>&1

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

একযোগে বেশ কয়েক মিনিটের জন্য সংযোগটি উন্মুক্ত করে রেখে এটিকে আরও নির্ভরযোগ্য করার উপায় রয়েছে তবে এটি আমার লিগ থেকে কিছুটা দূরে।


আকর্ষণীয় প্রস্তাব। আমি যদি ইতিমধ্যে অন্যান্য সমাধানের সাথে সাফল্য না পাই তবে আমি এটিকে যেতে পারতাম।
পিস্তোস

আমি দেখতে পাচ্ছি না যে এটি কীভাবে সহায়ক হবে? জেনের সমাধানটি সিআইএফএস ক্লায়েন্টের তৈরি সংযোগটি জীবিত রাখবে যেখানে এটি এসএমবিসিলেটটির সাথে একটি নতুন, সম্পর্কযুক্ত সম্পর্ক তৈরি করবে - তবে কীভাবে এটি সহায়তা করবে?
ফ্লুংগো

1
এফওয়াইআই, এসএমএসক্লিয়েন্ট যদি আপনি ব্যাকস্ল্যাশগুলির পরিবর্তে সেগুলি ব্যবহার করতে চান তবে ফরোয়ার্ড স্ল্যাশগুলি সমর্থন করে, আপনার //servername/sharnameযেখানে প্রচুর পালানোর দরকার হয় সেই জায়গাগুলিও সহজ।
স্টিভ ফ্রেডল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.