Oracle Solaris ZFS 管理指南

Procedure如何创建 ZFS 文件系统

  1. 成为超级用户或承担具有适当 ZFS 权限配置文件的等效角色。

    有关 ZFS 权限配置文件的更多信息,请参见ZFS 权限配置文件

  2. 创建所需的分层结构。

    在本示例中,创建了一个可充当各文件系统的容器的文件系统。


    # zfs create tank/home
    
  3. 设置继承的属性。

    建立文件系统分层结构之后,设置需在所有用户之间共享的任何属性:


    # zfs set mountpoint=/export/zfs tank/home
    # zfs set sharenfs=on tank/home
    # zfs set compression=on tank/home
    # zfs get compression tank/home
    NAME             PROPERTY       VALUE                      SOURCE
    tank/home        compression    on                         local

    可在创建文件系统时设置文件系统属性。例如:


    # zfs create -o mountpoint=/export/zfs -o sharenfs=on -o compression=on tank/home
    

    有关属性和属性继承的更多信息,请参见ZFS 属性介绍

    然后,在池 tank 中的 home 文件系统下对各文件系统进行分组。

  4. 创建各文件系统。

    文件系统可能已创建,并可能已在 home 级别更改了属性。所有属性均可在使用文件系统的过程中动态进行更改。


    # zfs create tank/home/bonwick
    # zfs create tank/home/billm
    

    这些文件系统从其父级继承属性值,因此会自动挂载在 /export/zfs/user 中并且通过 NFS 共享。您无需编辑 /etc/vfstab/etc/dfs/dfstab 文件。

    有关创建文件系统的更多信息,请参见创建 ZFS 文件系统

    有关挂载和共享文件系统的更多信息,请参见挂载和共享 ZFS 文件系统

  5. 设置文件系统特定的属性。

    在本示例中,为用户 bonwick 指定了 10 GB 的配额。此属性可对该用户可以使用的空间量施加限制,而无需考虑池中的可用空间大小。


    # zfs set quota=10G tank/home/bonwick
    
  6. 查看结果。

    使用 zfs list 命令查看可用的文件系统信息:


    # zfs list
    NAME                   USED  AVAIL  REFER  MOUNTPOINT
    tank                  92.0K  67.0G   9.5K  /tank
    tank/home             24.0K  67.0G     8K  /export/zfs
    tank/home/billm          8K  67.0G     8K  /export/zfs/billm
    tank/home/bonwick        8K  10.0G     8K  /export/zfs/bonwick

    请注意,用户 bonwick 仅有 10 GB 的可用空间,而用户 billm 则可使用整个池 (67 GB)。

    有关查看文件系统状态的更多信息,请参见查询 ZFS 文件系统信息

    有关磁盘空间的使用和计算方法的更多信息,请参见ZFS 磁盘空间记帐