كيف يمكنني حل مشكلة ساعة الانجراف لجهازي الافتراضي؟

StackOverflow https://stackoverflow.com/questions/117422

  •  02-07-2019
  •  | 
  •  

سؤال

تنحرف ساعة جهازي الظاهري بشكل ملحوظ.هناك وثائق حول التعامل مع هذا، ولكن يبدو أنه لا يوجد شيء يعمل بشكل جيد للغاية.

أي شخص لديه أي اقتراحات، والأشياء التي عملت بشكل جيد بالنسبة لهم، ...

من المفترض أن التحديث بانتظام عبر ntp ليس حلاً جيدًا.

هل كانت مفيدة؟

المحلول

إم وير لديها وثيقة PDF جيدة حقا على هذه المشكلة.

في الأساس، سيقوم المضيف بقتل القراد الذي يتم تسليمه لضيوفك قدر استطاعته.لا تشغيل NTP أو توقيتها أو غير المرغوب فيه من هذا القبيل.ما عليك سوى تثبيت برنامج vmware-guestd والسماح للمضيف بقتل القراد الخاص بك.إذا كنت لا تزال تفقد القراد، فإن أي حل آخر سيكون له انحراف كبير أيضًا.

إذا أمكن، استخدم نظام تشغيل ضيف يحتوي على معدل تردد منخفض.تأتي الإصدارات الأحدث من Linux مزودة بتردد 1000 هرتز، لكنها كانت 100 هرتز فقط.يبدو أن هذا أسهل على المضيف لتقديمه.عادةً ما تكون هناك حاجة إلى إعادة بناء kernel لتغيير قيمة HZ.

نصائح أخرى

  1. اقرأ وثائق برنامج vmware الخاص بك بعناية قبل الاستماع إلى أي شخص.نحن ندير ESX5.

تقول أفضل ممارسات ضبط الوقت لضيوف Linux من بين أمور أخرى:المرجع: http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1006427

توصيات NTP ملاحظة:توصي VMware باستخدام NTP بدلاً من مزامنة الوقت الدورية لأدوات VMware Tools.يعد NTP أحد معايير الصناعة ويضمن الحفاظ على الوقت الدقيق لضيفك.قد يتعين عليك فتح جدار الحماية (UDP 123) للسماح بحركة مرور NTP.

هذه عينة /etc/ntp.conf:

tinker panic 0
restrict 127.0.0.1
restrict default kod nomodify notrap
server 0.vmware.pool.ntp.org
server 1.vmware.pool.ntp.org
server 2.vmware.pool.ntp.org
driftfile /var/lib/ntp/drift

هذه عينة (خاصة بـ RedHat) /etc/ntp/step-tickers:

0.vmware.pool.ntp.org
1.vmware.pool.ntp.org

يوجه توجيه التكوين tinker Panic 0 NTP إلى عدم الاستسلام إذا رأى قفزة كبيرة في الوقت المناسب.يعد هذا أمرًا مهمًا للتعامل مع فترات الانجراف الطويلة وكذلك استئناف الأجهزة الافتراضية من حالتها المعلقة.

ملحوظة:يجب أن يكون التوجيه tinker Panic 0 في أعلى الملف ntp.conf.

ومن المهم أيضًا عدم استخدام الساعة المحلية كمصدر للوقت، وغالبًا ما يشار إليها باسم الساعة المحلية غير المنضبطة.يميل NTP إلى الرجوع إلى ذلك بدلاً من الخوادم البعيدة عندما يكون هناك قدر كبير من الانجراف الزمني.

مثال على هذا التكوين هو:

server 127.127.1.0
fudge 127.127.1.0 stratum 10

التعليق على كلا السطرين.

بعد إجراء تغييرات على تكوين NTP، يجب إعادة تشغيل البرنامج الخفي NTP.ارجع إلى وثائق بائع نظام التشغيل الخاص بك.

فقط لإضافة بعض البيانات حول سبب عدم كون NTPD حلاً جيدًا.NTPD هو برنامج خفي يحاول التعويض عن انحراف الساعة المحلية؛إذا انحرفت "الساعة الداخلية" بمقدار X عدد الثواني في اليوم، فبدلاً من القفز للأمام/الخلف مثل أمر قسري كما في "ntpdate" يحاول NTPD إضافة/إزالة بعض الدورات إلى الساعة بحيث بمرور الوقت، عادةً في غضون 15 دقيقة، تعمل الساعة بدقة كافية ويتغلب التعويض على عدد X من الثواني الذي تكسبه/تخسره الخوادم في اليوم.يتمتع هذا بميزة أنك لن ترى تكرارًا في أي وقت من اليوم، وهو أمر ضروري لأنظمة المعاملات.

ولكن لكي تتمكن من القيام بذلك، يتطلب NTPD أن تقوم الساعة المحلية بعمل جيد إلى حد معقول، وهو ما يعني عادةً أن الساعة المحلية لن تنحرف عن بعضها أكثر من 42 ثانية في اليوم (أكثر أو أقل؛لست متأكدا من العدد الدقيق).عادةً ما تكون هذه مشكلة في الأجهزة الافتراضية، نظرًا لأن الساعة يتم التحكم فيها بواسطة برنامج، لذلك إذا كان لدى المضيف الكثير من الحمل الزائد، فيمكنك أن ترى أن ساعة العميل ستعمل بشكل أبطأ، وإذا لم يحدث ذلك، فيمكن أن تعمل الساعة أيضًا سريع.المشكلة هنا بالنسبة لـ NTPD هي أن الساعة المحلية غير موثوقة وليس لديها انحراف مستمر في الوقت؛قد يكون أكثر أو أقل اعتمادًا على التحميل الزائد لنظام HOST.

لذلك، في هذه الحالة، من الأفضل تثبيت أدوات العميل كما تم اقتراحه، ومزامنة ساعة العميل مع ساعة المضيف (يشار إليها عادةً باسم "ساعة الحائط")

لا توجد إجابة محددة لأن هناك عدة طرق، ولكل منها إيجابيات وسلبيات.يعتمد الاختيار على مهامك وتحميل الخادم ونظام التشغيل وما إلى ذلك.

يقرأ vmware_timekeeping.pdf لفهم كامل للمسألة.

يمكن العثور على وصفات سريعة لنظام التشغيل Linux في ملف منفصل مقالة كيلوبايت

ألا يؤدي تثبيت إضافات (أدوات) الجهاز الظاهري إلى مزامنة الساعة بين نظام التشغيل الضيف ونظام التشغيل المضيف؟

من المفترض أن يتم التحديث بانتظام عبر NTP ليس حلاً جيدًا

هذا هو الحل الذي أوصي به.لماذا لا تعتبر جيدة في موقعك؟

قم بتثبيت NTP إذا لم يكن لديك بالفعل.

سيقوم ntpdate بضبط الساعة بشكل صحيح، ثم يمكن لـ ntpd الحفاظ على دقة الساعة.

ال مشروع تجمع NTP يوفر مجموعة كبيرة من خوادم NTP للاختيار من بينها.

يحرر لقد لاحظت للتو أنك قلت أنك تعتقد أن NTP ليس حلاً جيدًا - لماذا؟إذا كنت قلقًا بشأن تأثير تغير الساعة، فإن NTP هو الحل الأمثل، حيث أن ntpd لا يقفز الساعة للأمام أو للخلف، بل "يبطئ" الساعة عن طريق تسريعها لأعلى/لأسفل قليلاً حتى تعود لتتماشى مع الساعة. الوقت الصحيح.

كان لدي نفس المشكلة وحلها عن طريق

  1. تثبيت برنامج vmware-guestd
  2. إرسال النواة خيار Clocksource=acpi_pm
  3. تشغيل hwclock -s كل ساعة كجذر.

هذه مشكلة قديمة ولكنها أثرت علينا مؤخرًا.ما وجدته هو أن أيًا من الأجهزة الافتراضية لدينا التي كانت تستخدم أدوات vmware قد تأثرت بهذه المشكلة.

لقد بدأنا مؤخرًا في استخدام أدوات open-vm ولم يتم تعيين الخيار على تلك الأجهزة الافتراضية.نظرًا لأن أدوات open-vm مدعومة بالكامل وموصى بها بواسطة Vmware، فإنني أقترح استخدامها عبر أدوات vmware: http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2073803

إذا كانت أدوات open-vm موجودة في أحد المستودعات التي تستخدمها، فمن السهل أيضًا تثبيتها عبرها yum install أو apt-get install إلخ.

يمكنك استخدام كمد و

net time \\computer_name /set

لضبط الساعة عن بعد (أو في برنامج نصي على سبيل المثال)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top