প্রশ্ন অন্য কোনও লিনাক্স সার্ভারের উচ্চ হারের সম্মুখীন হলে অন্য কোনও লিপের সময় ক্র্যাশ হয়?


* দ্রষ্টব্য: যদি আপনার সার্ভারটি এখনও বিভ্রান্ত কার্নেলগুলির কারণে সমস্যাযুক্ত থাকে এবং আপনি পুনরায় বুট করতে না পারেন - আপনার সিস্টেমে ইনস্টল করা গুনু তারিখের সাথে প্রস্তাবিত সবচেয়ে সহজ সমাধান হল: তারিখ-এখন। এটি কার্নেলের অভ্যন্তরীণ "সময়_ওয়াস_set" পরিবর্তনশীল রিসেট করবে এবং জাভা এবং অন্যান্য ব্যবহারকারীর অবস্থান সরঞ্জামগুলিতে CPU হগিং ফাইটক্স লুপগুলি ঠিক করবে। আমি আমার নিজের সিস্টেমে এই কমান্ডটি স্ট্রাস করেছি এটি নিশ্চিত করেছে যে এটি টিনের উপর যা বলে তা করছে *

ময়নাতদন্ত

Anticlimax: ক্লাস্টার আমার ভিপিএন (openvpn) লিঙ্ক ছিল যে শুধুমাত্র জিনিস, তাই এটি পুনরায় প্রতিষ্ঠিত যখন একটি উত্তেজনাপূর্ণ কয়েক সেকেন্ড ছিল। অন্য সব ঠিক ছিল, এবং ntp শুরু দ্বিতীয় leap দ্বিতীয় পাস পরে পরিষ্কারভাবে গিয়েছিলাম।

আমি দিনে আমার সম্পূর্ণ অভিজ্ঞতা আপ লিখিত আছে http://blog.fastmail.fm/2012/07/03/a-story-of-leaping-seconds/

আপনি মার্কো এর ব্লগ এ তাকান http://my.opera.com/marcomarongiu/blog/2012/06/01/an-humble-attempt-to-work-around-the-leap-second - 1 সেকেন্ড স্কিপ এড়াতে ntpd -x ব্যবহার করে 24 ঘণ্টার বেশি সময় পরিবর্তন করার জন্য তার সমাধান রয়েছে। এটি আপনার নিজস্ব এনটিপি অবকাঠামো চালানোর জন্য একটি বিকল্প স্মারক পদ্ধতি।


আজই, 30 জুন, সাত জুন, ২01২ - জিএমটি দিবস শুরু হওয়ার কিছুদিন পরেই। বিভিন্ন দল দ্বারা পরিচালিত বিভিন্ন ডেটাসেন্টারগুলিতে আমরা কয়েকটি সার্ভার পেয়েছি যা সব অন্ধকার হয়ে যায় - পিংয়ের প্রতিক্রিয়া জানায় না, স্ক্রিনটি ফাঁকা।

তারা সব ডেবিয়ান সিকিজে চলছে - স্টক কার্নেল থেকে কাস্টম থেকে সবকিছু 3.2.21 বিল্ড করে। বেশিরভাগ ডেল এম 610 ব্লেড রয়েছে, তবে আমিও একটি ডেল R510 হারিয়েছি এবং অন্যান্য বিভাগগুলিও অন্যান্য বিক্রেতাদের কাছ থেকে মেশিন হারিয়েছে। একটি পুরানো আইবিএম x3550 ছিল যা ক্র্যাশ করেছিল এবং যা আমি ভাবলাম যে এটি সম্পর্কহীন হতে পারে, কিন্তু এখন আমি ভাবছি।

একটি ক্র্যাশ যা আমি একটি স্ক্রিন ডাম্প পেয়েছিলাম থেকে বলেন:

[3161000.864001] BUG: spinlock lockup on CPU#1, ntpd/3358
[3161000.864001]  lock: ffff88083fc0d740, .magic: dead4ead, .owner: imapd/24737, .owner_cpu: 0

দুর্ভাগ্যবশত, ব্লেডগুলি অনুমিতভাবে কেডম্প কনফিগার করা হয়েছিল, কিন্তু তারা খুব কঠিনভাবে মারা গিয়েছিল যে Kdump ট্রিগার হয়নি - এবং তাদের কনসোল ফাঁকা চালু হয়েছে। আমি এখন কনসোল ফাঁকা নিষ্ক্রিয় করেছি, তাই আঙ্গুলগুলি পার হয়ে গেছে পরবর্তী ক্র্যাশের পরে আমার আরও তথ্য থাকবে।

এটি একটি সাধারণ থ্রেড বা "শুধু আমাদের" কিনা তা জানতে চাই। এটি ভিন্নতাই ভিন্ন যে তারা বিভিন্ন সময়ে বিভিন্ন ডেটাসেন্টারে বিভিন্ন ইউনিট এবং বিভিন্ন প্রশাসক দ্বারা চালিত হয় (আমি Fastmail.FM চালাচ্ছি) ... এবং এখনও বিভিন্ন বিক্রেতার হার্ডওয়্যার। বেশিরভাগ মেশিন যা ক্র্যাশ করেছে সপ্তাহ / মাস ধরে এবং 3.1 বা 3.2 সিরিজ কার্নেল চালাচ্ছিল।

সবচেয়ে সাম্প্রতিক ক্র্যাশটি ছিল একটি যন্ত্র যা মাত্র 6 ঘন্টা বাড়িয়ে 3.2২1 চালাচ্ছিল।

কার্যকরী

ঠিক আছে, এখানে আমি কিভাবে চারপাশে কাজ করেছি।

  1. নিষ্ক্রিয় এনটিপি: /etc/init.d/ntp stop
  2. নির্মিত http://linux.brong.fastmail.fm/2012-06-30/fixtime.pl (মার্কো থেকে চুরি করা কোড, মন্তব্যগুলিতে ব্লগ পোস্ট দেখুন)
  3. দৌড়ে fixtime.pl একটি লিপ দ্বিতীয় সেট ছিল দেখতে একটি যুক্তি ছাড়া
  4. দৌড়ে fixtime.pl লিপ দ্বিতীয় অপসারণ একটি যুক্তি সঙ্গে

উল্লেখ্য: উপর নির্ভর করে adjtimex। আমি ভাঁজ একটি কপি করা করেছি adjtimex বাইনারি এ http://linux.brong.fastmail.fm/2012-06-30/adjtimex - এটি 64 বিট সিস্টেমের উপর একটি নির্ভরতা ছাড়াই চালানো হবে। আপনি যদি একই ডিরেক্টরিতে এটি রাখেন fixtime.plসিস্টেমটি উপস্থিত না থাকলে এটি ব্যবহার করা হবে। স্পষ্টতই যদি আপনি 64-বিট নষ্ট না করেন তবে আপনার নিজের সন্ধান করুন।

আমি শুরু করতে যাচ্ছি ntp আবার আগামীকাল।

একটি বেনামী ব্যবহারকারী প্রস্তাব হিসাবে - চলমান একটি বিকল্প adjtimex শুধু নিজেকে সময় সেট করা হয়, যা সম্ভবত leapsecond পাল্টা পরিষ্কার হবে।


366
2018-06-30 16:15


উত্স


আজ একটি লীপ দ্বিতীয়, 30th। আমি আপনার সমস্যা বোঝাতে দ্বিধা বোধ করছি না, তবে আমি ঘনিষ্ঠভাবে আমার ডেবিয়ান মেশিনগুলি দেখব। - jscott
সকালে থেকে আমরা কমপক্ষে 9 টি ভিন্ন ডেবিয়ান সিকিউজ বক্স হারিয়েছি বিভিন্ন বিক্রেতার সমস্ত স্টক সুইচ 2.6.32 কার্নেল। কনসোল ফাঁকা থাকার কারণে আমরা ক্র্যাশ ডাম্প পেতে পারিনি ... - kargig
এই সম্পর্কে পোস্ট lkml lkml.indiana.edu/hypermail/linux/kernel/1203.1/04598.html - Daniel S. Sterling
এই রিপোর্ট করার জন্য ধন্যবাদ! আমি এখন আমার সার্ভারে খুব ঘনিষ্ঠভাবে ঘুরে দেখছি। - Janne Pikkarainen
LKML থ্রেড যে নির্দেশিত date -s "`date`" সাহায্য করে - এটা অবশ্যই আমাকে সাহায্য করেছে। - Pointy


উত্তর:


এটি একটি livelock দ্বারা সৃষ্ট হয় যখন এনটিপিডি অ্যাডটাইমক্স (2) কল করে কার্নেলকে একটি লিপ দ্বিতীয় সন্নিবেশ করতে বলে। Lkml পোস্ট দেখুন http://lkml.indiana.edu/hypermail/linux/kernel/1203.1/04598.html

Red Hat এছাড়াও তাদের কেবি নিবন্ধটি আপডেট করা উচিত। https://access.redhat.com/knowledge/articles/15145

আপডেট: এই সমস্যাটির জন্য এখানে রেড হ্যাটের একটি দ্বিতীয় KB নিবন্ধ রয়েছে: https://access.redhat.com/knowledge/solutions/154713 পূর্ববর্তী নিবন্ধ একটি পূর্ববর্তী, সম্পর্কিত সম্পর্কের জন্য

কাজ প্রায় কাছাকাছি শুধু বন্ধ ntpd হয়। যদি ntpd ইতিমধ্যে অ্যাডটাইমক্স (2) কলটি জারি করে তবে আপনাকে এনটিপিডি নিষ্ক্রিয় করতে হবে এবং 100% নিরাপদ হতে পুনরায় বুট করতে হবে।

এটি RHEL 6 এবং অন্যান্য ডিস্ট্রোগুলিকে প্রভাবিত করে নতুন কার্নেলগুলি চালায় (প্রায় 2.6.26 এর চেয়ে নতুন), কিন্তু RHEL 5 নয়।

এই ঘটছে কারণ আগে লিপ দ্বিতীয়টি হ'ল নির্ধারিত হয় যে ntpd কার্নেলকে মধ্যরাত্রিতে দ্বিতীয় লীপটি হ্যান্ডেল করতে দেয় তবে মধ্যরাতের আগে দ্বিতীয়টি লিপ সন্নিবেশ করানোর জন্য কার্নেলকে সতর্ক করতে হবে। ntpd অতএব leap সেকেন্ডের দিনে কিছুটা অ্যাডিটাইক্স (2) কল করে, এ সময়ে এই বাগটি ট্রিগার হয়।

যদি আপনার অ্যাডটাইমক্স (8) ইনস্টল থাকে তবে আপনি যদি এই পতাকাটি 16 সেট সেট করেন তা নির্ধারণ করতে এই স্ক্রিপ্টটি ব্যবহার করতে পারেন। পতাকা 16 "লীপ দ্বিতীয় ঢোকা" হয়:

adjtimex -p | perl -p -e 'undef $_, next unless m/status: (\d+)/; (16 & $1) && print "leap second flag is set:\n"'

হালনাগাদ:

Red Hat তাদের কেবি নিবন্ধটি আপডেট করার জন্য আপডেট করেছে: "RHEL 6 গ্রাহকরা কোনও পরিচিত সমস্যা দ্বারা প্রভাবিত হতে পারে যা NMI ওয়াচডগকে এনটিপি ল্যাপটপকন্ড ঘোষণার সময় হ্যাং সনাক্ত করার কারণ দেয়। এই সমস্যাটি যথাযথভাবে সমাধান করা হচ্ছে। আপনার সিস্টেমগুলি যদি গৃহীত হয় leapscond ঘোষণা এবং এই সমস্যাটি সম্মুখীন না, তারপর তারা আর প্রভাবিত হয় না। "

আপডেট: উপরের ভাষাটি রেড হ্যাট নিবন্ধ থেকে সরিয়ে ফেলা হয়েছে; এবং একটি দ্বিতীয় কেবি সমাধান অ্যাডিটাইক্স (2) ক্র্যাশ ইস্যুটি বিশদভাবে যোগ করা হয়েছে: https://access.redhat.com/knowledge/solutions/154713

তবে, আইবিএম প্রকৌশলী জন স্টুলজ দ্বারা এলকেএমএল পোস্টে কোড পরিবর্তনটি লিপ দ্বিতীয়টি বাস্তবায়িত হলে ডেডলক হতে পারে বলে মনে করে, তাই আপনি ntpd নিষ্ক্রিয় করার পরে অ্যাডটাইমক্স (8) পুনরায় বুট বা ব্যবহার করে লীপ দ্বিতীয়টি অক্ষম করতে পারেন।

সর্বশেষ আপডেট:

আচ্ছা, আমি কার্নেল ডেভ নই, কিন্তু আমি আবার জন স্টুটজের প্যাচটি পর্যালোচনা করেছি: https://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6b43ae8a619d17c4935c3320d2ef9e92bdeed05d

এই মুহূর্তে আমি যদি এটি পড়ি তবে লীপ সেকেন্ডটি প্রয়োগ করার সময় আরেকটি ডিললক থাকার বিষয়ে আমি ভুল ছিলাম। মনে হচ্ছে তার কেবি এন্ট্রির উপর ভিত্তি করে রেড হ্যাটের মতামতও রয়েছে। যাইহোক, যদি আপনি ntpd নিষ্ক্রিয় করেছেন, তবে এটি অন্য 10 মিনিটের জন্য নিষ্ক্রিয় রাখুন, যাতে ntpd অ্যাডটাইমক্স (2) কল করলে আপনি ডিলকাকটি আঘাত করবেন না।

শীঘ্রই কোন বাগ আছে যদি আমরা খুঁজে বের করব :)

পোস্ট লেপ দ্বিতীয় আপডেট:

আমি এনটিপিডি এবং প্রি-প্যাচ (বাগি) কার্নেল কোডের মাধ্যমে শেষ কয়েক ঘন্টা পড়েছি এবং আমি এখানে খুব ভুল হতে পারব, আমি যা ভাবছি তা ব্যাখ্যা করার চেষ্টা করব:

প্রথমত, এনটিপিডি সব সময় অ্যাডটাইমক্স (2) কল করে। এটি এটি "ঘড়ি লুপ ফিল্টার" অংশ হিসাবে এটি করে, স্থানীয়_clock এ ntp_loopfilter.c এ সংজ্ঞায়িত। আপনি এখানে যে কোড দেখতে পারেন: http://www.opensource.apple.com/source/ntp/ntp-70/ntpd/ntp_loopfilter.c (এনটিপি সংস্করণ 4.2.6 থেকে)।

ঘড়ি লুপ ফিল্টারটি প্রায়শই চলবে - এটি প্রতিটি সময় ntpd চালায় তার আপস্ট্রিম সার্ভারগুলি, যা ডিফল্টভাবে প্রতি 17 মিনিট বা তার বেশি। ঘড়ি লুপ ফিল্টার প্রাসঙ্গিক বিট হয়:

if (sys_leap == LEAP_ADDSECOND)
    ntv.status |= STA_INS;

এবং তারপর:

ntp_adjtime(&ntv)

অন্য কথায়, যখন একটি লিপ দ্বিতীয় থাকে তখন এনটিপিডি "STA_INS" ফ্ল্যাগ সেট করে এবং অ্যাডটাইমক্স (2) (তার পোর্টেবিলিটি-রপারের মাধ্যমে) কল করে।

যে সিস্টেম কল কার্নেল তার উপায় করে তোলে। এখানে প্রাসঙ্গিক কার্নেল কোড রয়েছে: https://github.com/mirrors/linux/blob/a078c6d0e6288fad6d83fb6d5edd91ddb7b6ab33/kernel/time/ntp.c

কার্নেল কোডপথটি প্রায়শই এই:

  • লাইন 663 - do_adjtimex রুটিন শুরু।
  • লাইন 691 - কোন বিদ্যমান লীপ-দ্বিতীয় টাইমার বাতিল করুন।
  • লাইন 709 - ntp_lock স্পিনলোকটি ধরুন (এই লকটি সম্ভাব্য লাইভলক ক্র্যাশে জড়িত)
  • লাইন 724 - কল process_adjtimex_modes।
  • লাইন 616 - কল process_adj_status।
  • লাইন 590 - settime_status গ্লোবাল ভেরিয়েবল সেট করুন, অ্যাডটাইমক্স (2) কল সেট ফ্ল্যাগের উপর ভিত্তি করে
  • লাইন 592 - গ্লোবাল ভেরিয়েবল টাইম_স্টেট চেক করুন। অধিকাংশ ক্ষেত্রে, ntp_start_leap_timer কল করুন।
  • লাইন 554 - সময় পরিবর্তন করুন গ্লোবাল পরিবর্তনশীল চেক করুন। STA_INS সেট করা হবে, তাই টাইপ_স্টেট TIME_INS এ সেট করুন এবং লীপ দ্বিতীয় টাইমারটি শুরু করতে hrtimer_start (অন্য কার্নেল ফাংশন) কল করুন। টাইমার তৈরির প্রক্রিয়াতে, এই কোডটি xtime_lock দখল করে। যদি এটি ঘটে তবে অন্য CPU ইতিমধ্যেই xtime_lock দখল করেছে এবং ntp_lock, তারপর কার্নেল livelocks। হ্যান্টিমার ব্যবহার করা এড়াতে জন স্টুলজ এই প্যাচটি লিখেছেন। আজকের দিনে সবাই কষ্ট পাচ্ছে।
  • লাইন 598 - যদি ntp_start_leap_timer আসলে লীপ টাইমার শুরু না করে, তবে টাইম_অকেতে TIME_OK সেট করুন
  • লাইন 751 - কার্নেল জীবন্ত নয় বলে ধরে নেওয়া, স্ট্যাকটি অযৌক্তিক এবং ntp_lock স্পিনলকটি মুক্তি পায়।

এখানে একটি দম্পতি আকর্ষণীয় জিনিস আছে।

প্রথম, লাইন 691 প্রতিটি সময় adjtimex (2) বলা হয় বিদ্যমান টাইমার বাতিল। তারপর 554 টি টাইমার পুনরায় তৈরি করে। এর অর্থ প্রতিটি সময় ntpd তার ঘড়ি লুপ ফিল্টারটি চালায়, বাগি কোডটি প্রবর্তিত হয়।

অতএব আমি বিশ্বাস করি যে Red Hat ভুল ছিল যখন তারা বলেছিল যে এনটিপিডি একবার লিপ-সেকেন্ড ফ্ল্যাগ সেট করেছিল, সিস্টেমটি ক্র্যাশ করবে না। আমি বিশ্বাস করি এনটিপিডির চলমান প্রতিটি সিস্টেমটি লিপ-সেকেন্ডের 24 ঘণ্টার আগে প্রতি 17 মিনিট (বা তার বেশি) জীবন্ত থাকার সম্ভাবনা রয়েছে। আমি বিশ্বাস করি যে এই কারণগুলি ব্যাখ্যা করতে পারে যে এতগুলি সিস্টেম ক্র্যাশ করেছে কেন? ক্র্যাশিংয়ের এক-বারের সুযোগটি হ'ল 3 টি ঘন্টার এক ঘন্টার তুলনায় হিট হওয়ার সম্ভাবনা কম।

আপডেট: রেড হ্যাটের কেবি সমাধান এ https://access.redhat.com/knowledge/solutions/154713 , রেড হ্যাট প্রকৌশলী একই উপসংহারে এসেছিলেন (যেটি এনটিপিড চলছে ক্রমাগত বাগি কোডটি হিট করবে)। এবং সত্যিই তারা আগে অনেক ঘন্টা কাজ করেছি। এই সমাধান মূল নিবন্ধ লিঙ্ক করা হয় নি https://access.redhat.com/knowledge/articles/15145 , তাই আমি এখন পর্যন্ত এটা লক্ষ্য করিনি।

দ্বিতীয়ত, এই ব্যাখ্যা করা হয়েছে কেন লোড সিস্টেমগুলি ক্রাশ হওয়ার সম্ভাবনা বেশি। লোড হওয়া সিস্টেমগুলি আরো ব্যবধান পরিচালনা করবে, যার ফলে "do_tick" কার্নেল ফাংশনটি প্রায়শই বলা যেতে পারে, এই কোডটি চালানোর সুযোগ এবং টাইমার তৈরি হওয়ার সময় ntp_lock দখল করে।

তৃতীয়ত, লীপ-সেকেন্ড আসলে যখন সংঘটিত হয় তখন সিস্টেমটির বিপর্যয় ঘটে? আমি নিশ্চিতভাবে জানি না, কিন্তু সম্ভবত হ্যাঁ, কারণ টাইমার যা লীপ-দ্বিতীয় সমন্বয় (ntp_leap_second, লাইন 388-এ) চালায় সেটি ntp_lock স্পিনলক ধারণ করে এবং hrtimer_add_expires_ns এ কল করে। আমি জানি না যে কলটি একটি জীবজন্তু সৃষ্টি করতে পারে কিনা, তবে এটি অসম্ভব বলে মনে হচ্ছে না।

অবশেষে, লিপ-সেকেন্ড ফ্ল্যাগটি কীভাবে লীপ-সেকেন্ডের পরে অক্ষম হয়ে যায়? উত্তরটি এনটিপিড বন্ধ করে দেয় মধ্যরাতের পরে কোনও সময়ে লীপ-সেকেন্ড ফ্ল্যাগ সেট করলে এটি অ্যাডটাইমক্স (2) কল করে। যেহেতু পতাকাটি সেট করা নেই, 554 লাইনের চেকটি সত্য হবে না এবং কোন টাইমার তৈরি করা হবে না এবং লাইন 598 টাইম_স্টেট গ্লোবাল ভেরিয়েবলটি TIME_OK তে রিসেট করবে। এটি ব্যাখ্যা করে কেন আপনি লিপ দ্বিতীয় সেকেন্ডের পরে অ্যাডটাইমক্স (8) দিয়ে ফ্ল্যাগটি চেক করেছেন তবে আপনি এখনও ল্যাপ-সেকেন্ড ফ্ল্যাগ সেটটি দেখতে পাবেন।

সংক্ষেপে, আজকের জন্য সবচেয়ে ভাল পরামর্শ আমি প্রথমবারের মত দিয়েছি: ntpd অক্ষম করুন, এবং লীপ-দ্বিতীয় পতাকাটি অক্ষম করুন।

এবং কিছু চূড়ান্ত চিন্তা:

  • লিনাক্স বিক্রেতার কেউই জন স্টুটজের প্যাচ দেখেনি এবং এটি তাদের কার্নেলগুলিতে প্রয়োগ করেছে :(
  • জন স্টুলজ কেন কিছু বিক্রেতাদের সতর্ক করে দেননি? সম্ভবত জীবিকার সম্ভাবনা কম যথেষ্ট শব্দ শোনা ছিল না।
  • আমি জাভা প্রসেস লক আপ বা স্পিনার যখন leap-second প্রয়োগ করা হয়েছিল রিপোর্ট শুনেছি। সম্ভবত আমাদের Google এর নেতৃত্ব অনুসরণ করা উচিত এবং আমরা কীভাবে আমাদের সিস্টেমগুলিতে লিপ-সেকেন্ড প্রয়োগ করব তা আবার বিবেচনা করব: http://googleblog.blogspot.com/2011/09/time-technology-and-leaping-seconds.html

06/02 জন স্টুটজ থেকে আপডেট:

https://lkml.org/lkml/2012/7/1/203

এই পোস্টটিতে ধাপে ধাপে হাঁটার মাধ্যমে কেন ফুটপাথ টাইমারগুলি অকালিকভাবে এবং ক্রমাগত মেয়াদ শেষ হয়ে যায়, CPU লোড স্পিকিং করে।


322
2018-06-30 19:56



চমৎকার উত্তর জন্য ধন্যবাদ। সুতরাং আমাদের সার্ভার বাকি ক্র্যাশ অপেক্ষা বসা হয়। বাহ। ঘূর্ণায়মান রোলিং এখানে আমরা আসি! - Bron Gondwana
আমি কিভাবে জানি যদি adjtimex জারি করা হয়েছে, কার্নেল dmesg কিছু মুদ্রণ করে? এনটিপিড বন্ধ করার আগে কোনও ক্র্যাশ না হওয়া কোন সিস্টেমটি ক্রাশ হবে? - Hubert Kario
হুবার্ট: "অ্যাডটাইমক্স" চালান (এটি সাধারণত আলাদাভাবে প্যাকেজ করা হয়) এবং ল্যাপ দ্বিতীয়টি মুলতুবিভাবে চিহ্নিত করতে পতাকা 16 দেখুন। - Dominic Cleal
আপনি রেপ টুপি ঘৃণা করতে যাচ্ছেন। - Wesley
@ ওয়েসলিভিড: কোন উদ্বেগ নেই, রিপ টুপি ইউটিসি মধ্যরাতে পুনরায় সেট হবে। হতে পারে. - mmyers


এই আমাদের হার্ড আঘাত। আমাদের হোস্টগুলির অনেকগুলি পুনরায় চালু করার পরে, হোস্টটি পুনঃসূচনা না করে নিম্নলিখিতগুলি লজ্জাজনকভাবে সহজ এবং সম্পূর্ণ কার্যকর হয়ে উঠেছে:

/etc/init.d/ntp stop
ntpdate 0.us.pool.ntp.org
/etc/init.d/ntp start

প্রয়োজন যে সিস্টেম ঘড়ি রিসেট করা হয়। Sheesh। আমি এই ছয় ঘন্টা আগে পরিচিত আছে কি দিয়েছেন।


33
2017-07-01 07:49



date -s "`date`" আমার জন্য কাজ। - Pointy
@ ডায়ানব: আমি 3 টা ইউটিসি পোস্ট করেছি যা ঘড়িটি রিসেট করে চলেছে, দুর্ভাগ্যবশত এটি সংযত হতে কিছুটা সময় লেগেছে। আমরা খুব সার্ভার পুনরায় চালু শুরু করে - Gregor


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

#include <sys/timex.h>
#include <string.h>
#include <stdio.h>

int main(int argc, char **argv) {
    struct timex txc;
    int ret;

    (void) argc;
    (void) argv;

    bzero(&txc, sizeof(txc));
    txc.modes = 0;  /* fetch */
    ret = adjtimex(&txc);
    if (ret < 0) {
        perror("adjtimex (get)");
        return 1;
    }

    txc.modes = ADJ_STATUS;
    txc.status &= ~16;
    ret = adjtimex(&txc);
    if (ret < 0) {
        perror("adjtimex (set)");
        return 1;
    }

    return 0;
}

সংরক্ষণ করুন lsec.c, কম্পাইল gcc -Wall -Wextra -o lsec lsec.c এবং রুট হিসাবে চালান।

আপনি সম্ভবত এটি চালানোর আগে ntpd বন্ধ করতে চান, এবং leap দ্বিতীয় পরে ntpd পুনরায় আরম্ভ করুন।


24
2018-06-30 23:13



কি করে (void) argc; সাধা? অব্যবহৃত পরিবর্তনশীল জন্য সতর্কতা নীরবতা? ব্যবহার করা হবে না int main() একই অর্জন? একটি pedant হতে চেষ্টা করা হয় না, আমি সত্যি সত্যি অদ্ভুত। - gparent


Postmortem এটা মনে হয় ./lsec একটি প্রভাব নেই।

আমরা যা দেখছি তা হল সফ্টিরকড প্রসেসর সিপিএস খাওয়ার অনেকগুলি (সাধারণত জাভা প্রসেসের লোডের জন্য লিনিয়ার)

PSTMORTEM ঠিক করতে এনটিপি দ্বারা প্রয়োগ করা লিপ সেকেন্ডের সাথে কাজ করার জন্য কী কী কাজ করে:

এটা ঠিক ইস্যু যথেষ্ট বলে মনে হচ্ছে:

export LANG="en_EN"; date -s "`date`"

এই ntpd পুনরায় আরম্ভ বা রিবুট ছাড়া লোড হ্রাস করা উচিত। বিকল্পভাবে আপনি ইস্যু করতে পারেন:

apt-get install ntpdate
/etc/init.d/ntpd stop; ntpdate pool.ntp.org; /etc/init.d/ntpd start

18
2017-07-01 03:41



কেন sntp -s এবং না ntpdate? - errordeveloper
ntpdate এখানে sntp করার জন্য শুধুমাত্র একটি wrapper, ntpdate এর পাশাপাশি এটি ভাল। - Gregor
আঃ আমি সম্পূর্ণ মিস করেছি একটি এনটিপিডেট প্যাকেজ যেখানে এটি আসলে বাইনারি। আমি এই অন্তর্ভুক্ত আমার পোস্ট সম্পাদনা করেছি। - Gregor
আমি এই সমস্যাটি ঠিক করার মতো একই প্রতিবেদন শুনেছি (যেমন ব্যবহার করে date -s)। ফিক্সের মতো এটি ঠিক করার পরিবর্তে সিস্টেমে সময় নির্ধারণ করার প্রয়োজন হয় (অফসেট করার সময় ডিফল্ট ntpd আচরণটি ছোট)। আমি সময় নির্ধারণের অনুমান করছি কার্নেলের অভ্যন্তরীণ সময়-রক্ষণাবেক্ষণের মেকানিক্সকে পুনরায় সেট করার জন্য। - Patrick
আমার জাভা অ্যাপ্লিকেশনগুলি CPU ব্যবহার খুব বেশি (সলিরিকডে অতিবাহিত CPU পরিমাণের সাথে), এটি সংশোধন করে। - Hubert Kario


http://my.opera.com/marcomarongiu/blog/2012/03/12/no-step-back মনে হচ্ছে যে ডেবিয়ান স্কুইজ কার্নেল লিপ দ্বিতীয়টি পরিচালনা করবে না।

Comp.protocols.tim.ntp এই থ্রেড আগ্রহের, এছাড়াও: https://groups.google.com/forum/?fromgroups#!topic/comp.protocols.time.ntp/KSflIgjUdPE

যে বলেন, লিপ দ্বিতীয় এখনো ঘটেনি: 23:59:60 ইউটিসি

অবশেষে, https://access.redhat.com/knowledge/articles/15145 নিম্নলিখিত বলে আছে: "যখন লীপ দ্বিতীয়টি ঘটে, কার্নেল সিস্টেম লগের জন্য একটি বার্তা প্রিন্ট করে। এই বার্তাটির মুদ্রণ কার্নেলকে Red Hat Enterprise Linux এ ক্র্যাশ হতে পারে।"


17
2018-06-30 18:47



কিন্তু 3.2.21 কার্নেলটি সম্ভবত, সম্ভবতঃ ক্র্যাশ হওয়া মেশিনগুলির মধ্যে কোনটি চলমান ছিল - Bron Gondwana
Bron নির্দেশিত যে কয়েক মেশিনে আমরা আসলে একটি ফিক্স আউট ঘূর্ণিত হয়েছে সঠিকভাবে আসন্ন লাফ দ্বিতীয় হ্যান্ডেল করা উচিত। - cosimo
আপনি ফিক্স পোস্ট করতে পারেন যাতে অন্যরা পর্যালোচনা / সুপারিশ / পরামর্শ দিতে পারেন? - kargig
আমার কোন ফিক্স নেই ... আমি শুধু তথ্য সংগ্রহ করছি। সম্ভবত মূল প্রশ্ন বিরুদ্ধে একটি মন্তব্য হিসাবে এই রাখা উচিত। - Luca Filipozzi
my.opera.com/marcomarongiu/blog/2012/06/01/... এটি ফিক্সিং উপর আরো বিস্তারিত রয়েছে - Bron Gondwana