可以使用 zpool list 命令显示有关池的基本信息。
不带任何参数时,zpool list 命令显示有关系统上所有池的下列信息。
# zpool list NAME SIZE ALLOC FREE CAP HEALTH ALTROOT tank 80.0G 22.3G 47.7G 28% ONLINE - dozer 1.2T 384G 816G 32% ONLINE - |
此命令输出显示以下信息:
池的名称。
池的总大小,等于所有顶层虚拟设备大小的总和。
分配给所有数据集和内部元数据的物理空间量。请注意,此数量与在文件系统级别报告的磁盘空间量不同。
有关确定可用文件系统空间的更多信息,请参见ZFS 磁盘空间记帐。
池中未分配的空间量。
已用磁盘空间量,以总磁盘空间的百分比表示。
池的当前运行状况。
有关池运行状况的更多信息,请参见确定 ZFS 存储池的运行状况。
池的备用根(如有)。
有关备用根池的更多信息,请参见使用 ZFS 备用根池。
# zpool list tank NAME SIZE ALLOC FREE CAP HEALTH ALTROOT tank 80.0G 22.3G 47.7G 28% ONLINE - |
可以使用 -o 选项请求特定的统计信息。使用此选项可以生成自定义报告或快速列出相关信息。例如,要仅列出每个池的名称和大小,可使用以下语法:
# zpool list -o name,size NAME SIZE tank 80.0G dozer 1.2T |
列名称与列出有关所有存储池或特定池的信息中列出的属性相对应。
zpool list 命令的缺省输出旨在提高可读性,因此不能轻易用作 shell 脚本的一部分。为了便于在程序中使用该命令,可以使用 -H 选项以便不显示列标题,并使用制表符而不是空格分隔字段。例如,要请求系统中所有池的名称列表,可以使用以下语法:
# zpool list -Ho name tank dozer |
以下是另一个示例:
# zpool list -H -o name,size tank 80.0G dozer 1.2T |
ZFS 会自动记录成功的 zfs 和 zpool 命令(用于修改池状态信息)。使用 zpool history 命令可显示此信息。
例如,以下语法显示了根池的命令输出:
# zpool history History for 'rpool': 2010-05-11.10:18:54 zpool create -f -o failmode=continue -R /a -m legacy -o cachefile=/tmp/root/etc/zfs/zpool.cache rpool mirror c1t0d0s0 c1t1d0s0 2010-05-11.10:18:55 zfs set canmount=noauto rpool 2010-05-11.10:18:55 zfs set mountpoint=/rpool rpool 2010-05-11.10:18:56 zfs create -o mountpoint=legacy rpool/ROOT 2010-05-11.10:18:57 zfs create -b 8192 -V 2048m rpool/swap 2010-05-11.10:18:58 zfs create -b 131072 -V 1536m rpool/dump 2010-05-11.10:19:01 zfs create -o canmount=noauto rpool/ROOT/zfsBE 2010-05-11.10:19:02 zpool set bootfs=rpool/ROOT/zfsBE rpool 2010-05-11.10:19:02 zfs set mountpoint=/ rpool/ROOT/zfsBE 2010-05-11.10:19:03 zfs set canmount=on rpool 2010-05-11.10:19:04 zfs create -o mountpoint=/export rpool/export 2010-05-11.10:19:05 zfs create rpool/export/home 2010-05-11.11:11:10 zpool set bootfs=rpool rpool 2010-05-11.11:11:10 zpool set bootfs=rpool/ROOT/zfsBE rpool |
您可以使用有关系统的类似输出来确定对错误状况进行故障排除时所执行的确切 ZFS 命令。
历史记录日志有如下特点:
不能禁用日志。
日志持久保存在磁盘上,这意味着系统重新引导后,将保存日志。
日志作为环形缓冲区来实现。最小大小为 128 KB。最大大小为 32 MB。
对于较小的池,日志最大大小的上限设置为池大小的 1%,而池大小是在创建池时确定的。
日志无需任何管理,这意味着不需要调整日志大小或更改日志位置。
要确定特定存储池的命令历史记录,请使用类似以下内容的语法:
# zpool history tank History for 'tank': 2010-05-13.14:13:15 zpool create tank mirror c1t2d0 c1t3d0 2010-05-13.14:21:19 zfs create tank/snaps 2010-05-14.08:10:29 zfs create tank/ws01 2010-05-14.08:10:54 zfs snapshot tank/ws01@now 2010-05-14.08:11:05 zfs clone tank/ws01@now tank/ws01bugfix |
可使用 -l 选项显示长格式(包括用户名、主机名和执行操作的区域)。例如:
# zpool history -l tank History for 'tank': 2010-05-13.14:13:15 zpool create tank mirror c1t2d0 c1t3d0 [user root on neo] 2010-05-13.14:21:19 zfs create tank/snaps [user root on neo] 2010-05-14.08:10:29 zfs create tank/ws01 [user root on neo] 2010-05-14.08:10:54 zfs snapshot tank/ws01@now [user root on neo] 2010-05-14.08:11:05 zfs clone tank/ws01@now tank/ws01bugfix [user root on neo] |
可使用 -i 选项显示可用于诊断目的的内部事件信息。例如:
# zpool history -i tank 2010-05-13.14:13:15 zpool create -f tank mirror c1t2d0 c1t23d0 2010-05-13.14:13:45 [internal pool create txg:6] pool spa 19; zfs spa 19; zpl 4;... 2010-05-13.14:21:19 zfs create tank/snaps 2010-05-13.14:22:02 [internal replay_inc_sync txg:20451] dataset = 41 2010-05-13.14:25:25 [internal snapshot txg:20480] dataset = 52 2010-05-13.14:25:25 [internal destroy_begin_sync txg:20481] dataset = 41 2010-05-13.14:25:26 [internal destroy txg:20488] dataset = 41 2010-05-13.14:25:26 [internal reservation set txg:20488] 0 dataset = 0 2010-05-14.08:10:29 zfs create tank/ws01 2010-05-14.08:10:54 [internal snapshot txg:53992] dataset = 42 2010-05-14.08:10:54 zfs snapshot tank/ws01@now 2010-05-14.08:11:04 [internal create txg:53994] dataset = 58 2010-05-14.08:11:05 zfs clone tank/ws01@now tank/ws01bugfix |