本文档概述了在当前发行版(即 Solaris 10 10/09 发行版)中所有新增或增强的 Solaris 10 操作系统 (Operating System, OS) 功能。
Solaris 9 OS 最初于 2002 年 5 月发行,有关此后在 Solaris 10 OS 中引入或增强的所有功能的摘要,请参见《Solaris 10 What’s New》。
Solaris 10 10/09 发行版中添加了以下系统管理功能和增强功能。
从 Solaris 10 10/09 发行版开始,您可以从大小高达 2 TB 的磁盘安装和引导 Solaris OS。在以前的 Solaris 发行版中,无法从大小超过 1 TB 的磁盘安装和引导 Solaris OS。
在本 Solaris 发行版中,您可以在任意大小的磁盘上使用 VTOC 标签。但是,VTOC 标签的可寻址空间限制在 2 TB 以内。此功能使容量大于 2 TB 的磁盘也可以用作引导驱动器。但是,标签上的可用空间限制在 2 TB 以内。
此功能仅可用于运行 64 位内核的系统。对于基于 x86 的系统,至少需要 1 GB 的内存。
对 Solaris 磁盘驱动程序和磁盘实用程序进行了更新以支持在大小超过 1 TB 的磁盘上进行引导,有关更多信息请参见《系统管理指南:设备和文件系统》。
利用 pcitool 实用程序,系统管理员可以将中断绑定到特定的硬件线程以实现增强的性能。此实用程序存在于公共软件包 SUNWio-tools 中。有关使用 pcitool 的更多信息,请参见 pcitool 手册页。
下节概述了 ZFS 文件系统中的新增功能。
ZFS 和 Flash 安装支持-在 Solaris 10 10/09 发行版中,您可以设置一个 JumpStart 配置文件来确定 ZFS 根池的 Flash 归档文件。有关更多信息,请参见《Solaris ZFS 管理指南》。
设置 ZFS 用户和组配额-在以前的 Solaris 发行版中,您可以对 ZFS 文件系统应用配额来管理和保留空间。在本 Solaris 发行版中,您可以针对属于特定的用户或组的文件所占用的空间设置配额。在具有大量用户或组的环境中,您可以考虑设置用户和组配额。您可以使用 zfs userspace 和 zfs groupspace 属性设置用户或组配额,如下所示:
# zfs set userquota@user1=5G tank/data # zfs set groupquota@staff=10G tank/staff/admins |
您可以显示用户或组的当前配额设置,如下所示:
# zfs get userquota@user1 tank/data NAME PROPERTY VALUE SOURCE tank/data userquota@user1 5G local # zfs get groupquota@staff tank/staff/admins NAME PROPERTY VALUE SOURCE tank/staff/admins groupquota@staff 10G local |
针对执行权限使用 ZFS ACL pass through 继承-在以前的 Solaris 发行版中,您可以应用 ACL 继承,以便创建文件时这些文件均具有 0664 或 0666 权限。在本发行版中,如果要选择将文件创建模式中的执行位包含到继承的 ACL 中,则可以使用执行权限的 pass through 继承。
如果在 ZFS 数据集上启用了 aclinherit=passthrough-x,则可以针对通过 cc 或 gcc 工具生成的输出文件包含执行权限。如果继承的 ACL 不包括执行权限,则只有使用 chmod 命令更改文件的权限后才能执行由编译器生成的可执行输出。
在 ZFS 存储池中使用高速缓存设备-在 Solaris 10 10/09 发行版中,您可以创建池并指定用于对存储池数据进行高速缓存的高速缓存设备。高速缓存设备在主内存和磁盘之间提供了一个进行高速缓存的附加层。使用高速缓存设备,可以最大程度地提高大多数静态内容的随机读取工作量的性能。
创建池时,可以指定一个或多个高速缓存设备。例如:
# zpool create pool mirror c0t2d0 c0t4d0 cache c0t0d0 # zpool status pool pool: pool state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM pool ONLINE 0 0 0 mirror ONLINE 0 0 0 c0t2d0 ONLINE 0 0 0 c0t4d0 ONLINE 0 0 0 cache c0t0d0 ONLINE 0 0 0 errors: No known data errors |
有关如何确定您的环境是否适合使用高速缓存设备的信息,请参见《Solaris ZFS 管理指南》。
ZFS 属性增强功能-Solaris 10 10/09 发行版提供以下 ZFS 属性增强功能:
您可以在创建池时设置 ZFS 文件系统属性。在以下示例中,在创建池时创建的 ZFS 文件系统上启用了压缩。
# zpool create -O compression=on pool mirror c0t1d0 c0t2d0 |
您可以在 ZFS 文件系统上设置两个高速缓存属性,可以利用这两个属性来控制在主高速缓存 (ARC) 或二级高速缓存 (L2ARC) 中高速缓存的内容。高速缓存属性设置如下所示:
primarycache-用于控制在 ARC 中高速缓存的内容。
secondarycache-用于控制在 L2ARC 中高速缓存的内容。
您可以对现有文件系统设置这些属性,也可以在创建文件系统时进行设置。例如:
# zfs set primarycache=metadata tank/datab # zfs create -o primarycache=metadata tank/newdatab |
对某些数据集环境而言,不高速缓存用户数据可能会带来一些好处。您需要确定您的环境是否适合设置高速缓存属性。
有关更多信息,请参见《Solaris ZFS 管理指南》。
您可以使用空间使用量属性确定克隆、文件系统和卷的空间使用量,但不能确定快照的空间使用量。这些属性如下所示:
usedbychildren-用于确定此数据集的子数据集使用的空间量,如果销毁此数据集的所有子数据集,将释放此空间。此属性的缩写为 usedchild。
usedbydataset-用于确定此数据集本身使用的空间量,如果在销毁所有快照并删除所有 refreservation 后销毁数据集,将释放此空间。此属性的缩写为 usedds。
usedbyrefreservation-用于确定此数据集上的 refreservation 集使用的空间量,如果删除 refreservation,将释放此空间。此属性的缩写为 usedrefreserv。
usedbysnapshots-用于确定此数据集的快照使用的空间量。特别地,此空间量是销毁此数据集的所有快照后将释放的空间量。请注意,此空间量不是快照的 used 属性的简单总和,因为空间可被多个快照共享。此属性的缩写为 usedsnap。
这些新的属性将 used 属性的值分解为各种占用空间的元素。特别地,used 属性的值分解如下:
used property = usedbychildren + usedbydataset + usedbyrefreservation + usedbysnapshots |
您可以使用 zfs list -o space 命令查看这些属性。例如:
# zfs list -o space NAME AVAIL USED USEDSNAP USEDDS USEDREFRESERV USEDCHILD pool 33.2G 72K 0 21K 0 51K rpool 27.0G 6.27G 20.5K 97K 0 6.27G rpool/ROOT 27.0G 4.73G 0 21K 0 4.73G rpool/ROOT/zfsBE 27.0G 4.73G 97.5M 4.63G 0 0 rpool/dump 27.0G 1.00G 16K 1.00G 0 0 rpool/export 27.0G 60K 16K 23K 0 21K rpool/export/home 27.0G 21K 0 21K 0 0 rpool/swap 27.5G 553M 0 41.5M 512M 0 |
在本发行版中,在 zfs list 输出中省略了快照。listsnaps 池属性控制是否通过 zfs list 命令显示快照信息。如果您使用 zfs list -t snapshots 命令,将显示快照信息。缺省值为 off,这意味着缺省情况下不显示快照信息。
ZFS 日志设备恢复-在 Solaris 10 10/09 发行版中,ZFS 通过 zpool status 命令指出意图日志 (intent log) 故障。FMA 也报告这些错误。ZFS 和 FMA 都介绍如何从意图日志 (intent log) 故障中恢复。
例如,如果在同步写入操作被提交到具有单独的日志设备的池之前系统突然关闭,您将会在 zpool status 输出中看到意图日志相关错误消息。有关解决日志设备故障的信息,请参见《Solaris ZFS 管理指南》。
使用 ZFS ACL 集-在 Solaris 10 10/09 发行版中,可按组应用 NFSv4 样式的 ACL,而不是单独应用不同的 ACL 权限。提供了以下 ACL 集:
full_set = 所有权限
modify_set = 除 write_acl 和 write_owner 外的所有权限
read_set = read_data、read_attributes、read_xattr 和 read_acl
write_set = write_data、append_data、write_attributes 和 write_xattr
这些 ACL 集是预定义的,不能修改。
有关这些改进和变化的更多信息,请参见《Solaris ZFS 管理指南》。
有关相关 ZFS 功能的信息,请参见以下新增功能小节:
LDAP 名称服务已得到增强,使用存储在已配置的 LDAP 服务器上的影子数据库中的数据,支持帐户锁定和口令生命期功能。这种支持使 passwd(1) 实用程序和 pam_unix_*(5) PAM 模块在处理本地帐户和远程 LDAP 用户帐户的帐户锁定和口令生命期时几乎具有同样的功能。因此,使用 pam_ldap(5) 模块不再是对 LDAP 名称服务实现口令策略和帐户控制的唯一方法。使用 pam_unix_*(5) 可获得与使用这些文件和 nisplus 名称服务时完全一致的结果。
有关更多信息,请参见《系统管理指南:名称和目录服务(DNS、NIS 和 LDAP)》。
Solaris 10 10/09 发行版中集成了 SunVTSTM 7.0 Patch Set 6。SunVTS 7.0 Patch Set 6 遵循常规的三层体系结构模型。修补程序集包括一个基于浏览器的用户界面 (browser-based user interface, BUI)、一个基于 Java 技术的中间服务器和一个诊断代理。SunVTS 基础结构的增强功能包括:
支持添加到 vtsk 的固态驱动器 (solid-state drive, SSD)
逻辑测试的缺省级别得到增强,以适应系统配置大小
vtsk 中保留交换的最小值和最大值或硬限制
可以更改逻辑测试执行的序列
Solaris 10 10/09 发行版包括对内存和 CPU 诊断的以下增强功能:
在 l3sramtest 中添加了 X86-L3$ 覆盖范围
增强的 vmemtest、fputest 和 l2sramtest 提供了回调以返回交换要求
调整了对 x86 系统和基于 UltraSPARC® T2 处理器的系统的逻辑测试
Solaris 10 10/09 发行版还包括对 I/O 诊断的以下增强功能:
disktest 已得到增强,可在写入或读取选项不适用时以只读模式运行
针对 x86、UltraSPARC T2 处理器和 UltraSPARC IV 系统对磁盘逻辑测试进行了调优
disktest 选项可在磁盘 LT 中自动运行固态驱动器 (solid-state drive, SSD) 和硬盘驱动器 (hard disk drive, HDD) 任务
在 netlbtest 中实现了测试选项选择自动化
在 disktest 和 iobustest 中支持安全测试选项和不安全的测试选项
Solaris 10 10/09 发行版中添加了以下安装功能。
从 Solaris 10 10/09 发行版开始,SVR4 软件包命令运行速度更快。此增强功能意味着 Solaris 安装技术(如初始安装、升级、Live Upgrade 和区域安装)执行速度显著加快。
Solaris 10 10/09 发行版中添加了以下系统资源功能。
标准 Solaris10 修补实用程序的区域并行修补增强功能通过允许非全局区域的并行修补在具有多个区域的系统上提供了修补工具性能。在 Solaris 10 10/09 之前的发行版中,该功能是通过针对 SPARC 的修补实用程序的修补 119254-66 或更新修订版和针对 x86 的修补实用程序的修补 119255-66 或更新修订版实现的。仍然要在修补非全局区域之前修补全局区域。
详细信息,请参见以下内容:
在 Solaris OS 中使用 Sun xVM 虚拟机管理程序 (hypervisor) 时,完全虚拟化的来宾域被称为硬件辅助虚拟机 (hardware-assisted virtual machine, HVM)。HVM + PVIO 来宾通过使用 PV 驱动程序提供更好的性能。
从 Solaris 10 10/08 发行版开始,所有发行版都配有 Solaris PV 驱动程序。为 Solaris10 5 /08 提供了一个修补程序。
有关更多信息,请参见《System Administration Guide: Virtualization Using the Solaris Operating System》中的“Guests That Are Known to Work”中的 "Solaris 10 releases"。本指南还介绍了具有 HVM 功能的计算机。
Solaris 10 10/09 发行版中添加了以下设备管理功能。
在 FMRI svc:/network/iscsi/initiator:default 下引入了新的 SMF 服务以控制 iSCSI 设备的可用性。SMF 服务还可控制计时,以在 OS 启动期间启动 iSCSI 设备的发现和枚举。
依赖于 iSCSI 设备的可用性的其他服务可以自定义其对该新的 iSCSI 启动器服务的依赖性。有关更多信息,请参见 iscsi(7D) 手册页。
从 Solaris 10 10/09 发行版开始,Solaris MPxIO 支持基于 LSI 6180 控制器的存储阵列。
Solaris 10 10/09 发行版中添加了以下系统性能功能。
调用子系统已重新设计为包括以下功能:
性能和可伸缩性改进:
基于 CPU 的数据结构,可最大限度地减少互斥锁争用
基于 CPU 的调用处理,可提高可伸缩性
基于事件的实现,可避免轮询开销
改进功能的高精度计时器。许多 API 调用使用高精度计时器且不会出现延迟,因为系统按指定的时间间隔精确运行。这些计时器包括诸如 poll() 和 nanosleep() 之类的常用调用。
可观察性改进:
MDB dcmd callout 的选项的全面集合
新增的 MDB dcmd calloutid
新增的调用 kstats
Solaris 10 10/09 发行版中添加了以下驱动程序功能和增强功能。
Solaris 10 10/09 包含许多对 Solaris 10GbE 驱动程序的增强功能。nxge 10GbE 驱动程序包含以下增强功能:
TCP 接收吞吐率由 8 个连接时的 40% 提高至 32、100、400 和 1000 个连接时超过 90%
TCP 传输吞吐率由 8 个连接时的将近 80% 提高至更高数目连接测试时超过 100%
UDP 传输吞吐率由传输 64 字节消息时的 80% 提高至传输 8 KB 消息时超过 160%
x86 系统上的 ixgbe 驱动程序包含以下增强功能:
TCP 传输吞吐率提高至 8 个或更多个连接时将近 100%
TCP 接收速率在 8、32、100、400 和 1000 个连接时为 10Gb 线路速率
UDP 最大传输吞吐量翻倍为 10Gb 线路速率
乒乓数据速率由 2 倍提高至 3 倍,同时消息大小也由 64 字节增加到 512 字节
现在,Solaris 10GbE 驱动程序可以提供接近于线路速率的数据速率,从而可在 10 千兆位网络上提供最佳性能。
Solaris 10 10/09 发行版包含以下与 InfiniBand 相关的增强功能:
InfiniBand 主机通道适配器 (Host Channel Adapter, HCA)-Solaris 10 10/09 发行版包含 Mellanox ConnectX HCA 的显著增强的 InfiniBand 驱动程序。通过 InfiniBand 驱动程序,InfiniBand 协议可在双倍数据速率 (Double Data Rate, DDR) 和四倍数据速率 (Quad Data Rate, QDR) InfiniBand 光纤网络上运行。该驱动程序还可集成到 Solaris FMA 框架中以进行故障管理,并且该驱动程序支持 SPARC 系统上的松散排序。
InfiniBand 传输框架 (InfiniBand Transport Framework, IBTF)-Solaris 10 10/09 发行版包含显著改进的 IBTF 实现,该实现提供增强的支持,以在 Solaris 中运行基于 RDMA 的 InfiniBand 协议。现在,SPARC 的 InfiniBand 还支持 PCI 动态重新配置 (Dynamic Reconfiguration, DR)。
InfiniBand 上的 Internet 协议 (Internet Protocol over InfiniBand, IPoIB)-Solaris 10 10/09 发行版包含显著改进的 IPoIB 驱动程序 (ibd),该驱动程序支持 Internet RFC 4391 和 4392。Solaris 10 10/09 发行版中的 IPoIB 驱动程序支持用户数据报 (User Datagram, UD) 模式的操作以及 IPv4 和 IPv6 寻址,并利用 ConnectX HCA 中的硬件负载转移,以在 CPU 利用率较低的情况下提升吞吐量。IPoIB-UD 允许在双倍数据速率 (Double Data Rate, DDR) 和四倍数据速率 (Quad Data Rate, QDR) InfiniBand 光纤网络上使用任何 TCP/IP 应用程序协议,如 SSH、HTTP、FTP、NFS 和 iSCSI。与以前的可用驱动程序相比,SPARC 平台和 x86 平台的新 IPoIB 驱动程序所提供的性能都有显著的提升。
套接字直接协议 (Socket Direct Protocol, SDP)-Solaris 10 10/09 发行版包含显著改进的 SDP 驱动程序和 sockfs 实现。SDP 是一个在 InfiniBand 传输框架 (Infiniband Transport Framework, IBTF) 上分层的传输协议。SDP 是基于 Infiniband 体系结构规范第一卷的附件 4 的标准实现。SDP 协议提供可靠的字节流、类似于传输控制协议 (Transmission Control Protocol, TCP) 的流量控制双向数据传输。InfiniBand 程序员通过 libsdp C 库使用 SDP,该库支持应用程序的基于套接字的 SOCK_STREAM 接口。SDP 协议支持正常关闭、IPv4 和 IPv6 寻址、连接/接受连接模型、带外 (out-of-band, OOB) 数据和通用套接字选项。SDP 协议还支持内核旁路数据传输,以及从发送上层协议 (upper-layer-protocol, ULP) 缓冲区到接收 ULP 缓冲区的数据传输。
可靠数据报套接字 (Reliable Datagram Socket, RDS)-Solaris 10 10/09 发行版包含改进的 RDSv1 驱动程序,该驱动程序经过认证,可与 Oracle RAC (Real Application Clusters) 10gR2 一起使用。
用户级直接访问编程库 (User-Level Direct Access Programming Library, uDAPL)-Solaris 10 10/09 发行版包含 InfiniBand API 上更新的 uDAPL,它符合最新的直接访问传输 (Direct Access Transport, DAT) 协作 uDAPL 1.2 规范。
mpt_sas(7D) 驱动程序通过使用集成的 RAID 功能来支持 SAS、SATA、SMP 物理设备和虚拟设备。SAS 驱动程序的新体系结构支持以下功能:
SAS 启动器端口 (initiator port, iport)
SAS、SATA 和 SMP 目标的动态重新配置
符合 FWARC 2008/013 的设备表示
多路径
有关更多信息,请参见 mpt_sas(7D) 手册页。
Solaris 10 10/09 发行版包含新的芯片组支持,如 bcm5716c 和 bcm5716s。
Solaris 10 10/09 发行版提供一个至少可在 Intel Nehalem 平台上隔离中断的中断重新映射表,确保设备只能使用授权的中断并且中断被正确定向。此功能改进了系统可靠性、可用性和可维护性 (reliability, availability, and serviceability, RAS)。
AHCI 驱动程序现在支持 SATA 磁带设备。用户可以通过 SATA 或 eSATA 电缆将 SATA 磁带机连接或热插到 AHCI 控制器。还增强了 SATA ATAPI 设备(包括 CD、DVD 或磁带)的错误处理机制。
有关更多信息,请参见 ahci(7D) 手册页。
mr_sas MegaRAID sas2.0 控制器主机总线适配器驱动程序是一个符合 SCSA 的结点驱动程序,可支持 LSI MegaRAID SAS 92xx 系列控制器、StorageTek 6Gb/s SAS RAID HBA 系列控制器和 LSI MegaRAID SAS 92xx 系列控制器。
一些支持的 RAID 功能包括:
RAID 级别 0、1、5 和 6,以及 RAID 跨接 10、50 和 60
联机容量扩展 (Online capacity expansion, OCE)
联机 RAID 级别迁移 (Online RAID level migration, RLM)
在阵列重新生成或重新构造(OCE 或 RLM)期间,系统断电后自动恢复
可配置分散读写大小最大为 1 MB
能够对背景数据完整性进行一致性检查
巡查读取 (Patrol read) 以进行介质扫描和修复
64 逻辑驱动器支持
最多 64 TB LUN 支持
自动重新生成及全局和专用热备份支持
从 Solaris 10 10/09 发行版开始,ixgbe 驱动程序支持 Intel 82599 10Gb PCI Express 以太网控制器芯片组。
从 Solaris 10 10/09 发行版开始,ixgbe 驱动程序支持 Intel 82598 10Gb PCI Express 以太网控制器芯片组。
Solaris 10 10/09 发行版中添加了以下免费软件功能和增强功能。
Solaris 10 10/09 发行版包含最新版本的网络时间协议,此协议支持增强验证、IPv6 和更高的性能。有关更多信息,请参见 ntpdate(1M) 手册页。
Solaris 10 10/09 发行版支持 PostgreSQL 版本 8.1.17、8.2.13 和 8.3.7。
Solaris 10 10/09 发行版支持 Samba 3.0.35。