红帽新一代Linux操作系统-RHEL8 Beat版本初体验!

时间:2024-03-09 15:35:59

http://www.10tiao.com/html/360/201811/2663490924/1.html

 

原文标题:RHEL 8 Beta新特性探究和下一阶段企业云能力展望

 

RHEL(RedHat Enterprise Linux,红帽企业Linux操作系统)8版本的Beta版于11月15日发布了。看到这个消息,我才意识到RHEL版本从7到8的跨度居然已经有5年,超出了过去任何一个大版本的发布周期。

 

RHEL7前段时间发布了7.6版本,而版本7到目前为止,非常完备而稳定。

 

RHEL和其衍生Linux,包括Centos,Oracle Linux,Amazon Linux,目前统治着大半个企业服务器和整个互联网主机系统的市场。

 

按照惯例,版本8应该在2017年发Beta版,今年发布正式版。但为什么推后了很长时间,多数开发者和运维技术人员并没有很强的新版本需求期待呢?

 

一个原因是这几年云相关的技术,多数都是从互联网团队或者创业公司开创的,融入“传统”的操作系统需要一段时间。

 

目前云基础技术多数趋向方向明朗化,而且红帽在云技术方面技术储备也足够。

 

那么RHEL 8作为下一代的Linux,会给企业云带来什么样的技术视野呢?

 

RHEL 8基于Fedora 28,也会选用Fedora 29甚至30的优秀内容。本文按照以下特性来分析:

 

内核,文件系统,网络,包管理,基本功能,管理工具,安全,高可用,桌面,开发环境,虚拟化,容器技术。

 

因为目前Linux市场上,Ubuntu是有力的挑战者。所以在部分方面,加入和Ubuntu的对比。

 

 

 

内核

 

 

采用Linux Kernel 4.18。这个版本是最新的LTS长期支持版。

对于长期支持,有些读者朋友可能不是很清楚,究竟多长才算长呢?对于RHEL,一般是7-10年的免费升级服务,再加上3-5年的付费支持服务,如果有必要,企业还可以单独付费获得专门扩展支持。

这个服务承诺,需要建立在深厚的技术储备和业务持久的基础上。

 

4.18 Kernel支持5级分页能力,处理器转换线性地址从48位提升到57位,从而使得物理内存限制从64TB提升到4PB,可管理的虚拟地址更是高达128PB之多。

 

 

 

文件系统

 

 

  • XFS支持Copy-on-write能力,这样多个文件就可以共享数据块,节约存储空间,也方便容器应用的使用。

  • Stratis卷文件系统的支持,更方便支持文件快照,块存储池等特性需求。

  • Virtual Data Optimizer(VDO)虚拟数据层,可以管理,重用和压缩文件存储块设备。按照文档建议,对于虚拟机或者容器,给虚拟文件系统预留的空间和物理尺寸是10:1,而对于对象存储系统,比如Ceph,比例也可以达到3:1。也就是说,可以极大的减少实际物理空间的占用。

 

 

网络

 

 

  • nftable替代了iptables,作为缺省的网络包过滤组件

  • 支持IPVLAN 虚拟网络驱动,使得多个容器使用虚拟网卡,暴露成单个的mac地址,使得主机可以容纳更多的容器实例。

  • 移除了Sun RPC/NIS协议支持。

 

 

包管理

 

 

RHEL全面使用Yum 4 ,基于DNF包管理工具,避免了Yum之前版本的很多问题。

 

另外一个大的改进是,提供了Application Stream功能,有点类似Ubuntu的Snap。

 

RHEL的包分为两大类:

  1. BaseOS是基础系统,包含操作系统必备的功能。

  2. 其他众多的包则转移到AppSteam来管理,加入了module的概念,为一个或者若干个rpm包组成的完整功能包,可以或者需要一起安装若干个rpm包。

 

module可以包括多个版本,用户在安装时可以选择需要的版本,如

yum install @postgresql:9.6

这样就安装好postgresql模块的9.6版本。通过module,可以实现系统中同时安装不同版本的包。默认一般为最新版,可以看成是虚拟仓库,每一个module可以有一个或者多个profiles。

 

划分基本核心包和应用包非常正确。核心部分需要的是稳定,而应用部分在一个大版本的生命期中,可能已经更新换代过很多次了,特别是现在流行的半年甚至3个月大版本演进策略。

 

应用程序使用AppStream和module这种方式管理,用户选择更灵活。

 

 

基本功能

 

 

我们重点看服务器部分的功能。

 

RHEL 8 的Apache httpd服务器升级到了2.4.35版本,这个版本缺省采用event模式,即多线程高性能的模式,替换了之前一直采用的prefork,即多进程模式。

 

提供mod_http2模组,支持HTTP2协议。支持从硬件加密设施中加载TLS证书和私钥。

 

各种数据库也全面升级,包括Mysql 8,MariaDB 10.3, PostgreSQL 10 和 9.6, Redis 4, 等版本。

 

 

管理工具

 

 

在发布说明中,第一个介绍的重要特性就是管理工具Cockpit。这个由红帽主导管理工具,会成为未来企业管理服务器的一个重要助手。

 

Cockpit采用Javascript和C开发,具备完备的界面管理功能。目前可以管理系统全局,日志,网络,账户,服务,应用,诊断,内核,安全,虚拟机,容器等几乎所有的服务器功能。也可以通过网络管理其他服务器

 

Cockpit英文含义就是驾驶员座舱,机长可以操控庞大的飞机。那么Linux上的Cockpit,也会成为操控这个操作系统的集中入口了吧。

 

值得一提的是,原来Virt-manager工具,就是管理kvm虚拟机的图形界面工具,就被Cockpit替代了。这样来看,未来分散各处的X打头的图形工具,都是Cockpit替换的目标。

 

 

Cockpit不但用于红帽操作系统,在Ubuntu上也可以安装使用。

 

 

安全

 

 

  • 系统级支持TLS 1.3,openssl版本对应升级。

  • 加密块设备LUKS也升级到版本2,对于需要保密的商业信息,建议存放在加密文件系统中。

  • 移除了DSA算法支持。

 

 

高可用

 

 

采用Chrony和Pacemaker工具构建高可用服务器。

Linux集群和高可用技术,近几年发展变化很大,关于这方面有时间再撰文介绍。

 

 

桌面

 

 

采用GNome 3.28 图形桌面,采用Wayland 显示X服务器。

 

目前Ubuntu也切换回GNome图形环境了,至此可以说GNome在X图形竞争中取得完胜。

 

 

开发环境

 

 

  • GCC版本升级到8.2, glibc库为2.28,Boost库也升级到1.64,系统基本开发库焕然一新!

  • 支持Cmkae编译工具,调试工具SystemTap升级到4.0版本,Valgrind升级到3.14版本。

  • 全面采用Python 3,Python 2不再默认安装。

  • Java开发环境提供OpenJDK 11,也可以选择OpenJDK 8,已经升级到最新的191版本。

  • 提供了.NET core 2.1 开发环境。红帽对于dotNET的支持还是很助力的。

 

 

虚拟化

 

 

  • KVM在内核中已经成熟而稳定。

  • libvirt库和QEMU工具也非常好用。

  • 提供了Composer工具 创建虚拟机镜像

  • 配合Cockpit和Openstack进行虚拟机管理

 

 

容器技术

 

 

红帽主导了容器规范,包括运行时和镜像格式。runc和containd都是容器各层次的组件。

 

在RHEL中,还提供了容器的管理工具,包括:

  • podman管理容器的客户端工具,命令行基本和docker兼容

  • buildah创建OCI兼容的容器镜像

  • skopeo容器镜像仓库工具

 

通过上面功能特性,特别是云服务相关,我们可以看出RHEL在技术引领方面的“野心”,也是为未来企业混合云提供技术准备。

 

因为时间有限,本文只简单介绍重要的功能。

 

对于中间件开发和云计算服务提供,Linux是重要的技术设施,也是很多应用系统优化调试的关键所在。