Ubuntu 适合用于生产环境服务器吗?

2020-12-12 16:07:01 +08:00
 naoh1000

非运维,看到公司几十台服务器全是 Ubuntu 20.04 LTS (几年前好像是 RHEL ),几年了没因为系统问题崩过一次,是否可以说明 Ubuntu 也适合用于生产环境服务器?总是能在网络上看到 Ubuntu 不适合用于服务器的言论。

18393 次点击
所在节点    Linux
119 条回复
naoh1000
2020-12-13 01:01:49 +08:00
@ClericPy 推荐 CentOS,说 Ubuntu 不稳定的文章一搜一大把,太普遍了所以就不贴了。
akira
2020-12-13 01:16:36 +08:00
国内用 centos 的比较多,可能是受各种文章的影响吧。

国外的话,之前某年 linode 有过统计,大约 2/3 的服务器是 ubuntu
echo1937
2020-12-13 01:56:46 +08:00
7-8 年前吧,我那时候开始学习 Ubuntu,对这个问题深有体会;

- Red Hat Linux 开始于 1994 年,我们现在常说的 RHEL 第一个版本是 2002 年,Ubuntu 我查到的第一个版本是 2004,第一个 sever 版本是啥时候我没查到。

- 早年间,Canonical 认证的硬件很少,当年我找 HP DL380 G2 (很早的产品)的驱动,官网只能找到 RHEL 和 SUSE 的,Ubuntu 需要源码自己编译,硬件支持的力度有差异;

- 早年间,一水的 Oracle,那时候的安装说明里,压根就没有 RHEL 和 SUSE 以外的选择,后来加了 Oracle Linux,MySQL 等的开源软件方面,差异倒不是很大;

- RHEL 的生命周期是 10 年,SUSE 是 7 年,Ubuntu 是 5 年,支持力度有差异;

- RHEL 的 ABI 是稳定的,大版本以后,Kernel 主线就不动了,有特性会 backport,但是主线不会动,所以那时候被吐槽万年 2.6.x 内核,里面的软件也被人吐槽陈旧( 3 、5 、7 年前的能不旧吗?),这点企业用户真的很喜欢。

- 到了云时代,没那么多硬件差异,也没那么的闭源的商业软件(商业软件你提供啥就只能用啥,出于成本和风险考虑,是不可能有无数平台的支持的),甚至现在都跑在容器里,啥 OS 甚至都不重要了。

所以,那时候"Ubuntu 不适合用于生产环境服务器"的说法就是这么来的。
Leeds
2020-12-13 02:18:48 +08:00
Ubuntu server lts 非常稳定,我装系统几乎都装 Ubuntu
tuding
2020-12-13 06:57:25 +08:00
我从 ubuntu lts 12,14,16,18 用到 20,没有任何不妥,几乎从来没有遇到 centos 能做但是 ubuntu 不能做的事。服务过的几个公司都有拿 ubuntu 做正式环境。
据说培训班多是用的 centos,看过一些免费视频教程也都是 centos,给人一种错觉吧
msg7086
2020-12-13 07:15:51 +08:00
「稳定版」是指软件功能和版本稳定,不是系统运行的时候是不是稳定。
RHEL 的稳定版维护周期是 10 年,就意味着这 10 年里你的软件功能和版本是不变的。像上面说的,RHEL/CentOS 6 用的是 2.6 的内核,这 10 年里就都是 2.6 的内核。你手头针对这套系统开发的软件,不太会因为时间流逝而与更新后的系统不兼容。
同理 Ubuntu 的稳定版维护周期现在也是 10 年,比如你手头针对 Ubuntu 18.04 上 PHP 7.2 开发的软件,可以运行到 2028 年而不用担心系统停止维护。即使上个月官方版的 7.2 已经 EOL 了,Ubuntu 也会接手打补丁。

反过来,如果你跑的软件支持新版本的环境,比如说你跑 WordPress 支持 PHP 8,那你就可以随便上非稳定版了。

说用 Ubuntu 不稳的人,可能是把 Linux 用在了 Mission critical 的项目上了,这种时候已经不止是操作系统的问题了,还有公司政策、人员认证、硬件采购等各种因素在里面。比如运维的人必须要考 Linux 操作认证,那你得考红帽认证工程师吧。比如售后技术支持,每台服务器你得买$800 一年的订阅吧。比如硬件,你得买全新的 DELL/HP/Lenovo 针对操作系统认证过的服务器吧。

这点体量都没有的小公司,谈什么稳不稳的问题……
walker2laok
2020-12-13 07:31:45 +08:00
@tianlan 服务过的几家公司基本都是 Ubuntu 16.04 (开始个人倾向于 Centos,后被同化了[dog])也慢慢接受了 Ubuntu 的 apt 安装软件确实方便,记得有过一些类库优先提供 Ubuntu 的支持
walker2laok
2020-12-13 07:44:50 +08:00
使用 CentOS 做实验的时候经历过缺少一些稀奇古怪的 rpm 包,要手动去搜索安装。。。yum 使用姿势不对?
djoiwhud
2020-12-13 07:47:38 +08:00
我个人更喜欢 ubuntu,易用性更好。稳定性也挺好的。apt 对新版本支持好。

你的问题显然是不成立的,云服务商敢放给你用,至少他们觉得没问题。有问题也是云服务商背锅。用户可不管是不是系统本身有问题。

国内的老运维不知道是啥原因,centos 比例确实高一点,而且很多都是用的十年前的版本。
yzbythesea
2020-12-13 07:48:31 +08:00
现在都容器化了,还谈什么真正的 “服务器”
rocknjoekudo
2020-12-13 07:57:50 +08:00
@yzbythesea 目前 Docker 还不能独立于主操作系统。谈论这个我个人觉得还是意义不小的
xuanbg
2020-12-13 09:19:12 +08:00
我家 docker 的基础镜像就是 ubuntu
jinliming2
2020-12-13 09:40:30 +08:00
“稳定”是指什么方面的稳定?
很多人对于稳定的意义就是“旧”,觉得旧的东西经历的时间长久,所以稳定。
但是实际上这经不起推敲,因为每一个版本都有 bug,新版本相对旧版本修复了 bug 也会引入新 bug,没办法具体比较新旧版本究竟谁 bug 多。只能说因为个人问题,旧 bug 知道怎么应对,新 bug 懒得去找解决的办法。实际上版本只要进入了 LTS 通道,基本上所有“新 bug”都有解决方案了,就看使用者愿不愿意去学习罢了。
还有很多人即便是使用了新系统,也要把一些设置从默认改成 legacy,美其名曰“新特性不稳定”,实际上就是懒得去学罢了。然后千叮咛万嘱咐这个系统就停留在这个版本,因为更新之后这些 legacy 的东西可能就没了,导致程序跑不起来……(然后又美其名曰“新版本不稳定”)
实际上操作系统的稳定是看它运行时的 ABI 兼容,如果 ABI 不兼容,那么你更新系统之后就可能导致程序不能正常运行。但这一般也只会影响 C/C++ 程序,需要重新编译。而其他语言基本都有自己的虚拟机 /解释器,一般不会受操作系统的更新而受到影响,只会受这种语言运行时的更新导致 ABI 不兼容而受影响。
所以传言 RH 系列系统稳定,是因为他们在系统更新时力保 ABI 兼容,而 centos 是 RH 的免费版,所以也是一样稳定。
而具体到 Debian/Ubuntu 是否稳定,可以说他们没有具体考虑 ABI 兼容,所以你在安装软件的时候,都需要安装针对你系统大版本的包(比如 Debian 的 8 jessie 、9 stretch 、10 buster,Ubuntu 的 14 trusty 、16 xenial 、18 bionic 、20 focal )。
而楼上这些用 Debian/Ubuntu 的遇不到“不稳定”的情况是因为他们不写 C/C++,而其他软件在你更新系统版本的时候也会跟随更新替换成新系统的版本,所以不受影响的。
其他语言里,目前我知道 Go 程序可能会因为系统更新导致不能运行,因为 Go 默认开启 CGO 编译,而这就会导致把引用当前版本的 glibc,更新系统导致 glibc 版本变化,程序就跑不起来了。解决办法就是禁用 CGO,编译纯 Go 的二进制。所以很多 Go 项目的编译脚本里都指定了 CGO_ENABLED=0 。
secsilm
2020-12-13 09:46:18 +08:00
sggggy
2020-12-13 10:05:04 +08:00
个人感觉,还是那一代人最早接受的培训教育,当年毕业的时候也是为了挣口饭吃,到处考证,网络的就思科全家桶,CCNA 、CCNP 、附赠 HCNE,数据库就 IBM DB2,操作系统就红帽 RHCE,这一组合拳打下来,会有一段时间市场上的运维只会老三样,而且用了还挺好。

现在这些认证培训还有没有人去考我是没有进一步了解,倒是这样的思路会导致,如果这一批人还在运维的核心圈子里,就会出现 CentOS 好的想法。

最近在整 Nvidia 的 Developerkit,发现在机器学习领域里面 CentOS 用起来就是特别痛苦,环境配置难,非常耗时,nvidia 提供的工具也只支持 ubuntu,要批量展开部署果断选 ubuntu 了。

至于自己家里用的一些小东西,storj 矿机、adguard 机、树莓派等,都是 ubuntu 直接搞定,能上容器上容器,降低操作系统的依赖和干扰。
datocp
2020-12-13 10:10:32 +08:00
这种东西还是要考虑稳定,啥叫稳定?我把一套运行在 freebsd 8 11 年的系统,因为不会玩 freebsd,最后选了一样 apache php
renothing
2020-12-13 10:10:33 +08:00
国内大部分人收鸟哥那个 linux 菜鸟培训影响。实际上 debian/ubuntu 系列的用户远比 rhel 系多的多。无论是桌面还是生产服务器市场份额,都属于吊打。说 ubuntu 不稳定纯属无稽之谈.
datocp
2020-12-13 10:12:11 +08:00
版本的 ubuntu 11,没错在 20 版本推出依然选择 11 版本,不想因为版本升级给自己造无尽麻烦。
datocp
2020-12-13 10:17:49 +08:00
服务器系统是软件,那些经过测试的商业版本软件也是风险,谁敢把这些风险应用在没经过测试的系统。。。所以这些软件是什么呢,绝对不会是 apache php ?
sampeng
2020-12-13 10:29:29 +08:00
在国内,centos 做生产服务器是政治正确

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/734792

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX