mirror
:-f
强制销毁池。这可能会导致在这些数据集上有已打开文件的应用程序的未定义行为。zpool attach
将磁盘附加到现有的 vdev 上,或者用 zpool add
将 vdev 添加到池中。有些 vdev 类型 允许在创建后向 vdev 添加磁盘。zpool attach
向 vdev 添加一个新磁盘,创建一个镜像。也可以使用 zpool attach
向镜像组添加新的磁盘,增加冗余度和读取性能。当对用于池的磁盘进行分区时,将第一个磁盘的布局复制到第二个磁盘上。使用 gpart backup
和 gpart restore
来使这个过程更容易。status
输出显示池中每个设备的配置和状态,以及整个池的状态。还显示了要采取的操作和关于最后一次 scrub 的详细信息。zpool clear mypool
来清除错误信息并重置计数。清除错误状态对自动脚本很重要,这些脚本在池遇到错误的时候会提醒管理员。如果不清除旧的错误,脚本可能无法报告进一步的错误。zpool replace
提供新的设备名称参数。zpool replace
替换一个故障磁盘:scrub
时要避开高需求期,或者使用 vfs.zfs.scrub_delay
来调整 scrub
的相对优先级,以免拖累其他工作负载。zpool scrub -s mypool
以取消刷新操作。警告这是一个危险的操作,可能会破坏重要的数据,这里仅作示范。在存储池的正常操作中,不要尝试它。这个故意破坏的例子也不应该在任何不使用 ZFS 文件系统的磁盘或分区上运行。不要使用不在池中的任何其他磁盘设备名称。在运行该命令之前,请确保有适当的存储池备份,并对其进行测试!
CKSUM
列包含一个非零值的设备。zpool status
的 (repairing)
输出显示。操作完成后,池的状态变成:zpool online -e
开始扩展。在扩展所有设备后,额外的空间就成为池的可用空间。zpool export -f
来强制导出池。使用这个方法时要注意。数据集被强制卸载,可能会导致在这些数据集上有已打开文件的应用程序出现意外行为。zpool import -o
为这个特定的导入设置临时属性。zpool import altroot=
允许导入一个具有基本挂载点而不是文件系统根目录的池。如果这个池最后是在不同的系统上使用,并且没有被正确导出,请使用 zpool import -f
强制导入。 zpool import -a
会导入所有看起来没有被其他系统使用的池。Feature Flags
。zpool upgrade
完成之前,ZFS 的较新功能将无法使用。使用 zpool upgrade -v
查看升级提供哪些新功能,以及哪些功能已经被支持。警告: 在从池中启动的系统上更新启动代码,以支持新的池版本。在包含启动代码的分区上使用gpart bootcode
。根据系统启动的方式,有两种类型的引导码可用。GPT(最常见的选项)和 EFI(用于更现代的系统)。 对于使用 GPT 的传统启动,使用以下命令:1# gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada1Copied!对于使用 EFI 启动的系统,执行以下命令:1# gpart bootcode -p /boot/boot1.efifat -i 1 ada1Copied!
zpool history
。zpool
和 zfs
命令,以及一个时间戳。像 zfs list
这样的命令不包括在内。当没有指定池的名称时,ZFS 显示所有池的历史。-i
或 -l
选项时,zpool history
可以显示更多信息。-i
显示用户发起的事件以及内部记录的 ZFS 事件。-l
显示更多细节。以显示长格式的历史记录,包括发出命令的用户名称和发生变化的主机名等信息。root
用户用磁盘 /dev/ada0 和 /dev/ada1 创建了镜像池。主机名 myzfsbox
也显示在池创建后的命令中。当从一个系统导出池并导入另一个系统时,主机名的显示变得很重要。可以通过每条命令记录的主机名来区分其他系统上发出的命令。zpool history
中,可以为任何给定的池提供最详细的信息。当追踪所执行的操作或需要更详细的输出进行调试时,池的历史记录提供宝贵的信息。Ctrl
+C
停止这种连续监测。在间隔时间之后,在命令行中给出第二个数字,以指定要显示的统计数字的总数。-v
显示更详细的 I/O 统计数据。池中的每个设备都会出现一个统计行。这对于查看每个设备上执行的读写操作很有用,可以帮助确定是否有任何单个设备拖累池子。这个例子显示一个有两个设备的镜像池。-n
对该操作进行模拟运行。这将显示所请求的操作的细节,而不实际执行。这有助于确认该操作将完成用户的意图。