SlideShare a Scribd company logo
Introduction to
             FreeNAS 8.3.1

Dru Lavigne
Documentation Lead, iXsystems
POSSCON, March 27, 2013
Class Outline

USB key contains the 32- and 64-bit ISOs of
FreeNAS 8.3.1, a PDF version of the 8.3.1 Users
Guide, and a PDF of this presentation.

If you would like to follow along by installing
FreeNAS into a virtual machine, create several
virtual disks. Instructions for doing so in Virtualbox
can be found on pp 21-28 of the PDF. If your CPU
does not support “long mode”, use the 32-bit ISO.
Outline

✔   FreeNAS Overview

    ZFS Overview

    Configuration Workflow

    Plugins Overview

    ZFS Encryption Overview

    Additional Resources
FreeNAS Overview


Open source NAS (network attached storage)
based on an embedded version of FreeBSD
(nanoBSD) and released under 2-clause BSD
license

Enterprise-grade appliance (TrueNAS) is also
available in 2U/4U form factors with professional
support
FreeNAS Overview
8.x is a rewrite of the original monolithic design to
a modular design (.7x EOL'd in 2011)

8.0 was released May, 2011 with a focus on NAS
“core” functionality

8.2.0 introduced the Plugins Jail architecture
(released on July 20, 2012) for extending core

8.3.1 added GELI encryption for ZFS pools
(released March 20, 2013)
Core Features
Create UFS or ZFS volumes (ZFS recommended)

Import existing UFS/ZFS RAID/z volumes

Import existing UFS, DOS, NTFS, EXT2/3
volumes

Create shares using Appletalk, NFS, and SMB
protocols

Configure access through FTP/SFTP, SSH, and
iSCSI
Core Features

Integration with OpenLDAP, Active Directory

Automated, secure replication via rsync/ssh

Automated ZFS snapshots and scrubs

Front-ends to cron, sysctls, loader.conf

Reporting graphs, scheduled S.M.A.R.T. tests,
automated alerts, UPS
Core Features


Link aggregation, failover, and VLAN support

DDNS, SNMP, and TFTP support

Control panel to stop/start and view the status of
services

Users Guide available in wiki, HTML, PDF, epub,
and Kindle formats
Core Features
Supports OSX Time Machine and Windows
Shadow Copies

OS is installed on USB stick/CF and is separate
from data on storage disks

Upgrades keep a backup of the old OS, allowing
for rollback

Administrative GUI accessed through a web
browser; 8.2 adds a web shell for command line
operations
ZFS Overview

128-bit filesystem with a maximum pool/file size of
16 exabytes

Unlike traditional Unix filesystems, you are not
limited to the partition size and mount point
defined at filesystem creation time

Instead, disks are fed to a “pool” and the size of
that pool can increase as disk capacity increases
ZFS Overview

The pool can be logically subdivided, with each
segment having access to the remaining capacity
of the pool

Offers great flexibility!

Pre-planning for hardware and designing for a
particular environment's storage needs is needed
for optimization and to get the full benefits of ZFS
Pool
Root (parent) volume which can be sub-divided
into datasets or zvols as needed

Typically only one, but multiple pools are allowed

Typically, feed all disks to the pool

The number of disks added at a time is known as
a “vdev”

To optimize performance, number of disks is
limited and additional vdevs are striped
RAIDZ
RAIDZ* levels designed to overcome hardware
RAID limitations such as the write-hole and
corrupt data written over time before the controller
notices

Designed for commodity disks so no RAID
controller is needed

Can also be used with a RAID controller, but it
should be put in JBOD mode
RAIDZ1
Avoids the RAID5 write-hole by using COW (copy
on write)

Parity blocks are distributed across all disks

Up to one disk can fail without losing pool

Pool can be lost if second disk fails before restripe
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 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 without losing pool, with
no restrictions on which disks can fail

Optimized for vdev of 5, 7, or 11 disks
ZIL

ZFS Intent Log

Effectively a filesystem journal that manages
writes

A dedicated SSD or drive can increase write
performance, especially for synchronous NFS

Use ZFSv28 for dedicated ZIL or else lost device
will lose pool
ARC
ARC refers to read cache in RAM; if RAM is very
small, read speed is reduced to disk speed

Expect a miss for random reads and a hit for
cached reads

Takes time for ARC to populate; 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
L2ARC


Optional, secondary ARC which can be installed
on SSD or disk

L2ARC is populated over time with “hot” reads

Recommended for deduplication and to increase
read performance
Datasets


Pool can be divided into datasets

Similar to a folder in that it supports permissions

Similar to a filesystem in that you can set
properties such as quotas and compression

A well thought out design can optimize storage for
the type of data being stored
Zvols


Pool can also be divided into zvols

Essentially, a virtual, raw block device

Ideal for iSCSI device extents

Supports quotas and compression
Snapshots
Provide read-only, point-in-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

Can be used to provide Windows shadow copies
Clones


Provide read-write copies of read-only snapshots

Initial size of clone is 0 bytes

Clones can be mounted and used to access data
from that point in time (e.g. earlier revision of a
file)
Scrubs
ZFS was designed to be self-healing

ZFS creates and verifies checksums as data is
written to disk

A scrub verifies the checksum in each disk block,
correcting data as necessary

I/O intensive so should be scheduled
appropriately

Reading the scrub results can provide an early
indication of possible disk failure
Deduplication


Used to free blocks containing identical data
(updates reference pointers)

Can improve performance on datasets containing
duplicate data (e.g. virtual images)

Dedup tables should fit into L2ARC; systems with
limited RAM or no L2ARC might freeze hard
RAM
RAM is used to hold read cache, write cache,
checksum calculations, dedup tables, parity
calculations, etc.

Add as much RAM as possible; general rule of
thumb is:

1 GB of RAM for every 1TB of storage in pool

5 GB RAM/L2ARC per TB of storage to be
deduplicated (use a dataset)
Misc
zpool split command can be used to “clone” a
mirror to one disk and to use that disk to recreate
that pool on a different system

autoexpand property allows pool to grow by
replacing one disk at a time with a larger disk

Resilvering is the process of resyncing a RAIDZ.
This takes time, depending upon the size of disk
being replaced. It is a bad thing to lose the
maximum number of disks in a RAIDZ before the
resilver completes.
Configuration Workflow

1. Set the administrative username and password

2. Create volumes/datasets

3. Create users/groups or integrate with LDAP/AD

4. Configure share

5. Start applicable service(s)

6. Test and save the configuration
1. Set Administrative Creds
2. Create Volume
Several choices:

1. Import existing UFS RAID or ZFS pool

2. Import existing disk or partition(s) formatted
with UFS, FAT, NTFS, or EXT2/3

3. Format a UFS or ZFS volume

 Once a ZFS volume (pool) is created, it can be
divided into datasets (with own options) or zvols
(to use as a “raw” disk for iSCSI)
Create ZFS Volume
Create ZFS Dataset
3. Users/Groups


Choices:

1. Manually create

2. Import existing Active Directory users

3. Import existing LDAP users
Manually Create
Import Active Directory
Import from LDAP
4. Configure Share
AFP: for Mac OS X

CIFS: for Windows, also supports any other OS

NFS: faster than CIFS, supports any OS

SSH: CLI and GUI clients available for any OS

FTP: CLI and GUI clients available for any OS

iSCSI target: for access to “raw” disks
Configure Share

When configuring:

Recommended to only have one type of share to
prevent filesystem/client conflicts

Users needing access to that share must have
permission to the volume being shared, or the
share access must be set to anon/guest

Permissions can be set on a per volume or per
dataset basis
5. Start Service
6. Test and Save Configuration


From a client, confirm that access is permitted to
allowed users

Can enable console logging at bottom of browser
to troubleshoot a service that won't start

Can use web shell to read logs when
troubleshooting
Save Configuration
Plugins Architecture

Provides the administrator the flexibility to install
additional software from the FreeNAS GUI to
meet the requirements of the NAS

Comprised of three components:

- FreeBSD Jail

- PBI (Push Button Installer) files

- Plugins
What is a Jail?

A FreeBSD feature for providing light-weight,
operating system-level virtualization

A jail has its own hostname, IP address, users,
and is separated from the host operating system

FreeNAS implementation includes vimage which
gives the jail its own networking stack and IP
broadcasting
What is a PBI/Plugin?
PBI format originally created by the PC-BSD
project (a desktop version of FreeBSD)

Provides a graphical installation wrapper for
software ported to FreeBSD

FreeNAS implementation extends this
functionality by incorporating the application's
configuration file into the FreeNAS graphical
administrative interface—the result is known as a
Plugin
Installing the Plugins Jail
Before any plugins can be installed, the Plugins
Jail must be installed and started

Recommended that Plugins Jail is installed into its
own ZFS dataset and that a second dataset is
used to store the installed software

The Plugins Jail and supported Plugins can be
downloaded from plugins folder for architecture
http://sourceforge.net/projects/freenas/files/
FreeNAS-8.3.1/
Installing the Plugins Jail
Starting the Plugins Jail
Installing a Plugin


Once the Plugins Jail is installed and the Plugins
service started, you can install FreeNAS PBIs
(Plugins)

As each Plugin is installed, an icon will be added
to the FreeNAS menu (used to configure the
application) and its service will be added to the
Plugins tab of the Control Services menu so it can
be started
Installing Plugins
Configuring a Plugin
Installing Non-PBI Software
If a PBI is not available, you can still install
FreeBSD packages or compile ports within the
Plugins Jail

Software installed this way will not be integrated
into the administrative interface but can be
configured and started from the command line

Use FreshPorts.org to search for software that
has been ported to FreeBSD
Installing Packages
A FreeBSD package is a pre-compiled binary that
includes the dependencies required by the
application

Installed using the pkg_add -r command:
FreshPorts.org will tell you the exact command to
use

pkg_info -Lx will tell you what gets installed

Typically, conf files are in /usr/local/etc/ and
startup scripts are in /usr/local/etc/rc.d/
Compiling Ports
Packages are recommended unless a package is
not available or you need to change a compile
option as compiling takes time and system
resources

FreshPorts.org will list the available compile
options

Use the make install command to compile

Once compiled and installed, the software can be
configured like any other package
Available PBIs
FreeNAS PBIs are still new (only available since
July 2012)

3 official PBIs: Firefly, MiniDLNA, Transmission

List of PBI requests:
http://doc.freenas.org/index.php/PBI_Requests

List of user-created PBIs:
http://forums.freenas.org/showthread.php?8470-
INDEX-Available-Plugins
Encryption
GELI full disk encryption for new ZFS volumes
(not ZFSv30 encryption which is closed source)

Full disk encryption, not per-filesystem encryption

Targeted at users who store sensitive data and
want the ability to safely dispose of disks
(independent of the encryption key) without wiping
them first

Encryption key is per ZFS pool
Encryption
Encryption key is protected by both a passphrase
and a recovery key

CPU that supports AES-NI is recommended,
especially if more than one disk in pool

Data in the ARC cache and the contents of RAM
are unencrypted

Swap is always encrypted, even on unencrypted
volumes
Encryption

Key management tools added to encrypted
volume's screen in GUI

Used to change the passphrase, download a copy
of the key, create a new key (which destroys the
old key), create and download a copy of the
recovery key, and change the recovery key

If the passphrase is forgotten, the recovery key
can be used (needed when importing a pool)
Encryption
Resources

Website:

http://www.freenas.org

Forums:

http://forums.freenas.org

Bug tracker:

http://support.freenas.org
Resources
Links to Users Guide:

http://doc.freenas.org

IRC:

#freenas on Freenode

Links to mailing lists and instructional videos:

http://doc.freenas.org/index.php/
FreeNAS_Support_Resources
Questions



                Contact:

            dru@freebsd.org

              URL to Slides:

http://slideshare.net/dlavigne/posscon2013

More Related Content

What's hot

Flourish11
Flourish11Flourish11
Flourish11
Dru Lavigne
 
Olf2012
Olf2012Olf2012
Olf2012
Dru Lavigne
 
Lavigne aug11 bsdmag
Lavigne aug11 bsdmagLavigne aug11 bsdmag
Lavigne aug11 bsdmag
Dru Lavigne
 
Tlf2013
Tlf2013Tlf2013
Tlf2013
Dru Lavigne
 
SELF 2010: BSD For Linux Users
SELF 2010: BSD For Linux UsersSELF 2010: BSD For Linux Users
SELF 2010: BSD For Linux Users
Dru Lavigne
 
Lavigne bsdmag-jan13
Lavigne bsdmag-jan13Lavigne bsdmag-jan13
Lavigne bsdmag-jan13Dru Lavigne
 
BSD for Linux Users
BSD for Linux UsersBSD for Linux Users
BSD for Linux Users
Dru Lavigne
 
Olf2013
Olf2013Olf2013
Olf2013
Dru Lavigne
 
Asiabsdcon15
Asiabsdcon15Asiabsdcon15
Asiabsdcon15
Dru Lavigne
 
Nelf2012
Nelf2012Nelf2012
Nelf2012
Dru Lavigne
 
Nelf2013
Nelf2013Nelf2013
Nelf2013
Dru Lavigne
 
Introduction to FreeNAS development by John Hixson
Introduction to FreeNAS development by John HixsonIntroduction to FreeNAS development by John Hixson
Introduction to FreeNAS development by John Hixson
iXsystems
 
olf10
olf10olf10
Lavigne bsdmag apr13
Lavigne bsdmag apr13Lavigne bsdmag apr13
Lavigne bsdmag apr13
Dru Lavigne
 
Ilf2012
Ilf2012Ilf2012
Ilf2012
Dru Lavigne
 
Scale9x sun
Scale9x sunScale9x sun
Scale9x sun
Dru Lavigne
 
Fosscon2013
Fosscon2013Fosscon2013
Fosscon2013
Dru Lavigne
 
Bsd ss
Bsd ssBsd ss
Bsd ss
Dru Lavigne
 

What's hot (20)

Flourish11
Flourish11Flourish11
Flourish11
 
Olf2012
Olf2012Olf2012
Olf2012
 
Fsoss12
Fsoss12Fsoss12
Fsoss12
 
Lavigne aug11 bsdmag
Lavigne aug11 bsdmagLavigne aug11 bsdmag
Lavigne aug11 bsdmag
 
Tlf2013
Tlf2013Tlf2013
Tlf2013
 
SELF 2010: BSD For Linux Users
SELF 2010: BSD For Linux UsersSELF 2010: BSD For Linux Users
SELF 2010: BSD For Linux Users
 
Nycbsdcon14
Nycbsdcon14Nycbsdcon14
Nycbsdcon14
 
Lavigne bsdmag-jan13
Lavigne bsdmag-jan13Lavigne bsdmag-jan13
Lavigne bsdmag-jan13
 
BSD for Linux Users
BSD for Linux UsersBSD for Linux Users
BSD for Linux Users
 
Olf2013
Olf2013Olf2013
Olf2013
 
Asiabsdcon15
Asiabsdcon15Asiabsdcon15
Asiabsdcon15
 
Nelf2012
Nelf2012Nelf2012
Nelf2012
 
Nelf2013
Nelf2013Nelf2013
Nelf2013
 
Introduction to FreeNAS development by John Hixson
Introduction to FreeNAS development by John HixsonIntroduction to FreeNAS development by John Hixson
Introduction to FreeNAS development by John Hixson
 
olf10
olf10olf10
olf10
 
Lavigne bsdmag apr13
Lavigne bsdmag apr13Lavigne bsdmag apr13
Lavigne bsdmag apr13
 
Ilf2012
Ilf2012Ilf2012
Ilf2012
 
Scale9x sun
Scale9x sunScale9x sun
Scale9x sun
 
Fosscon2013
Fosscon2013Fosscon2013
Fosscon2013
 
Bsd ss
Bsd ssBsd ss
Bsd ss
 

Similar to Posscon2013

Flourish16
Flourish16Flourish16
Flourish16
Dru Lavigne
 
Tlf2014
Tlf2014Tlf2014
Tlf2014
Dru Lavigne
 
Scale2014
Scale2014Scale2014
Scale2014
Dru Lavigne
 
Asiabsdcon14
Asiabsdcon14Asiabsdcon14
Asiabsdcon14
Dru Lavigne
 
Fossetcon14
Fossetcon14Fossetcon14
Fossetcon14
Dru Lavigne
 
Distributed File System
Distributed File SystemDistributed File System
Distributed File System
Ntu
 
ZFS
ZFSZFS
Zettabyte File Storage System
Zettabyte File Storage SystemZettabyte File Storage System
Zettabyte File Storage SystemAmdocs
 
Zettabyte File Storage System
Zettabyte File Storage SystemZettabyte File Storage System
Zettabyte File Storage SystemAmdocs
 
Self2013
Self2013Self2013
Self2013
Dru Lavigne
 
Xen server storage Overview
Xen server storage OverviewXen server storage Overview
Xen server storage Overview
Nuno Alves
 
Magnetic disk - Krishna Geetha.ppt
Magnetic disk  - Krishna Geetha.pptMagnetic disk  - Krishna Geetha.ppt
Magnetic disk - Krishna Geetha.ppt
ComputerScienceDepar6
 
Disks and-filesystems
Disks and-filesystemsDisks and-filesystems
Disks and-filesystems
plarsen67
 
Disks and-filesystems
Disks and-filesystemsDisks and-filesystems
Disks and-filesystemsplarsen67
 
Distributed file systems
Distributed file systemsDistributed file systems
Distributed file systemsSri Prasanna
 
Disk and File System Management in Linux
Disk and File System Management in LinuxDisk and File System Management in Linux
Disk and File System Management in Linux
Henry Osborne
 
Hadoop Distributed File System for Big Data Analytics
Hadoop Distributed File System for Big Data AnalyticsHadoop Distributed File System for Big Data Analytics
Hadoop Distributed File System for Big Data Analytics
DrPDShebaKeziaMalarc
 
Storage Managment
Storage ManagmentStorage Managment
Storage Managment
Kasun Rathnayaka
 
CIT173_Ch15_Mnstr_23.pdf
CIT173_Ch15_Mnstr_23.pdfCIT173_Ch15_Mnstr_23.pdf
CIT173_Ch15_Mnstr_23.pdf
LilyMorningstar1
 
Big data interview questions and answers
Big data interview questions and answersBig data interview questions and answers
Big data interview questions and answers
Kalyan Hadoop
 

Similar to Posscon2013 (20)

Flourish16
Flourish16Flourish16
Flourish16
 
Tlf2014
Tlf2014Tlf2014
Tlf2014
 
Scale2014
Scale2014Scale2014
Scale2014
 
Asiabsdcon14
Asiabsdcon14Asiabsdcon14
Asiabsdcon14
 
Fossetcon14
Fossetcon14Fossetcon14
Fossetcon14
 
Distributed File System
Distributed File SystemDistributed File System
Distributed File System
 
ZFS
ZFSZFS
ZFS
 
Zettabyte File Storage System
Zettabyte File Storage SystemZettabyte File Storage System
Zettabyte File Storage System
 
Zettabyte File Storage System
Zettabyte File Storage SystemZettabyte File Storage System
Zettabyte File Storage System
 
Self2013
Self2013Self2013
Self2013
 
Xen server storage Overview
Xen server storage OverviewXen server storage Overview
Xen server storage Overview
 
Magnetic disk - Krishna Geetha.ppt
Magnetic disk  - Krishna Geetha.pptMagnetic disk  - Krishna Geetha.ppt
Magnetic disk - Krishna Geetha.ppt
 
Disks and-filesystems
Disks and-filesystemsDisks and-filesystems
Disks and-filesystems
 
Disks and-filesystems
Disks and-filesystemsDisks and-filesystems
Disks and-filesystems
 
Distributed file systems
Distributed file systemsDistributed file systems
Distributed file systems
 
Disk and File System Management in Linux
Disk and File System Management in LinuxDisk and File System Management in Linux
Disk and File System Management in Linux
 
Hadoop Distributed File System for Big Data Analytics
Hadoop Distributed File System for Big Data AnalyticsHadoop Distributed File System for Big Data Analytics
Hadoop Distributed File System for Big Data Analytics
 
Storage Managment
Storage ManagmentStorage Managment
Storage Managment
 
CIT173_Ch15_Mnstr_23.pdf
CIT173_Ch15_Mnstr_23.pdfCIT173_Ch15_Mnstr_23.pdf
CIT173_Ch15_Mnstr_23.pdf
 
Big data interview questions and answers
Big data interview questions and answersBig data interview questions and answers
Big data interview questions and answers
 

More from 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
 
Lfnw15
Lfnw15Lfnw15
Lfnw15
Dru Lavigne
 
Scale2015
Scale2015Scale2015
Scale2015
Dru Lavigne
 
Olf2014
Olf2014Olf2014
Olf2014
Dru Lavigne
 
Ghc14
Ghc14Ghc14
Asiabsdcon14 lavigne
Asiabsdcon14 lavigneAsiabsdcon14 lavigne
Asiabsdcon14 lavigne
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
 
Ilf2013
Ilf2013Ilf2013
Ilf2013
Dru Lavigne
 

More from Dru Lavigne (18)

Olf2018
Olf2018Olf2018
Olf2018
 
Olf2017
Olf2017Olf2017
Olf2017
 
FreeBSD System Administration Using SysAdm
FreeBSD System Administration Using SysAdmFreeBSD System Administration Using SysAdm
FreeBSD System Administration Using SysAdm
 
Asiabsdcon2017
Asiabsdcon2017Asiabsdcon2017
Asiabsdcon2017
 
Olf2016
Olf2016Olf2016
Olf2016
 
Tlf2016
Tlf2016Tlf2016
Tlf2016
 
Knoxbug2016
Knoxbug2016Knoxbug2016
Knoxbug2016
 
Lfnw2016
Lfnw2016Lfnw2016
Lfnw2016
 
Scale2016
Scale2016Scale2016
Scale2016
 
Fossetcon15
Fossetcon15Fossetcon15
Fossetcon15
 
Lfnw15
Lfnw15Lfnw15
Lfnw15
 
Scale2015
Scale2015Scale2015
Scale2015
 
Olf2014
Olf2014Olf2014
Olf2014
 
Ghc14
Ghc14Ghc14
Ghc14
 
Asiabsdcon14 lavigne
Asiabsdcon14 lavigneAsiabsdcon14 lavigne
Asiabsdcon14 lavigne
 
Dru lavigne oss-sysadmin
Dru lavigne oss-sysadminDru lavigne oss-sysadmin
Dru lavigne oss-sysadmin
 
Dru lavigne oss-desktop_apps
Dru lavigne oss-desktop_appsDru lavigne oss-desktop_apps
Dru lavigne oss-desktop_apps
 
Ilf2013
Ilf2013Ilf2013
Ilf2013
 

Recently uploaded

The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 

Recently uploaded (20)

The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 

Posscon2013

  • 1. Introduction to FreeNAS 8.3.1 Dru Lavigne Documentation Lead, iXsystems POSSCON, March 27, 2013
  • 2. Class Outline USB key contains the 32- and 64-bit ISOs of FreeNAS 8.3.1, a PDF version of the 8.3.1 Users Guide, and a PDF of this presentation. If you would like to follow along by installing FreeNAS into a virtual machine, create several virtual disks. Instructions for doing so in Virtualbox can be found on pp 21-28 of the PDF. If your CPU does not support “long mode”, use the 32-bit ISO.
  • 3. Outline ✔ FreeNAS Overview ZFS Overview Configuration Workflow Plugins Overview ZFS Encryption Overview Additional Resources
  • 4. FreeNAS Overview Open source NAS (network attached storage) based on an embedded version of FreeBSD (nanoBSD) and released under 2-clause BSD license Enterprise-grade appliance (TrueNAS) is also available in 2U/4U form factors with professional support
  • 5. FreeNAS Overview 8.x is a rewrite of the original monolithic design to a modular design (.7x EOL'd in 2011) 8.0 was released May, 2011 with a focus on NAS “core” functionality 8.2.0 introduced the Plugins Jail architecture (released on July 20, 2012) for extending core 8.3.1 added GELI encryption for ZFS pools (released March 20, 2013)
  • 6. Core Features Create UFS or ZFS volumes (ZFS recommended) Import existing UFS/ZFS RAID/z volumes Import existing UFS, DOS, NTFS, EXT2/3 volumes Create shares using Appletalk, NFS, and SMB protocols Configure access through FTP/SFTP, SSH, and iSCSI
  • 7. Core Features Integration with OpenLDAP, Active Directory Automated, secure replication via rsync/ssh Automated ZFS snapshots and scrubs Front-ends to cron, sysctls, loader.conf Reporting graphs, scheduled S.M.A.R.T. tests, automated alerts, UPS
  • 8. Core Features Link aggregation, failover, and VLAN support DDNS, SNMP, and TFTP support Control panel to stop/start and view the status of services Users Guide available in wiki, HTML, PDF, epub, and Kindle formats
  • 9. Core Features Supports OSX Time Machine and Windows Shadow Copies OS is installed on USB stick/CF and is separate from data on storage disks Upgrades keep a backup of the old OS, allowing for rollback Administrative GUI accessed through a web browser; 8.2 adds a web shell for command line operations
  • 10. ZFS Overview 128-bit filesystem with a maximum pool/file size of 16 exabytes Unlike traditional Unix filesystems, you are not limited to the partition size and mount point defined at filesystem creation time Instead, disks are fed to a “pool” and the size of that pool can increase as disk capacity increases
  • 11. ZFS Overview The pool can be logically subdivided, with each segment having access to the remaining capacity of the pool Offers great flexibility! Pre-planning for hardware and designing for a particular environment's storage needs is needed for optimization and to get the full benefits of ZFS
  • 12. Pool Root (parent) volume which can be sub-divided into datasets or zvols as needed Typically only one, but multiple pools are allowed Typically, feed all disks to the pool The number of disks added at a time is known as a “vdev” To optimize performance, number of disks is limited and additional vdevs are striped
  • 13. RAIDZ RAIDZ* levels designed to overcome hardware RAID limitations such as the write-hole and corrupt data written over time before the controller notices Designed for commodity disks so no RAID controller is needed Can also be used with a RAID controller, but it should be put in JBOD mode
  • 14. RAIDZ1 Avoids the RAID5 write-hole by using COW (copy on write) Parity blocks are distributed across all disks Up to one disk can fail without losing pool Pool can be lost if second disk fails before restripe completes Optimized for vdev of 3, 5, or 9 disks
  • 15. RAIDZ2 Double-parity solution similar to RAID6 Parity blocks are distributed across all disks Up to two disks can fail without losing pool, with no restrictions on which disks can fail Optimized for vdev of 4, 6, or 10 disks
  • 16. RAIDZ3 Triple-parity solution Parity blocks are distributed across all disks Up to three disks can fail without losing pool, with no restrictions on which disks can fail Optimized for vdev of 5, 7, or 11 disks
  • 17. ZIL ZFS Intent Log Effectively a filesystem journal that manages writes A dedicated SSD or drive can increase write performance, especially for synchronous NFS Use ZFSv28 for dedicated ZIL or else lost device will lose pool
  • 18. ARC ARC refers to read cache in RAM; if RAM is very small, read speed is reduced to disk speed Expect a miss for random reads and a hit for cached reads Takes time for ARC to populate; 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
  • 19. L2ARC Optional, secondary ARC which can be installed on SSD or disk L2ARC is populated over time with “hot” reads Recommended for deduplication and to increase read performance
  • 20. Datasets Pool can be divided into datasets Similar to a folder in that it supports permissions Similar to a filesystem in that you can set properties such as quotas and compression A well thought out design can optimize storage for the type of data being stored
  • 21. Zvols Pool can also be divided into zvols Essentially, a virtual, raw block device Ideal for iSCSI device extents Supports quotas and compression
  • 22. Snapshots Provide read-only, point-in-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 Can be used to provide Windows shadow copies
  • 23. Clones Provide read-write copies of read-only snapshots Initial size of clone is 0 bytes Clones can be mounted and used to access data from that point in time (e.g. earlier revision of a file)
  • 24. Scrubs ZFS was designed to be self-healing ZFS creates and verifies checksums as data is written to disk A scrub verifies the checksum in each disk block, correcting data as necessary I/O intensive so should be scheduled appropriately Reading the scrub results can provide an early indication of possible disk failure
  • 25. Deduplication Used to free blocks containing identical data (updates reference pointers) Can improve performance on datasets containing duplicate data (e.g. virtual images) Dedup tables should fit into L2ARC; systems with limited RAM or no L2ARC might freeze hard
  • 26. RAM RAM is used to hold read cache, write cache, checksum calculations, dedup tables, parity calculations, etc. Add as much RAM as possible; general rule of thumb is: 1 GB of RAM for every 1TB of storage in pool 5 GB RAM/L2ARC per TB of storage to be deduplicated (use a dataset)
  • 27. Misc zpool split command can be used to “clone” a mirror to one disk and to use that disk to recreate that pool on a different system autoexpand property allows pool to grow by replacing one disk at a time with a larger disk Resilvering is the process of resyncing a RAIDZ. This takes time, depending upon the size of disk being replaced. It is a bad thing to lose the maximum number of disks in a RAIDZ before the resilver completes.
  • 28. Configuration Workflow 1. Set the administrative username and password 2. Create volumes/datasets 3. Create users/groups or integrate with LDAP/AD 4. Configure share 5. Start applicable service(s) 6. Test and save the configuration
  • 30. 2. Create Volume Several choices: 1. Import existing UFS RAID or ZFS pool 2. Import existing disk or partition(s) formatted with UFS, FAT, NTFS, or EXT2/3 3. Format a UFS or ZFS volume Once a ZFS volume (pool) is created, it can be divided into datasets (with own options) or zvols (to use as a “raw” disk for iSCSI)
  • 33. 3. Users/Groups Choices: 1. Manually create 2. Import existing Active Directory users 3. Import existing LDAP users
  • 37. 4. Configure Share AFP: for Mac OS X CIFS: for Windows, also supports any other OS NFS: faster than CIFS, supports any OS SSH: CLI and GUI clients available for any OS FTP: CLI and GUI clients available for any OS iSCSI target: for access to “raw” disks
  • 38. Configure Share When configuring: Recommended to only have one type of share to prevent filesystem/client conflicts Users needing access to that share must have permission to the volume being shared, or the share access must be set to anon/guest Permissions can be set on a per volume or per dataset basis
  • 40. 6. Test and Save Configuration From a client, confirm that access is permitted to allowed users Can enable console logging at bottom of browser to troubleshoot a service that won't start Can use web shell to read logs when troubleshooting
  • 42. Plugins Architecture Provides the administrator the flexibility to install additional software from the FreeNAS GUI to meet the requirements of the NAS Comprised of three components: - FreeBSD Jail - PBI (Push Button Installer) files - Plugins
  • 43. What is a Jail? A FreeBSD feature for providing light-weight, operating system-level virtualization A jail has its own hostname, IP address, users, and is separated from the host operating system FreeNAS implementation includes vimage which gives the jail its own networking stack and IP broadcasting
  • 44. What is a PBI/Plugin? PBI format originally created by the PC-BSD project (a desktop version of FreeBSD) Provides a graphical installation wrapper for software ported to FreeBSD FreeNAS implementation extends this functionality by incorporating the application's configuration file into the FreeNAS graphical administrative interface—the result is known as a Plugin
  • 45. Installing the Plugins Jail Before any plugins can be installed, the Plugins Jail must be installed and started Recommended that Plugins Jail is installed into its own ZFS dataset and that a second dataset is used to store the installed software The Plugins Jail and supported Plugins can be downloaded from plugins folder for architecture http://sourceforge.net/projects/freenas/files/ FreeNAS-8.3.1/
  • 48. Installing a Plugin Once the Plugins Jail is installed and the Plugins service started, you can install FreeNAS PBIs (Plugins) As each Plugin is installed, an icon will be added to the FreeNAS menu (used to configure the application) and its service will be added to the Plugins tab of the Control Services menu so it can be started
  • 51. Installing Non-PBI Software If a PBI is not available, you can still install FreeBSD packages or compile ports within the Plugins Jail Software installed this way will not be integrated into the administrative interface but can be configured and started from the command line Use FreshPorts.org to search for software that has been ported to FreeBSD
  • 52. Installing Packages A FreeBSD package is a pre-compiled binary that includes the dependencies required by the application Installed using the pkg_add -r command: FreshPorts.org will tell you the exact command to use pkg_info -Lx will tell you what gets installed Typically, conf files are in /usr/local/etc/ and startup scripts are in /usr/local/etc/rc.d/
  • 53. Compiling Ports Packages are recommended unless a package is not available or you need to change a compile option as compiling takes time and system resources FreshPorts.org will list the available compile options Use the make install command to compile Once compiled and installed, the software can be configured like any other package
  • 54. Available PBIs FreeNAS PBIs are still new (only available since July 2012) 3 official PBIs: Firefly, MiniDLNA, Transmission List of PBI requests: http://doc.freenas.org/index.php/PBI_Requests List of user-created PBIs: http://forums.freenas.org/showthread.php?8470- INDEX-Available-Plugins
  • 55. Encryption GELI full disk encryption for new ZFS volumes (not ZFSv30 encryption which is closed source) Full disk encryption, not per-filesystem encryption Targeted at users who store sensitive data and want the ability to safely dispose of disks (independent of the encryption key) without wiping them first Encryption key is per ZFS pool
  • 56. Encryption Encryption key is protected by both a passphrase and a recovery key CPU that supports AES-NI is recommended, especially if more than one disk in pool Data in the ARC cache and the contents of RAM are unencrypted Swap is always encrypted, even on unencrypted volumes
  • 57. Encryption Key management tools added to encrypted volume's screen in GUI Used to change the passphrase, download a copy of the key, create a new key (which destroys the old key), create and download a copy of the recovery key, and change the recovery key If the passphrase is forgotten, the recovery key can be used (needed when importing a pool)
  • 60. Resources Links to Users Guide: http://doc.freenas.org IRC: #freenas on Freenode Links to mailing lists and instructional videos: http://doc.freenas.org/index.php/ FreeNAS_Support_Resources
  • 61. Questions Contact: dru@freebsd.org URL to Slides: http://slideshare.net/dlavigne/posscon2013