वर्चुअलबॉक्स: होस्ट और गेस्ट टाइम को कैसे सिंक करें?


39

मेरे अतिथि वीएम में समय मेजबान समय से लगभग 20-30 मिनट तेज है। मैं क्या कर सकता हूं ताकि अतिथि का समय मेजबान पर समान हो?

जवाबों:


16

लिनक्स होस्ट के लिए, पहले अतिथि मशीन ( स्रोत ) पर DKMS (डायनामिक कर्नेल मॉड्यूल सपोर्ट) पैकेज स्थापित करें :

$ sudo apt-get install dkms

फिर गेस्ट सिस्टम में गेस्ट एडिशंस इंस्टॉल करें:

$ sudo apt-get install virtualbox-guest-additions

इसके अलावा, यहां VirtualBox समय सिंक्रनाइज़ेशन को ट्यून करने के लिए कुछ आदेशों का वर्णन किया गया है ।


3
नए वितरणों पर, आप के लिए उन पैकेज बदल जाएगा virtualbox-guest-dkmsऔर virtualbox-guest-utils
यवन

aptविशेष रूप से डेबियन-आधारित वितरण के लिए एक पैकेज मैनेजर है। यह अन्य लिनक्स मेहमानों पर काम नहीं करेगा।
काइल स्ट्रैंड

33

निम्न सेटअप मेरे अतिथि को मज़बूती से एक समय बनाए रखने की अनुमति देता है जो मेरे मेजबान के 1 सेकंड के भीतर सटीक है। यह वर्चुअल रनिंग वर्चुअलबॉक्स 4.3.26 और अतिथि वर्चुअलबॉक्स गेस्ट एडिशंस के समान संस्करण के साथ टेस्ट किया गया है। वर्चुअलबॉक्स 5.x के रूप में, मुझे अब तक इन कॉन्फ़िगरेशन परिवर्तन करने की कोई आवश्यकता नहीं है; समय स्वचालित रूप से सिंक में हो गया है।

संदर्भ: https://www.virtualbox.org/manual/ch09.html#changetimesync


होस्ट पर, संबंधित VM के नाम का पता लगाने के लिए VMs को सूचीबद्ध करें।

$ VBoxManage list vms | awk '{print $1}'
"CentOS6"

होस्ट पर, नीचे दिए गए आदेशों को चलाकर अतिथि के लिए समय सिंक्रनाइज़ेशन मापदंडों को कॉन्फ़िगर करें। पहले $VMNAMEइसके उचित मूल्य के साथ सेट करें। यदि $VMNAMEकिसी स्थान का मान समाहित है, तो उसे निश्चित रूप से उद्धृत किया जाना चाहिए।

$ VBoxManage guestproperty set ${VMNAME} "/VirtualBox/GuestAdd/VBoxService/--timesync-interval" 10000
$ VBoxManage guestproperty set ${VMNAME} "/VirtualBox/GuestAdd/VBoxService/--timesync-min-adjust" 100
$ VBoxManage guestproperty set ${VMNAME} "/VirtualBox/GuestAdd/VBoxService/--timesync-set-on-restore" 1
$ VBoxManage guestproperty set ${VMNAME} "/VirtualBox/GuestAdd/VBoxService/--timesync-set-threshold" 1000

ऊपर दिए गए समय के मापदंडों का मान 10. के गुणकों के लिए विवश किया गया है। यह timesync-set-thresholdइसके बजाय 10000 तक सेट करने के लिए लुभावना हो सकता है , लेकिन जब यह ट्रिगर हो जाता है, तो यह एक बड़े समय परिवर्तन को जोखिम में डाल सकता है और इसलिए अनुप्रयोगों को तोड़ सकता है।


होस्ट पर, अतिथि के लिए अद्यतन किए गए प्रासंगिक मान देखें। इन्हें कभी भी समेटा जा सकता है।

$ VBoxManage guestproperty enumerate ${VMNAME} | grep timesync | sort
Name: /VirtualBox/GuestAdd/VBoxService/--timesync-interval, value: 10000, timestamp: 1402110397618554000, flags:
Name: /VirtualBox/GuestAdd/VBoxService/--timesync-min-adjust, value: 100, timestamp: 1402110777505446000, flags:
Name: /VirtualBox/GuestAdd/VBoxService/--timesync-set-on-restore, value: 1, timestamp: 1402110904964050000, flags:
Name: /VirtualBox/GuestAdd/VBoxService/--timesync-set-threshold, value: 1000, timestamp: 1402110660162295000, flags:

अतिथि पर, सभी आंतरिक NTP और संबंधित टाइमकीपिंग सेवाओं को रोकें और अक्षम करें। उनका उपयोग नहीं किया जाना चाहिए क्योंकि वे वर्चुअलबॉक्स के साथ हस्तक्षेप करने की संभावना रखते हैं। एक CentOS 6 अतिथि पर:

$ sudo /sbin/chkconfig ntpd off
$ /sbin/chkconfig --list | grep ntp
ntpd            0:off   1:off   2:off   3:off   4:off   5:off   6:off
ntpdate         0:off   1:off   2:off   3:off   4:off   5:off   6:off

अतिथि पर, नामित सेवा को पुनरारंभ करें vboxadd-service। यह मानते हुए कि अतिथि परिवर्धन पहले स्थापित किया गया था, इस सेवा को स्थापित और सक्षम किया गया होगा। एक CentOS 6 अतिथि पर:

$ /sbin/service vboxadd-service status
Checking for VBoxService ...running
$ sudo /sbin/service vboxadd-service restart
Stopping VirtualBox Guest Addition service                 [  OK  ]
Starting VirtualBox Guest Addition service                 [  OK  ]
$ /sbin/service vboxadd-service status
Checking for VBoxService ...running

यदि अतिथि का समय अभी तक सिंक नहीं हुआ है, तो अतिथि को रिबूट करें।


धन्यवाद! vboxadd-serviceसेवा को फिर से शुरू करने का अंतिम चरण वह है जो मेरे लिए काम कर रहा है, और यह दस्तावेज नहीं लगता है (कम से कम आपके द्वारा दिए गए लिंक पर)।
j_random_hacker 16

जब मैं एक CentOS 7 अतिथि पर यह कोशिश करता हूं, तो vboxadd- सेवा नहीं मिली है? यह एक न्यूनतम स्थापित है, कोई GUI नहीं है।
Br.Bill

1

मैं वर्चुअलबॉक्स अतिथि जोड़ स्थापित किए बिना अतिथि और मेजबान के बीच सिंक करने के लिए एक अन्य समाधान देता हूं:

  1. अपने अतिथि पर NTP स्थापित करें, और इन पंक्तियों को डी-कमेंट करें /etc/ntp.conf
disable auth
broadcastclient
  1. अपने होस्ट पर प्रसारण को सक्रिय करें। लिनक्स उपयोगकर्ताओं के लिए, अपनी /etc/ntp.confफ़ाइल को संपादित करें और लाइन को कॉन्फ़िगर करें
broadcast 192.168.123.255 

विंडोज उपयोगकर्ताओं के लिए, "विंडोज टाइम" सेवा को सक्रिय करें। फिर प्रसारण समय के लिए इसे कॉन्फ़िगर करने के लिए आप इस पृष्ठ को पढ़ सकते हैं


1
IP पते 192.168.123.255 के बारे में क्या महत्वपूर्ण है?
Br.Bill
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.