এটি এখন একটি বিরক্তিকর পর্যাপ্ত সমস্যা হয়ে দাঁড়িয়েছে যে আমি ভেবেছিলাম অবশেষে আমি সম্ভবত সম্প্রদায়কে জিজ্ঞাসা করব একটি সম্ভাব্য সমাধান কী হতে পারে। এটি আরও বেশি বিরক্তিকর যে আমি এই সমস্যাটি কেবলমাত্র একজনই অনুভব করছি।
মূলত, সেন্টোস any.x এ যে কোনও সময়, এসএসডিডি কনফিগারেশন, বা এসএসডিডি-র যে কোনও অংশ সংশোধিত হয়ে যায় এবং ডিমনটি পরের ৩ মিনিটের মধ্যে কিছু "র্যান্ডম পয়েন্ট" এ পুনরায় চালু / পুনরায় লোড হয়ে যায়, এসএসএস সংযোগগুলি পুনরায় সেট হয়ে যায় এবং তারপরে সেই সার্ভারটি হয় ssh এর মাধ্যমে কয়েক সেকেন্ড সময় অ্যাক্সেসযোগ্য।
এটি বিশেষত জবাবদিহি করার জন্য একটি সমস্যা কারণ এটি নিজেই এই পরিবর্তনগুলি কখনও কখনও এসএসডি করতে হবে এবং এটি পুনরায় লোডও করা হয় (উদাহরণস্বরূপ নতুন CentOS 7x সার্ভার বিল্ডগুলিতে)। তবে ভবিষ্যতে খেললে এটি এলোমেলোভাবে ssh এর সাথে সংযোগ করতে পারে না এবং এটি হোস্টের জন্য বাকি প্লেবুক / প্লেগুলিকে উড়িয়ে দেয় যা যোগাযোগ করা যায় নি। এটি একটি বৃহত হোস্ট প্যাটার্নের জন্য বিশেষত খারাপ, কারণ কয়েকটি এলোমেলোভাবে সম্পূর্ণ হবে, তবে অন্যরা প্লেবুক বরাবর বিভিন্ন পর্যায়ে এসএসডিডি হেরফের করার পরে ব্যর্থ হবে। এটি লক্ষণীয় যে, সেন্টস 5x, 6x বা এমনকি সোলারিসে বাছাইয়ের কিছুই ঘটে না।
এটি এড়াতে আমি সবচেয়ে ভাল যা করতে পারি তা হ'ল sshd- এ পরিবর্তনের পরে 90 সেকেন্ডের অপেক্ষা করা, এমনকি এটি সম্পূর্ণ বোকা নয়। এটি প্লেবুকগুলি চালাতে 20+ মিনিট সময় নেয় যদিও এটি 7-8 বার ডাকা হলেও।
এই পরিবেশ সম্পর্কে কিছু তথ্য এখানে:
সমস্ত নতুন ইনস্টলগুলি অফিসিয়াল আইএসও ডিভিডি থেকে। প্রতিটি সার্ভার হাইপার-ভি 2012 অতিথি, প্রতিটি সার্ভারে এই সমস্যাটি হ'ল সেন্টোস 7.x
এখানে সমস্যার কিছু প্রকৃত আউটপুট এবং কিছু হ্যাচনেইড সমাধান রয়েছে:
ব্যর্থতা:
fatal: [voltron]: UNREACHABLE! => {"changed": false, "msg": "All items completed", "results": [{"_ansible_item_result": true, "item": ["rsync", "iotop", "bind-utils", "sysstat.x86_64", "lsof"], "msg": "Failed to connect to the host via ssh: Shared connection to voltron closed.\r\n", "unreachable": true}]}
Sshd- র পরিবর্তনের একটি উদাহরণ:
- name: Configure sshd to disallow root logins for security purposes on CentOS and Redhat 7x servers.
lineinfile:
backup: yes
dest: /etc/ssh/sshd_config
regexp: '^(#PermitRootLogin)'
line: "PermitRootLogin no"
state: present
when: (ansible_distribution == "CentOS" or "RedHat") and (ansible_distribution_major_version == "7")
notify: sshd reload Linux 7x
নিম্নলিখিত হ্যান্ডলার:
- name: sshd reload Linux 7x
systemd:
state: restarted
daemon_reload: yes
name: sshd
অবশেষে আমার ঘেটটো ঠিক করে দেখুন এবং এই সমস্যার জন্য অ্যাকাউন্ট দিন:
- name: Wait a bit on CentOS/Redhat 7x servers to ensure changes don't mess up ssh and screw up further plays.
pause:
seconds: 90
when: (ansible_distribution == "CentOS" or "RedHat") and (ansible_distribution_major_version == "7")
আমি যে বিষয়টি সামনে এলাম তার চেয়ে আরও ভাল সমাধান হতে পারে এবং এ কথা বিশ্বাস করা শক্ত যে, প্রত্যেকেই এর মুখোমুখি হয়েছে এবং এটিকে সামনে রেখেছিল। এটি প্রতিরোধের জন্য সেন্টোস x.x সার্ভারগুলিতে কনফিগার করার দরকার কি আছে? এর সাথে মোকাবিলার জন্য জবাবদিহি করার মতো কিছু আছে কি যেমন প্রথম ব্যর্থতায় প্রতি খেলায় একাধিক এসএসএস প্রচেষ্টা?
আগাম ধন্যবাদ!
Restart=on-failure
? যদি তাই হয়, প্রস্থান স্থিতি কি ছিল? এবং sshd কোনও ত্রুটি বার্তা লগ করা হয়নি?
sshd
এবং আপনার সংযোগের সাথে কী ঘটে? এছাড়াও আপনি ControlMaster
এসএসএইচকে উত্তর দিয়ে ব্যবহার করছেন ? আপনি এটি উত্তরযোগ্য সিএফজি সক্ষম করতে পারেন ssh_args = -o ControlMaster=auto -o ControlPersist=60s
।