Ubuntu 适合用于生产环境服务器吗?
非运维,看到公司几十台服务器全是 Ubuntu 20.04 LTS (几年前好像是 RHEL ),几年了没因为系统问题崩过一次,是否可以说明 Ubuntu 也适合用于生产环境服务器?总是能在网络上看到 Ubuntu 不适合用于服务器的言论。
非运维,看到公司几十台服务器全是 Ubuntu 20.04 LTS (几年前好像是 RHEL ),几年了没因为系统问题崩过一次,是否可以说明 Ubuntu 也适合用于生产环境服务器?总是能在网络上看到 Ubuntu 不适合用于服务器的言论。
https://w3techs.com/technologies/history_details/os-linux
上古时代 Ubuntu 刚出来的时候确实是主打桌面市场,在服务器上用的人少,所以相对其他老牌的发行版来说,没那么稳。但是后来用的人很多,C 社的重心也有转移(桌面市场不赚钱啊),所以情况完全不一样了。
其他 dependency 問題丟給 docker/k8s 等容器方案解決
然而实际上… Ubuntu 包管理更丰富, 稳定性并没有实质的调研报告, 在一个纯净系统上装 chrome + python, 就我的感觉 Ubuntu 比 CentOS 方便多了, 至于公司里依然 CentOS 占主流还是为了保证企业内系统环境尽量一致, 简而言之, Ubuntu 做生产没问题(前东家选的就是), 至于说看到言论, 直接把链接贴出来, V 友更能帮你定位问题不是
国外的话,之前某年 linode 有过统计,大约 2/3 的服务器是 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 不适合用于生产环境服务器”的说法就是这么来的。
反过来,如果你跑的软件支持新版本的环境,比如说你跑 WordPress 支持 PHP 8,那你就可以随便上非稳定版了。
说用 Ubuntu 不稳的人,可能是把 Linux 用在了 Mission critical 的项目上了,这种时候已经不止是操作系统的问题了,还有公司政策、人员认证、硬件采购等各种因素在里面。比如运维的人必须要考 Linux 操作认证,那你得考红帽认证工程师吧。比如售后技术支持,每台服务器你得买$800 一年的订阅吧。比如硬件,你得买全新的 DELL/HP/Lenovo 针对操作系统认证过的服务器吧。
这点体量都没有的小公司,谈什么稳不稳的问题……
你的问题显然是不成立的,云服务商敢放给你用,至少他们觉得没问题。有问题也是云服务商背锅。用户可不管是不是系统本身有问题。
国内的老运维不知道是啥原因,centos 比例确实高一点,而且很多都是用的十年前的版本。
https://i.loli.net/2020/12/13/k2HEMTZm6hUl91a.png
来源: https://w3techs.com/technologies/details/os-linux
现在这些认证培训还有没有人去考我是没有进一步了解,倒是这样的思路会导致,如果这一批人还在运维的核心圈子里,就会出现 CentOS 好的想法。
最近在整 Nvidia 的 Developerkit,发现在机器学习领域里面 CentOS 用起来就是特别痛苦,环境配置难,非常耗时,nvidia 提供的工具也只支持 ubuntu,要批量展开部署果断选 ubuntu 了。
至于自己家里用的一些小东西,storj 矿机、adguard 机、树莓派等,都是 ubuntu 直接搞定,能上容器上容器,降低操作系统的依赖和干扰。
另外用 Ubuntu 你要自己做好编译软件的准备 我至少已经遇到好几次源里软件有问题 但是修复版本根本没有 push 到源里的问题了
其实选择不同的发行版说到底就是包选择策略的事情,Ubuntu Server 在这个方面算不上最好但从策略方面来说对于我们团队是最合适,因此选择它作为生产环境(其实对比 Debian 还是新了一点,但这目前来说没什么不好)。
但由于红帽在桌面的弱势,导致现在大多数 Linux 桌面用户都是从 Ubuntu 家族起步的,于是慢慢的服务端也大多选择更熟悉的 Ubuntu 了。
稳定不稳定其实没多大差别,能拿出来收服务费的能不稳定到哪里去,主要看你更喜欢哪种更新和服务模式。上说得其实很到位,担心系统稳定不稳定不如担心自己的项目稳定不稳定。
装个软件看心情,快的时候秒完,慢的时候半小时不是事,太折腾了,RHEL 从入门到放弃,反正不是写系统软件的,ubuntu server 走起
很多时候即使服务器真的出现”不稳定“的情况,估计大多数人都是没办法察觉和去分辨出是不是服务器系统不稳定。(这里说的情况排除第三方软件包的问题,和排除非常专业的运维开发测试)
对于普通常规的项目,其实选什么都没差。无非就是包管理不太一样、软件仓库要新的还是旧的、图形界面选什么。如果乐意的话 windows 也是很好的选择。
小型团队很少有人专门处理操作系统,只能用现成的发行版了,可以遵循一下这两条原则:
1.物理服务器的内容部署越简单、包越少越好,跟业务类的尽量不沾边,非要沾边的请做好资源隔离;
2.业务类的场景包部署要复杂些,尽量别和底层物理服务器有什么牵扯,能进容器进容器,能进虚机进虚机。
等 10 年左右,互联网上就会出现”如何看待公司里的老古董还在用 ubuntu server 而不用鸿蒙 server ?” 这是没办法解释的…
centos 和 ubuntu 的拥簇很明显是按照年龄划分的,与其说是技术的争论,不如说是代沟