1.3 Red Hat Enterprise Linux简介
本书使用的Linux发行版本是Red Hat Enterprise Linux。
1.3.1 发展轨迹
Red Hat Linux是商业上运行最为成功的一个Linux发行套件,普及程度很高,由Red Hat公司发行。它算是一个“中年”的Linux发行套件,其1.0版本于1994年11月3日发行。虽然历史不及Slackware悠久,但比起很多的Linux发行套件,Red Hat的历史悠久得多。Red Hat Linux中的RPM软件包格式可以说是Linux社区的一个事实标准,被广泛使用于其他Linux发行套件中。以其为基础派生的Linux发行套件有很多,其中包括以桌面用户为目标的Mandrake Linux(原为包含KDE的Red Hat Linux)及Yellow Dog Linux(开始时为支援PowerPC的Red Hat Linux)和ASPLinux(对非拉丁字符有较好支援的Red Hat Linux)。自从Red Hat 9.0版本发布后,Red Hat公司就不再开发桌面版的Linux发行套件,而将全部力量集中在服务器版的开发上,即Red Hat Enterprise Linux版。2004年4月30日,Red Hat公司正式停止对Red Hat 9.0版本的支援,标志着Red Hat Linux的正式完结。原桌面版Red Hat Linux发行套件则与来自民间的Fedora计划合并,成为Fedora Core发行版本。Fedora Core发行版本是免费发放的,但Red Hat不提供任何正式支持,也不保证软硬件兼容性,这与Red Hat Enterprise Linux不同。
Red Hat Linux的发展过程主要可以分为Red Hat Linux、Red Hat Enterprise Linux和Fedora Core共3个系列,如表1-1所示。
表1-1 Red Hat公司的主要Linux版本
2002年以前,Red Hat公司只有一种产品线,即Red Hat Linux,从Red Hat Linux 0.9一直发展到Red Hat Linux 9.0,之后不再以该名称发布产品。经过2002年,Red Hat迫于盈利的压力,新开辟了一种产品线,即Red Hat Enterprise Linux系列产品,这一产品向用户提供更高级的技术支持从而使Red Hat公司获得更多收益。也由于Red Hat Enterprise Linux系列产品的推出,Red Hat的研发注意力便从RHL系列更多地转移到Red Hat Enterprise Linux系列上,使得大量免费使用RHL的个人用户很不高兴。加上其他同类免费Linux产品的竞争,为了拉拢Red Hat Linux的原有个人用户,守住已有用户群,Red Hat决定放弃Red Hat Linux系列产品线的单独研发,将之合并到Fedora项目中并推出了新的免费产品线Fedora Core。事实上,Fedora Core只是Red Hat的实验品,其功能将在获得成功后融入Red Hat Enterprise Linux。
Fedora是一个由Red Hat策划的开放开发项目,它向普通参与者开放并由精英管理者领导,沿着一系列项目目标而前进。Fedora项目的目标是与Linux社区协作,只从开放源码软件来创建一个完整且通用的操作系统,其开发过程是以公开论坛的形式进行的。项目将按时间计划,每年Fedora Core发布两到三次,并提供一份公开的发布日程表。Red Hat工程组将继续参与Fedora Core的开发,并且将比以往更多地邀请和鼓励外界的参与。通过采用这样一种更加开放的过程希望能提供一份更加符合自由软件理念并且对开放源码社区更具吸引力的操作系统。
1.3.2 Red Hat Enterprise Linux 6.0简介
Red Hat Enterprise Linux 6.0在应用性能、可扩展性和安全性方面都有巨大改进。利用Red Hat Enterprise Linux 6.0可以在数据中心部署物理、虚拟和云计算,降低复杂性,提高效率,最大限度地减少管理开销,同时充分利用各种技能。 Red Hat Enterprise Linux 6.0是将当前和未来的技术创新转化为IT解决方案的最佳价值和规模的平台。
1.特点
1)可扩展性
Red Hat Enterprise Linux 6支持更多插槽、更多内核、更多线程和更多内存。
2)有效的调度
CFS根据任务消耗的最少时间、任务的优先级及其他因素来安排要运行的下一个任务。使用硬件感知和多核拓扑结构,CFS可优化任务性能和能耗。
3)可靠性、可用性和可维护性(RAS)
● RAS支持基于硬件的CPU和内存热添加。
● 当机器检查硬件支持时,系统可以从以前的一些致命的硬件错误恢复,并最大限度地减少损坏。
● 可将出错的内存页面声明为“中毒”,并加以避免。
4)文件系统
● 新的默认文件系统ext4更快、更稳定,而且可以扩展到16TB。
●可扩展文件系统附加组件包含的XFS文件系统可扩展到100TB。
● 弹性存储附加组件包括高可用性集群GFS2文件系统。
● NFSv4与NFSv3相比有显著改善,并且向后兼容。
● FUSE允许文件系统在用户空间运行,从而可以在基于FUSE的新文件系统(例如云文件系统)上进行测试和开发。
5)高可用性
● 基于Conga的Web接口经过了重新设计,增加了功能和易用性。
● 高性能的轻型集群组通信系统Corosync非常成熟、安全。
● 节点可以在故障后重新启用自身,无须管理员使用取消隔离功能进行干预。
● 统一日志记录和调试功能简化了管理工作。
●虚拟化KVM虚拟机可作为托管服务运行,从而支持故障转移,包括物理主机和虚拟主机之间。
● Conga提供了集中配置和管理。
● 可以使用单个集群命令从不同的服务来管理系统日志,而且日志采用一致的格式,更易于解析。
6)电源管理
● 无空循环内核功能使系统可以在空闲状态保持更长时间,从而降低功耗。
● 主动状态电源管理和主动链路电源管理提供了增强的系统控制,减少了I/O子系统的功耗。管理员可以主动控制功率电平以减少能耗。
● 实时驱动器访问优化可降低文件系统元数据的写入开销。
2.资源管理
1)系统资源分配
● Cgroups可以组织系统任务以便进行跟踪,并让其他系统服务可以控制Cgroup任务可能消耗的资源(分区)。两个用户空间工具Cgexec和Cgclassify提供Cgroup的简单配置和管理功能。
● Cpuset将CPU资源限制应用到Cgroups,允许跨任务分配处理性能。
● 内存资源控制器将内存资源限制应用到Cgroups。
● 网络资源控制器将网络流量限制应用到Cgroups。
2)存储
● 逻辑卷快照可以合并回原始逻辑卷,恢复拍摄快照后发生的变化。
● 可以复制需要同步的区域的镜像日志,从而支持高可用性。
● LVM热备用允许明确定义在设备出现故障后镜像逻辑卷的行为。
● DM-Multipath允许根据队列大小或I/O时间数据动态选择路径。
● 支持基于SAN的大型存储。
●支持自动I/O校准和自我调整。
● 文件系统使用信息将提供给存储设备,允许管理员使用自动精简配置按需分配存储。
● 扩展了SCSI和ATA标准以提供校准和I/O提示,允许自动调整和I/O校准。
● DIF/DIX提供更好的应用程序数据完整性检查。
3)联网功能
● UDP Lite可容忍部分损坏的数据包,以便提供更好的多媒体协议服务,例如在VOIP中,有部分数据包总好过没有。
● 多队列联网功能改进了处理并行性,使用户可以从多个处理器和CPU内核获得更好的性能。
● 大型接收卸载(LRO)和通用接收卸载(GRO)可以汇聚数据包,以提高性能。
● 对数据中心桥接的支持包括数据流量优先级和流量控制,以提高服务质量。
● 针对软件以太网光纤通道(FCoE)提供了新的支持。
●可以使用iSCSI分区作为根或引导文件系统。
● 支持IPv6。
3.内在安全性
1)访问控制
● SELinux政策已扩展到更多的系统服务。
● SELinux沙箱功能可以让用户安全可靠地运行不受信任的应用程序。
● 尽可能系统地减少文件和进程的权限,以降低权限升级的风险。
● 新的实用程序和系统库提供对进程权限的更多控制,使用户可以轻松管理数量减少的功能。
● 步行式服务亭(例如银行、人事部门等)都受到SELinux访问控制的保护,可以动态设置与缩减环境,以确保公共使用的安全。
● Openswan包括可与Cisco IPsec一起使用的常规IPsec实施。
2)安全政策的执行和验证
OpenScap标准化系统安全信息,支持自动补丁验证和系统损坏评估。
3)身份和身份验证
● 新的系统安全服务守护程序(SSSD)使用户可以集中访问身份和身份验证资源,支持缓存和离线支持。
● OpenLDAP兼容LDAP客户端,通过N路多主机复制和性能改进提供高可用性。
4.应用程序开发与生产平台
1)Web基础架构
● Apache的这个版本包括了许多改进功能。
● Squid的主要修订包括可管理性和IPv6支持。
● Memcached 1.4.4是一个高性能、高度可扩展、分布式、基于内存的对象缓存系统,大大提高了动态Web应用程序的速度。
2)Java
● OpenJDK 6是Java Platform Standard Edition (SE) 6规范的开源实施。它根据IcedTea项目获得了TCK认证,Java Web浏览器插件实施和Java Web Start使用户不再需要专有插件。
● OpenJDK与Red Hat Enterprise Linux的紧密集成包括在SystemTap中支持Java探测器,从而可支持更好的Java调试。
● Tomcat 6是运行在Java平台上的开源和同类最佳应用服务器。通过支持Java Servlets和Java服务器页面(JSP),Tomcat为开发和部署动态Web应用程序提供稳定可靠的环境。
3)开发
●包括了Ruby 1.8.7,而且Rails 3支持依赖关系。
● GCC 4.4版包括OpenMP3一致性,可用于便携式并行程序、集成寄存器分配器、元组、其他C++0x一致性实施,以及调试信息处理改进功能。
●对库的改进包括malloc优化,提高了大块的速度和效率,NUMA注意事项,无锁C++ 类库,LSB 4.0和FIPS 2级NSS加密整合,并改进了C++ 库中的自动并行模式。
● Gdb 7.1.29改进包括C++ 函数、类、模板、变量、构造函数/析构函数改进,捕捉/抛出和异常改进,大程序调试优化,以及非阻塞线程调试(线程可以独立停止和继续)。
● TurboGears 2是具有互联网功能的强大框架,支持在Python中快速开发和部署Web应用程序。
● 对流行Web脚本和编程语言PHP(5.3.2)、Perl(5.10.1)的更新包括了许多改进。
4)应用程序调整
● SystemTap使用内核来生成有关运行应用程序的非侵入性调试信息。
● 调整后的守护程序监控系统使用该信息来自动动态调整系统设置,以获得更好的性能。
● SELinux可以用来进行观察,然后收紧应用程序对系统资源的访问,从而提高安全性。
5)数据库
● PostgreSQL 8.4.4包括多项改进。
● 此处列出了MySQL 5.1.47包括多项改进。
● SQLite 3.6.20包括显著的性能改进,以及许多重要的错误修正。请注意,此版本对内部操作系统界面和VFS层进行了不兼容的更改(与早期版本相比)。
6)系统API/ABI稳定性
API/ABI兼容性承诺为Red Hat Enterprise Linux 6.0的整个十年生命周期定义了稳定、公开的系统接口。在此期间,应用程序不会受到安全勘误或服务包的影响,不需要重新认证。各主要版本均保持向后兼容内核ABI,允许应用程序跨后续版本使用。
5.集成虚拟化
1)基于内核的虚拟化
● KVM管理程序完全集成到内核中,因此所有RHEL系统的改善均有利于虚拟化环境。
● 该应用程序环境对物理系统和虚拟系统都是一致的。
● 能够在主机之间轻松移动虚拟机,由此带来的部署灵活性使管理员可以在非高峰阶段将资源整合到更少的机器上,或在维护停机时间释放硬件。
2)利用内核功能
● 硬件抽象使应用程序能够独立于底层硬件从物理环境转移到虚拟化环境。
● 提高CPU和内存可扩展性使每个服务器可容纳更多虚拟机。
●块存储将获益于可选的I/O调度程序和对异步I/O的支持。
● Cgroups和相关的CPU、内存和网络资源控制使用户可以减少资源争用,并提高整体系统性能。
● 可靠性、可用性和可维护性(RAS)功能(例如,热添加处理器和内存、机器检查处理,以及从以前的致命错误恢复)最大限度地减少了停机时间。
● 组播桥接包括首次发布的IGMP侦听(IPv4中)以构建智能分组路由,并提高网络效率。
● CPU关联可将虚拟机分配给特定的CPU。
3)虚拟机加速
● CPU掩码允许所有虚拟机使用相同类型的CPU。
● SR-IOV虚拟化物理I/O卡资源,主要联网功能,允许多个虚拟机共享一个物理资源。
● 表示中断的消息会将信号中断作为特定信号交付,从而增加中断的数量。
● 透明大页面使虚拟机内存分配的性能有显著改善。
● 内核相同页面(KSM)使用户可以跨虚拟机重用相同的页面(在存储环境中称为重复数据删除)。
● 无空循环内核为虚拟机定义了稳定的时间模型,避免了时钟漂移。
● 先进的半虚拟化接口包括时钟(由空循环内核支持)、中断控制器、自旋锁子系统和vmchannel等非传统设备。
4)安全性
在虚拟环境中,sVirt(由SELinux支持)可避免虚拟机彼此干扰。
5)Microsoft Windows支持
通过Windows WHQL认证的驱动程序支持虚拟化Windows系统,并允许Microsoft客户获得Windows Server虚拟化实例的技术支持。
6.企业可管理性
1)安装、更新和部署
● Anaconda支持“最小平台”作为特定的服务器安装,或作为减少软件包数量以提高安全性的策略。
● 红帽网络(RHN)和卫星继续提供大型部署的管理、配置和监控功能。
● 安装选项已重新整理为“工作负载配置文件”,使每个系统安装都能向特定任务提供合适的软件。
● Dracut取代了mkinitrd,最大限度地减少底层硬件改变的影响,更易于维护,并使支持第三方驱动程序更容易。
● 新的Yum历史记录命令提供有关Yum事务的信息,并支持撤销和恢复选定操作。
● Yum和RPM显著提高了性能。
● RPM签名使用安全哈希算法(SHA256)进行数据验证和身份验证,从而提高安全性。
● 存储设备可指定为在安装时加密,以保护用户和系统数据。密钥第三方托管允许恢复丢失的密钥。
● 基于标准的Linux可管理性规范(SBLIM)使用基于Web的企业管理(WBEM)来管理系统。
● ABRT增强错误报告功能加快了分流和软件故障的解决。
2)例行任务委派
● PolicyKit允许管理员向用户提供特权操作的访问权限,例如,添加打印机或重新启动台式机,而无须授予管理权限。
3)打印
● 改进包括更好的打印、打印机发现及来自CUPS和system-config-printer的打印机配置服务。
● 基于SNMP的墨水和碳粉供应水平监控和打印机状态监控简化了监控功能,使用户可以有效地管理墨水和硒鼓库存。
● PostScript打印机自动配置PPD,其中PPD选项值从打印机查询获得,可在CUPS Web接口中提供。
4)Microsoft互操作性
● Samba改进包括支持Windows 2008R2信任关系:Windows cross-forest、传递信任和单向域信任。
●应用程序可以使用OpenChange来访问使用本地协议的Microsoft Exchange Server,允许Evolution等邮件客户端与Exchange Server更紧密地集成。