当RDS Custom实例配置双网卡(eth0和eth1)时,可能会因操作系统自动升级而导致实例网络出现异常。本文介绍相关的处理方法及规避方案。
处理方法
如果您已遇到该问题,请执行/etc/rds_custom_init.sh
脚本进行网络初始化。该初始化过程不会重启实例。
连接RDS Custom实例。
登录RDS管理控制台,在左侧导航栏单击RDS Custom > Custom 实例列表,然后在上方选择地域。
单击实例ID,进入实例详情页。
单击右上角的远程连接,然后在弹出的页面中单击立即登录。
在VNC页面中,使用root用户和密码登录RDS Custom实例。
执行
sudo /etc/rds_custom_init.sh
脚本进行网络初始化。
规避方案
Ubuntu系统
在Ubuntu系统的RDS Custom实例中,当实例配置双网卡(eth0和eth1)时,APT(Advanced Package Tool)在自动升级systemd时,将触发系统的自动重启。这种重启可能导致网络服务的重启,从而引发路由丢失,进而导致网络异常。
通过禁用系统自动安装更新,可以有效防止因自动更新而引发的系统重启,从而避免网络异常的发生。以Ubuntu 24.04版的64位操作系统为例:
连接RDS Custom实例。
登录RDS管理控制台,在左侧导航栏单击RDS Custom > Custom 实例列表,然后在上方选择地域。
单击实例ID,进入实例详情页。
单击右上角的远程连接,然后在弹出的页面中单击立即登录。
在VNC页面中,使用root用户和密码登录RDS Custom实例。
禁用
unattended-upgrades
服务。#停止当前运行的 unattended-upgrades 服务 sudo systemctl stop unattended-upgrades #禁用开机自启 sudo systemctl disable unattended-upgrades
修改自动更新的配置文件。
编辑自动更新配置文件
/etc/apt/apt.conf.d/20auto-upgrades
。vi /etc/apt/apt.conf.d/20auto-upgrades
请将配置文件修改为以下内容,以禁用所有自动更新功能。
APT::Periodic::Update-Package-Lists "0"; APT::Periodic::Unattended-Upgrade "0";
禁用systemd定时任务。
列出所有与APT相关的systemd定时器(timer)。
systemctl list-timers | grep apt # 或者 systemctl list-unit-files | grep apt
返回结果:
apt-daily-upgrade.service static - apt-daily.service static - apt-news.service static - apt-daily-upgrade.timer enabled enabled apt-daily.timer enabled enabled
禁用并停止相关定时器运行。例如:
sudo systemctl stop apt-daily.timer sudo systemctl disable apt-daily.timer sudo systemctl stop apt-daily-upgrade.timer sudo systemctl disable apt-daily-upgrade.timer
请执行以下命令,确认相关定时器已被停止并禁用。
systemctl status apt-daily.timer systemctl status apt-daily-upgrade.timer
禁用cron定时任务。
执行以下命令,查看cron定时任务。
sudo cat /etc/cron.daily/apt sudo cat /etc/cron.weekly/apt.update
如果存在cron定时任务,注释相关条目以禁用该任务。例如:
# #!/bin/sh # apt-get -y update # apt-get -y upgrade
其他系统
以CentOS 7.8为例,其他操作系统请根据各自的版本进行相应调整。
连接RDS Custom实例。
登录RDS管理控制台,在左侧导航栏单击RDS Custom > Custom 实例列表,然后在上方选择地域。
单击实例ID,进入实例详情页。
单击右上角的远程连接,然后在弹出的页面中单击立即登录。
在VNC页面中,使用root用户和密码登录RDS Custom实例。
执行以下命令以检查yum-cron服务是否已启用。
sudo systemctl status yum-cron
如果已启用,请执行以下命令以停止当前运行的yum-cron服务。
# 停止当前运行的yum-cron服务 sudo systemctl stop yum-cron # 禁用开机自启 sudo systemctl disable yum-cron
检查并关闭cron服务。
grep yum /etc/crontab /etc/cron.d/*
如果存在cron任务,请注释相关条目以禁用该任务。例如:
# 0 */4 * * * root /usr/sbin/yum-cron