Preface

The ZFS Administration Guide provides information about setting up and managing ZFS file systems.

This guide contains information for both SPARCTM based and x86 based systems, running illumos distributions, FreeBSD and Linux implementations of ZFS. It is revived and revised version of the original ZFS Administration Guide by Sun MicrosystemsTM. As of now it is a Work In Progress. You can file issues against this work on My Github repository for the book. I would like it to become as crossplatform as possible, thus introducing topics characteristic to other OpenZFS implementing operating systems, besides illumos.

This OpenZFS release supports systems that use the SPARC and x86 families of processor architectures: UltraSPARCTM, SPARC64, AMD64, Pentium, and Xeon EM64T. The supported systems appear in the illumos Hardware Compatibility List. This document cites any implementation differences between the platform types.

In this document these x86 terms mean the following:

For illumos supported systems, see the illumos Hardware Compatibility List. For FreeBSD and Linux supported systems, refer to appropriate hardware compatibility resources.

Who Should Use This Book

This guide is intended for anyone who is interested in setting up and managing ZFS file systems. Experience using illumos or another UNIXTM operating system (including FreeBSD and Linux distributions) is recommended.

How This Book Is Organized

The following table describes the chapters in this book.

Chapter

Description

ZFS File System (Introduction)

Provides an overview of ZFS and its features and benefits. It also covers some basic concepts and terminology.

Getting Started With ZFS

Provides step-by-step instructions on setting up simple ZFS configurations with simple pools and file systems. This chapter also provides the hardware and software required to create ZFS file systems.

ZFS and Traditional File System Differences

Identifies important features that make ZFS significantly different from traditional file systems. Understanding these key differences will help reduce confusion when using traditional tools to interact with ZFS.

Managing ZFS Storage Pools

Provides a detailed description of how to create and administer storage pools.

Managing ZFS File Systems

Provides detailed information about managing ZFS file systems. Included are such concepts as hierarchical file system layout, property inheritance, and automatic mount point management and share interactions.

Working With ZFS Snapshots and Clones

Describes how to create and administer ZFS snapshots and clones.

Using ACLs to Protect ZFS Files

Describes how to use access control lists (ACLs) to protect your ZFS files by providing more granular permissions then the standard UNIX permissions.

ZFS Advanced Topics

Provides information on using ZFS volumes, using ZFS with zones, and alternate root pools.

ZFS Troubleshooting and Data Recovery

Describes how to identify ZFS failure modes and how to recover from them. Steps for preventing failures are covered as well.

Additional documentation

The OpenZFS Project contains additional sources of information:

Typographic Conventions

The following table describes the typographic conventions that are used in this book.

Typographic Conventions

Typeface

Meaning

Example

AaBbCc123

The names of commands, files, and directories, and onscreen computer output

Edit your .login file.

Use ls-a to list all files.

machine_name% you have mail.

AaBbCc123

What you type, contrasted with onscreen computer output

machine_name% su

Password:

aabbcc123

Placeholder: replace with a real name or value

The command to remove a file is rm filename.

AaBbCc123

Book titles, new terms, and terms to be emphasized

Read Chapter 6 in the User's Guide.

A cache is a copy that is stored locally.

Do not save the file.

Note: Some emphasized items appear bold online.

Shell Prompts in Command Examples

The following table shows the default UNIX system prompt and superuser prompt for the C shell, Bourne shell, and Korn shell.

Shell Prompts

Shell

Prompt

C shell

machine_name%

C shell for superuser

machine_name#

Bourne shell and Korn shell

$

Bourne shell and Korn shell for superuser

#