SlideShare a Scribd company logo
ZFS 101 (aka ZFS is Cool
and Why You Should be
Using It
Dru Lavigne
Documentation Lead, iXsystems
SCALE, February 23, 2014
Outline
Discuss ZFS features and describe the available
management utilities for the following FreeBSDbased operating systems:
- FreeNAS 9.2.1: open source NAS (Network
Attached Storage)
- PC-BSD 10.0: open source desktop (GUI) or
server (CLI)
Latest versions of these operating systems are on
par with the latest OpenZFS โ€œfeature flagsโ€
History of ZFS
Modern filesystem specifically designed to add
features not available in traditional filesystems
Originally developed at Sun with the intent to
open source
After the Oracle acquisition, open source
development continued and the original engineers
founded OpenZFS (open-zfs.org) which is under
active development
OpenZFS uses feature flags instead of versions
What is ZFS?
128-bit COW (Copy on Write) filesystem and
logical volume manager with a maximum pool/file
size of 16 exabytes
In a traditional Unix filesystem, you need to define
the partition size and mount point at filesystem
creation time
In ZFS, you instead feed disks to a โ€œpoolโ€ and
create filesystems from the pool as needed
Pool
Root (parent) volume which can be logically subdivided as needed
The number of disks added at a time is known as
a โ€œvdevโ€
To optimize performance and resilvering time,
number of disks per vdev is limited
As more capacity is needed, add identical vdevs-these will be striped into the pool
RAIDZ
RAIDZ* levels designed to overcome hardware
RAID limitations such as the write-hole and
corrupt data written over time before the controller
provides an alert
Designed for commodity disks so no RAID
controller is needed
Can also be used with a RAID controller, but it
typically should be put into JBOD mode
RAIDZ1
Parity blocks are distributed across all disks
Up to one disk can fail per vdev without losing
pool
Pool can be lost if second disk in a vdev fails
before resilver completes
Optimized for vdev of 3, 5, or 9 disks
RAIDZ2
Double-parity solution similar to RAID6
Parity blocks are distributed across all disks
Up to two disks can fail per vdev without losing
pool, with no restrictions on which disks can fail
Optimized for vdev of 4, 6, or 10 disks
RAIDZ3
Triple-parity solution
Parity blocks are distributed across all disks
Up to three disks can fail per vdev without losing
pool, with no restrictions on which disks can fail
Optimized for vdev of 5, 7, or 11 disks
Create Pool on FreeNAS
Create Pool on PC-BSD
ZIL
ZFS Intent Log
Effectively a filesystem journal that stores sync
writes until they are committed to the pool
A dedicated SSD as a secondary log device
(SLOG) can increase synchronous write
performance, will have no effect on asynchronous
writes
FreeNAS includes the zilstat CLI utility to help
determine if system would benefit from a SLOG
ARC and L2ARC
ARC refers to read cache in RAM. Takes time for
ARC to populate with hits; if high misses continue
for cached reads, the system needs to be tuned.
Freenas adds ARC stats to top(1) and includes
arc_summary.py and arcstat.py tools for ARC
monitoring
Optional, secondary ARC can be installed on SSD
or disk in order to increase random read
performance. Always add as much RAM as
possible first.
Adding SLOG/L2ARC on FreeNAS
Adding SLOG/L2ARC
on PC-BSD
Datasets
As needed, pool can be divided into additional,
dynamically sized filesystems known as datasets
Permissions and properties such as quotas and
compression can be set on a per-dataset level
A well thought out design can optimize storage for
the type of data being stored
Properties

Dozens of configurable properties such as: atime
(access time), canmount, compression, copies,
dedup, exec, quota, userquota, groupquota,
readonly, recordsize, reservation, setuid, etc.
Descriptions can be found at
http://www.freebsd.org/cgi/man.cgi?query=zfs
Adding Dataset on FreeNAS
Adding Dataset During
PC-BSD Installation
Adding Dataset Using PC-BSD
Disk Manager
Zvols
Pool can also be divided into zvols
Essentially, a virtual, raw block device
Ideal for iSCSI device extents or for hosting
foreign file systems
Regardless of the filesytem the zvol is formatted
with by the iSCSI initiator, the underlying disk
blocks still benefit from all of the features provided
by ZFS
Creating Zvols on FreeNAS
Snapshots
Provide low cost, instantaneous, read-only, pointin-time image of the specified pool, dataset, or
zvol
Snapshots can be recursive (atomic inclusion of
all child datasets)
Initial size is 0 bytes as COW, snapshot increases
in size as changes are written to disk
Can be replicated to another system
Create Snapshot on FreeNAS
Create Snapshot on PC-BSD
Using Warden
Automating Snapshots on PC-BSD
Using Life Preserver
Snapshot Restore
In PC-BSD, the Life Preserver utility provides a
snapshot browser for finding and restoring copies
of earlier versions of files
It can also automate the replication of local
snapshots to another system or to a FreeNAS
system over SSH
A remote snapshot can be used to perform an
operating system restore from a PC-BSD install
media, should the system become unusable
Restoring Data from
a PC-BSD Snapshot
Restoring the OS From
a Remote Snapshot
Scrubs
ZFS was designed to be self-healing; it creates
and verifies checksums as data is written to disk
A scrub verifies the checksum in each disk block
and attempts to correct data as necessary
I/O intensive, so should be scheduled
appropriately
Reading the scrub results can provide an early
indication of possible disk failure
Scrubs
In FreeNAS, a scrub is automatically scheduled to
run every Sunday at midnight whenever a
pool/volume is created (this can be edited)
The results of the last scrub can be viewed from
Volume Status or by typing โ€œzpool statusโ€, and a
scrub can be started now from View Volumes
In PC-BSD, a scrub can be started from Disk
Manager or Life Preserver
Scheduling Scrubs on FreeNAS
Starting a Scrub on PC-BSD
Deduplication
ZFS property which avoids writing duplicate data
Can improve storage efficiency at the price of
performanceโ€”compression is often the better
choice
Dedup tables must fit into L2ARC, rule of thumb
is at least 5 GB RAM/L2ARC per TB of storage to
be deduplicated
PC-BSD Boot Environments
A snapshot of the dataset the operating system
resides on can be taken before an upgrade or a
system configuration change
This saved โ€œboot environmentโ€ is automatically
added to the GRUB boot manager
Should the upgrade or configuration change fail,
simply reboot and select the previous boot
environment from the boot menu
Managing PC-BSD Boot
Environments
Managing PC-BSD Boot
Environments
Additional Resources
PC-BSD Users Handbook: wiki.pcbsd.org
FreeNAS User Guide: doc.freenas.org
ZFS Best Practices Guide: http://ow.ly/oHtP3
Becoming a ZFS Ninja:
https://blogs.oracle.com/video/entry/becoming_a_
zfs_ninja
Questions

Contact:
dru@freebsd.org
URL to Slides:
http://slideshare.net/dlavigne/scale2014
Ad

More Related Content

What's hot (20)

ZFS
ZFSZFS
ZFS
mewandalmeida
ย 
SmartOS ZFS Architecture
SmartOS ZFS ArchitectureSmartOS ZFS Architecture
SmartOS ZFS Architecture
Bill Pijewski
ย 
Zfs Nuts And Bolts
Zfs Nuts And BoltsZfs Nuts And Bolts
Zfs Nuts And Bolts
Eric Sproul
ย 
ZFS Tutorial USENIX June 2009
ZFS  Tutorial  USENIX June 2009ZFS  Tutorial  USENIX June 2009
ZFS Tutorial USENIX June 2009
Richard Elling
ย 
Fossetcon14
Fossetcon14Fossetcon14
Fossetcon14
Dru Lavigne
ย 
S8 File Systems Tutorial USENIX LISA13
S8 File Systems Tutorial USENIX LISA13S8 File Systems Tutorial USENIX LISA13
S8 File Systems Tutorial USENIX LISA13
Richard Elling
ย 
An Introduction to the Implementation of ZFS by Kirk McKusick
An Introduction to the Implementation of ZFS by Kirk McKusickAn Introduction to the Implementation of ZFS by Kirk McKusick
An Introduction to the Implementation of ZFS by Kirk McKusick
eurobsdcon
ย 
JetStor NAS 724UXD Dual Controller Active-Active ZFS Based
JetStor NAS 724UXD Dual Controller Active-Active ZFS BasedJetStor NAS 724UXD Dual Controller Active-Active ZFS Based
JetStor NAS 724UXD Dual Controller Active-Active ZFS Based
Gene Leyzarovich
ย 
ZFS: The Last Word in Filesystems
ZFS: The Last Word in FilesystemsZFS: The Last Word in Filesystems
ZFS: The Last Word in Filesystems
Jarod Wang
ย 
USENIX LISA11 Tutorial: ZFS a
USENIX LISA11 Tutorial: ZFS a USENIX LISA11 Tutorial: ZFS a
USENIX LISA11 Tutorial: ZFS a
Richard Elling
ย 
ZFS Tutorial USENIX LISA09 Conference
ZFS Tutorial USENIX LISA09 ConferenceZFS Tutorial USENIX LISA09 Conference
ZFS Tutorial USENIX LISA09 Conference
Richard Elling
ย 
Zfs intro v2
Zfs intro v2Zfs intro v2
Zfs intro v2
Eric Sproul
ย 
110629 nexenta- andy bennett
110629   nexenta- andy bennett110629   nexenta- andy bennett
110629 nexenta- andy bennett
Strelia Technology Services
ย 
Asiabsdcon14
Asiabsdcon14Asiabsdcon14
Asiabsdcon14
Dru Lavigne
ย 
Tlf2014
Tlf2014Tlf2014
Tlf2014
Dru Lavigne
ย 
PostgreSQL + ZFS best practices
PostgreSQL + ZFS best practicesPostgreSQL + ZFS best practices
PostgreSQL + ZFS best practices
Sean Chittenden
ย 
Asiabsdcon14 lavigne
Asiabsdcon14 lavigneAsiabsdcon14 lavigne
Asiabsdcon14 lavigne
Dru Lavigne
ย 
OSDC 2016 - Interesting things you can do with ZFS by Allan Jude&Benedict Reu...
OSDC 2016 - Interesting things you can do with ZFS by Allan Jude&Benedict Reu...OSDC 2016 - Interesting things you can do with ZFS by Allan Jude&Benedict Reu...
OSDC 2016 - Interesting things you can do with ZFS by Allan Jude&Benedict Reu...
NETWAYS
ย 
MySQL on ZFS
MySQL on ZFSMySQL on ZFS
MySQL on ZFS
Gordan Bobic
ย 
Storage spaces direct webinar
Storage spaces direct webinarStorage spaces direct webinar
Storage spaces direct webinar
ะ’ะธั‚ะฐะปะธะน ะกั‚ะฐั€ะพะดัƒะฑั†ะตะฒ
ย 
SmartOS ZFS Architecture
SmartOS ZFS ArchitectureSmartOS ZFS Architecture
SmartOS ZFS Architecture
Bill Pijewski
ย 
Zfs Nuts And Bolts
Zfs Nuts And BoltsZfs Nuts And Bolts
Zfs Nuts And Bolts
Eric Sproul
ย 
ZFS Tutorial USENIX June 2009
ZFS  Tutorial  USENIX June 2009ZFS  Tutorial  USENIX June 2009
ZFS Tutorial USENIX June 2009
Richard Elling
ย 
Fossetcon14
Fossetcon14Fossetcon14
Fossetcon14
Dru Lavigne
ย 
S8 File Systems Tutorial USENIX LISA13
S8 File Systems Tutorial USENIX LISA13S8 File Systems Tutorial USENIX LISA13
S8 File Systems Tutorial USENIX LISA13
Richard Elling
ย 
An Introduction to the Implementation of ZFS by Kirk McKusick
An Introduction to the Implementation of ZFS by Kirk McKusickAn Introduction to the Implementation of ZFS by Kirk McKusick
An Introduction to the Implementation of ZFS by Kirk McKusick
eurobsdcon
ย 
JetStor NAS 724UXD Dual Controller Active-Active ZFS Based
JetStor NAS 724UXD Dual Controller Active-Active ZFS BasedJetStor NAS 724UXD Dual Controller Active-Active ZFS Based
JetStor NAS 724UXD Dual Controller Active-Active ZFS Based
Gene Leyzarovich
ย 
ZFS: The Last Word in Filesystems
ZFS: The Last Word in FilesystemsZFS: The Last Word in Filesystems
ZFS: The Last Word in Filesystems
Jarod Wang
ย 
USENIX LISA11 Tutorial: ZFS a
USENIX LISA11 Tutorial: ZFS a USENIX LISA11 Tutorial: ZFS a
USENIX LISA11 Tutorial: ZFS a
Richard Elling
ย 
ZFS Tutorial USENIX LISA09 Conference
ZFS Tutorial USENIX LISA09 ConferenceZFS Tutorial USENIX LISA09 Conference
ZFS Tutorial USENIX LISA09 Conference
Richard Elling
ย 
Zfs intro v2
Zfs intro v2Zfs intro v2
Zfs intro v2
Eric Sproul
ย 
Asiabsdcon14
Asiabsdcon14Asiabsdcon14
Asiabsdcon14
Dru Lavigne
ย 
Tlf2014
Tlf2014Tlf2014
Tlf2014
Dru Lavigne
ย 
PostgreSQL + ZFS best practices
PostgreSQL + ZFS best practicesPostgreSQL + ZFS best practices
PostgreSQL + ZFS best practices
Sean Chittenden
ย 
Asiabsdcon14 lavigne
Asiabsdcon14 lavigneAsiabsdcon14 lavigne
Asiabsdcon14 lavigne
Dru Lavigne
ย 
OSDC 2016 - Interesting things you can do with ZFS by Allan Jude&Benedict Reu...
OSDC 2016 - Interesting things you can do with ZFS by Allan Jude&Benedict Reu...OSDC 2016 - Interesting things you can do with ZFS by Allan Jude&Benedict Reu...
OSDC 2016 - Interesting things you can do with ZFS by Allan Jude&Benedict Reu...
NETWAYS
ย 
MySQL on ZFS
MySQL on ZFSMySQL on ZFS
MySQL on ZFS
Gordan Bobic
ย 

Similar to Scale2014 (20)

Nycbsdcon14
Nycbsdcon14Nycbsdcon14
Nycbsdcon14
Dru Lavigne
ย 
Olf2013
Olf2013Olf2013
Olf2013
Dru Lavigne
ย 
Posscon2013
Posscon2013Posscon2013
Posscon2013
Dru Lavigne
ย 
Lavigne bsdmag apr13
Lavigne bsdmag apr13Lavigne bsdmag apr13
Lavigne bsdmag apr13
Dru Lavigne
ย 
Zettabyte File Storage System
Zettabyte File Storage SystemZettabyte File Storage System
Zettabyte File Storage System
Amdocs
ย 
Root file system for embedded systems
Root file system for embedded systemsRoot file system for embedded systems
Root file system for embedded systems
alok pal
ย 
Sweden11
Sweden11Sweden11
Sweden11
Dru Lavigne
ย 
Magnetic disk - Krishna Geetha.ppt
Magnetic disk  - Krishna Geetha.pptMagnetic disk  - Krishna Geetha.ppt
Magnetic disk - Krishna Geetha.ppt
ComputerScienceDepar6
ย 
Network Storage dan Filesystem.pdf
Network Storage dan Filesystem.pdfNetwork Storage dan Filesystem.pdf
Network Storage dan Filesystem.pdf
TaseigerKu
ย 
Recipe of a linux Live CD (archived)
Recipe of a linux Live CD (archived)Recipe of a linux Live CD (archived)
Recipe of a linux Live CD (archived)
Bud Siddhisena
ย 
Xen server storage Overview
Xen server storage OverviewXen server storage Overview
Xen server storage Overview
Nuno Alves
ย 
Open Source Backup Conference 2014: Rear, by Ralf Dannert
Open Source Backup Conference 2014: Rear, by Ralf DannertOpen Source Backup Conference 2014: Rear, by Ralf Dannert
Open Source Backup Conference 2014: Rear, by Ralf Dannert
NETWAYS
ย 
Self2013
Self2013Self2013
Self2013
Dru Lavigne
ย 
FreeBSD Portscamp, Kuala Lumpur 2016
FreeBSD Portscamp, Kuala Lumpur 2016FreeBSD Portscamp, Kuala Lumpur 2016
FreeBSD Portscamp, Kuala Lumpur 2016
Muhammad Moinur Rahman
ย 
Fsoss12
Fsoss12Fsoss12
Fsoss12
Dru Lavigne
ย 
Bsdtw17: allan jude: zfs: advanced integration
Bsdtw17: allan jude: zfs: advanced integrationBsdtw17: allan jude: zfs: advanced integration
Bsdtw17: allan jude: zfs: advanced integration
Scott Tsai
ย 
CIT173_Ch15_Mnstr_23.pdf
CIT173_Ch15_Mnstr_23.pdfCIT173_Ch15_Mnstr_23.pdf
CIT173_Ch15_Mnstr_23.pdf
LilyMorningstar1
ย 
Lavigne aug11 bsdmag
Lavigne aug11 bsdmagLavigne aug11 bsdmag
Lavigne aug11 bsdmag
Dru Lavigne
ย 
logical volume manager.ppt
logical volume manager.pptlogical volume manager.ppt
logical volume manager.ppt
Pandiya Rajan
ย 
Distributed File System
Distributed File SystemDistributed File System
Distributed File System
Ntu
ย 
Nycbsdcon14
Nycbsdcon14Nycbsdcon14
Nycbsdcon14
Dru Lavigne
ย 
Olf2013
Olf2013Olf2013
Olf2013
Dru Lavigne
ย 
Posscon2013
Posscon2013Posscon2013
Posscon2013
Dru Lavigne
ย 
Lavigne bsdmag apr13
Lavigne bsdmag apr13Lavigne bsdmag apr13
Lavigne bsdmag apr13
Dru Lavigne
ย 
Zettabyte File Storage System
Zettabyte File Storage SystemZettabyte File Storage System
Zettabyte File Storage System
Amdocs
ย 
Root file system for embedded systems
Root file system for embedded systemsRoot file system for embedded systems
Root file system for embedded systems
alok pal
ย 
Sweden11
Sweden11Sweden11
Sweden11
Dru Lavigne
ย 
Magnetic disk - Krishna Geetha.ppt
Magnetic disk  - Krishna Geetha.pptMagnetic disk  - Krishna Geetha.ppt
Magnetic disk - Krishna Geetha.ppt
ComputerScienceDepar6
ย 
Network Storage dan Filesystem.pdf
Network Storage dan Filesystem.pdfNetwork Storage dan Filesystem.pdf
Network Storage dan Filesystem.pdf
TaseigerKu
ย 
Recipe of a linux Live CD (archived)
Recipe of a linux Live CD (archived)Recipe of a linux Live CD (archived)
Recipe of a linux Live CD (archived)
Bud Siddhisena
ย 
Xen server storage Overview
Xen server storage OverviewXen server storage Overview
Xen server storage Overview
Nuno Alves
ย 
Open Source Backup Conference 2014: Rear, by Ralf Dannert
Open Source Backup Conference 2014: Rear, by Ralf DannertOpen Source Backup Conference 2014: Rear, by Ralf Dannert
Open Source Backup Conference 2014: Rear, by Ralf Dannert
NETWAYS
ย 
Self2013
Self2013Self2013
Self2013
Dru Lavigne
ย 
FreeBSD Portscamp, Kuala Lumpur 2016
FreeBSD Portscamp, Kuala Lumpur 2016FreeBSD Portscamp, Kuala Lumpur 2016
FreeBSD Portscamp, Kuala Lumpur 2016
Muhammad Moinur Rahman
ย 
Fsoss12
Fsoss12Fsoss12
Fsoss12
Dru Lavigne
ย 
Bsdtw17: allan jude: zfs: advanced integration
Bsdtw17: allan jude: zfs: advanced integrationBsdtw17: allan jude: zfs: advanced integration
Bsdtw17: allan jude: zfs: advanced integration
Scott Tsai
ย 
CIT173_Ch15_Mnstr_23.pdf
CIT173_Ch15_Mnstr_23.pdfCIT173_Ch15_Mnstr_23.pdf
CIT173_Ch15_Mnstr_23.pdf
LilyMorningstar1
ย 
Lavigne aug11 bsdmag
Lavigne aug11 bsdmagLavigne aug11 bsdmag
Lavigne aug11 bsdmag
Dru Lavigne
ย 
logical volume manager.ppt
logical volume manager.pptlogical volume manager.ppt
logical volume manager.ppt
Pandiya Rajan
ย 
Distributed File System
Distributed File SystemDistributed File System
Distributed File System
Ntu
ย 
Ad

More from Dru Lavigne (20)

Olf2018
Olf2018Olf2018
Olf2018
Dru Lavigne
ย 
Olf2017
Olf2017Olf2017
Olf2017
Dru Lavigne
ย 
FreeBSD System Administration Using SysAdm
FreeBSD System Administration Using SysAdmFreeBSD System Administration Using SysAdm
FreeBSD System Administration Using SysAdm
Dru Lavigne
ย 
Asiabsdcon2017
Asiabsdcon2017Asiabsdcon2017
Asiabsdcon2017
Dru Lavigne
ย 
Olf2016
Olf2016Olf2016
Olf2016
Dru Lavigne
ย 
Tlf2016
Tlf2016Tlf2016
Tlf2016
Dru Lavigne
ย 
Knoxbug2016
Knoxbug2016Knoxbug2016
Knoxbug2016
Dru Lavigne
ย 
Lfnw2016
Lfnw2016Lfnw2016
Lfnw2016
Dru Lavigne
ย 
Scale2016
Scale2016Scale2016
Scale2016
Dru Lavigne
ย 
Fossetcon15
Fossetcon15Fossetcon15
Fossetcon15
Dru Lavigne
ย 
Lfnw15
Lfnw15Lfnw15
Lfnw15
Dru Lavigne
ย 
Asiabsdcon15
Asiabsdcon15Asiabsdcon15
Asiabsdcon15
Dru Lavigne
ย 
Scale2015
Scale2015Scale2015
Scale2015
Dru Lavigne
ย 
Olf2014
Olf2014Olf2014
Olf2014
Dru Lavigne
ย 
Ghc14
Ghc14Ghc14
Ghc14
Dru Lavigne
ย 
Dru lavigne servers-tutorial
Dru lavigne servers-tutorialDru lavigne servers-tutorial
Dru lavigne servers-tutorial
Dru Lavigne
ย 
Dru lavigne oss-sysadmin
Dru lavigne oss-sysadminDru lavigne oss-sysadmin
Dru lavigne oss-sysadmin
Dru Lavigne
ย 
Dru lavigne oss-desktop_apps
Dru lavigne oss-desktop_appsDru lavigne oss-desktop_apps
Dru lavigne oss-desktop_apps
Dru Lavigne
ย 
Bsd ss
Bsd ssBsd ss
Bsd ss
Dru Lavigne
ย 
Fosscon2013
Fosscon2013Fosscon2013
Fosscon2013
Dru Lavigne
ย 
Olf2018
Olf2018Olf2018
Olf2018
Dru Lavigne
ย 
Olf2017
Olf2017Olf2017
Olf2017
Dru Lavigne
ย 
FreeBSD System Administration Using SysAdm
FreeBSD System Administration Using SysAdmFreeBSD System Administration Using SysAdm
FreeBSD System Administration Using SysAdm
Dru Lavigne
ย 
Asiabsdcon2017
Asiabsdcon2017Asiabsdcon2017
Asiabsdcon2017
Dru Lavigne
ย 
Olf2016
Olf2016Olf2016
Olf2016
Dru Lavigne
ย 
Tlf2016
Tlf2016Tlf2016
Tlf2016
Dru Lavigne
ย 
Knoxbug2016
Knoxbug2016Knoxbug2016
Knoxbug2016
Dru Lavigne
ย 
Lfnw2016
Lfnw2016Lfnw2016
Lfnw2016
Dru Lavigne
ย 
Scale2016
Scale2016Scale2016
Scale2016
Dru Lavigne
ย 
Fossetcon15
Fossetcon15Fossetcon15
Fossetcon15
Dru Lavigne
ย 
Asiabsdcon15
Asiabsdcon15Asiabsdcon15
Asiabsdcon15
Dru Lavigne
ย 
Scale2015
Scale2015Scale2015
Scale2015
Dru Lavigne
ย 
Olf2014
Olf2014Olf2014
Olf2014
Dru Lavigne
ย 
Dru lavigne servers-tutorial
Dru lavigne servers-tutorialDru lavigne servers-tutorial
Dru lavigne servers-tutorial
Dru Lavigne
ย 
Dru lavigne oss-sysadmin
Dru lavigne oss-sysadminDru lavigne oss-sysadmin
Dru lavigne oss-sysadmin
Dru Lavigne
ย 
Dru lavigne oss-desktop_apps
Dru lavigne oss-desktop_appsDru lavigne oss-desktop_apps
Dru lavigne oss-desktop_apps
Dru Lavigne
ย 
Fosscon2013
Fosscon2013Fosscon2013
Fosscon2013
Dru Lavigne
ย 
Ad

Recently uploaded (20)

DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
ย 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
ย 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
ย 
Drupalcamp Finland โ€“ Measuring Front-end Energy Consumption
Drupalcamp Finland โ€“ Measuring Front-end Energy ConsumptionDrupalcamp Finland โ€“ Measuring Front-end Energy Consumption
Drupalcamp Finland โ€“ Measuring Front-end Energy Consumption
Exove
ย 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
ย 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
ย 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
ย 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
ย 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
ย 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
ย 
HCL Nomad Web โ€“ Best Practices and Managing Multiuser Environments
HCL Nomad Web โ€“ Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web โ€“ Best Practices and Managing Multiuser Environments
HCL Nomad Web โ€“ Best Practices and Managing Multiuser Environments
panagenda
ย 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
ย 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
ย 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
ย 
AI Changes Everything โ€“ Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything โ€“ Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything โ€“ Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything โ€“ Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
ย 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
ย 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
ย 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
ย 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
ย 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
ย 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
ย 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
ย 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
ย 
Drupalcamp Finland โ€“ Measuring Front-end Energy Consumption
Drupalcamp Finland โ€“ Measuring Front-end Energy ConsumptionDrupalcamp Finland โ€“ Measuring Front-end Energy Consumption
Drupalcamp Finland โ€“ Measuring Front-end Energy Consumption
Exove
ย 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
ย 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
ย 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
ย 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
ย 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
ย 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
ย 
HCL Nomad Web โ€“ Best Practices and Managing Multiuser Environments
HCL Nomad Web โ€“ Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web โ€“ Best Practices and Managing Multiuser Environments
HCL Nomad Web โ€“ Best Practices and Managing Multiuser Environments
panagenda
ย 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
ย 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
ย 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
ย 
AI Changes Everything โ€“ Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything โ€“ Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything โ€“ Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything โ€“ Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
ย 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
ย 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
ย 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
ย 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
ย 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
ย 

Scale2014

  • 1. ZFS 101 (aka ZFS is Cool and Why You Should be Using It Dru Lavigne Documentation Lead, iXsystems SCALE, February 23, 2014
  • 2. Outline Discuss ZFS features and describe the available management utilities for the following FreeBSDbased operating systems: - FreeNAS 9.2.1: open source NAS (Network Attached Storage) - PC-BSD 10.0: open source desktop (GUI) or server (CLI) Latest versions of these operating systems are on par with the latest OpenZFS โ€œfeature flagsโ€
  • 3. History of ZFS Modern filesystem specifically designed to add features not available in traditional filesystems Originally developed at Sun with the intent to open source After the Oracle acquisition, open source development continued and the original engineers founded OpenZFS (open-zfs.org) which is under active development OpenZFS uses feature flags instead of versions
  • 4. What is ZFS? 128-bit COW (Copy on Write) filesystem and logical volume manager with a maximum pool/file size of 16 exabytes In a traditional Unix filesystem, you need to define the partition size and mount point at filesystem creation time In ZFS, you instead feed disks to a โ€œpoolโ€ and create filesystems from the pool as needed
  • 5. Pool Root (parent) volume which can be logically subdivided as needed The number of disks added at a time is known as a โ€œvdevโ€ To optimize performance and resilvering time, number of disks per vdev is limited As more capacity is needed, add identical vdevs-these will be striped into the pool
  • 6. RAIDZ RAIDZ* levels designed to overcome hardware RAID limitations such as the write-hole and corrupt data written over time before the controller provides an alert Designed for commodity disks so no RAID controller is needed Can also be used with a RAID controller, but it typically should be put into JBOD mode
  • 7. RAIDZ1 Parity blocks are distributed across all disks Up to one disk can fail per vdev without losing pool Pool can be lost if second disk in a vdev fails before resilver completes Optimized for vdev of 3, 5, or 9 disks
  • 8. RAIDZ2 Double-parity solution similar to RAID6 Parity blocks are distributed across all disks Up to two disks can fail per vdev without losing pool, with no restrictions on which disks can fail Optimized for vdev of 4, 6, or 10 disks
  • 9. RAIDZ3 Triple-parity solution Parity blocks are distributed across all disks Up to three disks can fail per vdev without losing pool, with no restrictions on which disks can fail Optimized for vdev of 5, 7, or 11 disks
  • 10. Create Pool on FreeNAS
  • 11. Create Pool on PC-BSD
  • 12. ZIL ZFS Intent Log Effectively a filesystem journal that stores sync writes until they are committed to the pool A dedicated SSD as a secondary log device (SLOG) can increase synchronous write performance, will have no effect on asynchronous writes FreeNAS includes the zilstat CLI utility to help determine if system would benefit from a SLOG
  • 13. ARC and L2ARC ARC refers to read cache in RAM. Takes time for ARC to populate with hits; if high misses continue for cached reads, the system needs to be tuned. Freenas adds ARC stats to top(1) and includes arc_summary.py and arcstat.py tools for ARC monitoring Optional, secondary ARC can be installed on SSD or disk in order to increase random read performance. Always add as much RAM as possible first.
  • 16. Datasets As needed, pool can be divided into additional, dynamically sized filesystems known as datasets Permissions and properties such as quotas and compression can be set on a per-dataset level A well thought out design can optimize storage for the type of data being stored
  • 17. Properties Dozens of configurable properties such as: atime (access time), canmount, compression, copies, dedup, exec, quota, userquota, groupquota, readonly, recordsize, reservation, setuid, etc. Descriptions can be found at http://www.freebsd.org/cgi/man.cgi?query=zfs
  • 18. Adding Dataset on FreeNAS
  • 20. Adding Dataset Using PC-BSD Disk Manager
  • 21. Zvols Pool can also be divided into zvols Essentially, a virtual, raw block device Ideal for iSCSI device extents or for hosting foreign file systems Regardless of the filesytem the zvol is formatted with by the iSCSI initiator, the underlying disk blocks still benefit from all of the features provided by ZFS
  • 22. Creating Zvols on FreeNAS
  • 23. Snapshots Provide low cost, instantaneous, read-only, pointin-time image of the specified pool, dataset, or zvol Snapshots can be recursive (atomic inclusion of all child datasets) Initial size is 0 bytes as COW, snapshot increases in size as changes are written to disk Can be replicated to another system
  • 25. Create Snapshot on PC-BSD Using Warden
  • 26. Automating Snapshots on PC-BSD Using Life Preserver
  • 27. Snapshot Restore In PC-BSD, the Life Preserver utility provides a snapshot browser for finding and restoring copies of earlier versions of files It can also automate the replication of local snapshots to another system or to a FreeNAS system over SSH A remote snapshot can be used to perform an operating system restore from a PC-BSD install media, should the system become unusable
  • 28. Restoring Data from a PC-BSD Snapshot
  • 29. Restoring the OS From a Remote Snapshot
  • 30. Scrubs ZFS was designed to be self-healing; it creates and verifies checksums as data is written to disk A scrub verifies the checksum in each disk block and attempts to correct data as necessary I/O intensive, so should be scheduled appropriately Reading the scrub results can provide an early indication of possible disk failure
  • 31. Scrubs In FreeNAS, a scrub is automatically scheduled to run every Sunday at midnight whenever a pool/volume is created (this can be edited) The results of the last scrub can be viewed from Volume Status or by typing โ€œzpool statusโ€, and a scrub can be started now from View Volumes In PC-BSD, a scrub can be started from Disk Manager or Life Preserver
  • 33. Starting a Scrub on PC-BSD
  • 34. Deduplication ZFS property which avoids writing duplicate data Can improve storage efficiency at the price of performanceโ€”compression is often the better choice Dedup tables must fit into L2ARC, rule of thumb is at least 5 GB RAM/L2ARC per TB of storage to be deduplicated
  • 35. PC-BSD Boot Environments A snapshot of the dataset the operating system resides on can be taken before an upgrade or a system configuration change This saved โ€œboot environmentโ€ is automatically added to the GRUB boot manager Should the upgrade or configuration change fail, simply reboot and select the previous boot environment from the boot menu
  • 38. Additional Resources PC-BSD Users Handbook: wiki.pcbsd.org FreeNAS User Guide: doc.freenas.org ZFS Best Practices Guide: http://ow.ly/oHtP3 Becoming a ZFS Ninja: https://blogs.oracle.com/video/entry/becoming_a_ zfs_ninja