admin 管理员组文章数量: 887021
2024年3月13日发(作者:php的使用范围)
Centos7 特性
构架和限制
构架
只有 64 位硬件支持 Red Hat Enterprise Linux 7.0 安装。
Red Hat Enterprise Linux 7.0 可将 32 位操作系统作为虚拟机运行,其
中包括之前的 Red Hat Enterprise Linux 版本。
Red Hat Enterprise Linux 7.0 在以下架构中作为单一套件使用。 :
64-bit AMD
64-bit Intel
IBM POWER7 和 POWER8
IBM System z (支持 IBM zEnterprise 196 硬件或者更新的版本)
•
•
•
•
功能和限制
下表列出了 Red Hat Enterprise Linux 7 与之前的版本 5 和版本 6 之间的
功能及限制对比。
表 3.1. Red Hat Enterprise Linux 5、6 和 7 的限制
Linux 5 Linux 6 Linux 7
Red Hat Enterprise Red Hat Enterprise Red Hat Enterprise
Linux 5 Linux 6 Linux 7
Red Hat Enterprise Red Hat Enterprise Red Hat Enterprise
最大逻辑
CPU
x86_64 160/255 160/4096 160/5120
POWER 128/128 128 待评估
System z 101 (zEC12) 101 (zEC12) 待评估
最大内存
x86_64 1 TB 支持 3 TB/64 TB 支持 3 TB/64 TB
POWER
TB
最小 512 GB/建议 1
2 TB 2 TB
System z 3 TB (z196) 3 TB (z196) 3 TB (z196)
最低要求
最小 512 MB/建议每
x86_64
个逻辑 CPU 1 GB
最小 1GB/建议每个
逻辑 CPU 1 GB
最小 1GB/建议每个
逻辑 CPU 1 GB
Red Hat
Enterprise
Linux 5
Linux 6 Linux 7
Red Hat Enterprise Red Hat Enterprise
2 GB/每个 Red Hat
POWER
2 GB/每个 Red Hat
1 GB/建议 2 GB
Enterprise Linux 安Enterprise Linux 安
装 2 GB 装 2 GB
System z 512 MB 512 MB 1 GB [a]
文件系统及
存储限制
最大文件大
小:XFS
16 TB 16 TB 16 TB
最小文件大
小:ext4
16 TB 16 TB 50 TB
最大文件大
小:Btrfs
N/A 待评估 待评估
最大文件系
统大小:
XFS
100 TB [b] 100 TB 500 TB
Red Hat
Enterprise
Linux 5
Linux 6 Linux 7
Red Hat Enterprise Red Hat Enterprise
最大文件系
统大小:
ext4
16 TB 16 TB 50 TB
Red Hat
Red Hat Red Hat
Enterprise Linux Enterprise Linux Enterprise Linux
5 6 7
最大文件系统大
小:Btrfs
N/A 待评估 50 TB
最大引导 LUN 大
小
2 TB 16 TB [c] 50 TB
每个进程地址大小
的最大值:x86_64
2 TB 128 TB 128 TB
[a] 在 IBM System z 中安装建议 1 GB 以上。
[b] Red Hat Enterprise Linux 版本 5.5 或者之后的版本支持最大为 100
TB 的 XFS 文件系统大小。
[c] 注:大于 2 TB 的引导 LUN 支持需要 UEFI 和 GPT 支持。
软件包及支持变化
淘汰的软件包
淘汰的软件包
功能/软件包 替代品 迁移记录
ext2、ext3 文件系
统支持
ext4
可在 ext2 和 ext3 文件系统中
使用 ext4 代码
sblim-sfcb tog-pegasus
subscription-
传统 RHN 托管的注
册
manager 和
Subscription Asset
Manager
acpid systemd
请从 Microsoft Exchange
evolution-mapi evolution-ews
Server 2003 机器中迁移
gtkhtml3 webkitgtk3
用户信息 选项
edac-
utils 和 mcelog
rasdaemon
Red Hat Enterprise Linux 7.0
将继续使用 cgutils,但
libcgroup systemd
systemd 改进了让用户在今后
的发行本中进行迁移的能力。
功能/软件包 替代品 迁移记录
OpenSSH 包含拥有类似功能的工具,并
krb5-appl openssh
采用更活跃的维护标准和更活跃的开发
和维护代码库。
lvm1 lvm2
lvm2mirror 和 cmirror
raid1 换 cmirror。
lvm2 lvm2 raid1 不支持集群,还没有计划替
删除的软件包
删除的软件包
功能/软件包 替代品 迁移记录
gcj OpenJDK 不要使用 gcj 将 Java 程序编译为原代码。
使用 32 位
架构作为安
装架构
6。
构 位引导支持,请继续使用 Red Hat Enterprise Linux
64 位架Enterprise Linux 6 中测试您的程序。如果需要 32
应用程序仍将使用兼容库运行。在 64 位 Red Hat
IBM POWER6
支持
无 继续使用 Red Hat Enterprise Linux 5 或者 6。
功能/软件包 替代品 迁移记录
已从 Red Hat Enterprise Linux
Matahari 基于 CIM 的管理
6.4 中删除了 Matahari。不要再使
用它。
使用现有 LUKS 或
ecryptfs
者 dm-crypt 基于
块的加密
密的数据。
不能进行迁移;用户需要重新生成加
TurboGears2 网页
程序栈
无
OpenMotif 版本
2.2
构建应用程序。
Motif 2.3 Enterprise Linux 6 中的版本重新
根据现有 Motif 版本,即 Red Hat
webalizer 网页
分析工具
无
compiz 窗口管理
程序
gnome-shell
Eclipse 开发者工
具组件
无
已在 Red Hat Developer Toolset
中提供 Eclipse。
Qpid 和 QMF 无 MRG 中包含 Qpid 和 QMF。
功能/软件包 替代品 迁移记录
amtu 无 常用标准认证不再需要这个工具。
system-config-
services
systemad
m
pidgin 前端 empathy
perl-suidperl 解
读程序
无
这个功能在 upstream perl 中已无法使
用。
pam_passwdqc, pampam_pwqu
_cracklib ality
HAL 库及守护进程 udev
ConsoleKit 库及守
护进程
systemd
/wiki/Softwa
re/systemd/writing-display-managers
DeviceKit-power upower
gnome-
disk-
system-config-lvm
utility
和
system-
Red Hat Enterprise Linux 6 也使
用 gnome-disk-utility。注:应在较简单
的任务中使用 system-storage-manager,
而使用 lvm2 命令进行微调或者用于与
LVM 有关的更复杂的操作。
功能/软件包 替代品
storage-
manager
迁移记录
功能/软件包 替代品 迁移记录
system-
config-
network
editor,nmcli 用 nm-connection-editor。
nm-connection-Red Hat Enterprise Linux 6 也使
taskjuggler 无
thunderbird evolution
vconfig 的所有功能都由iproute 软
vconfig iproute 件包中的 ip 工具提供。详情请查看
ip-link(8) manual page。
原有图形驱动
程序分类
者 vesa 驱动程
序
现代硬件或
xorg-x11-twm 无
xorg-x11-xdm gdm
system-
config-
firewall
firewall-
config 和
firewall-cmd
system-config-firewall 仍作为用于
静态环境的防火墙备选解决方案的一部
分与 iptables 服务一同使用。
功能/软件包 替代品 迁移记录
mod_perl mod_fcgid mod_perl 与 HTTP 2.4 不兼容
busybox 无
注:Red Hat Enterprise Linux
prelink 无 7.0 提供 prelink,但默认为禁
用。
KVM 和虚拟化软
件包(在
ComputeNode 变
体中)
变体
虚拟化,比如服务器
附带变体的 KVM 和
module-init-
tools
kmod
kernel-
firmware-*
linux-firmware
flight-recorder 无
要在命令行中进行基
本无线设备操控,请
wireless-tools 使用 iw 软件包中
的 iw 二进制程
序。
功能/软件包 替代品 迁移记录
libtopology hwloc
由于相依性极为复杂,
Red Hat Enterprise Linux 7.0 软
digikam 无
件频道不再提供digiKam 图片管理程
序。
NetworkManager-NetworkManager-
openswan libreswan
GNOME 显示管理程序是
KDE 显示管理程
序,KDM
GNOME 显示管理程Red Hat Enterprise Linux 7.0 的
序,GDM 默认显示管理程序。注:仍可使用 KDE
(K 桌面环境),并提供支持。
virt-tar-
virt-tar
in 和 virt-
tar-out
手册页。
注:命令行语法已有变化。详情请查看
virt-list-
filesytems
virt-filesystems
注:命令行语法已有变化。详情请查看
手册页。
virt-list-
partitions
virt-filesystems
注:命令行语法已有变化。详情请查看
手册页。
淘汰的驱动程序和模块
图形驱动程序
xorg-x11-drv-ast、xorg-x11-drv-cirrus、xorg-x11-drv-mach64、xorg-x11-
drv-mga、xorg-x11-drv-openchrome
注:上述图形驱动程序将由内核模式设置(KMS)驱动程序替换。
输入驱动程序
xorg-x11-drv-void
存储驱动程序
3w-9xxx、arcmsr、aic79xx、Emulex lpfc820
不再继续使用的内核驱动程序、模块及功
能
Red Hat Enterprise Linux 6 已从 Red Hat Enterprise Linux 7.0
中删除的驱动程序及模块列表。
存储驱动程序
megaraid_mm、cciss、aic94xx、aic7xxx、i2o、ips、megaraid_mbox、
mptlan、mptfc、sym53c8xx、ecryptfs、3w-xxxx
联网驱动程序
3c59x、3c574_cs、3c589_c、3c589_cs、8390、acenic、amd8111e、at76c50x-
usb、ath5k、axnet_cs、b43、b43legacy、can-dev、cassini、cdc-phonet、
cxgb、de4x5、de2104x、dl2k、dmfe、e100、ems_pci、ems_usb、fealnx、
fmvi18x_cs、fmvj18x_cs、forcedeth、ipw2100、ipw2200、ixgb、
kvaser_pci、libertas、libertas_tf、libertas_tf_usb、
mac80211_hwsim、natsemi、ne2k-pci、niu、nmckan_cs、nmclan_cs、
ns83820、p54pci、p54usb、pcnet32、pcnet_32、pcnet_cs、pppol2tp、
r6040、rt61pci、rt73usb、rt2400pci、rt2500pci、rt2500usb、rtl8180、
rtl8187、s2io、sc92031、sis190、sis900、sja1000、sja1000_platform、
smc91c92_cs、starfire、sundance、sungem、sungem_phy、sunhme、tehuti、
tlan、tulip、typhoon、uli526x、vcan、via-rhine、via-velocity、vxge、
winbond-840、xirc2ps_cs、xircom_cb、zd1211r
图形驱动程序
xorg-x11-drv-acecad、xorg-x11-drv-aiptek、xorg-x11-drv-elographics、
xorg-x11-drv-fpit、xorg-x11-drv-hyperpen、xorg-x11-drv-mutouch、xorg-
x11-drv-penmount
输入驱动程序
xorg-x11-drv-acecad、xorg-x11-drv-aiptek、xorg-x11-drv-elographics、
xorg-x11-drv-fpit、xorg-x11-drv-hyperpen、xorg-x11-drv-mutouch、xorg-
x11-drv-penmount
存储与文件系统
存储
LIO 内核目标子系统
Red Hat Enterprise Linux 7.0 使用 LIO 内核目标子系统,它是块存储的
标准开源 SCSI 目标,可用于以下存储介质:FcoE、iSCSI、iSER(Mellanox
InfiniBand)和 SRP(Mellanox InfiniBand)。Red Hat Enterpise Linux 6
使用 SCSI 目标守护进程 tgtd 为 iSCSI 目标提供支持,同时在以太网光纤
通道(FCoE)中只使用
fcoe-target-utils 软件包提供的 Linux 内核目标 LIO。targetcli shell
提供 LIO Linux SCSI 目标的常规管理平台。
快速块设备为较慢的块设备提供缓存
Red Hat Enterprise Linux 7.0 中引进让快速块设备作为较慢块设备的缓
存的功能作为技术预览。这个功能可让 PCIe SSD 设备作为直接附加存储
(DAS)或者存储局域网(SAN)存储的缓存使用,以便提高文件系统性能。
LVM 缓存
Red Hat Enterprise Linux 7.0 引进了 LVM 缓存作为技术预览。这个功能
可让用户创建逻辑卷,使用一个小的快速设备作为较大的慢速设备的缓存。有
关生成缓存逻辑卷的详情请参考 lvm(8) manual page。注:在缓存逻辑卷中尚
不能使用下列命令:
•
•
•
pvmove:跳过所有缓存逻辑卷,
lvresize, lvreduce, lvextend:目前无法重新定义缓存逻辑卷大小,
vgsplit:当有缓存逻辑卷存在时不能分割卷组。
使用 libStorageMgmt API 进行存储阵列管理
Red Hat Enterprise Linux 7.0 引进了存储阵列管理作为技术预览。
libStorageMgmt 是独立于存储阵列的应用程序编程界面(API)。它提供稳定
且持久的 API,可让开发人员以编程方式管理不同的存储阵列,并利用所提供
的硬件加速功能。系统管理员还可以将其作为手动管理存储的工具使用,同时
使用附带的命令行界面(CLI)自动化存储管理任务。
LSI Synchro 支持
Red Hat Enterprise Linux 7.0 包含 megaraid_sas 驱动程序中代码用
于启用 LSI Syncro CS 高可用直接附加组件(HA-DAS)适配器。尽管在以前启
用的适配器中完全支持 megaraid_sas 驱动程序,但在 Syncro CS 中使用这
个驱动程序仍处于技术预览阶段。对这个适配器的支持将直接由 LSI、您的系
统集成商或者系统销售商提供。我们鼓励在 Red Hat Enterprise Linux
7.0 中部署 Syncro CS 的用户为 Red Hat 和 LSI 提供反馈意见。有关 LSI
Syncro CS 解决方案的详情请参考/products/shared-
das/pages/。
LVM 应用程序编程界面
Red Hat Enterprise Linux 7.0 提供新的 LVM 应用程序编程界面(API)
作为技术预览。使用这个 API 可查询并控制 LVM 的具体方面。
DIF/DIX 支持
DIF/DIX 是 SCSI 标准的新版本,同时在 Red Hat Enterprise Linux 7.0
中也是技术预览。DIF/DIX 将通常使用的 512 字节磁盘块大小从 512 字节增
大到 520 字节,添加了数据完整性字段(DIF)。DIF 在发生写入操作时为主
机总线适配器(HBA)计算的数据库保存 checksum 值。该存储设备在收到
checksum 后确认,并同时保存该数据和 checksum。相反,当发生读取操作
时,可在收到 HBA 后由该存储设备检查 checksum。详情请参考启用了
DIF/DIX 的块设备一节,网址《存储管理指南》。
支持平行 NFS
平行 NFS(pNFS)是 NFS v4.1 标准的一部分,可让客户端直接且平行访问存
储设备。pNFS 架构可为一些常规负载提高 NFS 服务器的可延伸性及性能。
pNFS 定义了三种不同的存储协议或者布局:文件、对象和块。
Red Hat Enterprise Linux 7.0 客户端全面支持文件布局,但块布局和对
象布局只能作为技术预览使用。pNFS 的详情请参考 /。
文件系统
支持 XFS 文件系统
目前使用 Anaconda 安装的 Red Hat Enterprise Linux 7.0 中使用的默
认文件系统是 XFS,它替换了在 Red Hat Enterprise Linux 6 中使用的
第四代扩展的文件系统(ext4)。ext4 和 Btrfs(B-Tree)文件系统可作
为 XFS 的备选。XFS 是高度可扩展、高性能文件系统,最初由 Silicon
Graphics, Inc 设计,目的是为了支持高达 16 艾字节(约 1600万TB)的文
件系统,多达 8 艾字节(约 800万TB)以及包含数千万条目的目录结构。
XFS 支持元数据日志,它可加快崩溃的恢复。XFS 文件系统还可在挂载且活
跃的情况下进行清理碎片和扩展操作。有关 ext4 和 XFS 间常规任务所使
用命令的不同请参考《安装指南》中的参考表格。
支持 IBM System z 中的 libhugetlbfs
目前支持 IBM System z 架构中的 libhugetlbfs 库。该库允许 C 和 C++
程序中的大页面透明开发。应用程序及中间件程序可从其性能优点或者大页面
中受益而无需进行更改或者重新编译。
内核
内核
Red Hat Enterprise Linux 7.0 采用 kernel 版本 3.10,该版本提供大
量新功能,主要列举如下。
支持大的 crashkernel 大小
Red Hat Enterprise Linux 7.0 支持在有大内存(最大为 3TB)的系统中
使用 kdump 崩溃转储机制。
在一个以上 CPU 中使用 crashkernel
Red Hat Enterprise Linux 7.0 启用在一个以上 CPU 中引导 crashnernel
的功能。这个功能作为技术预览支持。
Swap 内存压缩
Red Hat Enterprise Linux 7.0 引进了一个新功能,即 swap 内存压缩。
Swap 压缩由 zswap 执行,这是一个用于 frontswap 的精简后端。采用 swap
内存压缩技术可保证显著减少 I/O 并提高性能。
采用 NUMA 的调度和内存分配
在 Red Hat Enterprise Linux 7.0 中,内核会在同一系统的不同 NUMA 节
点间自动重置进程和内存以提高没有统一内存访问(NUMA)系统的性能.
APIC 虚拟化
通过利用新处理器的硬件功能支持高级程序中断控制器(APIC)注册的虚拟化
以便提高虚拟机监视器(VMM)中断处理能力。
vmcp 内嵌在内核中
在 Red Hat Enterprise Linux 7.0 中,vmcp 内核模块内嵌在内核中。这
可保证 vmcp 设备节点总会出现,同时用户可在不首先载入 vmcp 内核模块
的情况下发送 IBM z/VM hypervisor 控制程序命令。
硬件错误报告机制
目前,Linux 的硬件报错机制还不完善,多数是由各种工具(mcelog 和
EDAC)造成,这些工具从不同源采用不同方法以及不同工具(比如:
mcelog, edac-utils 和 syslog)收集出错信息,报告出错事件。硬件报错
问题可分为两个方面:
•
•
收集各种数据,有时是重复数据的不同错误数据收集机制,
以及在不同位置使用不同时间戳报告这些数据的不同工具,使其与事件关联变
得困难。
Red Hat Enterprise Linux 7.0 中的新硬件事件报告机制,也称 HERM 的
目标是统一来自不同源的出错数据集合,并采用连续时间线和单一位置向用户
控件报告出错事件。Red Hat Enterprise Linux 7.0 中的 HERM 引进了新
的用户空间守护进程 rasdaemon,它可捕获并处理所有来自内核追踪架构的可
依赖性、可用性及可服务性(RAS)出错事件,并记录它们。
Red Hat Enterprise Linux 7.0 中的 HERM 还提供报告那些错误的工具,
并可探测不同类型的错误,比如 burst 和 sparse 错误。
全面 DynTick 支持
nohz_full 引导参数将最初的无缝内核功能延伸到额外的情况,比如可以停止
tick 的时候,可以使用 per-cpu nr_running=1 设置的时候。即在 CPU 的
运行队列中只有一个可运行的任务。
将内核模块列入黑名单
Red Hat Enterprise Linux 7.0 提供 modprobe 程序可让用户在安装时
将内核模块放入黑名单。要禁用自动载入一个模块,请运行以下命令:
1. ist=module
动态内核补丁
Red Hat Enterprise Linux 7.0 引进了 kpatch,一个动态内核补丁管理
程序作为技术预览。用户可使用 kpatch 管理二进制补丁集合,它可在不重
启的情况下动态为内核打补丁。
Emulex ocrdma 驱动程序
Emulex ocrdma 驱动程序在 Red Hat Enterprise Linux 7.0 中是作为技
术预览提供。该驱动程序为具体的 Emulex 适配器提供远程直接内存访问
(RDMA)功能。
dm-era 目标
Red Hat Enterprise Linux 7.0 引进了 dm-era 设备映射器目标作为技术
预览。dm-era 可跟踪在用户定义的时间段(即“era”)内写入的块。每个
era 目标事务可将当前 era 单调地增加到 32 位计数器。这个目标允许备份软
件
追踪自上次备份后有变化的块。它还允许在返回经销商快照后部分失效的缓存
内容恢复缓存一致性。dm-era 目标主要与 dm-cache 目标配对。
虚拟化
基于内核的虚拟化
使用 virtio-blk-data-plane 提高快 I/O性能
在 Red Hat Enterprise Linux 7.0 中,virtio-blk-data-plane I/O 虚
拟化功能是作为技术预览使用。这个功能将 QEMU 扩展至在为 I/O 性能优化的
专用线程中执行磁盘 I/O。
PCI 桥接
之前 QEMU 最多可支持 32 个 PCI 插槽。Red Hat Enterprise Linux 7.0
采用 PCI 桥接技术,可让用户配置 32 个以上的 PCI 设备。注:不支持桥接
后的设备热插拔。
QEMU 沙箱
Red Hat Enterprise Linux 7.0 使用内核系统调用过滤加强 KVM 虚拟化安
全性,这提高了主机系统与虚拟机之间的独立性。
支持 QEMU 虚拟 CPU 热添加
Red Hat Enterprise Linux 7.0 中的 QEMU 提供虚拟 CPU(vCPU)热添加
支持。可在运行的虚拟机中添加虚拟 CPU(vCPUS)以满足与负载关联的负载要
求或者保持服务等级协议(SLA)。注:只在使用 pc-i440fx-rhel7.0.0 机
器类型的虚拟机中支持 vCPU 热插拔,这是 Red Hat Enterprise Linux
7.0 中的默认机器类型。
多队列 NIC
多队列 virtio_net 提供更好的可延伸性。每个虚拟 CPU 都有独立的传输或者
接收队列以及可在不影响其他虚拟 CPU 的情况下使用的独立中断。
多队列 virtio_scsi
多队列 virtio_net 提供更好的可延伸性。每个虚拟 CPU 都有独立的队列以及
可在不影响其他虚拟 CPU 的情况下使用的独立中断。
实时迁移的页面 Delta 压缩
已通过压缩虚拟机内存页并减小传输的迁移数据大小提高 KVM 实时迁移功能。
这个功能可让迁移至集合更迅速。
KVM 中的 HyperV 启示
已使用多个微软 Hyper-V 功能更新了 KVM,例如:支持内存管理单元(MMU)
和虚拟中断控制程序。微软在虚拟机和主机之间提供半虚拟 API,通过在主机
中使用这个功能的一部分,并根据微软的说明对其进行控制,微软 Windows 虚
拟机就可以提高其性能。
高带宽 I/O的 EOI 加速
Red Hat Enterprise Linux 7.0 在高级可编程中断控制程序(APIC)中使
用 Intel 和 AMD 的改进加速中断结束(EOI)处理。对于老的芯片组来说,
Red Hat Enterprise Linux 7.0 为 EOI 加速提供了半虚拟化选项。
KVM 虚拟机的 USB 3.0 支持
Red Hat Enterprise Linux 7.0 通过添加 USB 3.0 主机适配器(xHCI)模
拟作为技术预览提供改进的 USB 支持。
Windows 8 和 Windows Server 2012 虚拟机支持
Red Hat Enterprise Linux 7.0 支持在 KVM 虚拟机中运行的微软 Windows
8 和 Windows Server 2012 虚拟机。
QEMU 虚拟机的 I/O 节流
这个功能为 QEMU 虚拟机块设备提供 I/O节流。I/O 节流会延缓 I/O 内存请
求的处理。这样会延迟系统但可防止其死机。注:不能节流数据层。
整合膨胀和透明大页面
Red Hat Enterprise Linux 7.0 更好地整合了膨胀和透明大页面。可移除
并压缩膨胀页面使其成为大页面。
从主机中提取系统熵
可为虚拟机配置一个新设备 virtio-rng,它可让虚拟机使用主机的熵。默认
情况下,这个信息来自主机的 /dev/random 文件,但主机中可用的硬件随机
号码生成程序(RNG)也可作为来源使用。
桥接零复制传输(Bridge Zero Copy Transmit)
桥接零复制传输是提高 CPU 处理大量信息的性能特点。这个桥接零复制传输功
能提高了虚拟机在使用桥接时的外出流量性能。
实时迁移支持
支持从 Red Hat Enterprise Linux 6.5 主机到
Red Hat Enterprise Linux 7.0 主机的实时迁移。
qemu-kvm 中的丢弃支持
在域的 XML 定义的
在虚拟机中使用 fstrim 或者 mount -o discard 命令的丢弃支持。例
如:
1.
2.
3.
4. ...
5.
NVIDIA GPU 设备分配
Red Hat Enterprise Linux 7.0 支持 NVIDA 专业系列显示设备(GRID 和
Quadro)的设备分配作为模拟 VGA 的第二图形设备。
半虚拟 Ticketlock
Red Hat Enterprise Linux 7.0 支持半虚拟 ticketlocks
(pvticketlocks)以提高在过度使用 CPU 的 Red Hat Enterprise Linux
7.0 主机中运行的 Red Hat Enterprise Linux 7.0 虚拟机性能。
处理分配的 PCIe 设备出错
如果在将使用高级出错报告(Advanced Error Reporting,AER)的 PCIe 分配
给虚拟机时出错,则受到影响的虚拟机会关机,但不影响其他正在运行的虚拟
机或者主机。该设备的主机驱动程序从错误中恢复后就可以让该虚拟机重新运
行。
Q35 芯片组,PCI 快速总线以及 AHCI 总线模拟
Q35 机型需要 KVM 虚拟机中的 PCI 快速总线支持,它是作为技术预览在
Red Hat Enterprise Linux 7.0 中提供。包含 AHCI 总线也只能在 Q35 机
型中使用,同样也是技术预览。
基于 VFIO 的 PCI 设备分配
虚拟功能 I/O(VFIO)用户空间驱动程序界面为 KVM 虚拟机提供改进的 PCI
设备分配解决方案。VFIO 提供内核级设备分离强化,提高设备访问的安全性,
并与安全引导等功能兼容。VFIO 替换了 Red Hat Enterprise Linux 6 中
使用的 KVM 设备分配机制。
Intel VT-d 大页面
在 Red Hat Enterprise Linux 7.0 的 KVM 虚拟机中使用虚拟功能 I/O
(VFIO)设备分配时,使用 2MB 页面作为输入/输出内存管理单位(IOMMU),
因此可减少 I/O 操作的转译后备缓存(translation lookaside buffer ,
TLB)的消耗。计划在 Red Hat Enterprise Linux 7.0 中提供 1GB 页面支
持。VT-d 大页面功能支持目前仅限于 Intel 的平台。
KVM 时钟获取时间性能
在 Red Hat Enterprise Linux 7.0 中加强了 vsyscall 机制以支持 KVM
虚拟机更迅速地从用户控件读取时钟。Red Hat Enterprise Linux 7.0 主
机中运行的 Red Hat Enterprise Linux 7.0 虚拟机可体验到经常读取时间
的应用程序的性能提高。
图像格式的 QCOW2 版本 3
Red Hat Enterprise Linux 7.0 添加对图像格式的 QCOW2 版本 3 的支持
改进的实时迁移统计
现在可使用实时迁移的有关信息分析和调试性能。改进的统计包括预期关机、
关机或者脏页面比例。
实时迁移线程
已将 KVM 实时迁移功能改进为支持线程处理。
字符设备和串行端口的热插拔
目前 Red Hat Enterprise Linux 7.0 支持为新字符设备热插拔新串行端
口。
模拟 AMD Opteron G5
KVM 现在可以模拟 AMD Opteron G5 处理器。
在 KVM 虚拟机中支持新的 Intel 指令
KVM 虚拟机可以使用 Intel 22nm 处理器支持的新指令。这些包括:
•
•
•
•
浮点乘加器,
256 位整数向量,
大端移动指令(MOVBE)支持,
或者 HLE/HLE+。
VPC 和 VHDX 文件格式
Red Hat Enterprise Linux 7.0 中的 KVM 包括对微软虚拟 PC(VPC)和微
软 Hyper-V 虚拟硬盘(VHDX)文件格式的支持。
libguestfs 新功能
libguestfs 是一组访问和修改虚拟机磁盘映像的工具。
Red Hat Enterprise Linux 7.0 中的libguestfs 包括大量改进,最主要
的包括:
•
使用 SELinux 或者 sVirt 包含的安全虚拟化,保证加强针对恶意和畸形磁盘
映像的安全性。
•
•
可检查和修改远程磁盘,最开始是使用网络块设备(NBD)。
在某些程序中可进行磁盘热插拔以便获得更好的性能。
WHQL 认证的 virtio-win 驱动程序
Red Hat Enterprise Linux 7.0 包括用于最新微软 Windows 虚拟机,即
Microsoft Window 8, 8.1, 2012 和 2012 R2 的 Windows 硬件质量实验室
(WHQL)认证的 virtio-win 驱动程序。
Xen
Red Hat Enterprise Linux 7.0 Xen HVM 虚拟
机
用户现在可以在广受欢迎的 Xen 环境中使用 Red Hat Enterprise Linux
7.0 作为虚拟机。
Hyper-V
Red Hat Enterprise Linux 7.0 托管的第二代
虚拟机
Red Hat Enterprise Linux 7.0 可作为 Microsoft Hyper-V Server 2012
R2 主机中的第二代虚拟机。除上一代虚拟机支持的功能外,第二代提供了虚拟
机中的新功能,例如:安全引导,使用 SCSI 虚拟硬盘引导或者 UEFI 固件支
持。
集群
Pacemaker 集群管理器
Red Hat Enterprise Linux 7.0 使用 Pacemaker 替换 rgmanager 进
行集群资源管理以及从节点失败中恢复。Pacemaker 的优点包括:
•
•
•
•
资源配置的自动同步和版本管理。
灵活的资源和 fencing 模式可与用户环境更紧密地对应。
可使用 fencing 恢复资源层失败。
基于时间的配置选项。
•
在多节点中运行同一资源的能力。例如:网页服务器或者集群文件系统。
•
在两个不同模式之一的多个节点中运行同一资源的能力。例如:同步资源和目
标。
•
•
Pacemaker 不需要分布式锁管理程序。
仲裁丢失或者形成多个分区时的可配置行为。
使用 keepalived 和 HAProxy 替换
Piranha
Red Hat Enterprise Linux 7.0 使用 keepalived 和 HAProxy 替换了
负载平衡程序 Piranha。keepalived 软件包提供简单且强大的负载平衡和高
可用功能。负载平衡框架依赖大家熟知且广泛使用的 Linux 虚拟服务器内核模
块,提供四级网络负载平衡。keepalived 守护进程在负载平衡的服务器池中
根据其状态采用一组状态检查程序。keepalived 守护进程还采用虚拟路由器
冗余协议(VRRP),允许路由器或者管理器故障切换以便提供高可用性。
HAProxy 为 TCP 和 HTTP 应用程序提供一个可靠的高性能网络负载平衡程
序。它特别适用于在需要持久性或者 Layer7 处理时有非常高负载的网页。
高度可用性管理
Pacemaker 配置系统,也称 pcs,替换了 ccs、ricci 和 luci 作为统一
的集群配置和管理工具。pcs 的优点包括:
•
•
•
•
命令行工具。
可轻松自我启动集群,即初始化集群并使其开始运行。
可配置集群选项。
可添加、删除或者修改资源及其之间的关系。
新的资源代理
Red Hat Enterprise Linux 7.0 提供大量资源代理。资源代理时集群资源
的标准化接口。资源代理可将一组标准操作转换为具体资源或者应用程序的步
骤,并将其结果解读为成功或者失败。
编译程序及工具
GCC 工具链
在 Red Hat Enterprise Linux 7.0 中,gcc 工具链是根据 gcc-
4.8.x 发行系列开发,并包含大量针对 Red Hat Enterprise Linux 6 的改进
和 bug 修复。同样,Red Hat Enterprise Linux 7 也包含binutils-
2.23.52.x。这些版本与 Red Hat Developer Toolset 2.0 中的等效工具对
应。Red Hat Enterprise Linux 6 和 Red Hat Enterprise Linux
7 gcc 的 binutils 版本对比请查看:
/site/documentation/en-
US/Red_Hat_Developer_Toolset/2/html/User_Guide/#sect-
Changes_in_Version_2.0-GCC
/site/documentation/en-
US/Red_Hat_Developer_Toolset/2/html/User_Guide/#sect-
Changes_in_Version_2.0-binutils
Red Hat Enterprise Linux 7.0 工具链的主要特点如下:
•
构建符合 C++11 的应用程序的实验性支持(其中包括所有 C++11 语言支持)
和一些 C11 功能的实验性支持。
•
改进的并行应用程序编程支持,其中包括 OpenMP v3.1, C++11 类型和自动内
存访问的 GCC 内嵌,以及事务内存的实验性支持(其中包括 Intel RTM/HLE
内联函数、内嵌以及代码生成)。
•
•
•
•
•
•
•
新的本地注册分配程序(LRA),提高代码性能。
DWARF4 现在作为默认 debug 格式使用。
各种新的具体架构选项。
支持 AMD 产品线 15h 和 16h 处理器。
接期(Link-time)优化支持。
改进的警告和诊断。
各种新的 Fortran 功能。
GLIBC
在 Red Hat Enterprise Linux 7.0 中,glibc 库
(libc, libm, libpthread, NSS 插件及其他)是根据 glibc 2.17 发行
本开发的,其中包含大量针对 Red Hat Enterprise Linux 6 对等产品的改进
和 bug 修复。
Red Hat Enterprise Linux 7.0 glibc 库主要特点如下:
•
•
实验性 ISO C11 支持。
新的 Linux 接口:
prlimit, prlimit64, fanotify_init, fanotify_mark, clock_adjtime,
name_to_handle_at, open_by_handle_at, syncfs, setns, sendmmsg,
process_vm_readv, process_vm_writev。
•
使用流 SIMD 扩展(SSE)、补充流 SIMD 扩展 3(SSSE3)、流 SIMD 扩展 4.2
(SSE4.2)以及高级矢量扩展(AVX)为 AMD64 和 Intel 64 架构新优化的字符
串功能。
•
•
为 IBM PowerPC 和 IBM POWER7 新优化的字符串功能。
使用为 IBM System z10 和 IBM zEnterprise 196 特别优化的程序为 IBM
S/390 和 IBM System z 新优化的字符串功能。
•
新区域:os_RU, bem_ZA, en_ZA, ff_SN, sw_KE, sw_TZ, lb_LU, wae_CH,
yue_HK, lij_IT, mhr_RU, bho_IN, unm_US, es_CU, ta_LK, ayc_PE, doi_IN,
ia_FR, mni_IN, nhn_MX, niu_NU, niu_NZ, sat_IN, szl_PL, mag_IN。
•
•
•
新编码:CP770, CP771, CP772, CP773, CP774。
新接口:scandirat, scandirat64。
已添加检查 FD_SET, FD_CLR, FD_ISSET, poll 和 ppoll 文件描述符版本的功
能。
•
•
nscd 守护进程现在支持 netgroup 数据库缓存。
新功能 secure_getenv() 可让您安全访问该环境,如果在 SUID 或者 SGID
进程中运行会返回 NULL。这个功能替换了内部功能 __secure_getenv()。
•
现在如果传递违反那些值规范的盐字节(salt bytes),crypt() 功能会失
效。在 Linux 中,crypt() 功能将查
看 /proc/sys/crypto/fips_enabled 文件决定是否启用了 FIPS。如果启用
了该模式,则无法在使用摘要算法 5(MD5)或者数据加密标准(DES)算法的
加密字符串中使用。
•
现在 clock_* 功能套件(在
之前必须将其与-lrt 链接方可使用这些功能。这一变化的效果是使用此功能
的单线程程序,比如 clock_gettime()(它未与 -lrt 链接)将不再会在运
行时暗自载入 pthreads 库,同时也不会再受到其他代码(比如 C++ 运行时
库)所支持的与多线程关联的消耗的困扰。
•
新的标头
轻松访问 AT_* key-value 对。该标头还定义与 AT_HWCAP 密钥关联的
HWCAP_* 二进制数。
•
已为低层具体平台功能记录了已安装标头的新等级。PowerPC 添加第一个附带
功能的事务以便提供基于时间的注册访问。
GDB
在 Red Hat Enterprise Linux 7.0 中,GDB 调试程序来自 gdb-
7.6.1 发行本,并包含大量针对 Red Hat Enterprise Linux 6 操作系统对等
产品的改进和 bug 修复。
这个版本与 Red Hat Developer Toolset v2.0 中的 GDB 版本对应,以下列出
了 Red Hat Enterprise Linux 6 和 Red Hat Enterprise Linux 7.0 GDB
版本之间的不同:
/site/documentation/en-
US/Red_Hat_Developer_Toolset/2/html/User_Guide/#sect-
Changes_in_Version_2.0-GDB-Red_Hat_Developer_Toolset_1
/site/documentation/en-
US/Red_Hat_Developer_Toolset/2/html/User_Guide/#sect-
Changes_in_Version_2.0-GDB-Red_Hat_Enterprise_Linux_6
Red Hat Enterprise Linux 7.0 中包含的 GDB 主要新功能有:
•
使用新的 .gdb_index 部分和新的 gdb-add-index shell 命令更迅速地载
入符号。注:在 Red Hat Enterprise Linux 6.1 及之后的版本中就有这个功
能。
•
gdbserver 现在支持标准输入/输出(STDIO)连接,例如:(gdb) target
remote | ssh myhost gdbserver - hello
•
•
•
使用 -location 参数的 watch 命令有更多行为。
可使用一个新命令 info vtbl 显示虚拟方法表。
使用新命令 info auto-load, set auto-load 和 show auto-load 控制
文件的自动载入。
•
•
使用 set filename-display absolute 命令显示源文件名的绝对路径。
使用新命令 record btrace 控制有硬件支持的流量记录。
Red Hat Enterprise Linux 7.0 所提供 GDB 的主要 bug 修复如下:
•
•
已将 info proc 命令更新为可用于 core 文件。
在下级的所有匹配的位置中设置断点。
•
断点位置的文件名部分现在与源文件名称结尾部分匹配。
•
•
现在可在内联函数中使用断点。
现在可将模板实例化时将模板参数列入范围。
另外,Red Hat Enterprise Linux 7.0 提供一个新软件包 gdb-doc,该软
件包包含 PDF、HTML以及信息格式的 GDB 手册。该 GDB 手册在之前的
Red Hat Enterprise Linux 版本中由主 RPM 软件包提供。
性能工具
Red Hat Enterprise Linux 7.0 中包含对一些性能功能的最新更新版本,
比如 oprofile, papi 和elfutils,提供性能、可移植性及功能性改进。
此外还有 Red Hat Enterprise Linux 7.0 首先采用的功能:
•
•
支持 Performance Co-Pilot
SystemTap 支持在整个非特权用户空间运行的基于 DynInst 检测,同时也支持
基于 Byteman 的Java 应用程序精确探测。
•
硬件事务内存的 Valgirnd 支持以及矢量化建模指令的改进。
12.4.1. Performance Co-Pilot
Red Hat Enterprise Linux 7.0 引进 Performance Co-Pilot(PCP)支
持,这是一个用来对系统级性能测定进行采集、归档和分析的工具、服务及库
套件。其轻加权、分布式架构的特点使其特别适合复杂系统的集中分析。
可使用 Python、Perl、C++ 界面添加性能指标。分析工具可直接使用这些客户
端 API(Python、C++ 和 C),且大量网页程序可使用 JSON 界面查看所有可
用性能数据。
有关详情请参考 pcp 和 pcp-libs-devel 软件包 man page 中的具体论
述。pcp-doc 软件包包括两本来自 upstream 项目的免费公开图书:
/projects/pcp/doc/pcp-users-and-administrators-
p:///projects/pcp/doc/pcp-programmers-
12.4.2. SystemTap
Red Hat Enterprise Linux 7.0 包含 systemtap 版本 2.4,它可提供一
些新功能。这些包括可选的纯用户空间脚本执行、更丰富且有效的 Java 探
测、虚拟机探测、改进的报错信息以及大量 bug 修复和新功能。特别是:
•
使用 dyninst 二进制编辑库,SystemTap 现在可以执行一些纯用于用户空
间层的脚本;无需提供内核或者 root 特权。这个模式可使用 stap --
dyninst 选择,只启用那些对用户自己的进程产生影响的探测或者操作类型。
注:这个模式与引发 C++ 异常的程序不兼容。
•
与 byteman 工具联合支持向 Java 应用程序中注入探测的新方法。新的
SystemTap 探测类
型 java("").class("class_name").method("name(signature)").*,
该探测类型启用了对进入退出某个应用程序的独立方法的探测,无需进行系统
范围内的追踪。
•
在 SystemTap 驱动程序中添加了新的程序,该程序可以启用在服务器中运行的
由 libvirt 管理的 KVM 事务中执行远程任务。它可将编译的 SystemTap 脚本
通过专门的安全 virtio-serial 链接自动且安全地传送到虚拟机中。新的虚
拟机端守护进程将载入该脚本并将其输出结果传送回主机。这个方法比 SSH 更
快速、有效,且不需要在主机和虚拟机之间建立 IP 级网络连接。要测试此功
能,请运行以下命令:
1. stap --remote=libvirt:
//MyVirtualMachine
另外,对 SystemTap 诊断信息有了大量改进:
•
•
现在很多信息给出相关手册页供参考。这些页面给出对出错信息的解
释及建议修正。
•
如果怀疑脚本输入包含排版错误,则会以分类列表方式向用户提供建
议。当用户指定名称与可接受名称不匹配时会在很多上下文中使用这
个建议功能,比如探测功能名称、标记符、变量、文件、别名等等。
•
•
已改进诊断重复信息删除。
在信息中添加 ANSI 颜色使其更容易理解。
12.4.3. Valgrind
Red Hat Enterprise Linux 7.0 包含一个检测框架 Valgrind,该框架附
带大量工具用于配置应用程序。这个版本是基于 Valgrind 3.9.0 发行本,
且包含针对 Red Hat Enterprise Linux 6 和 Red Hat Developer Toolset
2.0 副本的大量改进,后者是在 Valgrind 3.8.1 的基础上开发的。
Red Hat Enterprise Linux 7.0 中包含的 Valgrind 的主要新功能如
下:
•
•
•
•
在安装了 DFP 程序的主机中支持 IBM System z 十进制浮点指令。
支持 IBM POWER8 (Power ISA 2.07) 指令。
支持 Intel AVX2 指令。注:只适用于 64 位架构。
Intel 事务同步扩展初期支持,包括受限制事务内存(RTM)以及硬件锁定省略
(HIE)。
•
•
在 IBM PowerPC 中对硬件事务内存的初期支持。
已将转移缓存默认大小增加到 16 个扇区,表现为大程序需要插入并存储大量
代码。同样,可追踪的与内存映射的片段数已增加了 6 倍。转移缓存中的最大
扇区数可由新标签 --num-transtab-sectors 控制。
•
Valgrind 不再临时生成整个对象的映射以便从中读取数据,而是通过一个小
的固定缓存读取。这样可在 Valgrind 从大的共享对象中读取 debug 信息时
避免虚拟内存尖波。
•
使用的禁止显示列表(如果指定 -v 选项就会显示)现在为每个使用的禁止
显示提示文件名以及定义禁止显示的行号。
•
现在可以使用新标签 --sigill-diagnostics 控制在即时(just-in-time,
JIT)编译程序遇到它无法转译的指令时是否给出诊断信息。实际行为 — 向应
用程序发出 SIGILL 信号 — 保持不变。
•
已改进 Memcheck 工具,增加了下述功能:
•
处理向量化代码能力的提升,大量减少错报。使用 --partial-
loads-ok=yes 标签可从中获益。
•
更好地控制泄露检查。现在可以指定应显示的泄露类型
(definite/indirect/possible/reachable),哪些应被视为错误,
以及哪些应通过给出泄露抑制而禁止显示。这可通过在 suppression
条目中分别使用选项 --show-leak-kinds=kind1,kind2,..、--
errors-for-leak-kinds=kind1,kind2,.. 和自选 match-leak-
kinds: 行完成。注:生成的泄露抑制包含这个新行,这比之前的发
行本要更具体。要获取与之前发行本相同的行为,请在使用它们前从
生成的抑制中删除 match-leak-kinds: 行。
•
使用更好的试探法减少泄露检查程序中的 possible leak 报告。
可用的试探法为std::stdstring、带有析构函数元素的新[ ]分配的
阵列以及指向使用多个继承的 C++ 项目内置部分提供有效内部指针
探测。可使用 --leak-check-heuristics=heur1,heur2,... 选项
进行选择。
•
对于堆上分配块更好的 stacktrace 捕获控制。使用 --keep-
stacktraces 选项有可能独立控制是否为每个分配和取消分配进行
栈跟踪。可使用这个选项生成更好的 “use after free”出错信
息,或者通过记录更少的信息减少 Valgrind 的资源消耗。
•
更好地报告泄漏禁止显示使用。已使用禁止显示列表(指定 -v 选
项时会显示)现在为每个泄漏禁止显示在上次泄漏搜索中禁止显示的
块和字节数。
•
使用以下监控命令改进了 Valgrind GDB 服务器整合:
•
新的监视器命令 open_fds 给出打开的文件描述符及附加
信息列表。
•
新的监视器命令 execontext 可显示 Valgrind 记录的栈
追踪信息。
•
新的监视器命令 expensive_sanity_check_general 运行某
些内部一致性检查。
编程语言
Ruby 2.0.0
Red Hat Enterprise Linux 7.0 提供最新的 Ruby 2.0.0。版本 2.0.0 与
Red Hat Enterprise Linux 6 中所包含版本 1.8.7 的主要不同点在于:
•
新的解释程序 YARV(另一个 Ruby VM),该程序可限制降低载入时间,特别是
那些有大树结构或者文件的应用程序。
•
•
•
新且迅速的 "Lazy Sweep" 垃圾收集程序。
Ruby 限制支持字符串编码。
Ruby 限制支持内部线程而不是绿色线程。
有关 Ruby 2.0.0 的详情请参考该项目的 upstream 页:-
/en/
Python 2.7.5
Red Hat Enterprise Linux 7.0 包含 Python 2.7.5,它是 Python 2.7 系
列发行本的最新版本。这个版本包含很多性能改进,并向前兼容 Python 3。
Python 2.7.5 中的主要变化如下:
•
•
排序的字典类型
快速的 I/O 模块
•
•
集合及代码词典解读
sysconfig 模块
有关这些变化的完整列表请参
考 /dev/whatsnew/。
Java 7 及多个 JDK
Red Hat Enterprise Linux 提供 OpenJDK7 作为默认 Java 开发套件
(JDK),Java 7 作为默认 Java 版本。所有 Java 7 个软件包(java-1.7.0-
openjdk, java-1.7.0-oracle, java-1.7.0-ibm)允许平行安装多个版本,
类似于内核。平行安装的功能可让用户同时尝试多个 JDK 版本,以便在需要时
调节性能并解决问题。准确的 JDK 与原来一样通过备选方法进行选择。
联网与认证
联网
网络分组
已引进网络分组技术作为链路聚集的捆绑备用方法。该技术旨在轻松管理、
debug 和扩展。它可为用户提供性能和灵活性提高,且应为新安装进行评估。
NetworkManager
已对 NetworkManager 进行了大量改进使其更适合在服务器应用程序中使
用。特别是NetworkManager 不再默认查看配置文件更改,比如那些由编辑器
或者开发工具更改的配置文件。管理员可使其意识到使用 nmcli connection
reload 命令进行的外部修改。使用NetworkManager 的 D-Bus API 或者
NetworkManager 命令行工具 nmcli 进行的修改仍可立即生效。
引进 nmcli 工具是要让用户和脚本可以与 NetworkManager 互动。
chrony 套件
可使用程序套件 chrony 更新系统中不适合传统持久联网系统时钟,那些时
钟总是在专门服务器分类中。应在所有经常挂起的系统中,或者间歇性断开并
重新连接到网络的系统中关注 chrony 套件。例如:移动系统和虚拟系统。
动态防火墙守护进程 firewalld 套件
Red Hat Enterprise Linux 7.0 提供动态防火墙守护进程 firewalld,它
可提供一个动态管理的防火墙,并支持网络“区域”以便为网络及其相关链接
和接口分配可信度。它还支持 IPv4 和 IPv6 防火墙设置。它支持以太网桥接
并有独立的运行时和持久配置选项。它还有一个可直接添加防火墙规则的服务
或者应用程序接口。
DNSSEC
DNSSEC 是一组域名系统安全扩展(DNSSEC),允许 DNS 客户端认证和检查来
自 DNS 名称服务器响应的完整性以便确认其起始点,并确定在中转过程中是否
受到影响。
OpenLMI
Red Hat Enterprise Linux 7.0 中附带 OpenLMI 项目,它为管理 Linux
系统提供常用的基础设施。它还可让用户配置、管理并监控硬件、操作系统及
系统服务。OpenLMI 旨在简化任务配置及产品服务器管理。OpenLMI 旨在为
Red Hat Enterprise Linux 的多个版本提供常用管理接口。它是构建在现有工
具的顶层,提供一个提取层,为系统管理员过滤了很多底层系统的复杂性。
OpenLMI 由安装在要管理的系统中的一组系统管理代理、可管理这些代理并为
其提供界面 OpenLMI 控制程序以及使用 OpenLMI 控制程序调用系统管理代理
的客户端应用程序或者脚本。OpenLMI 可让用户执行以下操作:
•
•
•
•
配置、管理和监控裸机产品服务器及虚拟机;
配置、管理和监控本地或者远程系统;
配置、管理及监控存储和网络;
使用 C/C++、Python、Java 或者命令行界面调用系统管理功能
请注意,OenLMI 软件提供程序是作为技术预览支持。该软件功能完善,但某些
操作可能会消耗大量资源。有关 OpenLMI 的详情请参
考 。
qlcnic 驱动程序中的 SR-IOV 功能
已在 qlcnic 中添加单一 Root I/O 虚拟化(SR-IOV)支持作为技术预览。
对这个功能的支持直接由 QLogic 提供,同时鼓励用户为 Red Hat 提供反馈意
见。仍全面支持 qlcnic 驱动程序中的其他功能。
FreeRADIUS 3.0.1
Red Hat Enterprise Linux 7.0 包含 FreeRADIUS 版本 3.0.1,它可提供
大量新功能,其中主要有:
•
•
•
RadSec,用于使用 TCP 和 TLS 传输 RADIUS 数据包的协议。
Yubikey 支持。
连接池。radiusd 服务器为各种后端(SQL、LDAP 及其他)维护连接。连接池
可在较低资源需求的情况下提供较大的吞吐量。
•
•
已扩展服务器配置编程语言 unlang 语法。
提高了对 site-specific 和 vendor-specific 属性的支持。
•
•
•
•
提高了 debug 功能,在详细输出结果中突出显示问题所在。
生成 SNMP 陷阱。
改进的 WIMAX 支持。
EAP-PWD 支持。
可信的网络连接
Red Hat Enterprise Linux 7.0 引进了可信网络连接功能作为技术预览。
可信网络连接可用于现有网络访问控制(NAC)解决方案,比如 TLS、802.1x
或者 IPSec 整合端点态势评估,即收集端点系统信息(比如操作系统配置设
置,安装的软件包及其他,总称为完整性测量)。在允许该端点访问该网络前
使用可信网络连接根据网络访问策略确认这些测量。
认证和互操作性
新的信任实施
目前在 Red Hat Enterprise Linux 5.9 客户端以及之后的
Red Hat Enterprise Linux 6.3 客户端中支持使用在 Active Directory
中定义的用户 ID 或者组 ID,而不是由用户安全标识符生成的用户 ID 或者组
ID。如果在 Active Directory 中定义了 POSIX 属性,这个信任实施就很有
用。
已更新 slapi-nis 插件
Red Hat Enterprise Linux 7.0 拥有更新后的目录服务器插件 slapi-
nis,该插件允许 Active Directory 用户在原有客户端中进行认证。注:这个
功能时技术预览。
IPA 的备份和恢复机制
IPA 组件的备份和恢复机制在 Red Hat Enterprise Linux 7.0 中是作为技
术预览提供。
Samba 4.1.0
Red Hat Enterprise Linux 7.0 中包括升级到最新 upstream 版本
的 samba 软件包,该软件包引进了一些 bug 修复和改进,最主要的是支持
服务器和客户端工具中的 SMB3 协议。
另外,SMB3 传输可启用对支持 SMB3 的 Windows 服务器以及 Samba 服务器的
加密传输连接。同时,Samba 4.1.0 添加了对服务器端复制操作的支持。采用
支持服务器端复制操作的客户端,比如最新的 Windows 发行本应体验到明显的
文件复制操作性能提高。
警告
更新后的 samba 软件包删除了一些已弃用的配置选项。最主要的是服务器角
色 security = share 和 security = server。另外,已完全删除网页配置
工具 SWAT。有关详情请参考 Samba 4.0 和 4.1 发行注记:
/samba/history/
/samba/history/
注:更新了一些 tdb 文件。就是说您启动 smbd 的新版本后就会升级所
有 tdb 文件。您无法降级到原来的 Samba 版本,除非您备份那些 tdb 文
件。
有关这些变化的详情请参考上述 Samba 4.0 和 4.1 发行注记。
AD 和 LDAP sudo 提供程序的用法
AD 提供程序是一个用来连接 Active Directory 服务器的后端程序。在
Red Hat Enterprise Linux 7.0 中,支持将 AD sudo 提供程序与 LDAP 提
供持续一同使用是最为一项技术预览提供的。要启用 AD sudo 提供程序,请在
文件的 domain 部分添加 sudo_provider=ad 设置。
Web服务器和相关服务
Apache HTTP 服务器 2.4
Red Hat Enterprise Linux 7.0 中包含的 Apache HTTP 服务器版本 2.4
(httpd)包含下列新功能:
•
•
•
“事件”处理模块的加强版,提高了异步请求进程和性能;
mod_proxy 模块中固有的 FastCGI 支持;
使用 Lua 语言支持内嵌的脚本。
有关 httpd 2.4 中的功能和变化请参考
/docs/2.4/new_features_2_。
包含配置文件的指南请查看
/docs/2.4/。
MariaDB 5.5
Red Hat Enterprise Linux 7.0 中 MySQL 的默认实施是 MariaDB。
MariaDB 是由社区人员开发的 MySQL 数据库项目,并提供 MySQL 的替代品。
MariaDB 保留了与 MySQL 的 API 和 ABI 兼容性,并添加了一些新功能。例
如:未阻断的客户端 API 库,有加强性能的 Aria 和 XtraDB 存储引擎,更优
的服务器状态变量或者改进的复制功能。
有关 MariaDB 的详情请参考 /kb/en/what-is-mariadb-
55/。
PostgreSQL 9.2
PostgreSQL 是一个高级对象关系数据库管理系统(DBMS)。postgresql 软件
包包括 PostgreSQL 服务器软件包及访问 PostgreSQL DBMS 服务器所需客户端
程序和库。Red Hat Enterprise Linux 7.0 提供 PostgreSQL 版本 9.2.有
关新功能、bug 修复以及与 Red Hat Enterprise Linux 6 提供的版本 8.4 之
间可能的不兼容性列表,请参考 upstream 发行注记:
•
•
•
/docs/9.2/static/
/docs/9.2/static/
/docs/9.2/static/
或者 PostgreSQL wiki 网页:
•
•
•
/wiki/What's_new_in_PostgreSQL_9.0
/wiki/What's_new_in_PostgreSQL_9.1
/wiki/What's_new_in_PostgreSQL_9.2
RHEL 7值得注意的5个新特性
1. Docker
RHEL 7中最大的新特性就是紧密集成了广受欢迎的应用程序虚拟化技术
Docker。随着Docker 1.0发布,把它集成到RHEL 7里正是恰逢其时。
用Docker包装的应用程序可以独立于操作系统,所以它们可以在操作系统之间
移植并且正常运行。RHEL 7打算尽可能高效地使用Docker,以防止应用程序竞
争资源或者为使用哪种运行时环境而困惑。
从RHEL的Docker路线图上的长期计划表来看,这可能会超越操作系统本身,
发展成一系列的Docker容器,它可以支持用最小的开销部署一个系统。这个被
称为"Atomic项目"的计划还处于早期阶段,红帽公司准备首先将它部署在他的
Fedora Linux发行版,仅仅当做对前沿技术的测试。
2. Systemd
引入systemd进程管理器可能引起系统管理员和Linux专家之间激烈的争论。
systemd就被开发用于替代自专用Unix出现以来就在使用的init系统,它使
得启动过程中装载服务更加高效。
因为systemd可能会带来一些不适,红帽公司没有马上在RHEL上使用
systemd。早在2010发布的Fedora版本15就已经包含了systemd作为默认项
目,这给了红帽公司一次很好的了解systemd在真实世界的运行的经验。同
样,systemd也没有孤立地加入RHEL 7,而是作为这个OS大计划的一部分。例
如,红帽公司希望通过使用systemd加强对RHEL 7中Docker容器的支持。
3. 默认使用 XFS
第3个主要的改变是使XFS成为RHEL默认的文件系统,尽管这可能不那么引人
瞩目。
最初由Silicon Graphics International(硅谷图形公司)创建的XFS在
Linux系统上用做生产环境已经很长时间了。在RHEL 7上它将支持高达500TB
的文件系统。RHEL 6默认使用ext4,尽管它有XFS选项。红帽子的竞争对手
Suse Linux 也支持XFS,尽管它安装时默认使用ext3。
非常不幸的是,没有真正的方法可以将RHEL目前使用的其他文件系统,比如
ext4或者btrfs移植到XFS。只能备份然后重建(来进行移植)。
4. 兼容微软的身份管理
就算是那些不是微软系统粉丝的管理员也对微软目录服务保持一定的尊重。
RHEL 7添加了两个关键的特性以优化处理微软目录服务(AD)的方式。跨域认
证现在可以在RHEL 7和微软目录服务之间建立,所以目录服务用户可以直接访
问Linux侧的资源,不需要再进行一次登录。RHEL 7另一个目录服务相关的附
加特性,是基于DNS信息自动发现和加入目录服务(或者其他红帽子认证服
务)。
5. 性能监控(PCP:Performance Co-
Pilot)
进行性能调整的时候看不到实时数据就像是开着一辆挡风玻璃被刷上了油漆的
车,所以RHEL 7添加了一个新的性能监控系统PCP(Performance Co-Pilot),
PCP最初由Silicon Graphics International(硅谷图形)创建,但是现在它
是RHEL 7的一部分。除了监控和记录系统状态,PCP还为其他子系统提供获取
数据的API和工具集,比如正如你猜到的,刚刚介绍的systemd。
遵循这个思路,另一个次要的附加特性:新的性能配置文件。RHEL 6已经有符
合特殊应用场景的调整RHEL的配置文件。RHEL 7不仅默认有一个新的性能最
大化的配置文件,而且包含另一个新的平衡性能表现和能源消耗的配置文件。
Centos 7与centos 6的常用差异
启动级别/模式
我们熟悉的CentOS 6中,系统有7个运行级别(0:关机/1:单用户/2:多用户 –
NO NFS/3:多用户/4:保留/5:x11图形界面/6:重启)。而在7中,这7个级别转
化为4个target,分别如下:
•
•
•
•
•
:多人模式,支持图形和命令行两种登录,对应6中的3和5。
: 多人模式,只支持命令行登录,对应6中的3。
: 单人模式,对应于之前的1级别
: 单人模式,不过系统启动后根目录是只读模式,
说明:启用服务就是在当前“runlevel”的配置文件目录
/etc/systemd/system//里,建立
/usr/lib/systemd/system里面对应服务配置文件的软链接;禁用服务就是删除此
软链接
可以使用下面的命令切换到“运行级别3 ”:
systemctl isolate 或systemctl isolate
可以使用下面的命令切换到“运行级别5 ”:
systemctl isolate 或systemctl isolate
IP设定
•
•
•
网卡名称不再是eth0、eth1,而是eno+8位数字。
dhclient先自动获取IP
默认不再支持ifconfig命令,而是使用ip add查看。不过我们可以自行安装net-
tools包(yum install -y net-tools)。
重启网络命令:systemctl restart e
•
主机名设置
hostname #567都是使用该命令查看
hostname #只在当前shell中有效
hostnamectl set-hostname #设置主机名,直接更改配置文件/etc/hostname中
的设置。
hostname status #这个命令不但包括主机名,还有很多其他信息,例如内核、系统版本等
服务相关systemd
在CentOS 6中,我们熟悉的服务相关命令chkconfig、service等不再被提
供,取而代之的是systemd(对应的命令是systemctl),使用概况如下:
systemctl enable e #自启动某服务
systemctl disable e #禁用开机启动
systemctl status e #查看服务状态
systemctl list-units --type=service #查看所有服务
systemctl start e
systemctl stop e
systemctl restart e
systemctl is-enabled httpd #查看httpd服务是否开机启动
而对于启动脚本的存放位置,也不再是/etc/init.d/(这个目录也是存在
的),而是/usr/lib/systemd/system/.
添加开机自启脚本
在centos7中增加脚本有两种常用的方法,以脚本为例:
#!/bin/bash
#description:开机自启脚本
/usr/local/tomcat/bin/ #启动tomcat
方法一
1、赋予脚本可执行权限(/opt/script/是你的脚本路径)
chmod +x /opt/script/
2、打开/etc/rc.d/rc/local文件,在末尾增加如下内容
/opt/script/
3、在centos7中,/etc/rc.d/的权限被降低了,所以需要执行如下
命令赋予其可执行权限
chmod +x /etc/rc.d/
方法二
1、将脚本移动到/etc/rc.d/init.d目录下
mv /opt/script/ /etc/rc.d/init.d
2、增加脚本的可执行权限
chmod +x /etc/rc.d/init.d/
3、添加脚本到开机自动启动项目中
cd /etc/rc.d/init.d
chkconfig --add
chkconfig on
systemd – unit
systemd可以管理所有系统资源,不同的资源称之为一共分成12种
类型,一共分为12种类型,分别为:
•
•
•
•
•
•
•
•
Service Unit: 系统服务
Target Unit: 多个Unit构建的一个组合
Device Unit: 硬件设备
Mount Unit: 文件系统的挂载点
Automount Unit:自动挂载点
Path Unit:文件或路径
Scope Unit:不是由Systemd启动的外部进程
Slice Unit: 进程组
•
•
•
•
Snapshot Unit: systemd快照,可以切回某个快照
Socket Unit: 进程间通信的Socket
SWAP Unit: swap文件
Timer Unit: 定时器
我们在日常运维中经常接触的是前两者。对于Unit,我们需要掌握以下基本命
令。
systemctl list-units #列出正在运行的Unit
systemctl list-units --all #列出所有Unit
systemctl list-units --all --state=inactive #列出所有没有运行的
systemctl list-units --failed #列出所有启动失败的,用上面的--state选项过滤也可,
效果一样的
systemctl list-units --type=service #列出类型为服务的Unit
systemctl is-active e #查看某个服务Unit是否正在运行
systemctl is-failed e #查看某个服务是否加载失败
systemctl is-enabled e #查看某个Unit是否启用
Systemd – Unit – Target
我们之前提到过对应于6中的启动级别的4种target。它就是将多个Units进
行组合。我们甚至可以同时启动多个target。
runlevel #查看最近的运行级别
systemctl list-unit-files --type=target #查看当前系统的所有Target,我们可以看到
里面有几个runlevel0-level6的target.它们是做的软连接。所以init 0-6一样可以切换
systemctl list-dependencies #查看一个target中包含的Unit
systemctl get-default #启动时默认的target
systemctl set-default #设置启动时默认的target, 本质是ln -svf
/lib/systemd/system/ /etc/systemd/system/
systemctl #默认情况下,我们切换target时,前一个target启动的进程
是不会关闭的。
systemctl isolate #而这条命令可以改变这种默认行为,将只属于上一个
target的unit关闭掉。就相当于init 5
注意:systemd不使用/etc/inittab文件。
target和unit的关联
根据我们之前讲述的知识,target是一系列unit的组合,方便了管理。那
么,它们之间的关联有哪些呢?
首先,我们可以通过查看对应的目录(里面大多是软链接)。
这里面是对应target要预先加载的一些unit.
其次,我们之前介绍了如何查看某个target下所有的unit,那么我们怎么知道
某个unit都跟哪些target有关联呢?
cat /usr/lib/systemd/system/e #查看[install]下面的内容
[Install]
WantedBy=
最后,systemd主配置文件是/etc/systemd/。
cat /etc/systemd/
另外,我们需要了解的是/etc/systemd/system/.
ls -l /etc/systemd/system/
lrwxrwxrwx. 1 root root 37 Jan 16 2016 /etc/systemd/system/ ->
/lib/systemd/system/
#systemctl set-default所设置的运行模式
cat /etc/systemd/system/
[Unit]
Description=Multi-User System //描述
Documentation=man:l(7)
Requires= //依赖的target
Conflicts=e //冲突的target
After= e //预先启动的target
AllowIsolate=yes //将之前的systectl isolate指令
##
防火墙firewalld
/documentation/en-
US/Red_Hat_Enterprise_Linux/7/html/Security_Guide/sec-Using_#sec-
Introduction_to_firewalld
CentOS 6中的防火墙程序netfilter也被替换为firewalld。不过,为了保持
先后兼容性,我们仍然可以使用netfilter,方法如下:
systemctl stop firewalld
systemctl disable firewalld
yum installed -y iptables-services
systemctl enable iptables
systemctl start iptables
,CentOS 7中预设了9个zone,默认的zone是public.
•
•
drop – 丢弃:只能发送出去请求,任何接收到的网络数据包都将会被丢弃。
block – 限制:任何接收的网络连接都被拒绝,反馈IPV4的icmp-host-prohibited
信息和IPV6的icmp4-adm-prohibite信息
public – 公共:在公共区域类使用,不能相信网络内的其他计算机,只能接收经过选
取的连接,就是windows防火墙弹出提示的public,比如咖啡馆等地方的网络。
external – 外部:启用了伪装功能的外部网中的路由器服务器。不能信任那只网络的
其他计算机,只能接收经过选择的连接
dmz – 非军事区:用于非军事区的电脑,此区域可以公开访问,可以优先地进入内部
网,仅接收经过选择的连接
work – 工作:用于工作区,基本可以相信网络内的其他电脑。仅接受经过选择的连接
home – 家庭:用于家庭网络,可以基本信任网络内的其他计算机。仅接受经过选择的
连接
internal – 内部:用于内部网络,可以基本信任网络类的其他计算机不会有威胁,仅
接受经过选择的连接
trusted – 信任:可以接受所有的网络连接
•
•
•
•
•
•
•
firewall-cmd --get-zones //获取所有预设的zone
firewall-cmd --get-default-zone //查看系统默认的zone
iptables -nvL //我们可以看到有关于public的链
firewalld zone相关指令
firewall-cmd --get-default-zone
filewall-cmd --set-default-zone=work #设置默认的zone,接口连入NetWorkManager
firewall-cmd --get-zone-of-interface=eno16777736 #查看指定网卡所属的zone
firewall-cmd --zone=public --add-interface=lo #给指定的网卡设置zone
firewall-cmd --zone=dmz --change-interface=lo #针对网卡更改zone
firewall-cmd --zone=dmz --remove-interface=lo #针对网卡删除zone
firewall-cmd --get-active-zones #查看网卡所在的zone
其中,我们是可以做到不同的网卡设定不同的ZONE。默认情况下,我们使用
set-default-zone选项指定zone时,所有的网卡都被设置为指定的zone.
firewalld zone配置文件
ls /etc/firewalld/
ls /etc/firewalld/zones/ #这里面是当前系统默认zone的配置文件
ls /usr/lib/firewalld/zones/ #这里是所有9个预设zone的配置文件
注意:/etc/firewalld/目录下才是当前系统生效的各项配置。而
/usr/lib/firewalld/中是预设的一些配置样例!
firewalld services
ls /usr/lib/firewalld/services/
cat /usr/lib/firewalld/services/ #sshd的配置文件
以上目录中的配置文件都不是在当前系统生效的配置文件,生效的配置文件在
/etc/firewalld/目录中。与CentOS 6中不同,我们很多时候不用去记各项服
务的tcp/udp端口,在7中预设了70+种服务(上面的
/usr/lib/firewalld/services/目录中,最小化安装是载入了50多种)以应对
各种不同的需求。
firewall-cmd --get-services #列出当前预设的所有服务
firewall-cmd --get-services |awk '{print NF}' #列出所有预设的服务配置,统计结果
条数,我这里是54条。
ls /usr/lib/firewalld/services/ |wc -l #根上面效果是一样的
firewall-cmd --list-services #列出当前zone下支持的服务,其实我们查看
/usr/lib/firewalld/zones/中配置是一致的
firewall-cmd --zone=public --list-services #查看某个zone下的services
firewall-cmd --zone=public --add-services=http #为指定zone添加一条服务,并不会
直接保存到配置文件中
firewall-cmd --zone=public --add-services=http --permanent #为public添加服务
http,并保存到其配置文件/etc/firewalld/中
firewall-cmd --zone=public --remove-services=http --permanent #在某个zone上删
除http服务
通过观察zone的配置文件,我们可以发现,它里面是列举了当前zone可以通
过的services。以上的命令其实也就是在修改这些对应的配置文件。
firewalld自定义规则
假设我们SSHD端口由默认的修改成1333啦,那么,基于之前的知识,我们可
以直接去修改服务配置文件。除此之外,我们也可以通过命令尾当前
zone直接添加放行的端口。
firewall-cmd --add-port=13333/tcp --permanent
cat /etc/firewalld/zones/
###
...
#我们会发现系统当前的zone配置文件多了一条配置信息
###
那么,我们可不可以手动去修改上面的配置文件,直接添加一条配置规则了。
答案是肯定的。我们只需要记得修改后重载一次即可。
vim /etc/firewalld/zones/
###
添加自定义规则
##
cp /usr/lib/firewalld/services/ /etc/firewalld/services/ #修改某个预设的
services端口
vim !$
###
改掉默认的端口21
###
vim /etc/firewalld/zones/ #查看一下当前网卡所配置zone时候有开放ssh
service
firewall-cmd --reload #重新加载配置文静,不会中断已连接用户
firewall-cmd --complete-reload #彻底重载
除了增加一个端口,我们还可以添加一个端口范围。以及一些其他操作如下:
firewall-cmd --add-port=2000-4000/tcp #为当前系统zone添加一段端口范围
firewall-cmd --permanent --zone=home --add-port=8080/tcp #为特定的zone增加端口
firewall-cmd --permanent --zone=home --add-forward-
port=port=22:proto=tcp:toaddr=127.0.0.2 #启用端口转发,将到22端口的请求转发到
127.0.0.2
其他差异
(1)桌面系统
[centos6] GNOME 2.x
[centos7] GNOME 3.x(GNOME Shell)
(2)文件系统
[centos6] ext4
[centos7] xfs
(3)内核版本
[centos6] 2.6.x-x
[centos7] 3.10.x-x
(4)启动加载器
[centos6] GRUB Legacy (+efibootmgr)
[centos7] GRUB2
(5)默认数据库
[centos6] MySQL
[centos7] MariaDB
(5)文件结构
[centos6] /bin, /sbin, /lib, and /lib64在/下
[centos7] /bin, /sbin, /lib, and /lib64移到/usr下
(7)默认数据库
[centos6] MySQL
[centos7] MariaDB
(7)文件结构
[centos6] /bin, /sbin, /lib, and /lib64在/下
[centos7] /bin, /sbin, /lib, and /lib64移到/usr下
(8)时间同步
[centos6]
$ ntp
$ ntpq -p
[centos7]
$ chrony
$ chronyc sources
(9)修改时间
[centos6]
$ vim /etc/sysconfig/clock
ZONE="Asia/Tokyo"
UTC=fales
$ sudo ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
[centos7]
$ timedatectl set-timezone Asia/Tokyo
$ timedatectl status
(10)修改地区
[centos6]
$ vim /etc/sysconfig/i18n
LANG="ja_8"
$ /etc/sysconfig/i18n
$ locale
[centos7]
$ localectl set-locale LANG=ja_8
$ localectl status
强制停止
[centos6]
$ kill -9
[centos7]
$ systemctl kill --signal=9 sshd
(11网络
1)网络信息
[centos6]
$ netstat
$ netstat -I
$ netstat -n
[centos7]
$ ip n
$ ip -s l
$ ss
2)路由
[centos6]
$ route -n
$ route -A inet6 -n
[centos7]
$ ip route show
$ ip -6 route show
(12重启关闭
1)关闭
[centos6]
$ shutdown -h now
[centos7]
$ poweroff
$ systemctl poweroff
2)重启
[centos6]
$ reboot
$ shutdown -r now
[centos7]
$ reboot
$ systemctl reboot
3)单用户模式
[centos6]
$ init S
[centos7]
$ systemctl rescue
4)启动模式
[centos6]
[GUI➡CUI]
$ vim /etc/inittab
id:3:initdefault:
[CUI➡GUI]
$ startx
[centos7]
[GUI➡CUI]
$ systemctl isolate
[CUI➡GUI]
$systemctl isolate
默认
$ systemctl set-default
$ systemctl set-default
当前
$ systemctl get-default
(注:可编辑下载,若有不当之处,请指正,谢谢!)
版权声明:本文标题:centos7新特性以及与centos6的差异 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1710302102h568640.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论