JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
Sun ZFS Storage 7000 System Administration Guide
search filter icon
search icon

Document Information

Preface

1.  Introduction

2.  Status

3.  Configuration

4.  Services

5.  Shares

Shares

Introduction

Concepts

Storage Pools

Projects

Shares

Properties

Snapshots

Clones

Shadow Migration

Shadow Data Migration

Traditional Data Migration

Migration via synchronization

Migration via external interposition

Shadow Migration

Shadow migration behavior

Restrictions on shadow source

Shadow filesystem semantics during migration

Identity and ACL migration

Shadow Migration Management

Creating a shadow filesystem

Managing background migration

Handling errors

Monitoring progress

Canceling migration

Snapshots of shadow filesystems

Backing up shadow filesystems

Replicating shadow filesystems

Shadow migration analytics

Shadow migration requests

Shadow migration bytes

Shadow migration operations

Migration of local filesystems

Tasks

Testing potential shadow migration

Migrating data from an active NFS server

Space Management

Introduction

Terms

Space Management Terms

Physical Data

Logical Data

Referenced Data

Snapshot Data

Quota

Reservation

Understanding snapshots

Filesystem and project settings

Data quotas

Data reservations

User and group settings

Viewing current usage

BUI

CLI

User or group quotas

BUI

CLI

Identity management

Filesystem Namespace

Filesystem namespace

Nested mountpoints

Protocol access to mountpoints

NFSv2 / NFSv3

NFSv4

SMB

FTP / FTPS / SFTP

HTTP / HTTPS

Shares

BUI

List of Shares

Editing a Share

Usage Statistics

Available space

Referenced data

Snapshot data

Unused Reservation

Total space

Static Properties

Compression ratio

Case sensitivity

Reject non UTF-8

Normalization

Volume block size

Origin

Data Migration Source

Project Panel

Creating Shares

CLI

Navigation

Share Operations

Properties

General

General Share Properties

Space Usage

Volume size

Thin provisioned

Properties

Mountpoint

Read only

Update access time on read

Non-blocking mandatory locking

Data deduplication

Data compression

Checksum

Cache device usage

Synchronous write bias

Database record size

Additional replication

Virus scan

Prevent destruction

Restrict ownership change

Custom Properties

Protocols

Shares Protocols

NFS

CLI Considerations

Security Modes

Character set encodings

SMB

SCSI

HTTP

FTP

SFTP

Access

Access Control

Root Directory Access

User

Group

Permissions

ACL Behavior

ACL behavior on mode change

ACL inheritance behavior

Root Directory ACL

Snapshots

Introduction

Snapshot Properties

.zfs/snapshot visible

BUI

Listing Snapshots

Taking Snapshots

Renaming a Snapshot

Destroying a Snapshot

Rolling back to a Snapshot

Cloning a Snapshot

Scheduled Snapshots

CLI

Listing Snapshots

Taking Snapshots

Renaming a Snapshot

Destroying a Snapshot

Rolling back to a Snapshot

Cloning a Snapshot

Scheduled Snapshots

Projects

BUI

List of Projects

Editing a Project

Usage Statistics

Available space

Referenced data

Snapshot data

Unused Reservation

Unused Reservation of shares

Total space

Static Properties

Compression ratio

Creating Projects

CLI

Navigation

Project Operations

Selecting a pool in a cluster

Properties

General

General Project Properties

Space Usage

Quota

Reservation

Inherited Properties

Custom Properties

Filesystem Creation Defaults

LUN Creation Defaults

Protocols

Project Protocols

NFS

SMB

iSCSI

HTTP

FTP

Access

Access Control

Inherited ACL Behavior

Snapshots

Introduction

Snapshot Properites

.zfs/snapshot visible

BUI

CLI

Replication

Remote Replication Introduction

Concepts

Terminology

Targets

Actions and Packages

Storage Pools

Project-level vs Share-level Replication

Configuring Replication

Creating and Editing Targets

Creating and Editing Actions

Modes: Manual, Scheduled, or Continuous

Including Intermediate Snapshots

Sending and Canceling Updates

Managing Replication Packages

BUI

CLI

Canceling Replication Updates

Disabling a Package

Cloning a Package or Individual Shares

Exporting Replicated Filesystems

Severing Replication

Reversing the Direction of Replication

Destroying a Replication Package

Examples

Reversing Replication

Remote Replication Details

Authorizations

Alerts

Replication and Clustering

Snapshots and Data Consistency

Snapshot Management

Replicating iSCSI Configuration

Replicating Clones

Observing Replication

Replication Failures

Upgrading From 2009.Q3 and Earlier

Schema

Customized Share Properties

BUI

CLI

Tasks

Create a property to track contact info

6.  Analytics

7.  Integration

Glossary

Shares

BUI

The Shares UI is accessed from "Shares -> Shares". The default view shows shares across all projects on the system.

List of Shares

The default view is a list of all shares on the system. This list allows you to rename shares, move shares between projects, and edit individual shares. The shares are divided into two lists, "Filesystems" and "LUNs," that can be selected by switching tabs on this view. The following fields are displayed for each share:

Field
Description
Name
Name of the share. If looking at all projects, this will include the project name as well. The share name is an editable text field. Clicking on the name will allow you to enter a new name. Hitting return or moving focus from the name will commit the change. You will be asked to confirm the action, as renaming shares requires disconnecting active clients.
Size
For filesystems, this is the total size of the filesystem. For LUNs it is the size of the volume, which may or may not be thinly provisioned. See the usage statistics for more information.
Mountpoint
Mountpoint of the filesystem. This is the path available over NFS, and the relative path for FTP and HTTP. Filesystems exported over SMB only use their resource name, though each still need a unique mountpoint somewhere on the system.
GUID
The SCSI GUID for the LUN. See iSCSI for more information.

The following tools are available for each share:

Icon
Description
image:Move
Move a share to a different project. If the project panel is not expanded, this will automatically expand the panel until the share is dropped onto a project.
image:Edit
Edit an individual share (also accessible by double-clicking the row).
image:Destroy
Destroy the share. You will be prompted to confirm this action, as it will destroy all data in the share and cannot be undone.

Editing a Share

To edit a share, click on the pencil icon or double-click the row in the share list. This will select the share, and give several different tabs to choose from for editing properties of the share. The complete set of functionality can be found in the section for each tab:

The name of the share is presented in the upper left corner to the right of the project panel. The first component of the name is the containing project, and clicking on the project name will navigate to the [[Shares:Projects|project details]]. The name of the share can also be changed by clicking on the share name and entering new text into the input. You will be asked to confirm this action, as it will require disconnecting active clients of the share.

Usage Statistics

On the left side of the view (beneath the project panel when expanded) is a table explaining the current space usage statistics. These statistics are either for a particular share (when editing a share) or for the pool as a whole (when looking at the list of shares). If any properties are zero, then they

are excluded from the table.

Available space

This statistic is implicitly shown as the capacity in terms of capacity percentage in the title. The available space reflects any quotas on the share or project, or the absolute capacity of the pool. The number shown here is the sum of the total space used and the amount of available space.

Referenced data

The amount of data referenced by the data. This includes all filesystem data or LUN blocks, in addition to requisite metadata. With compression, this value may be much less than the logical size of the data contained within the share. If the share is a clone of a snapshot, this value may be less than the physical storage it could theoretically include, and may be zero.

Snapshot data

The amount of space used by all snapshots of the share, including any project snapshots. This size is not equal to the sum of unique space consumed by all snapshots. Blocks that are referenced by multiple snapshots are not included in the per-snapshot usage statistics, but will show up in the share's snapshot data total.

Unused Reservation

If a filesystem has a reservation set, this value indicates the amount of remaining space that is reserved for the filesystem. This value is not set for LUNs. The appliance prevents other shares from consuming this space, guaranteeing the filesystem enough space. If the reservation does not include snapshots, then there must be enough space when taking a snapshot for the entire snapshot to be overwritten. For more information on reservations, see the general properties section.

Total space

The sum of referenced data, snapshot data, and unused reservation.

Static Properties

The left side of the shares view also shows static (create time) properties when editing a particular share. These properties are set at creation time, and cannot be modified once they are set.

Compression ratio

If compression is enabled, this shows the compressions ratio currently achieved for the share. This is expressed as a multiplier. For example, a compression of 2x means that the data is consuming half as much space as the uncompressed contents. For more information on compression and the available algorithms, see the general properties section.

Case sensitivity

Controls whether directory lookups are case-sensitive or case-insensitive. It supports the following options:

BUI Value
CLI Value
Description
Mixed
mixed
Case sensitivity depends on the protocol being used. For NFS, FTP, and HTTP, lookups are case-sensitive. For SMB, lookups are case-insensitive. This is default, and prioritizes conformance of the various protocols over cross-protocol consistency. When using this mode, it's possible to create files that are distinct over case-sensitive protocols, but clash when accessed over SMB. In this situation, the SMB server will create a "mangled" version of the conflicts that uniquely identify the filename.
Insensitive
insensitive
All lookups are case-insensitive, even over protocols (such as NFS) that are traditionally case-sensitive. This can cause confusion for clients of these protocols, but prevents clients from creating name conflicts that would cause mangled names to be used over SMB. This setting should only be used where SMB is the primary protocol and alternative protocols are considered second-class, where conformance to expected standards is not an issue.
Sensitive
sensitive
All lookups are case-sensitive, even over SMB where lookups are traditionally case-insensitive. In general, this setting should not be used because the SMB server can deal with name conflicts via mangled names, and may cause Windows applications to behave strangely.
Reject non UTF-8

This setting enforces UTF-8 encoding for all files and directories. When set, attempts to create a file or directory with an invalid UTF-8 encoding will fail. This only affects NFSv3, where the encoding is not defined by the standard. NFSv4 always uses UTF-8, and SMB negotiates the appropriate encoding. This setting should normally be "on", or else SMB (which must know the encoding in order to do case sensitive comparisons, among other things) will be unable to decode filenames that are created with and invalid UTF-8 encoding. This setting should only be set to "off" in pre-existing NFSv3 deployments where clients are configured to use different encodings. Enabling SMB or NFSv4 when this property is set to "off" can yield undefined results if a NFSv3 client creates a file or directory that is not a valid UTF-8 encoding. This property must be set to "on" if the normalization property is set to anything other than "none".

Normalization

This setting controls what unicode normalization, if any, is performed on filesystems and directories. Unicode supports the ability to have the same logical name represented by different encodings. Without normalization, the on-disk name stored will be different, and lookups using one of the alternative forms will fail depending on how the file was created and how it is accessed. If this property is set to anything other than "none" (the default), the "Reject non UTF-8" property must also be set to "on". For more information on how normalization works, and how the different forms work, see the Wikipedia entry on unicode normalization.

BUI Value
CLI Value
Description
None
none
No normalization is done.
Form C
formC
Normalization Form Canonical Composition (NFC) - Characters are decomposed and then recomposed by canonical equivalence.
Form D
formD
Normalization Form Canonical Decomposition (NFD) - Characters are decomposed by canonical equivalence.
Form KC
formKC
Normalization Form Compatibility Composition (NFKC) - Characters are decomposed by compatability equivalence, then recomposed by canonical equivalence.
Form KD
formKD
Normalization Form Compatibility Decomposition (NFKD) - Characters are decomposed by compatibility equivalence.
Volume block size

The native block size for LUNs. This can be any power of 2 from 512 bytes to 128K, and the default is 8K.

Origin

If this is a clone, this is the name of the snapshot from which it was cloned.

Data Migration Source

If set, then this filesystem is actively shadowing an existing filesystem, either locally or over NFS. For more information about data migration, see the section on Shadow Migration.

Project Panel

In the BUI, the set of available projects is always available via the project panel at the left side of the view. To expand or collapse the project panel, click the triangle by the "Projects" title bar.

Icon
Description
image:Panel closed
Expand project panel
image:Panel open
Collapse project panel

Selecting a project from the panel will navigate to the project view for the selected project. This project panel will also expand automatically when the move tool is clicked on a row within the share list. You can then drag and drop the share to move it between projects. The project panel also allows a shortcut for creating new projects, and reverting to the list of shares across all projects. Clicking the "All" text is equivalent to selecting the "Shares" item in the navigation bar.

The project panel is a convenience for systems with a relatively small number of projects. It is not designed to be the primary interface for managing a large number of projects. For this task, see the Projects view.

Creating Shares

To create a share, view shares in a project or across all projects by selecting the "shares" sub-navigation entry. When selecting "Filesystems" or "LUNs," a plus icon will appear next to the name that will bring up a dialog to create the share. When creating a share, you can choose the target project from a pulldown menu, and provide a name for the share. The properties for each type of shares are defined elsewhere:

For Filesystems:

For LUNs:

CLI

The shares CLI is under shares

Navigation

You must first select a project (including the default project) before selecting a share:

clownfish:> shares
clownfish:shares> select default
clownfish:shares default> select foo
clownfish:shares default/foo> get
Properties:
                    aclinherit = restricted (inherited)
                       aclmode = discard (inherited)
                         atime = true (inherited)
               casesensitivity = mixed
                      checksum = fletcher4 (inherited)
                   compression = off (inherited)
                 compressratio = 100
                        copies = 1 (inherited)
                      creation = Mon Oct 13 2009 05:21:33 GMT+0000 (UTC)
                    mountpoint = /export/foo (inherited)
                 normalization = none
                         quota = 0
                    quota_snap = true
                      readonly = false (inherited)
                    recordsize = 128K (inherited)
                   reservation = 0
              reservation_snap = true
                secondarycache = all (inherited)
                        nbmand = false (inherited)
                      sharesmb = off (inherited)
                      sharenfs = on (inherited)
                       snapdir = hidden (inherited)
                      utf8only = true
                         vscan = false (inherited)
                      sharedav = off (inherited)
                      shareftp = off (inherited)
                    space_data = 43.9K
              space_unused_res = 0
               space_snapshots = 0
               space_available = 12.0T
                   space_total = 43.9K
                    root_group = other
              root_permissions = 700
                     root_user = nobody

Share Operations

A share is created by selecting the project and issuing the filesystem or lun command. The properties can be modified as needed before committing the changes:

clownfish:shares default> filesystem foo
clownfish:shares default/foo (uncommitted)> get
                    aclinherit = restricted (inherited)
                       aclmode = discard (inherited)
                         atime = true (inherited)
                      checksum = fletcher4 (inherited)
                   compression = off (inherited)
                        copies = 1 (inherited)
                    mountpoint = /export/foo (inherited)
                         quota = 0 (inherited)
                      readonly = false (inherited)
                    recordsize = 128K (inherited)
                   reservation = 0 (inherited)
                secondarycache = all (inherited)
                        nbmand = false (inherited)
                      sharesmb = off (inherited)
                      sharenfs = on (inherited)
                       snapdir = hidden (inherited)
                         vscan = false (inherited)
                      sharedav = off (inherited)
                      shareftp = off (inherited)
                    root_group = other (default)
              root_permissions = 700 (default)
                     root_user = nobody (default)
               casesensitivity = (default)
                 normalization = (default)
                      utf8only = (default)
                    quota_snap = (default)
              reservation_snap = (default)
                    custom:int = (default)
                 custom:string = (default)
                  custom:email = (default)
clownfish:shares default/foo (uncommitted)> set sharenfs=off
                      sharenfs = off (uncommitted)
clownfish:shares default/foo (uncommitted)> commit
clownfish:shares default>

A share can be destroyed using the destroy command from the share context:

clownfish:shares default/foo> destroy 
This will destroy all data in "foo"! Are you sure? (Y/N) 
clownfish:shares default> 

A share can be renamed from the project context using the rename command:

clownfish:shares default> rename foo bar
clownfish:shares default>

A share can be moved between projects from the project context using the move command:

clownfish:shares default> move foo home 
clownfish:shares default> 

User and group usage and quotas can be managed through the users or groups commands after selecting the particular project or share. For

more information on how to manage user and group quotas, see the Space Management section.

Properties

The following properties are available in the CLI, with their equivalent in the BUI. Properties can be set using the standard CLI commands get and set. In addition, properties can be inherited from the parent project

by using the unset command.

CLI Name
BUI Name
BUI Location
aclinherit
inherited
Access
aclmode
inherited
Access
atime
inherited
General
casesensitivity
create time
Static
checksum
inherited
General
compression
inherited
General
compresratio
read-only
Static
copies
inherited
General
creation
read-only
-
-
dedup
inherited
General
exported
inherited, replication packages only
General
initiatorgroup
LUN local
Protocols
logbias
inherited
General
lunumber
LUN local
Protocols
lunguid
read-only, LUN local
Protocols
mountpoint
inherited
General
nbmand
inherited
General
nodestroy
inherited
General
normalization
create time
Static
origin
read-only
Static
quota
space management
General
quota_snap
space management
General
readonly
inherited
General
recordsize
inherited
General
reservation
space management
General
reservation_snap
space management
General
root_group
filesystem local
Access
root_permissions
filesystem local
Access
root_user
filesystem local
Access
rstchown
inherited
General
secondary cache
inherited
General
shadow
create time
Static
sharedav
inherited
Protocols
shareftp
inherited
Protocols
sharenfs
inherited
Protocols
sharesmb
inherited
Protocols
snapdir
inherited
Snapshots
space_available
read-only
Usage
space_data
read-only
Usage
space_snapshots
read-only
Usage
space_total
read-only
Usage
space_unused_res
read-only
Usage
sparse
LUN local
General
targetgroup
LUN local
Protocols
utf8only
create time
Static
volblocksize
create time
Static
vscan
inherited
General