ZFS 中的新增功能

改进的 zpool status 输出Solaris 10 8/07 发行版:使用 zpool status -v 命令可显示包含持久性错误的文件的列表 。以前,必须使用 find -inum 命令从显示的 inode 列表中标识文件名 。
ZFS 和 Solaris iSCSI 改进Solaris 10 8/07 发行版:在此 Solaris 发行版中,可以通过对 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 启动器 。
ZFS 命令历史记录 (zpool history)Solaris 10 8/07 发行版:在此 Solaris 发行版中,ZFS 会自动记录成功修改池状态信息的 zfs 和 zpool 命令 。例如:
# zpool history
History for 'newpool':
2007-04-25.11:37:31 zpool create newpool mirror c0t8d0 c0t10d0
2007-04-25.11:37:46 zpool replace newpool c0t10d0 c0t9d0
2007-04-25.11:38:04 zpool attach newpool c0t9d0 c0t11d0
2007-04-25.11:38:09 zfs create newpool/user1
2007-04-25.11:38:15 zfs destroy newpool/user1
History for 'tank':
2007-04-25.11:46:28 zpool create tank mirror c1t0d0 c2t0d0 mirror c3t0d0 c4t0d0
借助此功能,用户或 Sun 技术支持人员可以精确确定已执行的 ZFS 命令集,来排除错误情况 。
可以使用 zpool history 命令标识特定存储池 。例如:
# zpool history newpool
History for 'newpool':
History for 'newpool':
2007-04-25.11:37:31 zpool create newpool mirror c0t8d0 c0t10d0
2007-04-25.11:37:46 zpool replace newpool c0t10d0 c0t9d0
2007-04-25.11:38:04 zpool attach newpool c0t9d0 c0t11d0
2007-04-25.11:38:09 zfs create newpool/user1
2007-04-25.11:38:15 zfs destroy newpool/user1
历史记录日志有如下特点:
不能禁用日志 。
日志持久保存在磁盘上,这意味着系统重新引导后,将保存日志 。
日志作为环形缓冲区来实现 。最小大小为 128 KB 。最大大小为 32 MB 。
对于较小的池,日志最大大小限定在池大小的 1%,其中池大小在池创建时确定 。
无需任何管理,这意味着不需要调整日志大小或更改日志位置 。
目前,zpool history 命令不记录 user-ID、hostname 或 zone-name 。
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 发行版:在此 Solaris 发行版中,不但可以在创建文件系统后设置属性,还可以在创建文件系统时设置属性 。
以下示例演示了等效的语法:
# 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 中的新增功能】显示所有 ZFS 文件系统信息Solaris 10 8/07 发行版:在此 Solaris 发行版中,可以使用各种形式的 zfs get 命令来显示有关所有数据集的信息(如果未指定数据集) 。在早期发行版中,使用 zfs get 命令无法获取所有数据集信息 。
例如:
# zfs get -s local all

推荐阅读