Table of Contents

ZFS

See also ZFS - Basic Commands

See also napp-it

See also OpenIndiana

ZFS and SSDs

Mirrored vs. Striped

ZFS Performance Tips

ZFS Administration

Best Performance

Oracle ZFS with VMware ESXi 5.x Best Practices

ZFS Best Practices

ZFS for Dummies

Read Me First

Oracle Solaris ZFS Administration Guide

ZFS Support Links

Why You Need ECC RAM

Nexenta Hardware Support List

Troubleshooting and Info

Cheat Sheet

ZFS is a new and high-performance filesystem devised by Sun Microsystems (now Oracle) for the Solaris unix operating system. It has been ported to FreeBSD as well.

Down-Side of ZFS

http://www.eall.com.br/blog/?p=2481

ZFS Server Software

Choosing Array Configurations

Why not RAIDZ (RAID5)? http://serverfault.com/questions/381908/grow-shrink-a-zfs-raidz

http://www.nex7.com/readme1st (scroll down to 'Pool Design Rules')

http://researchblogs.cs.bham.ac.uk/specialist-computing/2012/05/configuring-the-storage-pools-building-an-openindiana-based-zfs-file-server-part-4/

http://www.nex7.com/node/9

http://forums.freenas.org/showthread.php?7775-Slideshow-explaining-VDev-zpool-ZIL-and-L2ARC-for-noobs!

http://forums.freenas.org/showthread.php?158-What-number-of-drives-are-allowed-in-a-RAIDZ-config

http://www.solarisinternals.com/wiki/index.php/ZFS_Best_Practices_Guide#RAIDZ_Configuration_Requirements_and_Recommendations

Optimal Configurations

http://www.solarisinternals.com/wiki/index.php/ZFS_Best_Practices_Guide

:!: Always use mirrored VDEVs for best performance, reasonable protection, best degraded performance and fastest recovery from a failed disk.

:!: Performance really depends on the number of spindles.

:!: Only for VM storage and databases do you need or want to enable sync. If you simply use ZFS without foreign filesystems on it (VMs), ZFS will never corrupt on a crash due Copy On Write. So for regular filer use, disable sync unless you want a maximal security for small files like on a mailserver.

:!: Always utilize an SLOG for your ZIL to improve synchronous write performance. Database applications, NFS environments, particularly for virtualization, as well as backups are known use cases with heavy synchronous writes.

RAIDZ1

You should have 3, 5, or 9 devices in each vdev

RAIDZ2

You should have 4, 6, or 10 devices in each vdev

RAIDZ3

You should have 5, 7, or 11 devices in each vdev

Choosing RAID Strategies

http://www.oracle.com/technetwork/articles/systems-hardware-architecture/raid-strategy-hi-capacity-drives-170907.pdf

Compression

:!: Always enable compression.

zfs set compression=on rpool
zfs set compression=on rpool/ROOT

Networking

High Availability

http://www.nexentastor.org/boards/1/topics/972

Deduplication

http://constantin.glez.de/blog/2011/07/zfs-dedupe-or-not-dedupe

http://www.zfsbuild.com/2011/11/18/dedupe-be-careful/

Advance Format Disks (4k Sector)

http://wiki.illumos.org/display/illumos/ZFS+and+Advanced+Format+disks

Managing ZFS Swap and Dump Devices

:!: For large-memory systems, choose a larger boot drive because the swap and dump devices take up a lot of space by default.

http://docs.oracle.com/cd/E19963-01/html/821-1448/ggrln.html

http://docs.oracle.com/cd/E19963-01/html/821-1448/zfsboot-2.html

Scrub Your Zpools

https://github.com/justintime/zpool-scrub-cron/blob/master/zpool_scrub.sh

:!: Scrubs are I/O intensive and can negatively impact performance. They should be scheduled for evenings or weekends to minimize the impact to users.

Snapshots and Clones

https://www.howtoforge.com/tutorial/how-to-use-snapshots-clones-and-replication-in-zfs-on-linux/

A snapshot provides a read-only, point-in-time copy of a file system or volume that does not consume extra space in the ZFS pool. The snapshot only uses space when the block references are changed. Snapshots preserve disk space by recording only the differences between the current dataset and a previous version.

:!: A typical example use for a snapshot is to have a quick way of backing up the current state of the file system when a risky action like a software installation or a system upgrade is performed.

A clone is a writable volume or file system whose initial contents are the same as the dataset from which it was created.