Linux服务器 *** 作系统简介及版本介绍

Linux服务器 *** 作系统简介及版本介绍,第1张

Linux *** 作系统在服务器方面的应用越来越好。下面由我为大家整理了Linux服务器 *** 作系统的简介及版本介绍,希望对大家有帮助!

Linux服务器 *** 作系统简介及版本介绍

一、Linux服务器 *** 作系统简介

Linux服务器 *** 作系统和一般的Linux发行版有什么区别?考虑服务器硬件。服务器本质上是具有专门规格的计算机。例如,服务器硬件确保最大的正常运行时间,效率和安全性。此外,服务器平衡计算能力和功耗。类似地,Linux服务器 *** 作系统优先考虑安全性和资源消耗。

Linux服务器 *** 作系统向客户端设备提供内容。因此,服务器 *** 作系统提供了用于简单服务器创建的工具。由于服务器通常以命令行方式进行配置和运行,因此Linux服务器 *** 作系统的图形用户界面(GUI)不重要。

根据IDC,硬件销售数据表明,28%的服务器是基于Linux的。虽然有专用的Linux服务器 *** 作系统,还可以选择滚动安装版本。选择的关键是 *** 作系统应该能提供长期服务(LTS)迭代并支持安装所需的软件。LTS的发行版提供了稳定性和更长的支撑周期。

当选择Linux服务器 *** 作系统时,还要考虑使用用途。比如将Linux计算机用作媒体服务器与设置游戏服务器是不同的。

二、Linux服务器 *** 作系统版本介绍

1. Ubuntu Server

Ubuntu可以说是最知名的Linux *** 作系统。而且社区有大量的Ubuntu衍生产品,它是一个稳定的发行版。Ubuntu及其变体提供了优秀的用户体验。Ubuntu Server有两个版本:LTS和滚动版本。LTS的Ubuntu Server发行版拥有五年的支持周期。虽然非LTS的Ubuntu Server发行版支持周期不是五年,但也提供了九个月的安全和维护更新。

虽然Ubuntu和Ubuntu Server非常相似,但服务器提供了不同的组件。值得注意的是,Ubuntu Server提供了OpenStack Mitaka、Nginx和LXD。这些内容能满足系统管理员的需求。使用Ubuntu Server版,可以启动Web服务器、部署容器等。而且它是即开即用的服务器软件。

虽然Ubuntu LTS不是一个服务器发行版,但它也提供了五年的支持周期。我目前使用Ubuntu 16.04 LTS来运行专用的Plex服务器以及Linux游戏服务器。LTS发行版可以很好地作为Linux服务器 *** 作系统。只需自己安装服务器软件即可。

谁应该使用它:

如果你刚接触Linux或服务器 *** 作系统,Ubuntu是一个优秀的选择。Ubuntu仍然是最流行的Linux发行版之一,而且它对用户友好。因此,Ubuntu Server是一个梦幻般的入门级Linux服务器 *** 作系统。它作为媒体服务器、游戏服务器或电子邮件服务器是一流的选择。更高级的服务器设置也适合Ubuntu服务器,但它绝对是一个基本的服务器和新手用户的选择。

2. openSUSE

SUSE Linux于1993年首次推出。直到2015年,开源版本的openSUSE迁移到SUSE Linux Enterprise(SLE)。提供了两个openSUSE衍生版:Leap和Tumbleweed。Leap具有更长的发布周期,而Tumbleweed则是滚动发布版。Tumbleweed更适合高级用户使用其最新的软件包,比如Linux内核和SAMBA等。Leap版则有更好的稳定性和成熟度。两者都支持更新 *** 作系统。

企业客户不能承受不稳定、不成熟和未经测试的包。一切都必须严格测试,以确保业务不会出现问题,并导致损失。故Leap版可以确保企业客户的需求。

openSUSE算是一个梦幻般的Linux服务器 *** 作系统。openSUSE包含了用于自动测试的openQA,用于在多个平台上进行Linux映像部署的Kiwi,用于Linux配置的YaST以及全面的软件包管理器Open Build Service。早些时期,SUSE并没有像Redhat和Canonical那样提供免费的企业发行版,如CentOS和Ubuntu,直到Leap版的发布。SUSE官方称,Leap是一个替代Ubuntu、CentOS和Debian的生产服务器的优秀选择。以前openSUSE遵循9个月的发布周期,即每9个月发布一个新的主要版本。而Leap则遵循SLE的发布周期。

谁应该使用它:

openSUSE更适合于像系统管理员这样的强大用户。它是一个伟大的Web 服务器、家庭服务器或家庭服务器/ Web服务器组合。系统管理员可以从诸如Kiwi,YaST,OBS和openQA之类的工具中获益。openSUSE的多功能性使其成为最好的Linux服务器 *** 作系统之一。除了稳固的服务器功能外,openSUSE还提供了一个漂亮的桌面环境。

3. Oracle Linux

如果你在考虑Oracle Linux,这很正常。oracle Linux是由数据库巨头Oracle提供的Linux发行版。它有两个内核。其中一个内核特性是红帽兼容内核RHCK(Red Hat Compatible Kernel),即提供了与Red Hat Enterprise Linux(RHEL)发行版相同的内核。Oracle Linux有认证,可以在联想、IBM和HP等大量硬件上工作。Oracle Linux提供了Ksplice特性,增强了内核的安全性。另外还支持Oracle、openstack、Linux容器和Docker。其品牌标识为Oracle企鹅。

Oracle Linux提供了技术支持,但需要付费。除非你在企业环境中运行Oracle Linux,否则不值得这么付出。如果需要构建公有云或私有云,Oracle Linux是一个优秀服务器 *** 作系统选择。

谁应该使用它:

Oracle Linux最适合数据中心或用于创建基于OpenStack的云。而更高级的家庭服务器用户和企业级设置也适合使用Oracle Linux。

4. 容器Linux(前身为CoreOS)

CoreOS于2016年更名为Container Linux。顾名思义,Container Linux是一个用于部署容器的Linux *** 作系统。它聚焦于简化容器的部署。容器Linux是提供了安全的、高可扩展的、支持容器部署的一流 *** 作系统。集群化的部署非常容易,其发行版包含了服务发现的方法。并提供了Kubernetes、docker和rkt的文档和支持。

但是,容器Linux没有提供包管理器。所有应用程序必须在容器中运行,因此容器化是强制必需的。然而,如果你正在使用容器,那么容器Linux是提供了容器及其集群等基础设施最好的Linux服务器。它提供了一个etcd工具,作为守护进程运行于集群中的每个计算机上。当然你也有安装的灵活性。除了内部部署安装外,您还可以在虚拟化介质(如Azure,VMware和Amazon EC2)上运行Container Linux。

谁应该使用它:

容器Linux最适合集群基础设施的服务器或容器化部署。这并不意味着它不是家庭服务器的选择。如果使用来自Plex的官方Docker镜像,Container Linux可以作为基本家庭媒体服务器或者是复杂集群设置的任何服务器。最终,如果你很喜欢容器,那么应该使用Container Linux。

补充:Linux服务器 *** 作系统如何选择

(1)Debian与Ubuntu的选择

Ubuntu是基于Debian所开发,可以简单地认为Ubuntu是Debian的功能加强版。与Debian相比,Ubuntu提供了更人性化系统配置,更强大的系统 *** 作以及比Debian更激进的软件更新。Ubuntu与Debian比较,可以认为Debian更趋向于保守一些,Ubuntu对新手友好度更高,上手更容易。用过Ubuntu的都会体会到它的易用,反之如果用过Ubuntu再换到别的系统,都会觉得不适应,Ubuntu真的很方便。

在此解释下Ubuntu的版本支持时间。Ubuntu普通版本只提供18个月的技术支持,过期则不管。LTS服务器版本提供长达五年的技术支持。Ubuntu 10.10是个普通版,现在已经过了支持周期了。如果你用了,很好,你会发现你安装不了任何软件,10.10的软件已经从Ubuntu软件源中被移除了。

所以建议大家选择12.04 LTS版,提供长达5年的技术支持,可以确保在静候相当长的一段时间内你的服务器可以继续收到系统升级补丁以及可用的软件源。

(2)Red Hat和Centos选择

Red Hat跟Centos就没那么多差别了。

Red Hat是付费 *** 作系统,你可以免费使用,但是如果要使用Red Hat的软件源并且想得到技术支持的话,是要像Windows那样掏钱的,所以大家可以理解为Linux中的Windows。这么做符合开源精神,免费使用,服务收费。

Centos是Red Hat的开源版本。一般在Red Hat更新之后,Centos会把代码中含有Red Hat专利的部分去掉,同时Red Hat中包含的种种服务器设置工具也一起干掉,然后重新编译就是Centos。

从某种意义上说,Centos几乎可以完完全全看成是Red Hat,这两个版本的rpm包都是可以通用的。

那么这样问题就简单了。如果你舍得花钱买技术支持,并且想得到完善的技术服务,请去买Red Hat的授权,你会得到如Windows一般强大的技术支持的。如果你只想用,什么付费技术支持什么专有软件都是浮云,那么用Centos吧。

Kali2.0将内核更新至

2.0,基于Debian

Jessie,改善了硬件和无线驱动的适配,可适应各种桌面环境(GNOME,KDE,XFCE,mate,E17,LXDE,i3wm),桌面环境和工

具支持都得到了更新 – 这样的例子不胜枚举。但这些都不是我们开发的重点。准备好听重点了么 ?深呼吸,这是一个长长的名单 。

Kali Linux 现在是滚动更新的发行版了

为了让Kali 2.0做到随地、实时地更新,我们最大的改变之一即是将Kali改为滚动更新的发行版。 这意味着,我们将不断地从Debian Testing中提取包(确保所有包都可安装) -从本质上升级Kali的核心系统,这使我们能充分利用新推出的Debian软件包。此举将充分发挥我们基于Debian的优势-我们在享受的Debian稳定性的同时仍能保证紧跟潮流 。

连续更新的工具,加强的工作流程

我们基础设施的另一个有趣改变是整合了上游版本检查系统 ,当上游发行版的工具发布新版本时(通常是通过git tagging),系统将提醒我们进行整合。这个脚本 (机制)将每日执行,当经选的常用工具需要更新,我们将会收到提醒。有了这个新的系统, 核心工具可得到更频繁的更新 。随着这套新监控系统的上线,“工具升级”选项中的 bug跟踪系统 将会被逐步淘汰。

Kali Linux 2.0 有了新选择

Kali 2.0 现在已原生支持KDE,GNOME3,Xfce,MATE,E17,LXDE和i3wm。我们在这个版本中已转向GNOME 3,这标志着漫长的等待终于结束了。我们终于拥抱了GNOME 3,并且作了一些定制的改变,它将成为最受欢迎的桌面环境。我们增加了对多级菜单,真正的终端透明的支持,以及少数有用的GNOME Shell扩展。然而凡事有利有弊- 完整的GNOME 3支持将Kali的最低内存要求的提高到768 MB。这是在现代硬件上不成问题,但在低端机上可能带来问题。出于这个原因,我们也发布了一个官方版的, 轻量级Kali 2.0 ISO。Kali的这种“轻量级”风格,囊括了实用工具和轻量级的Xfce桌面环境-这为低配置电脑带来了完美解决方案。

Kali Linux 2.0 的 ARM镜像 和NetHunter 2.0

ARM架构部分的镜像文件已经全线更新到Kali 2.0版本 – 包括树莓派,Chromebook,Odroids ……等一大堆硬件!- 在此过程中,我们还增加了一些新硬件的支持-比如最新的的Chromebook。

Flip– 下图中漂亮的新朋友 。来吧,点击图片,仔细欣赏。我们针对ARM架构进行了其他实用的更新,包括为新驱动程序更容易编写而改进了内核源码。

我们没有忘记NetHunter,我们最喜爱的移动渗透测试平台-它也得到了更新,现也支持 Kali 2.0。由此,我们为Nexus系列的5,6,7,9,和10发布了新NetHunter安装镜像。与期待已久的CM12适配版一起,OnePlus One 的NetHunter镜像也已更新至Kali 2.0。

在一般情况下,升级服务器端应用,需要将应用源码或程序包上传到服务器,然后停止掉老版本服务,再启动新版本。但是这种简单的发布方式存在两个问题,

(1)在新版本升级过程中,服务是会暂时中断的。

(2)如果新版本有BUG,升级失败,回滚起来也非常麻烦,容易造成更长时间的服务不可用。

(3)新功能体验不好,版本升级过程中带来的流量有损,造成用户流失。

为了解决这些问题,人们研究出了几种常见的服务发布策略,下面一一介绍。

所谓蓝绿部署,是指同时运行两个版本的应用,

如上图所示,蓝绿发布部署时候需要对服务的新版本进行冗余部署并不停止掉老版本,一般新版本的机器规格和数量与旧版本保持一致,相当于该服务有两套完全相同的部署环境,只不过此时只有旧版本在对外提供服务,新版本作为热备。当服务进行版本升级时,我们只需将流量全部切换到新版本即可,旧版本作为热备。由于冗余部署的缘故,如果新版本上线后出现严重的程序 BUG,那么我们只需将流量全部切回至旧版本,大大缩短故障恢复的时间。待新版本完成 BUG 修复并重新部署之后,再将旧版本的流量切换到新版本。

蓝绿发布通过使用额外的机器资源来解决服务发布期间的不可用问题,当服务新版本出现故障时,也可以快速将流量切回旧版本。

蓝绿部署的优点:

1、部署结构简单,运维方便;

2、服务升级过程 *** 作简单,周期短。

蓝绿部署的缺点:

1、资源冗余,需要部署两套生产环境;

2、新版本故障影响范围大。

ps:当然,蓝绿发布也可以在系统非繁忙时段进行升级,把现有的集群服务器一分为二,一半升级一半保留并隔离,待到新系统稳定后升级另一半服务器,并解除隔离。从而充分利用现有服务器资源。

滚动发布能够解决掉蓝绿部署时对硬件要求增倍的问题。

所谓滚动升级,就是在升级过程中,并不一下子启动所有新版本,是先启动一台新版本,再停止一台老版本,然后再启动一台新版本,再停止一台老版本,直到升级完成,这样的话,如果日常需要10台服务器,那么升级过程中也就只需要11台就行了。

但是滚动升级有一个问题,在开始滚动升级后,流量会直接流向已经启动起来的新版本,这个时候,新版本是不一定可用的,比如需要进一步的测试才能确认。那么在滚动升级期间,整个系统就处于非常不稳定的状态,如果发现了问题,也比较难以确定是新版本还是老版本造成的问题。

为了解决这个问题,我们需要为滚动升级实现流量控制能力。

在灰度发布开始后,先启动一个新版本应用,但是并不直接将流量切过来,而是测试人员对新版本进行线上测试,启动的这个新版本应用,就是我们的金丝雀。验证新版本符合预期后,逐步调整流量权重比例,使得流量慢慢从老版本迁移至新版本,期间可以根据设置的流量比例,对新版本服务进行扩容,同时对老版本服务进行缩容,使得底层资源得到最大化利用。

相比于前两种发布策略,灰度发布的思想则是将少量的请求引流到新版本上,因此部署新版本服务只需极小数的机器。

灰度发布可以基于用户请求的元信息将流量路由到新版本,这是一种基于请求内容匹配的灰度发布策略。只有匹配特定规则的请求才会被引流到新版本,常见的做法包括基于 Http Header 和 Cookie。基于 Http Header 方式的例子,例如 User-Agent 的值为 Android 的请求 (来自安卓系统的请求)可以访问新版本,其他系统仍然访问旧版本。基于 Cookie 方式的例子,Cookie 中通常包含具有业务语义的用户信息,例如VIP可以访问新版本,普通用户用户仍然访问旧版本(或者相反)。

如图,某服务当前版本为 v1,现在新版本 v2 要上线。为确保流量在服务升级过程中平稳无损,采用金丝雀发布方案,逐步将流量从老版本迁移至新版本。

灰度发布期间再对新版本做运行状态观察,收集各种运行时数据,如果此时对新旧版本做各种数据对比, 就是所谓的A/B测试。 通过在监控平台观察旧版本与新版本的成功率、RT 对比,当新版本整体服务预期后,即可将所有请求切换到新版本。

灰度发布的优点:

1、可以对特定的请求或者用户提供服务新版本,新版本故障影响范围小;

2、发布期间逐步对新版本扩容,同时对老版本缩容,资源利用率高。

3、需要构建完备的监控平台,用于对比不同版本之间请求状态的差异(做A/B测试)。

灰度发布的缺点:

1、仍然可能存在资源冗余,因为无法准确评估请求容量;

2、如果流量无差别地导向新版本,可能会影响用户的体验;

3、发布周期长。

最佳实践:

在新版本应用发布时,为了服务器不停机升级且影响最小,使用灰度发布策略,

在灰度发布开始时,使用HTTP Header等策略 匹配指定测试人员的流量到新版本上,

然后当新版本内部测试通过后,可以再按百分比、白名单等,将用户流量一点一点导入到新版本中,直到将流量全部导入到新版本上,最后完成升级,

如果期间发现问题,就立即取消升级,将流量切回到老版本。

运用灰度发布,就再也不需要加班到深夜进行停机升级了,在白天就可以放心大胆地、安全地发布新版本^_^。

参考:

https://blog.csdn.net/luo15242208310/article/details/118888496

https://developer.aliyun.com/article/847533


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7275388.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-03
下一篇 2023-04-03

发表评论

登录后才能评论

评论列表(0条)

保存