CentOS虛擬機與本機同步時間


  接着之前的任務,還是為了在VMWare上搭建分布式hadoop集群。搭着搭着注意到虛擬機上的時間和本機是不同步的,而且可以說是亂七八糟,3台虛擬機時間都與本機差了8個小時以上。首先確認不是時區的問題,然后就要想辦法讓虛擬機時間同步真實時間。

  思路一:使用時間同步服務,讓虛擬機自行同步時間。這個方法沒嘗試就直接放棄,萬一本機無法聯網,那豈不是壞菜。而且這種同步不知道多久同步一次,能不能設置同步周期?有興趣的同學可以嘗試用這種方法解決。

  思路二:讓虛擬機和本機進行時間同步。

  讓虛擬機和本機同步時間需要在虛擬機上安裝vmtools,並且修改虛擬機配置文件XXX.vmx中的tools.syncTime = "FALSE" 為 "TRUE"。

  順帶提一下,在純命令行下安裝vmtools和在圖形界面下安裝過程差不多。

    0. 前提軟件:perl,ifconfig,gcc, kernel頭文件。這四個必須有,否則安裝會失敗。

      vmtools本身是用perl寫的,所以需要主機上有perl。

      ifconfig gcc kernel頭文件都是vmtools安裝過程中需要使用的,如果沒有,安裝會失敗。

      一般這些軟件都是很多linux系統預裝的,但是我的虛擬機時最小化安裝的,所以這些都沒有,perl、ifconfig、gcc這三個好說,正常安裝就可以了。kernel頭文件是什么具體我也不清楚,大概是/usr/src/kernels/3.10.0-327.10.1.el7.x86_64/include/linux/version.h這個文件,3.10.0-327.10.1.el7.x86_64是系統內核版本號,可以通過"uname -r"查詢。網上有些資料說這個kernel頭文件因為系統版本的改變位置變化過,可能你的系統有這個頭文件,但是位置不是vmtools知道的位置,比如我的vmtools可能就是去上面的路徑找,這個視系統和vmtools版本不同可能比較麻煩。不管怎么樣就是你要先確定自己系統上有這么個文件,並且讓vmtools能找到它。如果vmtools找不到這個頭文件,在安裝過程中會有提示。如果你的系統沒有kernel頭文件,你需要安裝kernel-devel-3.10.0-327.10.1.el7.x86_64,kernel-devel后面跟的是系統內核版本。版本安裝錯了也會失敗。如果安裝過kernel-devel后還找不到頭文件,就執行"ln -s /usr/src/kernels/3.10.0-327.10.1.el7.x86_64/include/generated/uapi/linux/version.h /usr/src/kernels/3.10.0-327.10.1.el7.x86_64/include/linux/version.h",將頭文件連接到vmtools能找到的地方。

    1. 設置虛擬機,讓cdrom連接vmware自帶的linux.iso。也可以通過"虛擬機"->"安裝VMTools",自動將cdrom連接到linux.iso。

    2. 圖形界面下一班會自動掛載cdrom,命令行下需要手動掛載: mount /dev/cdrom /mnt。將cdrom掛載到/mnt目錄下,這個目錄不影響,隨意指定。

    3. 進入cdrom掛載目錄,將里面的VMwareTools拷貝出來,我的是VMwareTools-10.0.5-3228253.tar.gz,然后解壓。cdrom一般是只讀的,所以解壓前要拷貝出來。

    4. 進入解壓目錄,調用 vmware-install.pl。然后按照提示一步一步執行就行了。

  安裝完后需要重啟虛擬機,有時候可能重啟以此還不夠(實踐中發現的)。這個自動同步好像不是全自動的,如果虛擬機時間和你的主機的時間差很多的話,好像不會自動同步,具體原因本人也不清楚,所以需要手動用"date -s '2016-04-22 12:00:00'"這樣設置一下。基本上重啟之后時間就會自動同步了。

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM