管理 ZFS 存储池( 四 )


不能出于备份目的而分割或中断镜像 。对于此功能,已经申请了 RFE(请求提高) 。
创建 RAID-Z 存储池
创建单奇偶校验 RAID-Z 池与创建镜像池基本相同,不同之处是使用 raidz 或 raidz1 关键字而不是 mirror 。以下示例说明如何创建一个包含由 5 个磁盘组成的单个 RAID-Z 设备的池:
# zpool create tank raidz c1t0d0 c2t0d0 c3t0d0 c4t0d0 /dev/dsk/c5t0d0
本示例表明可以使用全路径指定相应的磁盘 。/dev/dsk/c5t0d0 设备与 c5t0d0 设备相同 。
可以使用磁盘片创建类似的配置 。例如:
# zpool create tank raidz c1t0d0s0 c2t0d0s0 c3t0d0s0 c4t0d0s0 c5t0d0s0
但是,必须预先格式化磁盘,使其包含适当大小的片 0 。
可在创建池时使用 raidz2 关键字来创建双奇偶校验 RAID-Z 配置 。例如:
# zpool create tank raidz2 c1t0d0 c2t0d0 c3t0d0
# zpool status -v tank
 pool: tank
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
tank ONLINE0 0 0
 raidz2 ONLINE0 0 0
c1t0d0ONLINE0 0 0
c2t0d0ONLINE0 0 0
c3t0d0ONLINE0 0 0
errors: No known data errors
目前,ZFS RAID-Z 配置中支持以下操作:
向现有 RAID-Z 配置中添加用于其他顶层 vdev 的另一组磁盘 。
只要可供替换的磁盘大于或等于要被替换的设备,便可替换现有 RAID-Z 配置中的一个或多个磁盘 。
目前,RAID-Z 配置中不支持以下操作:
向现有 RAID-Z 配置中附加其他磁盘 。
从 RAID-Z 配置中分离磁盘 。
不能从 RAID-Z 配置中彻底删除设备 。对于此功能,已经申请了 RFE(请求提高) 。
处理 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 命令销毁池 。
以下使用情况检查用作帮助性警告,并可以使用 -f 选项进行覆盖以创建池:
包含文件系统
磁盘包含已知的文件系统,尽管该系统未挂载并且看起来未被使用 。
卷的一部分
磁盘是 SVM 卷的一部分 。
实时升级
正在将磁盘用作 Solaris Live Upgrade 的替换引导环境 。
导出的 ZFS 池的一部分
磁盘是已导出的或者从系统中手动删除的存储池的一部分 。如果是后一种情况,则会将池的状态报告为可能处于活动状态,因为磁盘可能是也可能不是由其他系统使用的网络连接驱动器 。覆盖可能处于活动状态的池时请务必谨慎 。

推荐阅读