将 Ubuntu 从 16.04 LTS 升级到最新的 LTS 版本并在生产中运行工作网络应用程序是否安全?

buz*_*ear 0 upgrade lts docker 16.04

将 Ubuntu 从 16.04 LTS 升级到最新的 LTS 版本,并在生产中运行工作网络应用程序是否安全?我知道需要停止所有进程之类的东西。我的意思是,如果不谈论依赖项,是否还有其他因素可以阻止说 docker 工作?那么,这是一个很好的做法吗?

Rin*_*ind 5

您面临多种风险。仅举 2 名:您说的是 Web 应用程序,因此我假设存在 Web 服务器和数据库。如果您仍在使用已弃用的设置怎么办?找到该问题并解决它可能需要很长时间。我怀疑有没有(因为我已经将谷歌云实例从 16.04/18.04 升级到 20.04 5 个月了)但是这样的情况会更多。

编辑:我有一个现实生活中的例子。MySQL 中的日期格式已得到更新。与日期“2000-00-00”的比较仍然有效,但不再允许“2000-01”。您必须在日期中使用 mm 和 dd,在旧版本中这是警告,但现在是强制性的。这 !在将来的版本中也将从 MySQL 中删除(我们必须使用 NOT)。

所以不,在生产服务器上做这样的事情永远不会安全。即使有备份。一次简单的断电可能是致命的。停机时间可能会持续几个小时。

这样做的方法可能是......

  1. 获取第二台服务器并进行设置。将生产服务器的备份安装到该服务器上。
  2. 测试第二台服务器直到满意。
  3. 制作第二台服务器生产服务器。
  4. 使旧的生产服务器成为第二台服务器。
  5. 冲洗,重复下一次升级。

我确实理解备份系统并不总是可能的。

因此,另一种方法可能是将您的系统克隆到外部磁盘上,然后进行升级。如果升级出错,则将外部磁盘的内容克隆回系统。这确保您可以在最短的时间内恢复当前的工作状态。

无论您选择哪种方法:不要只是升级。为失败做好准备。