kvm虚拟化环境中的时区设置

guest OS时间保持

kvm技术是全虚拟化,guest OS并不需要做修改就可以直接运行,然而在计时方面却存在问题,guest OS计时的一种方式是通过时钟中断计数,进而换算得到,但host产生的时钟中断不能及时到达所有guest OS,因为guest OS中的中断并不是真正的硬件中断,它是由host注入的中断

许多网络应用,web中的sessions验证等,都会调用系统时间,guest OS中若时间有误,则会引起程序出错,为此,kvm给guest vms提供了一个半虚拟化时钟(kvm-clock),在RHEL5.5及其以上版本中,都使用了kvm-clock作为默认时钟源,可以在guest 中使用下面命令查看是否使用了kvm-clock

cat /sys/devices/system/clocksource/clocksource0/current_clocksourcekvm-clock

在kvm-clock方式下,guest OS不能直接访问Host时钟,Host把系统时间写入一个guest可以读取的内存页,这样guest就可以读取此内存页设置自身硬件时间,但是Host并不是实时更新时间到此内存页,而是在发生一个vm event(vm关机,重启等)时才更新,因此此种方式也不能保持guest时间准确无误

在继续之前,我们要先理解系统时间和硬件时间等概念

UTC时间 与 本地时间

UTC时间:又称世界标准时间、世界统一时间,UTC是以原子钟校准的,世界其它地区是以此为基准时间加上自己时区来设置其本地时间的

本地时间:由于处在不同的时区,本地时间一般与UTC是不同的,换算方法就是

本地时间 = UTC + 时区 或 UTC = 本地时间 - 时区

时区东为正,西为负,在中国,时区为东八区,也就是 +8区,本地时间都使用北京时间,在linux上显示就是 CST, 所以CST=UTC+(+8小时) 或 UTC=CST-(+8小时)

(China Standard Time,中国标准时,注意美国的中部标准时Central Standard Time也缩写为CST)

系统时间 与 硬件时间

硬件时间:主板上BIOS中的时间,由主板电池供电来维持运行,系统开机时要读取这个时间,并根据它来设定系统时间(注意:系统启动时根据硬件时间设定系统时间的过程可能存在时区换算,根据/etc/localtime)

系统时间: 就是我们执行 date 命令看到的时间,linux系统下所有的时间调用(除了直接访问硬件时间的命令)都是使用的这个时间。

/etc/localtime 这个文件用来设置系统的时区,将 /usr/share/zoneinfo/ 中相应时区文件拷贝到/etc下并重命名为 localtime 即可修改时区设置(也可以使用tzselect命令修改),而且这种修改对 date 命令是即时生效的。不论是 date 还是 hwclock 都会用到这个文件,系统会根据这个文件的时区设置来进行UTC和本地时间之间的换算。

libvirt中设置虚拟机硬件时钟

kvm虚拟机一般使用libvirt进行管理,在其配置的xml文件中,有关于虚拟机硬件时钟设置项

  <clock offset=‘localtime‘>
  </clock>

clock的offset属性有"utc","localtime","timezone","variable"四个可选项

如果guest OS是Linux系统,应该选用"utc",guest OS在启动时便会向host同步一次utc时间,然后根据/etc/localtime中设置的时区,来计算系统时间

如果guest OS是windows系统,则应该选用"localtime",guest OS在启动时向host同步一次系统时间

时间: 2024-07-29 12:45:33

kvm虚拟化环境中的时区设置的相关文章

Linux -- 构建KVM虚拟化环境

硬件系统的配置 硬件和BIOS中虚拟化技术的支持是KVM运行的先决条件. 在x86-64架构的处理器中,KVM必需的硬件虚拟化扩展分别为:Intel的虚拟化技术(Intel VT)和AMD的AMD-V技术. 一般在BIOS中,VT的选项通过"Advanced →Processor Configuration"来查看和设置,它的标识通常为"Intel(R) Virtualization Technology"或"Intel VT"等类似的文字说明.

ESXi5.1嵌套KVM虚拟化环境支持配置

VMware ESXi5.x默认不支持嵌套虚拟化,需要修改相关配置才能支持,VMware故意的,这里仅记录VMware ESXi5.1嵌套安装KVM虚拟化环境.   该方式开通后KVM/Hyper-V/ESXi都支持. 本文出自:http://koumm.blog.51cto.com 1.ESXi5.1主机开通ssh,修改VMware ESXi配置文件使之嵌套虚拟化. 开通SSH,默认是不开通. 在配置文件后面加入如下配置:vhv.enable = "TRUE" 然后重启ESXi, 这

关于Oracle 产品(database,中间件等等)在vmware虚拟化环境中的支持情况

参考自: Support Position for Oracle Products Running on VMWare Virtualized Environments (文档 ID 249212.1) 适用于: Oracle WebLogic Server - Version 10.3.6 and later Oracle Database - Enterprise Edition - Version 11.2.0.2 and later Oracle Database Gateway for

[原创]KVM虚拟化环境安装

宿主机系统:Centos6.8 下面是安装过程记录: 1.操作系统环境安装 (1)修改内核模式为兼容内核启动 [[email protected] ~]# uname -aLinux openstack 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux [[email protected] ~]#vim /boot/grub/grub.conf ...... defau

CentOS 7部署KVM虚拟化环境之一架构介绍

----本文修改整理自网络,非本人原创. 虚拟化介绍 虚拟化(Virtualization)是一种资源管理技术,将计算机的各种试题资源,如服务器.网络.内存及存储等,予以抽象.转换后呈现出来.打破实体结构间的不可切割的障碍,使的用户可以比原本的组态更好的方式来应用这些资源.这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制.一般所指的虚拟化资源包括计算能力和资料存储. 虚拟化技术中大多数人接触的最早且最多的应该就是虚拟机(Virtual Machine),它是通过软件模拟的具有完

KVM虚拟化环境准备

1. 概述2. 环境准备2.1 硬件环境2.2 软件环境2.2.1 YUM安装软件包2.2.2 环境检查2.2.3 启动libvirtd服务2.3 网络环境2.3.1 复制网卡配置文件2.3.2 修改网卡配置文件2.3.4 重启网络服务2.3.5 查看验证 1. 概述 本系列博客是想在VMware workstation创建的虚拟机console中,开启KVM虚拟化,使用kvm虚拟机快速部署测试环境. 注:有关虚拟化的理论部分,参照博客<>,有关KVM的理论部分,参照博客<> 2.

KVM虚拟化笔记(一)------kvm虚拟化环境安装

在安装虚拟化环境的时候,首先查看下该服务器的硬件配置和环境,具体操作如下: (一)检查硬件的相关情况: 1,查看cpu型号,物理cpu颗数, [[email protected] ~]#  cat /proc/cpuinfo | grep name | cut -d: -f2 | uniq -c       2  Intel(R) Core(TM) i3-4150 CPU @ 3.50GHz [[email protected] ~]# cat /proc/cpuinfo | grep phys

【Spring Boot】Spring Boot项目设置多个配置文件,并在生产环境中的Tomcat设置对应的配置文件

1.修改Spring Boot项目配置文件 除了主配置文件,另外创建2个配置文件,注意命名要用application-*.properties 主配置文件中写入,使用dev作为开发配置 spring.profiles.active=dev 2.设置服务器中Tomcat参数,调用生产环境配置 打开Tomcat配置软件 增加配置-Dspring.profiles.active="pro" 重新启动Tomcat即可 原文地址:https://www.cnblogs.com/LiveYourL

php中的时区设置

date_default_timezone_set('PRC'); 设置为中国时区