今天在搭建RAC的时候一直找不到如何设置才能是的虚拟机跟真实机之间时间同步的问题,网上找了很多资料,但绝大多数都是关于VMWare的设定,而且还是要禁止同步的。
自己搭建RAC是使用Oracle Vbox来做的,中间碰到的问题首先是是磁盘共享。
注意:以下操作均在虚拟机关闭的情况下进行!!!
1.使用VBoxManage创建磁盘:
C:\Program Files\Oracle\VirtualBox\VBoxManage createhd -filename D:/oraclevm/ocr.vdi -size 512 -format VDI -variant Fixed
C:\Program Files\Oracle\VirtualBox\VBoxManage createhd -filename D:/oraclevm/votdis.vdi -size 512 -format VDI -variant Fixed
C:\Program Files\Oracle\VirtualBox\VBoxManage createhd -filename D:/oraclevm/data1.vdi -size 1024 -format VDI -variant Fixed
C:\Program Files\Oracle\VirtualBox\VBoxManage createhd -filename D:/oraclevm/data2.vdi -size 1024 -format VDI -variant Fixed
2.将以上磁盘做成共享磁盘
C:\Program Files\Oracle\VirtualBox\VBoxManage modifyhd D:/oraclevm/ocr.vdi --type shareable
C:\Program Files\Oracle\VirtualBox\VBoxManage modifyhd D:/oraclevm/votdis.vdi --type shareable
C:\Program Files\Oracle\VirtualBox\VBoxManage modifyhd D:/oraclevm/data1.vdi --type shareable
C:\Program Files\Oracle\VirtualBox\VBoxManage modifyhd D:/oraclevm/data2.vdi --type shareable
modifyhd D:\oraclevm\ocr.vdi --type shareable
3.将创建完的共享磁盘连接到虚拟机node1、node2
C:\Program Files\Oracle\VirtualBox\VBoxManage storageattach node1 --storagectl "SATA Contoller" --port 1 --device 0 --type hdd --medium D:/oraclevm/ocr.vdi --mtype shareable
C:\Program Files\Oracle\VirtualBox\VBoxManage storageattach node1 --storagectl "SATA Contoller" --port 2 --device 0 --type hdd --medium D:/oraclevm/votdis.vdi --mtype shareable
C:\Program Files\Oracle\VirtualBox\VBoxManage storageattach node1 --storagectl "SATA Contoller" --port 3 --device 0 --type hdd --medium D:/oraclevm/data1.vdi --mtype shareable
C:\Program Files\Oracle\VirtualBox\VBoxManage storageattach node1 --storagectl "SATA Contoller" --port 4 --device 0 --type hdd --medium D:/oraclevm/data2.vdi --mtype shareable
C:\Program Files\Oracle\VirtualBox\VBoxManage storageattach node2 --storagectl "SATA Contoller" --port 1 --device 0 --type hdd --medium D:/oraclevm/ocr.vdi --mtype shareable
C:\Program Files\Oracle\VirtualBox\VBoxManage storageattach node2 --storagectl "SATA Contoller" --port 2 --device 0 --type hdd --medium D:/oraclevm/votdis.vdi --mtype shareable
C:\Program Files\Oracle\VirtualBox\VBoxManage storageattach node2 --storagectl "SATA Contoller" --port 3 --device 0 --type hdd --medium D:/oraclevm/data1.vdi --mtype shareable
C:\Program Files\Oracle\VirtualBox\VBoxManage storageattach node2 --storagectl "SATA Contoller" --port 4 --device 0 --type hdd --medium D:/oraclevm/data2.vdi --mtype shareable
其次,为保证node1和node2之间的时间差能够尽可能的小,通过让虚拟机中的系统时间跟主机的时间进行同步。具体方法是:
VBoxManage guestproperty set "VM name" "/VirtualBox/GuestAdd/VBoxService/PARAMETER" VALUE
在此,我使用的参数是--timesync-max-latency。文档上给的解释是:The max host timer query latency to accept. The default is 250 ms. 所以说我让虚拟机的时间跟真实机的延迟时间均设置到默认值,这样就能保证虚拟机之间的时间误差小于20S。
VBoxManage guestproperty set "node1" "/VirtualBox/GuestAdd/VBoxService/--timesync-max-latency"
当然还有其他的参数或者方法可以实现,但是只要结果能够保证,也无所谓实现的过程了。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26679417/viewspace-766154/
,如需转载,请注明出处,否则将追究法律责任。