Oracle Solaris ZFS 管理指南

检测使用中的设备

格式化设备之前,ZFS 会首先确定 ZFS 或操作系统的某个其他部分是否正在使用磁盘。如果磁盘正在使用,则可能会显示类似以下的错误:


# zpool create tank c1t0d0 c1t1d0
invalid vdev specification
use '-f' to override the following errors:
/dev/dsk/c1t0d0s0 is currently mounted on /. Please see umount(1M).
/dev/dsk/c1t0d0s1 is currently mounted on swap. Please see swap(1M).
/dev/dsk/c1t1d0s0 is part of active ZFS pool zeepool. Please see zpool(1M).

使用 -f 选项可以覆盖其中的一些错误,但是无法覆盖大多数错误。使用 -f 选项无法覆盖下列条件,必须手动对这些错误进行更正:

挂载的文件系统

磁盘或其中一片包含当前挂载的文件系统。要更正此错误,请使用 umount 命令。

/etc/vfstab 中的文件系统

磁盘包含 /etc/vfstab 文件中列出的文件系统,但当前未挂载该文件系统。要更正此错误,请删除或注释掉 /etc/vfstab 文件中的相应行。

专用转储设备

正在将磁盘用作系统的专用转储设备。要更正此错误,请使用 dumpadm 命令。

ZFS 池的一部分

磁盘或文件是活动 ZFS 存储池的一部分。要更正此错误,请使用 zpool destroy 命令来销毁其他池(如果不再需要)。或者,使用 zpool detach 命令将磁盘与其他池分离。您只能将磁盘从镜像存储池中分离。

以下使用情况检查用作帮助性警告,并可以使用 -f 选项进行覆盖以创建池:

包含文件系统

磁盘包含已知的文件系统,尽管该系统未挂载并且看起来未被使用。

卷的一部分

磁盘是 Solaris Volume Manager 卷的一部分。

实时升级

正在将磁盘用作 Oracle Solaris Live Upgrade 的替换引导环境。

导出的 ZFS 池的一部分

磁盘是已导出的或者从系统中手动删除的存储池的一部分。如果是后一种情况,则会将池的状态报告为可能处于活动状态,因为磁盘可能是也可能不是由其他系统使用的网络连接驱动器。覆盖可能处于活动状态的池时请务必谨慎。

以下示例说明如何使用 -f 选项:


# zpool create tank c1t0d0
invalid vdev specification
use '-f' to override the following errors:
/dev/dsk/c1t0d0s0 contains a ufs filesystem.
# zpool create -f tank c1t0d0

理想情况是更正错误,而不是使用 -f 选项覆盖错误。