JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris 11.1 管理:ZFS 文件系统     Oracle Solaris 11.1 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

1.  Oracle Solaris ZFS 文件系统(介绍)

2.  Oracle Solaris ZFS 入门

3.  管理 Oracle Solaris ZFS 存储池

4.  管理 ZFS 根池组件

5.  管理 Oracle Solaris ZFS 文件系统

6.  使用 Oracle Solaris ZFS 快照和克隆

7.  使用 ACL 和属性保护 Oracle Solaris ZFS 文件

8.  Oracle Solaris ZFS 委托管理

9.  Oracle Solaris ZFS 高级主题

ZFS 卷

使用 ZFS 卷作为交换设备或转储设备

将 ZFS 卷用作 iSCSI LUN

在安装了区域的 Solaris 系统中使用 ZFS

向非全局区域中添加 ZFS 文件系统

将数据集委托给非全局区域

向非全局区域中添加 ZFS 卷

在区域中使用 ZFS 存储池

在区域内管理 ZFS 属性

了解 zoned 属性

将区域复制到其他系统

使用 ZFS 备用根池

创建 ZFS 备用根池

导入备用根池

10.  Oracle Solaris ZFS 故障排除和池恢复

11.  归档快照和根池恢复

12.  建议的 Oracle Solaris ZFS 做法

A.  Oracle Solaris ZFS 版本说明

索引

ZFS 卷

ZFS 卷是表示块设备的数据集。ZFS 卷被标识为 /dev/zvol/{dsk,rdsk}/pool 目录中的设备。

以下示例将创建 5 GB 的 ZFS 卷 tank/vol

# zfs create -V 5gb tank/vol

创建卷时,会自动设置卷初始大小的预留空间,以防发生意外行为。例如,如果卷大小减小,则可能导致数据受损。更改卷大小时请务必小心。

此外,如果对大小发生更改的卷创建快照,并且尝试回滚该快照或从该快照中创建克隆,则可能会引入不一致性。

有关可应用于卷的文件系统属性的信息,请参见表 5-1

可以使用 zfs getzfs get all 命令显示 ZFS 卷的属性信息。例如:

# zfs get all tank/vol

zfs get 输出中针对 volsize 显示的问号 (?) 表示值未知,这是因为发生了 I/O 错误。例如:

# zfs get -H volsize tank/vol
tank/vol        volsize ?       local 

I/O 错误通常表示池设备有问题。有关解决池设备问题的信息,请参见解决 ZFS 问题

如果使用安装了区域的 Solaris 系统,则不能在非全局区域中创建或克隆 ZFS 卷。试图这样做必定会失败。有关在全局区域中使用 ZFS 卷的信息,请参见向非全局区域中添加 ZFS 卷

使用 ZFS 卷作为交换设备或转储设备

安装 ZFS 根文件系统或从 UFS 根文件系统迁移期间,会在 ZFS 根池中的 ZFS 卷上创建交换设备。例如:

# swap -l
swapfile                  dev    swaplo   blocks     free
/dev/zvol/dsk/rpool/swap 253,3        16  8257520  8257520

安装 ZFS 根文件系统或从 UFS 根文件系统迁移期间,会在 ZFS 根池中的 ZFS 卷上创建转储设备。转储设备在设置后便无需管理。例如:

# dumpadm
      Dump content: kernel pages
       Dump device: /dev/zvol/dsk/rpool/dump (dedicated)
Savecore directory: /var/crash/
  Savecore enabled: yes

如果在安装系统后需要更改交换区域或转储设备,请像在以前的 Solaris 发行版中那样使用 swapdumpadm 命令。如果需要创建其他交换卷,请创建一个特定大小的 ZFS 卷,然后在该设备中启用交换。然后,在 /etc/vfstab 文件中为新交换设备添加一个条目。例如:

# zfs create -V 2G rpool/swap2
# swap -a /dev/zvol/dsk/rpool/swap2
# swap -l
swapfile                   dev  swaplo blocks   free
/dev/zvol/dsk/rpool/swap  256,1      16 2097136 2097136
/dev/zvol/dsk/rpool/swap2 256,5      16 4194288 4194288

在 ZFS 文件系统中,不要交换到文件。不支持 ZFS 交换文件配置。

有关调整交换和转储卷大小的信息,请参见调整 ZFS 交换和转储设备的大小

将 ZFS 卷用作 iSCSI LUN

通过通用多协议 SCSI 目标 (Common Multiprotocol SCSI Target, COMSTAR) 软件框架,可以将任何 Oracle Solaris 主机转换为启动器主机可以通过存储网络访问的 SCSI 目标设备。可以创建和配置要作为 iSCSI 逻辑单元 (LUN) 共享的 ZFS 卷。

首先,安装 COMSTAR 软件包。

# pkg install group/feature/storage-server

接下来,创建要用作 iSCSI 目标的 ZFS 卷,然后创建基于 SCSI 块设备的 LUN。例如:

# zfs create -V 2g tank/volumes/v2
# sbdadm create-lu /dev/zvol/rdsk/tank/volumes/v2
Created the following LU:

              GUID                    DATA SIZE           SOURCE
--------------------------------  -------------------  ----------------
600144f000144f1dafaa4c0faff20001  2147483648           /dev/zvol/rdsk/tank/volumes/v2
# sbdadm list-lu
Found 1 LU(s)

              GUID                    DATA SIZE           SOURCE
--------------------------------  -------------------  ----------------
600144f000144f1dafaa4c0faff20001  2147483648           /dev/zvol/rdsk/tank/volumes/v2

您可以向所有客户机或选定的客户机公开 LUN 视图。确定 LUN GUID,然后共享 LUN 视图。在以下示例中,LUN 视图由所有客户机共享。

# stmfadm list-lu
LU Name: 600144F000144F1DAFAA4C0FAFF20001
# stmfadm add-view 600144F000144F1DAFAA4C0FAFF20001
# stmfadm list-view -l 600144F000144F1DAFAA4C0FAFF20001
View Entry: 0
    Host group   : All
    Target group : All
    LUN          : 0

下一步是创建 iSCSI 目标。有关创建 iSCSI 目标的信息,请参见《Oracle Solaris 11.1 管理:设备和文件系统》中的第 11  章 "使用 COMSTAR 配置存储设备(任务)"

对于用作 iSCSI 目标的 ZFS 卷,其管理方式与任何其他 ZFS 数据集一样,不过,在 ZFS 卷被作为 iSCSI LUN 共享时,您无法重命名数据集、回滚卷快照或者导出池。将显示以下类似消息:

# zfs rename tank/volumes/v2 tank/volumes/v1
cannot rename 'tank/volumes/v2': dataset is busy
# zpool export tank
cannot export 'tank': pool is busy

所有 iSCSI 目标配置信息都存储在数据集内。与 NFS 共享文件系统相似,在其他系统中导入的 iSCSI 目标也会相应进行共享。