本文档概述了自 Solaris 9 OS 最初于 2002 年 5 月发行以来,在 Solaris 10 操作系统中新增或增强的所有功能。本章概述了当前发行版(即 Solaris 10 10/08 发行版)中的新增功能。第 2 章概述以前的 Solaris 10 5/08 发行版中的新增功能。第 3 章概述 Solaris 10 8/07 发行版中的新增功能。第 4 章概述 Solaris 10 11/06 发行版中的新增功能。第 5 章概述 Solaris 10 6/06 发行版中的新增功能。第 6 章概述 Solaris 10 1/06 发行版中的新增功能。第 7 章概述 Solaris 10 3/05 发行版中的新增功能。第 7 章还按引入这些功能的 Software Express 发行版进行排序,概述了所有功能。
Solaris 10 10/08 发行版中添加了以下安装功能和增强功能。
从 Solaris 10 10/08 发行版开始,您可以安装和引导 ZFS 根池。
Solaris 文本安装程序可执行 ZFS 根池的初始安装。安装期间,您可以选择安装 UFS 文件系统或 ZFS 根池。您可以在安装期间通过选择两个磁盘来设置镜像 ZFS 根池。或者,您可以在安装后附加或添加其他磁盘,以创建镜像 ZFS 根池。ZFS 卷上的交换和转储设备会自动创建在 ZFS 根池中。
有关逐步说明,请参见《Solaris 10 Installation Guide: Basic Installations》中的第 3 章,“Installing With the Solaris Interactive Text Installer for ZFS Root Pools (Planning and Tasks)”。
使用自定义 JumpStart,您可以创建配置文件,以创建 ZFS 存储池并指定可引导的 ZFS 文件系统。新的 ZFS 配置文件关键字可针对初始安装来安装 ZFS 根池。ZFS 配置文件包含一组有限的关键字。
有关 JumpStart 和 ZFS 的更多信息,请参见《Solaris 10 Installation Guide: Custom JumpStart and Advanced Installations》中的第 9 章,“Installing a ZFS Root Pool With JumpStart”。
您可以使用 Solaris Live Upgrade 执行以下任务:
将 UFS 根 (/) 文件系统迁移到 ZFS 根池
使用 lucreate 命令创建 ZFS 引导环境后,您可以在该引导环境中使用其他 Solaris Live Upgrade 命令,如 luupgrade 和 luactivate 命令。有关针对 ZFS 使用 Solaris Live Upgrade 的更多信息,请参见《Solaris 10 10/08 Installation Guide: Solaris Live Upgrade and Upgrade Planning》中的第 12 章,“Solaris Live Upgrade and ZFS (Overview)”。
Solaris 10 10/08 发行版中添加了以下系统管理功能和增强功能。
下节概述了 ZFS 文件系统中的新增功能。有关这些新增功能的更多信息,请参见《Solaris ZFS 管理指南》。
ZFS 安装和引导支持-从 Solaris 10 10/08 发行版开始,您可以安装和引导 ZFS 根文件系统。初始安装选项或 JumpStart 功能可用于安装 ZFS 根文件系统。您可以使用 Solaris Live Upgrade 功能将 UFS 根文件系统迁移到 ZFS 根文件系统。此外,还提供了对交换和转储设备的 ZFS 支持。
在不卸载的情况下回滚 ZFS 数据集-从 Solaris 10 10/08 发行版开始,您可以在不事先卸载数据集的情况下回滚数据集。此功能意味着不再需要使用 zfs rollback -f 选项来强制进行卸载操作。-f 选项不再受支持,且将被忽略(如果指定)。
对 zfs send 命令的增强-Solaris 10 10/08 发行版包含对 zfs send 命令的以下增强:
您可以将所有增量流从某个快照发送至一个累积快照。例如:
# zfs list NAME USED AVAIL REFER MOUNTPOINT pool 428K 16.5G 20K /pool pool/fs 71K 16.5G 21K /pool/fs pool/fs@snapA 16K - 18.5K - pool/fs@snapB 17K - 20K - pool/fs@snapC 17K - 20.5K - pool/fs@snapD 0 - 21K - # zfs send -I pool/fs@snapA pool/fs@snapD > /snaps/fs@combo |
此语法说明如何将 fs@snapA 到 fs@snapD 之间的所有增量快照发送到 fs@combo。
您可以从原始快照发送增量流以创建克隆。原始快照必须已存在于接收方之上才能接受增量流。例如:
# zfs send -I pool/fs@snap1 pool/clone@snapA > /snaps/fsclonesnap-I . . # zfs receive -F pool/clone < /snaps/fsclonesnap-I |
您可以将所有后代文件系统的复制流发送到已命名的快照。接收后,所有属性、快照、后代文件系统和克隆都将被保留。例如:
# zfs send -R pool/fs@snap > snaps/fs-R |
您可以发送增量复制流。
zfs send -R -[iI] @snapA pool/fs@snapD |
有关扩展示例,请参见《Solaris ZFS 管理指南》。
仅限于文件系统数据的 ZFS 配额和预留空间-从 Solaris 10 10/08 发行版开始,会提供数据集配额和预留空间,且不将后代(如快照和克隆)纳入空间消耗计帐。现有的 ZFS 配额和预留空间功能保留与以前的 Solaris 发行版中相同。
refquota 属性限制数据集可消耗的空间量。此属性对可以使用的空间量强制实施硬限制。此硬限制不包括后代(如快照和克隆)所使用的空间。
refreservation 属性设置为数据集(不包括其后代)保留的最小空间量。
例如,您可以为 studentA 设置一个 10 GB 的 refquota,即设置一个 10 GB 的引用空间硬限制。为增加灵活性,可以设置一个 20 GB 配额,以允许您管理 studentA 的快照。
# zfs set refquota=10g tank/studentA # zfs set quota=20g tank/studentA |
ZFS 存储池属性-Solaris 10 10/08 发行版中提供了新的 ZFS 存储池属性信息。
显示所有池属性-您可以使用 zpool get all pool 命令来显示所有的池属性信息。例如:
# zpool get all users NAME PROPERTY VALUE SOURCE users size 16.8G - users used 194K - users available 16.7G - users capacity 0% - users altroot - default users health ONLINE - users guid 14526624140147884971 - users version 10 default users bootfs - default users delegation on default users autoreplace off default users cachefile - default users failmode wait default |
cachefile 属性-此发行版提供 cachefile 属性,该属性用于控制在何处高速缓存池配置信息。系统引导时会自动导入高速缓存中的所有池。但是,安装和群集环境可能需要将此信息高速缓存到不同的位置,以便不会自动导入池。
您可以将此属性设置为在不同的位置高速缓存池配置,以后可以使用 zpool import -c 命令导入该配置。对于大多数 ZFS 配置,不会使用此属性。
cachefile 属性不是持久性的,未存储在磁盘上。此属性替换了以前的 Solaris 发行版中的 temporary 属性,后者用于指明不应高速缓存池信息。
failmode 属性-此发行版提供 failmode 属性,用于确定因缺少设备连接或池中的所有设备出现故障而发生灾难性池故障时的行为。可以将 failmode 属性设置为以下值:wait、continue 或 panic。缺省值为 wait,表示必须重新连接设备或更换出现故障的设备并使用 zpool clear 命令清除错误。
failmode 属性的设置方式与其他可设置的 ZFS 属性类似,可以在创建池前或创建池后进行设置。例如:
# zpool set failmode=continue tank # zpool get failmode tank NAME PROPERTY VALUE SOURCE tank failmode continue local |
# zpool create -o failmode=continue users mirror c0t1d0 c1t1d0 |
ZFS 命令历史记录增强 ( zpool history)-从 Solaris 10 10/08 发行版开始,zpool history 命令提供以下新增功能:
显示 ZFS 文件系统事件信息。例如:
# zpool history users History for 'users': 2008-07-10.09:43:05 zpool create users mirror c1t1d0 c1t2d0 2008-07-10.09:43:48 zfs create users/home 2008-07-10.09:43:56 zfs create users/home/markm 2008-07-10.09:44:02 zfs create users/home/marks 2008-07-10.09:44:19 zfs snapshot -r users/home@yesterday |
用于显示长格式的 -l 选项,此格式包括用户名、主机名以及从中执行操作的区域。例如:
# zpool history -l users History for 'users': 2008-07-10.09:43:05 zpool create users mirror c1t1d0 c1t2d0 [user root on corona:global] 2008-07-10.09:43:13 zfs create users/marks [user root on corona:global] 2008-07-10.09:43:44 zfs destroy users/marks [user root on corona:global] 2008-07-10.09:43:48 zfs create users/home [user root on corona:global] 2008-07-10.09:43:56 zfs create users/home/markm [user root on corona:global] 2008-07-10.09:44:02 zfs create users/home/marks [user root on corona:global] 2008-07-11.10:44:19 zfs snapshot -r users/home@yesterday [user root on corona:global] |
用于显示内部事件信息的 -i 选项,这些信息可用于进行诊断。例如:
# zpool history -i users History for 'users': 2008-07-10.09:43:05 zpool create users mirror c1t1d0 c1t2d0 2008-07-10.09:43:13 [internal create txg:6] dataset = 21 2008-07-10.09:43:13 zfs create users/marks 2008-07-10.09:43:48 [internal create txg:12] dataset = 27 2008-07-10.09:43:48 zfs create users/home 2008-07-10.09:43:55 [internal create txg:14] dataset = 33 2008-07-10.09:43:56 zfs create users/home/markm 2008-07-10.09:44:02 [internal create txg:16] dataset = 39 2008-07-10.09:44:02 zfs create users/home/marks 2008-07-10.09:44:19 [internal snapshot txg:21] dataset = 42 2008-07-10.09:44:19 [internal snapshot txg:21] dataset = 44 2008-07-10.09:44:19 [internal snapshot txg:21] dataset = 46 2008-07-10.09:44:19 zfs snapshot -r users/home@yesterday |
升级 ZFS 文件系统 ( zfs upgrade)-从 Solaris 10 10/08 发行版开始,您可以使用 zfs upgrade 命令升级现有的 ZFS 文件系统,使其具备新的文件系统增强功能。ZFS 存储池具有类似的升级功能,可为现有存储池提供池增强功能。
例如:
# zfs upgrade This system is currently running ZFS filesystem version 2. The following filesystems are out of date, and can be upgraded. After being upgraded, these filesystems (and any 'zfs send' streams generated from subsequent snapshots) will no longer be accessible by older software versions. VER FILESYSTEM --- ------------ 1 datab 1 datab/users 1 datab/users/area51 |
对于已升级的文件系统和通过 zfs send 命令从这些已升级文件系统创建的所有流,无法在运行较早软件发行版的系统上进行访问。
ZFS 委托管理-从 Solaris 10 10/08 发行版开始,您可以将执行 ZFS 管理任务的细化权限委托给非特权用户。
您可以使用 zfs allow 和 zfs unallow 命令来授予和删除权限。
您可以通过池的 delegation 属性修改使用委托管理的功能。例如:
# zpool get delegation users NAME PROPERTY VALUE SOURCE users delegation on default # zpool set delegation=off users # zpool get delegation users NAME PROPERTY VALUE SOURCE users delegation off local |
缺省情况下,delegation 属性处于启用状态。
设置单独的 ZFS 日志记录设备-为满足同步事务的 POSIX 要求而提供了 ZFS 意图日志 (ZFS intent log, ZIL)。例如,数据库通常要求其事务在从系统调用中返回时应该在稳定的存储设备上。NFS 和其他应用程序也可以使用 fsync() 来确保数据的稳定性。缺省情况下,ZIL 是通过主存储池中的块分配的。但是,通过在 ZFS 存储池中使用单独的 ZIL 设备(例如使用 NVRAM 或专用磁盘),可能会在 Solaris 10 10/08 发行版中获得更佳性能。
ZIL 的日志设备与数据库日志文件无关。
您可以在创建存储池时或在创建存储池后设置 ZFS 日志记录设备。有关设置日志设备的示例,请参见《Solaris ZFS 管理指南》。
创建中间 ZFS 数据集-从 Solaris 10 10/08 发行版开始,您可以在 zfs create、zfs clone 和 zfs rename 命令中使用 -p 选项来快速创建不存在的中间数据集(如果尚不存在)。
例如,在 datab 存储池中创建 ZFS 数据集 (users/area51)。
# zfs list NAME USED AVAIL REFER MOUNTPOINT datab 106K 16.5G 18K /datab # zfs create -p -o compression=on datab/users/area51 |
如果中间数据集在创建操作过程中存在,该操作会成功完成。
指定的属性应用到目标数据集,而不是中间数据集。例如:
# zfs get mountpoint,compression datab/users/area51 NAME PROPERTY VALUE SOURCE datab/users/area51 mountpoint /datab/users/area51 default datab/users/area51 compression on local |
中间数据集是使用缺省挂载点创建的。所有其他属性对中间数据集都是禁用的。例如:
# zfs get mountpoint,compression datab/users NAME PROPERTY VALUE SOURCE datab/users mountpoint /datab/users default datab/users compression off default |
有关更多信息,请参见 zfs(1M)。
ZFS 热插拔增强-从 Solaris 10 10/08 发行版开始,ZFS 可以更有效地响应移除的设备,并且提供 了一种自动识别已插入设备的机制:
可以使用等效设备替换现有设备,而不必使用 zpool replace 命令。
autoreplace 属性可控制自动设备替换。如果设置为 off,则必须由管理员使用 zpool replace 命令启动设备替换。如果设置为 on,则会自动对在先前属于池的设备的同一物理位置处找到的任何新设备进行格式化和替换。缺省行为为 off。
如果在系统运行期间设备被物理移除,则在移除设备或热备件时,会提供存储池状态 REMOVED。热备用设备(如果有)会替换移除的设备。
如果设备被移除后又重新插入,该设备将联机。如果重新插入设备时热备件处于激活状态,则热备件将在联机操作完成时被移除。
在移除或插入设备时自动检测依赖于硬件,而且并非在所有平台上都受支持。例如,USB 设备会在插入时自动进行配置。但是,您可能必须使用 cfgadm -c configure 命令来配置 SATA 驱动器。
系统会定期检查热备件,以确保它们处于联机状态并可供使用。
有关更多信息,请参见 zpool(1M) 手册页。
以递归方式重命名 ZFS 快照 (zfs rename -r)-从 Solaris 10 10/08 发行版开始,您可以使用 zfs rename -r 命令以递归方式重命名所有的后代 ZFS 快照。
例如,捕获一组 ZFS 文件系统的快照。
# zfs snapshot -r users/home@today # zfs list NAME USED AVAIL REFER MOUNTPOINT users 216K 16.5G 20K /users users/home 76K 16.5G 22K /users/home users/home@today 0 - 22K - users/home/markm 18K 16.5G 18K /users/home/markm users/home/markm@today 0 - 18K - users/home/marks 18K 16.5G 18K /users/home/marks users/home/marks@today 0 - 18K - users/home/neil 18K 16.5G 18K /users/home/neil users/home/neil@today 0 - 18K - |
然后,次日重命名快照。
# zfs rename -r users/home@today @yesterday # zfs list NAME USED AVAIL REFER MOUNTPOINT users 216K 16.5G 20K /users users/home 76K 16.5G 22K /users/home users/home@yesterday 0 - 22K - users/home/markm 18K 16.5G 18K /users/home/markm users/home/markm@yesterday 0 - 18K - users/home/marks 18K 16.5G 18K /users/home/marks users/home/marks@yesterday 0 - 18K - users/home/neil 18K 16.5G 18K /users/home/neil users/home/neil@yesterday 0 - 18K - |
快照是唯一可以递归重命名的数据集。
现在可对 ZFS 使用 GZIP 压缩-从 Solaris 10 10/08 发行版开始,除了 lzjb 压缩以外,您还可以对 ZFS 文件系统设置 gzip 压缩。可以将压缩指定为 gzip(缺省值),也可以指定为 gzip-N,其中 N 的范围是 1 至 9。例如:
# zfs create -o compression=gzip users/home/snapshots # zfs get compression users/home/snapshots NAME PROPERTY VALUE SOURCE users/home/snapshots compression gzip local # zfs create -o compression=gzip-9 users/home/oldfiles # zfs get compression users/home/oldfiles NAME PROPERTY VALUE SOURCE users/home/oldfiles compression gzip-9 local |
存储 ZFS 用户数据的多个副本-作为一项可靠性功能,ZFS 文件系统可以跨不同磁盘多次自动存储元数据(如有可能)。此功能称为重复块 (ditto blocks)。从 Solaris 10 10/08 发行版开始,可以使用 zfs set copies 命令指定用户数据的多个副本还按每个文件系统存储。例如:
# zfs set copies=2 users/home # zfs get copies users/home NAME PROPERTY VALUE SOURCE users/home copies 2 local |
可用的值为 1、2 或 3。缺省值为 1。除了任何池级别的冗余以外,这些副本还用于诸如镜像或 RAID-Z 之类的配置中。
有关使用此属性的更多信息,请参见《Solaris ZFS 管理指南》。
以下功能是在以前的 Solaris OS 发行版中引入的:
ZFS 命令历史记录 (zpool history)-在 Solaris 10 8/07 发行版中,ZFS 会自动记录成功修改池状态信息的 zfs 和 zpool 命令。借助此功能,您或 Sun 技术支持人员可以准确找出为排除错误情形而执行的 ZFS 命令。
改进的存储池状态信息 (zpool status)-在 Solaris 10 8/07 发行版中,可以使用 zpool status -v 命令显示具有持久性错误的文件的列表。以前,必须使用 find -inum 命令从显示的 inode 列表中识别文件名。
ZFS 和 Solaris iSCSI 改进-在 Solaris 10 8/07 发行版中,可以通过对 ZFS 卷设置 shareiscsi 属性将该 ZFS 卷创建为 Solaris iSCSI 目标设备。此方法是快速设置 Solaris iSCSI 目标的便捷途径。例如:
# zfs create -V 2g tank/volumes/v2 # zfs set shareiscsi=on tank/volumes/v2 # iscsitadm list target Target: tank/volumes/v2 iSCSI Name: iqn.1986-03.com.sun:02:984fe301-c412-ccc1-cc80-cf9a72aa062a Connections: 0 |
创建 iSCSI 目标后,应设置 iSCSI 启动器。有关设置 Solaris iSCSI 启动器的信息,请参见《系统管理指南:设备和文件系统》中的第 15 章 “配置 Solaris iSCSI 启动器(任务)”。
有关将 ZFS 卷作为 iSCSI 目标进行管理的更多信息,请参见《Solaris ZFS 管理指南》。
ZFS 属性改进
ZFS xattr 属性-在 Solaris 10 8/07 发行版中,可以使用 xattr 属性为特定的 ZFS 文件系统禁用或启用扩展属性。缺省值为 on。
ZFS canmount 属性-在 Solaris 10 8/07 发行版中,可以使用 canmount 属性指定是否可以通过 zfs mount 命令挂载数据集。
ZFS 用户属性-在 Solaris 10 8/07 发行版中,ZFS 不但支持可导出内部统计信息或控制 ZFS 文件系统行为的标准本机属性,而且支持用户属性。用户属性对 ZFS 行为没有影响,但可通过用户环境中有意义的信息来注释数据集。
创建 ZFS 文件系统时设置属性-在 Solaris 10 8/07 发行版中,除了在创建文件系统之后设置属性外,还可以在创建文件系统时设置属性。
以下示例演示了等效的语法:
# zfs create tank/home # zfs set mountpoint=/export/zfs tank/home # zfs set sharenfs=on tank/home # zfs set compression=on tank/home |
或者,在创建文件系统时设置属性。
# zfs create -o mountpoint=/export/zfs -o sharenfs=on -o compression=on tank/home |
显示所有 ZFS 文件系统信息-在 Solaris 10 8/07 发行版中,可以使用多种形式的 zfs get 命令来显示有关所有数据集的信息(如果未指定数据集)。在以前的发行版中,使用 zfs get 命令无法获取所有数据集信息。
例如:
# zfs get -s local all tank/home atime off local tank/home/bonwick atime off local tank/home/marks quota 50G local |
新的 zfs receive -F 选项-在 Solaris 10 8/07 发行版中,可以在 zfs receive 命令中使用新的 -F 选项,强制文件系统回滚到执行接收操作之前的最新快照。如果在发生回滚和启动接收操作之间的时间内修改了文件系统,可能需要使用此选项。
递归 ZFS 快照-在 Solaris 10 11/06 发行版中,可以使用递归快照。使用 zfs snapshot 命令创建文件系统快照时,可以使用 -r 选项为所有后续文件系统递归创建快照。此外,在销毁快照时,还可使用 -r 选项递归销毁所有后续快照。
双奇偶校验 RAID-Z (raidz2)-在 Solaris 10 11/06 发行版中,复制的 RAID-Z 配置现在可以采用单奇偶校验或双奇偶校验。这意味着,可以分别承受一个或两个设备故障,而不会丢失任何数据。可以为双奇偶校验 RAID-Z 配置指定 raidz2 关键字。或者,可以指定 raidz 或 raidz1 关键字以使用单奇偶校验 RAID-Z 配置。
ZFS 存储池设备的热备件-从 Solaris 10 11/06 发行版开始,可以使用 ZFS 热备件功能来标识磁盘,这些磁盘可用于替换一个或多个存储池中出现故障的设备。指定一个设备作为热备件,意味着如果池中的某一活动设备发生故障,热备件将自动替换该故障设备。或者,也可以用热备件手动替换存储池中的设备。
使用 ZFS 克隆替换 ZFS 文件系统 (zfs promote)-在 Solaris 10 11/06 发行版中,借助 zfs promote 命令,您可以使用现有 ZFS 文件系统的克隆替换该文件系统。当您要在备用版本的文件系统上运行测试而后使其成为活动文件系统时,此功能将很有帮助。
ZFS 和区域改进-在 Solaris 10 11/06 发行版中,对 ZFS 和区域的交互进行了改进。在安装了区域的 Solaris 系统中,可以使用 zoneadm clone 功能在系统上将数据从现有源 ZFS zonepath 复制到目标 ZFS zonepath。不能使用 ZFS 克隆功能来克隆非全局区域。必须使用 zoneadm clone 命令。有关更多信息,请参见《系统管理指南:Solaris Containers-资源管理和 Solaris Zones》。
升级 ZFS 存储池 (zpool upgrade)-从 Solaris 10 6/06 发行版开始,可以通过 zpool upgrade 命令将存储池升级到较新的版本,以便利用最新的功能。此外,zpool status 命令已经修改,可在池运行较早的版本时发出通知。
清除设备错误-从 Solaris 10 6/06 发行版开始,可以使用 zpool clear 命令清除与某个设备或池相关的错误计数。以前,错误计数是在使用 zpool online 命令使池中的设备联机时清除的。
恢复已销毁的池-在 Solaris 10 6/06 发行版中,借助 zpool import -D 命令,您可以恢复以前使用 zpool destroy 命令销毁的池。
重命名了 ZFS 备份和恢复命令-在 Solaris 10 6/06 发行版中,zfs backup 和 zfs restore 命令已重命名为 zfs send 和 zfs receive,以便更准确地描述其功能。这些命令的功能是保存和恢复 ZFS 数据流表示。
紧凑 NFSv4 ACL 格式-从 Solaris 10 6/06 发行版开始,有三种 NFSv4 ACL 格式可供使用:详细格式、位置格式和紧凑格式。新增的紧凑和位置 ACL 格式可用于设置和显示 ACL。可以使用 chmod 命令设置所有三种 ACL 格式。可以使用 ls -V 命令显示紧凑 ACL 格式和位置 ACL 格式,使用 ls -v 命令显示详细 ACL 格式。
临时使设备脱机-从 Solaris 10 6/06 发行版开始,可以使用 zpool offline -t 命令临时使设备脱机。重新引导系统时,该设备将自动返回到 ONLINE 状态。
ZFS 与 Fault Manager 集成-从 Solaris 10 6/06 发行版开始,提供了一个 ZFS 诊断引擎,该引擎可诊断并报告池故障和设备故障。此外,还可报告与池或设备故障相关的校验和、I/O 和设备错误。诊断错误信息会写入到控制台和 /var/adm/messages 文件中。另外,还可使用 zpool status 命令显示有关从已报告错误中恢复的详细信息。
有关这些改进和变化的更多信息,请参见《Solaris ZFS 管理指南》。
有关相关 ZFS 功能的信息,请参见以下新增功能小节:
以下 Solaris 安装工具已在 Solaris 10 10/08 发行版中得到增强,可以支持 ZFS 文件系统:
Solaris 交互式文本安装程序,用于安装 UFS 或 ZFS 根文件系统。在 Solaris 10 10/08 发行版中,缺省文件系统仍为 UFS。
自定义 JumpStart 功能,用于设置配置文件,以创建 ZFS 存储池并指定可引导的 ZFS 文件系统。
使用 SolarisTM Live Upgrade 功能将 UFS 根文件系统迁移到 ZFS 根文件系统。lucreate 和 luactivate 命令已得到增强,可支持 ZFS 池和文件系统。lustatus 和 ludelete 命令的工作方式与在以前的 Solaris 发行版中一样。
通过在安装期间选择两个磁盘来设置镜像 ZFS 根池。或者,可以通过在安装后附加或添加其他磁盘来创建镜像 ZFS 根池。
在 ZFS 根池中的 ZFS 卷上自动创建交换和转储设备。
有关更多信息,请参见《Solaris ZFS 管理指南》。
对于以前的 Solaris 10 发行版,请参见 Solaris 安装工具对于 ZFS 文件系统的以下有限支持:
自定义 JumpStart-JumpStart 配置文件中不能包含 ZFS 文件系统。但是,您可以从 ZFS 存储池运行以下脚本来设置安装服务器或安装客户机:
setup_install_server
add_install_server
add_install_client
Live Upgrade-保留初始引导环境并跨 ZFS 存储池传输至新的环境中。当前,不能将 ZFS 用作可引导根文件系统,因此现有 ZFS 文件系统不会复制到引导环境中。
Solaris 初始安装-在初始安装过程中不能识别 ZFS 文件系统。但是,如果未指定任何包含安装时所要使用的 ZFS 存储池的磁盘设备,您应该能够在安装后通过使用 zpool import 命令恢复存储池。有关更多信息,请参见 zpool(1M) 手册页。
与大多数重新安装情形一样,您应该先备份 ZFS 文件,再使用初始安装选项继续执行安装操作。
Solaris 升级-将保留 ZFS 文件系统和存储池。
SunVTSTM 7.0 Patch Set 3 沿用传统的三层体系结构模型,该模型包括一个基于浏览器的用户界面、一个基于 JavaTM 技术的中间服务器和一个诊断代理。SunVTS Patch Set 3 具有以下增强功能:
磁盘和网络测试提供设备选择和取消选择功能。
基于浏览器的 UI 和 TTY UI 提供对逻辑测试 (logical test, LT) 选项中的复选框的支持。
fputest 和高速缓存测试已针对 x86 平台得以增强。
disktest 已更新,且不对文件系统分区执行任何写入测试。
有关 SunVTS 的更多信息,请访问 http://docs.sun.com/app/docs/prod/test.validate。
从 Solaris 10 10/08 发行版开始,显示旋转计数(旋转次数)的 DTrace lockstat 探测器现在会返回旋转时间(以纳秒为单位)。lockstat 提供器接口和 lockstat 命令选项未更改。
Solaris 10 10/08 发行版中添加了以下系统资源功能和增强功能。
Solaris 10 10/08 发行版提供以下 Solaris Zones 增强功能:
在进行附加操作时进行更新-如果新主机具有相同版本或更高版本的与区域有关的软件包及其关联修补程序,则使用带有 -u 选项的 zoneadm attach 命令可更新区域中的那些软件包以匹配新主机。如果与源主机相比较,新主机混合使用较高版本和较低版本的软件包和修补程序,则不允许在附加操作期间进行更新。此选项也可启用计算机类之间的自动迁移,例如从 sun4u 到 sun4v。
有关更多信息,请参见 zoneadm(1M) 手册页和《系统管理指南:Solaris Containers-资源管理和 Solaris Zones》。
在共享 IP 区域中设置缺省路由器的功能-已针对共享 IP 非全局区域,在 zonecfg 实用程序的网络资源中添加了 defrouter 属性。您可以通过此属性为网络接口设置缺省路由器。
有关更多信息,请参见 zonecfg(1M) 手册页和《系统管理指南:Solaris Containers-资源管理和 Solaris Zones》。
允许使用 ZFS 区域路径-从 Solaris 10 10/08 发行版开始,区域路径可以位于 ZFS 上,并且可以升级系统。对于在 ZFS 上具有区域路径的区域,只能使用 Solaris Live Upgrade 来升级系统。有关更多信息,请参见《系统管理指南:Solaris Containers-资源管理和 Solaris Zones》。
在基于 x86 的系统上,所有 Solaris 安装方法(包括 Solaris Live Upgrade)现在均使用 findroot 命令来指定要引导哪个磁盘片。以前,使用根命令 root (hd0.0.a) 来明确指定要引导哪个磁盘片。此信息位于 GRUB 使用的 menu.lst 文件中。该项在 menu.lst 文件中的最常见格式为:
findroot (rootfs0,0,a) kernel$ /platform/i86pc/kernel/$ISADIR/unix module$ /platform/i86pc/$ISADIR/boot_archive |
findroot 命令能够搜索目标磁盘,无论引导设备为何。此外,fi1ndroot 命令还针对引导具有 ZFS 根的系统以及具有 UFS 根的系统提供增强的支持。除了 findroot 命令以外,现在还提供片上签名文件的名称 (<mysign>, 0, a)。引导签名位于系统上的 /boot/grub/bootsign 目录中。签名文件的名称随所使用的安装方法而异。
有关更多信息,请参见《系统管理指南:基本管理》中的“findroot 命令的实现”。
从 Solaris 10 10/08 发行版开始,Solaris 64 位操作系统支持最多可在 x86 平台上使用 256 个处理器。以前的 Solaris OS 发行版仅支持在 64 位模式下的 x86 平台上最多使用 64 个处理器。
支持 256 个处理器将给用户带来以下好处:
用户可在其最多配备有 256 个处理器的现有 x86 系统上使用此 Solaris 发行版。
用户将来升级至配备 64 个以上处理器的计算机时,不需要升级其 OS。
使用此 Solaris 发行版的用户在购买更大型的计算机时,将能够保留其完整的软件堆栈(包括操作系统)。
Solaris 10 10/08 发行版中添加了以下系统性能功能和增强功能。
Solaris SPARC 引导过程已进行了重新设计,以便增加与 Solaris x86 引导体系结构的共同性。
改进的 Solaris 引导体系结构将直接引导、基于 RAM 磁盘 (ramdisk) 的引导以及 RAM 磁盘 (ramdisk) miniroot 引入 SPARC 平台。这些启用技术支持以下功能:
从其他文件系统类型引导系统。例如,ZFS 文件系统。
从 DVD、NFS 或 HTTP 引导单个 miniroot 以进行软件安装
其他改进包括显著缩短了引导时间、增加了灵活性,以及降低了维护要求。
作为此体系结构重新设计的一部分,Solaris 引导归档文件和 bootadm 命令(以前只能在 Solaris x86 平台上使用)现在已成为 Solaris SPARC 引导体系结构的不可或缺的组成部分。
SPARC 和 x86 引导体系结构之间的主要差别在于在引导时如何选择引导设备和文件。基于 SPARC 的系统继续使用 OpenBoot PROM (OBP) 作为主要管理界面,并且使用 OBP 命令选择引导选项。在基于 x86 的平台上,这些选项是通过 BIOS 和 GRand Unified Bootloader (GRUB) 菜单选择的。
在 Solaris 10 10/08 发行版中,直接装入和引导 UNIX 内核的功能仅在 SPARC 平台上可用。x86 平台继续使用多引导引导样式。
尽管 Solaris SPARC 引导的实现已进行了更改,但并没有影响用于引导基于 SPARC 的系统的管理过程。系统管理员所执行的引导任务与重新设计引导体系结构之前相同。
有关更多信息,请参见以下内容:
bootadm(1M) 和 boot(1M) 手册页
有关引导 Solaris 的说明,请参见《系统管理指南:基本管理》中的第 12 章 “引导 Solaris 系统(任务)”
内核现在将检测现有 Intel SSSE3、SSE4.1、SSE4.2 和 AMD SSE4A 指令集是否存在。此功能可用于装入和执行需要这些硬件功能的程序。dis(1) 现在支持从这些指令集扩展中分解指令。
有关给定二进制文件的硬件功能要求列表,请参见 file(1) 命令。有关给定计算机上的装载器支持的硬件功能列表,请参见 isainfo(1)。
Solaris 10 10/08 发行版中添加了以下联网功能和增强功能。
此功能强制要求两个或更多个人通过 Solaris Management Console (SMC) 来管理用户。职责分离将按规则强制进行实施。系统管理员角色负责创建用户,但不能指定口令和权限。安全管理员角色负责指定口令和权限,但不能创建用户。
职责分离是政府客户的一项鉴定要求。SMC 现在支持此功能,并且可以更轻松地实现安全级别认证。
此功能根据 SHA256 和 SHA512 摘要算法提供了另外一对 crypt(3C) 插件。此插件提供使用 FIPS 140-2 认可的算法的 crypt(3C) 散列,而停止使用基于 MD5 的散列。
pam_list 模块提供用于根据用户和网络组列表在特定主机上验证用户帐户的功能。此模块可用作通过 passwd_compat 模式进行帐户验证的快速替代方式。
有关更多信息,请参见 pam_list(5) 手册页。
Solaris 10 10/08 发行版中添加了以下桌面功能和增强功能。
从 Solaris 10 10/08 发行版开始,Solaris OS 中随附了 Adobe® Reader 8.1.2。新版本的 Adobe Reader 包含许多新功能,其中包括显著改进的用户界面、支持共享审阅以及多个安全修复。
有关更多详细信息,请访问 http://blogs.adobe.com/acroread/2008/02/adobe_reader_812_for_linux_and.html。
从 Solaris 10 10/08 发行版开始,Solaris OS 会随附 Adobe Flash Player 9.0.124.0。此版本的 Flash Player 中包含以下新功能:
H.264 视频和 HE-AAC 音频编解码器支持
Solaris OS 的全屏模式
由于具备多核支持、硬件和图像比例缩放、多线程视频解码、Flash Player 高速缓存和 Flash Media Server 缓冲等功能,从而改善了性能
有关更多信息,请访问 http://www.adobe.com/products/flashplayer/productinfo/features/。
Solaris 10 10/08 发行版中添加了以下联网功能和增强功能。
会话描述协议 (Session Description Protocol, SDP) RFC 4566 用于为会话通知、会话邀请以及其他形式的多媒体会话启动提供多媒体会话描述。SDP 可将介质详细信息(如类型和编码、传输协议、会话名称、用途、所有者和其他会话描述元数据)传达给参与者。
libcommputil(3LIB) 库提供了用于解析 SDP 描述和检查语法一致性的公共接口。此库还包含用于生成 SDP 消息并将消息换转为字节字符串的接口。SDP 主要由会话启动协议 (Session Initiation Protocol, SIP) 使用。使用 libcommputil(3LIB) 库,Solaris SIP 开发者可以利用这些接口在 Solaris 平台上开发 SIP 应用程序。
有关更多信息,请参见 libcommputil(3LIB) 手册页。
Solaris SIP 堆栈现在为 SIP 应用程序开发者提供以下两项新功能:
端对端流量测量-端对端流量测量功能可以跟踪以下活动。
堆栈发送和接收的字节总数
发送和接收的 SIP 请求和响应总数
发送和接收的 SIP 请求数(按方法细分)
发送和接收的 SIP 响应数(按响应代码细分)
SIP 对话或事务日志记录-SIP 日志记录功能可以启用和禁用对话或事务日志记录。终止对话或事务时,在对话或事务中交换的所有 SIP 消息都会被捕获并存储在应用程序提供的日志文件中。SIP 日志记录功能可帮助开发者进行呼叫跟踪和调试。
Solaris 10 10/08 发行版中添加了以下设备管理功能和增强功能。
从 Solaris 10 10/08 发行版开始,Solaris OS 包括一种新的设备弃用机制,可借助故障管理框架 (fault management framework, FMA) 在设备发生故障时加以隔离。通过此功能,可以安全地自动禁用故障设备,从而避免数据丢失、数据损坏、紧急情况和系统停机。弃用过程安全地执行,考虑弃用设备后的系统稳定性。
永远不会弃用关键设备。如果需要手动更换弃用的设备,除了执行手动更换步骤以外,还应在更换设备后使用 fmadm repair 命令,以便系统了解设备已被更换。
fmadm 修复过程如下所示:
使用 fmadm faulty -a 命令确定故障设备。
# fmadm faulty STATE RESOURCE / UUID -------- --------------------------------------------------------------------- faulty <fmri> |
使用 fmadm repair 命令清除故障。
# fmadm repair <fmri> |
再次运行 fmadm faulty 命令以确保故障已被清除。
# fmadm faulty -a STATE RESOURCE / UUID |
有关更多信息,请参见 fmadm(1M)。
有关设备弃用的一般消息显示在控制台上,并将被写入 /var/adm/messages 文件中,以使您可以了解弃用的设备。例如:
Aug 9 18:14 starbug genunix: [ID 751201 kern.notice] NOTICE: One or more I/O devices have been retired |
可以使用 prtconf 命令来标识特定的弃用设备。例如:
# prtconf . . . pci, instance #2 scsi, instance #0 disk (driver not attached) tape (driver not attached) sd, instance #3 sd, instance #0 (retired) scsi, instance #1 (retired) disk (retired) tape (retired) pci, instance #3 network, instance #2 (driver not attached) network, instance #3 (driver not attached) os-io (driver not attached) iscsi, instance #0 pseudo, instance #0 . . . |
从 Solaris 10 10/08 发行版开始,Hitachi 可调整模块化存储 (Adaptable Modular Storage, AMS) 和 Hitachi 工作组模块化存储 (Workgroup Modular Storage) 系统已与 MPxIO 进行了集成。双控制器可调整模块化存储 (Adaptable Modular Storage) 和工作组模块化存储 (Workgroup Modular Storage) 模型可以完全利用 MPxIO 环境中的多条路径。此外,借助此项支持,还可以在 Sun Cluster 环境中对 Hitachi 存储系统实现 MPxIO 的全部功能。
Solaris 10 10/08 发行版中添加了以下驱动程序功能和增强功能。
nv_sata 是一个具有热插拔功能的 SATA HBA 驱动程序,适用于 NVIDIA ck804/mcp55 和兼容的 SATA 控制器。
有关更多信息,请参见 nv_sata(7D) 手册页。
新的 LSI mega_sas 驱动程序支持以下控制器:
Dell PERC 5/E、5/i、6/E 和 6/i RAID 控制器
IBM ServeRAID-MR10k SAS/SATA 控制器
LSI MegaRAID SAS 8308ELP、8344ELP、84016E、8408ELP、8480ELP、8704ELP、8704EM2、8708ELP、8708EM2、8880EM2 和 8888ELP 控制器
mega_sas 驱动程序支持以下 RAID 功能:
RAID 级别 0、1、5 和 6,以及 RAID 跨接 (span) 10、50 和 60
联机容量扩展 (Online capacity expansion, OCE)
联机 RAID 级别迁移 (RAID Level Migration, RLM)
在阵列重新生成或重新构造 (OCE/RLM) 期间,系统断电后自动恢复
可配置分散读写大小最大为 1 MB
对后台数据完整性进行一致性检查
巡查读取 (Patrol read) 以进行介质扫描和修复
64 逻辑驱动器支持
多达 64TB 逻辑单元号 (logical unit number, LUN) 支持
自动重新生成
全局和专用热备件支持
有关 LSI MegaRAID 产品的更多信息,请访问 http://www.lsi.com/storage_home/products_home/internal_raid/megaraid_sas/index.html Web 站点。
从 Solaris 10 10/08 发行版开始,ixgbe 驱动程序已与 Solaris OS 集成。ixgbe 是一种 10 千兆位 PCI Express 以太网驱动程序,支持 Intel 82598 10 千兆位以太网控制器。
从 Solaris 10 10/08 发行版开始,Adaptec Advanced RAID 控制器的 HBA 驱动程序 aac 现在支持 SPARC 平台。
有关更多信息,请参见 aac(7D) 手册页。
Solaris 10 10/08 发行版中添加了以下其他软件功能和增强功能。
Perl 数据库接口 (Database Interface, DBI) 是用于与特定数据库后端进行对话的通用数据库接口。DBD::Pg 是一个 PostgreSQL 驱动程序,它可以使 Perl 应用程序通过 DBI 与 PostgreSQL 数据库进行交互。
有关更多信息,请参见以下内容:
PostgreSQL 是一种高级的开源关系数据库管理系统 (Relational Database Management System, RDBMS)。PostgreSQL 8.3 版本的重要功能包括集成的文本搜索、XML 支持,以及许多方面的性能改进。
有关更多信息,请访问社区 Web 站点 http://www.postgresql.org/。
Solaris 10 10/08 发行版中已添加了以下语言支持功能。
韩文 LE(Language Engine,语言引擎)是新的韩文输入方法,可以增强用户体验。韩文 LE 具有以下特性:
用户友好的 GUI
更便利的韩文或韩文汉字输入功能
有关更多信息,请参见韩文 LE 帮助。
Solaris 10 10/08 发行版中添加了以下免费软件功能和增强功能。
C-URL 是一种实用程序库,可提供对最常见 Internet 协议(如 HTTP、FTP、TFTP、SFTP 和 TELNET)的编程式访问。C-URL 也广泛用于多种应用程序中。
有关更多信息,请访问 http://curl.haxx.se/。
Libidn 提供了 Stringprep (RFC 3454)、Nameprep (RFC 3491)、Punycode (RFC 3492) 和 IDNA (RFC 3490) 规范的实现方式。此库还向 Solaris OS 提供新的功能及工具。
有关更多信息,请访问以下资源:
LibGD 是一种图形转换和处理实用程序库。此库广泛用于基于 Web 的应用程序框架中。LibGD 的命令行实用程序提供易于使用的图形转换功能。
有关更多信息,请访问 http://www.libgd.org/。
TIDY 是一种 HTML 解析器。此解析器是与 lint(1) 等效的 HTML 解析器。TIDY 在验证静态和动态 HTML 页面的准确性时非常有用。
有关更多信息,请访问 http://tidy.sourceforge.net/。