在当前的混合云环境中,线上云服务器可以通过云厂商提供的NTP服务器A实现自动授时,但线下服务器集群B因没有可用的NTP服务器,导致时间不准确,从而影响了业务的正常运行。为了确保线下集群B的时间同步,我们已经通过VPN将A和B网络打通,以下是两种可行的解决方案:
方案一:配置路由
通过服务器A去ping 公有云提供的授时域名,获取授时IP地址。在集群B的所有服务器上,将获取的授时IP配置为NTP服务器地址。在每台服务器上配置路由,使访问该授时IP的请求通过VPN转发到服务器A,通过A实现访问授时服务器。这种方案的时间同步准确性高,因为直接使用公有云的NTP服务器,但是配置过程较为复杂,尤其是在集群B规模较大时,需要在每台服务器上手动配置路由和授时IP。
方案二:配置NTP服务器
既然服务器A可以自动授时,那么可以将服务器A配置作为内网授时服务器。根据经验,华为云的公共镜像基本都配备了chrony,无需下载其他ntp授时软件,可以直接修改Chrony配置文件/etc/chrony.conf,添加allow 0.0.0.0/0,以允许所有内网客户端访问。在集群B的服务器上使用ntpdate <服务器A的内网IP地址>手动校准时间。也可以在集群B的服务器上配置NTP客户端,定期与服务器A同步时间,实现自动授时。这种方案配置简单,集中管理。只需在服务器A上配置一次,集群B可以统一通过A同步时间。时间同步的精确性依赖于服务器A的时间,SLA可能略低于方案一。
对于线下环境中规模较大的集群,推荐使用方案二,因其配置和管理较为简便,适合内网环境的统一时间管理。而方案一适用于对时间同步精度要求极高的场景,但需要更多的配置和维护工作。
test