cocostru Asked: 2020-10-25 10:34:03 +0800 CST2020-10-25 10:34:03 +0800 CST 2020-10-25 10:34:03 +0800 CST 将 Ubuntu 从 16.04 LTS 升级到最新的 LTS 版本并在生产环境中运行有效的 Web 应用程序是否安全? 772 将 Ubuntu 从 16.04 LTS 升级到最新的 LTS 版本并在生产环境中运行有效的 Web 应用程序是否安全?我知道需要 smth 像所有进程都应该停止和类似的东西。我的意思是,如果不谈论依赖关系,是否还有其他可以阻止说 docker 工作的东西?那么,这是一个好习惯吗? upgrade lts 16.04 docker 1 个回答 Voted Best Answer Rinzwind 2020-10-25T10:57:34+08:002020-10-25T10:57:34+08:00 你有几个风险。仅举2个例子:您说的是Web应用程序,所以我假设存在Web服务器和数据库。如果您仍在使用已弃用的设置怎么办?找到这个问题并解决它可能需要很长时间。我怀疑是否存在(因为我已经将 google cloud 实例从 16.04/18.04 升级到 20.04 5 个月了)但是会有更多这样的情况。 编辑:我有一个真实的例子。MySQL 中的日期格式已得到更新。与日期“2000-00-00”的比较仍然有效,但不再允许“2000-01”。您必须在旧版本中警告但现在是强制性的日期中拥有 mm 和 dd。这 !在未来的版本中也将从 MySQL 中删除(我们必须使用 NOT)。 所以不,在生产服务器上做这样的事情永远都不安全。即使有备份。简单的停电可能是致命的。停机时间可能会持续几个小时。 做到这一点的方法可能是...... 获取第二台服务器并进行设置。将生产服务器的备份安装到该服务器上。 测试第二台服务器直到满意。 制作第二台服务器生产服务器。 使旧的生产服务器成为第二台服务器。 冲洗,重复下一次升级。 我确实理解并不总是可以拥有备份系统。 因此,另一种方法可能是将您的系统克隆到外部磁盘上,然后进行升级。如果升级出错,您将外部磁盘的内容克隆回您的系统。这确保您可以在最短的时间内恢复当前的工作状态。 无论您选择哪种方法:不要只是升级。为失败做准备。
你有几个风险。仅举2个例子:您说的是Web应用程序,所以我假设存在Web服务器和数据库。如果您仍在使用已弃用的设置怎么办?找到这个问题并解决它可能需要很长时间。我怀疑是否存在(因为我已经将 google cloud 实例从 16.04/18.04 升级到 20.04 5 个月了)但是会有更多这样的情况。
编辑:我有一个真实的例子。MySQL 中的日期格式已得到更新。与日期“2000-00-00”的比较仍然有效,但不再允许“2000-01”。您必须在旧版本中警告但现在是强制性的日期中拥有 mm 和 dd。这 !在未来的版本中也将从 MySQL 中删除(我们必须使用 NOT)。
所以不,在生产服务器上做这样的事情永远都不安全。即使有备份。简单的停电可能是致命的。停机时间可能会持续几个小时。
做到这一点的方法可能是......
我确实理解并不总是可以拥有备份系统。
因此,另一种方法可能是将您的系统克隆到外部磁盘上,然后进行升级。如果升级出错,您将外部磁盘的内容克隆回您的系统。这确保您可以在最短的时间内恢复当前的工作状态。
无论您选择哪种方法:不要只是升级。为失败做准备。