FreeNAS® is © 2011-2019 iXsystems

FreeNAS® and the FreeNAS® logo are registered trademarks of iXsystems

FreeBSD® is a registered trademark of the FreeBSD Foundation

Written by users of the FreeNAS® network-attached storage operatingsystem.

Version 11.2

Copyright © 2011-2019iXsystems

This Guide covers the installation and use of FreeNAS® 11.2.

The FreeNAS® User Guide is a work in progress and relies on thecontributions of many individuals. If you are interested in helping usto improve the Guide, read the instructions in theREADME.IRC Freenode users are welcome to join the#freenas channelwhere you will find other FreeNAS® users.

The FreeNAS® User Guide is freely available for sharing andredistribution under the terms of theCreative Commons AttributionLicense.This means that you have permission to copy, distribute, translate,and adapt the work as long as you attribute iXsystems as the originalsource of the Guide.

FreeNAS® and the FreeNAS® logo are registered trademarks of iXsystems.

Active Directory® is a registered trademark or trademark ofMicrosoft Corporation in the United States and/or other countries.

Apple, Mac and Mac OS are trademarks of Apple Inc., registered in theU.S. and other countries.

Broadcom is a trademark of Broadcom Corporation.

Chelsio® is a registered trademark of Chelsio Communications.

Cisco® is a registered trademark or trademark of CiscoSystems, Inc. and/or its affiliates in the United States and certainother countries.

Django® is a registered trademark of Django SoftwareFoundation.

Facebook® is a registered trademark of Facebook Inc.

FreeBSD® and the FreeBSD® logo are registeredtrademarks of the FreeBSD Foundation®.

Intel, the Intel logo, Pentium Inside, and Pentium are trademarks ofIntel Corporation in the U.S. and/or other countries.

LinkedIn® is a registered trademark of LinkedIn Corporation.

Linux® is a registered trademark of Linus Torvalds.

Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates.

Twitter is a trademark of Twitter, Inc. in the United States and othercountries.

UNIX® is a registered trademark of The Open Group.

VirtualBox® is a registered trademark of Oracle.

VMware® is a registered trademark of VMware, Inc.

Wikipedia® is a registered trademark of the WikimediaFoundation, Inc., a non-profit organization.

Windows® is a registered trademark of Microsoft Corporationin the United States and other countries.

Typographic Conventions

The FreeNAS® 11.2 User Guide uses these typographic conventions:

Table 1Text Format Examples
ItemVisual Example
Graphical elements: buttons, icons, fields, columns, and boxesClick theImport CA button.
Menu selectionsSelectSystem ‣ Information.
CommandsUse thescp command.
File names and pool and dataset namesLocate the/etc/rc.conf file.
Keyboard keysPress theEnter key.
Important pointsThis is important.
Values entered into fields, or device namesEnter127.0.0.1 in the address field.
Table 2FreeNAS® Icons
IconUsage
ADDAdd a new item.
 (Settings)Show a settings menu.
 (Options)Show an Options menu.
 (Browse)Shows an expandable view of system directories.
⏻ (Power)Show a power options menu.
 (Show)Reveal characters in a password field.
 (Hide)Hide characters in a password field.
 (Configure)Edit settings.
襁 (Launch)Launch a service.
▶ (Start)Start jails.
 (Stop)Stop jails.
🕓 (Update)Update jails.
 (Delete)Delete jails.
 (Encryption Options)Encryption options for a pool.

1. Introduction

FreeNAS® is an embedded open source network-attached storage (NAS)operating system based on FreeBSD and released under a2-clause BSD license.A NAS has an operating system optimized for file storage and sharing.

FreeNAS® provides a browser-based, graphical configuration interface.The built-in networking protocols provide storage access to multipleoperating systems. A plugin system is provided for extending thebuilt-in features by installing additional software.

1.1. New Features in 11.2

FreeNAS® 11.2 is a feature release, which includes several newsignificant features, many improvements and bug fixes to existingfeatures, and version updates to the operating system, baseapplications, and drivers. Users are encouraged toUpdate tothis release in order to take advantage of these improvements and bugfixes.

These major features are new in this version:

  • The login screen defaults to the new, Angular-based UI. Users who wishto continue to use the classic UI can select “Legacy UI” in the loginscreen.
  • Beginning with this release, the screenshots that appear in thepublished version of the Guideand in theGuide option within the new UI are for the new UI.However, users who click on theGuide icon while loggedinto the classic UI will continue to see screenshots for the old UI.The availability of both versions of the Guide is to assist users asthey become familiar with the new UI during the transition periodbefore the classic UI is deprecated in a future release.
  • The rewrite from the old API to the new middlewared continues. Oncethe rewrite is complete,api.freenas.orgwill be deprecated and replaced by the new API documentation. In themean time, to see the API documentation for the new middleware, loginto the new UI, click on the URL for the FreeNAS system in yourbrowser’s location bar, and add/api/docs to the end ofthat URL.
  • The boot loader has changed from GRUB to the native FreeBSD bootloader. This should resolve several issues that some users experiencedwith GRUB. GRUB was introduced as a temporary solution until theFreeBSD boot loader had full support for boot environments, which itnow has.
  • ThePlugins andJails backend has switched fromwarden toiocage andwarden will nolonger receive bug fixes. The new UI will automatically useiocage to create and managePlugins andJails.Users are encouraged to recreate any existingPlugins andJails using the new UI to ensure that they are running thelatest supported application versions.
  • Plugins have switched to FreeBSD 11.2-RELEASE and all Pluginshave been rebuilt for this version.
  • Virtual Machines are more crash-resistant. When a guest is started, theamount of available memory is checked and an initialization error willoccur if there is insufficient system resources. There is an option toovercommit memory to the guest when it is started, but this is notrecommended for normal use. When a guest is stopped, its resources arereturned to the system. In addition, the UEFI boot menu fix allowsLinux kernels 4.15 and higher to boot properly.
  • Cloud Sync Tasks provides configuration options to encrypt databefore it is transmitted and to keep it in the encrypted format whilestored on the cloud. The filenames can also be encrypted.
  • Preliminary support has been added forSelf-Encrypting Drives(SEDs).

This software has been added or updated:

  • The base operating system is the STABLE branch ofFreeBSD 11.2,which brings in many updated drivers and bug fixes. This branch hasbeen patched to include the FreeBSD security advisories up toFreeBSD-SA-18:13.nfs.
  • OpenZFS is up-to-date with Illumos and slightly ahead due to supportfor sorted scrubs which were ported from ZFS on Linux. Notableimprovements include channel programs, data disk removal, moreresilient volume import, the ability to import a pool with missingvdevs, pool checkpoints, improved compressed ARC performance, and ZILbatching. As part of this change, the default ZFS indirect block sizeis reduced to 32 KiB from 128 KiB. Note that many of theseimprovements need further testing so have not yet been integrated intothe UI.
  • The IPsec kernel module has been added. It can be manually loaded withkldload ipsec.
  • Support for eMMC flash storage has been added.
  • Theem,igb,ixgbe,andixlIntel drivers have been patched to resolve a performance degradation issuethat occurs when the MTU is set to9000 (9k jumbo clusters).Before configuring 9k jumbo clusters forcxgbecreate aTunables with aVariable ofhw.cxgbe.largest_rx_cluster,aType ofLoader, and aValue of4096.Thecxgbdriver does not support jumbo clusters and should not use an MTU greaterthan4096.
  • Thebnxt driverhas been added which provides support for Broadcom NetXtreme-C andNetXtreme-E Ethernet drivers.
  • Thevt terminalis now used by default and the syscons terminal is removed from thekernel.
  • ncdu has been added to the basesystem. This CLI utility can be used to analyze disk usage from theconsole or an SSH session.
  • drm-next-kmodhas been added to the base system, adding support for UTF-8 fonts tothe console for Intel graphic cards.
  • Samba 4.7 has been patched to address the latest round ofsecurity vulnerabilities.
  • rsync has been updated toversion 3.1.3.
  • rclone has been updated toversion 1.44.
  • Minio has been updated toversion 2018-04-04T05.
  • Netdata as been updated toversion 1.10.0.
  • iocage has been synced with upstream as of October 3, providing manybug fixes and improved IPv6 support.
  • RancherOS has been updated to version1.4.2.
  • zsh is the root shell for new installations.Upgrades will continue to use thecsh shell as the defaultroot shell.
  • ifconfig tapinterface descriptions now show the name of the attached virtualmachine.
  • xattr has been added to the basesystem and can be used to modify file extended attributes from thecommand line. Typexattr -h to view the available options.
  • convmv has been added tothe base system and can be used to convert the encoding of filenamesfrom the command line. Typeconvmv to view the availableoptions.
  • Thecloneacl CLI utility has been added. It can be used toquickly clone a complex ACL recursively to or from an existing share.Typecloneacl for usage instructions.
  • These switches have been added tofreenas-debug:-M for dumping SATADOM info and-Z to deleteold debug information. The-G switch has been removed asthe system no longer uses GRUB. The-J switch has beenremoved and the-j switch has beenreworked to show iocage jail information instead of Warden.
  • These switches have been added toarcstat:-a fordisplaying all available statistics and-p for displayingraw numbers without suffixes.

These screen options have changed:

  • TheATA Security User,SED Password, andReset SED Password fields have been added toSystem ‣ Advanced.
  • TheEnable Console Screensaver field has been removedfromSystem ‣ Advanced.
  • TheEnable automatic upload of kernel crash dumps anddaily telemetry checkbox has been removed fromSystem ‣ Advanced.
  • TheEnable Power Saving Daemon option has beenremoved fromSystem ‣ Advanced.
  • Alert Settings has been added toSystem andcan be used to list the available alert conditions and to configurethe notification frequency on a per-alert basis.
  • TheseCloud Credentials have been added toSystem ‣ Cloud Credentials: Amazon Cloud Drive,Box, Dropbox, FTP, Google Drive, HTTP, Hubic, Mega, MicrosoftOneDrive, pCloud, SFTP, WebDAV, and Yandex.
  • TheTeam Drive ID field has been added toSystem ‣ Cloud Credentials ‣ Addand appears whenGoogle Drive is theProvider.
  • TheEndpoint URL has been added toSystem -> Cloud Credentials -> Add Cloud Credentialbut only appears whenAmazon S3 is selected as theProvider. This can be used to configure a connection toanother S3-compatible service, such as Wasabi.
  • Drive Account Type andDrive ID has beenadded toSystem -> Cloud Credentials -> Add Cloud Credential.These fields appear whenMicrosoft OneDrive is selected as theProvider.
  • TheAutomatically check for new updates option inSystem ‣ Update has been renamed toCheck for Updates Daily and Download if Available.
  • TheTrain selector inSystem ‣ Update has been changed so that onlyallowable trains are displayed in the drop-down menu. Each trainoption has an expanded description.
  • There is now an option to add a prompt to save a copy of the systemconfiguration and include thePassword Secret Seed beforedoing a system upgrade. This popup can be enabled by going to (Settings) ‣ Preferences and unsettingEnable “Save Configuration” Dialog Before Upgrade.
  • TheContainer,Remote encryption,Filename encryption,Encryption password, andEncryption salt fields have been added toTasks ‣ Cloud Sync Tasks ‣ Add Cloud Sync.
  • TheNIC andInterface Name fields inNetwork ‣ Interfaces ‣ Add Interfaceare preconfigured with the web interface NIC settings when configuringthe first interface. A warning is shown when a user attempts toconfigure a different interface before the web interface NIC.
  • TheBlock size field inStorage ‣ Pools ‣ Add Zvol ‣ ADVANCED MODEno longer allows choosing sizes smaller than4K. This is to preventperformance issues from setting a block size that is too small forefficient processing.
  • TheExec field has been added toStorage ‣ Pools ‣ Add Dataset ‣ ADVANCED MODE.TheRecord Size field no longer allows choosing sizessmaller than4K. This is to prevent performance issues fromsetting a block size that is too small for efficient processing.
  • ADate Created column has been added toStorage ‣ Snapshots.
  • ThePassword for SED column has been added toStorage ‣ Disks.
  • TheMSDOSFS locale drop-down menu has been added toStorage ‣ Import Disk.
  • ADomain Account Password inDirectory Services ‣ Active Directoryis only required when configuring a domain forthe first time.
  • TheUser Base andGroup Base fields havebeen removed fromDirectory Services ‣ Active Directory ‣ Advanced Mode.
  • TheEnable home directories,Home directories,Home share name, andHome Share Time Machinefields have been removed fromServices ‣ AFP andtheTime Machine Quota field has been removed fromSharing ‣ Apple (AFP) Shares. These fields havebeen replaced bySharing ‣ Apple (AFP) Shares ‣ Use as home share.
  • TheUmask field inServices ‣ TFTP haschanged to aFile Permissions selector.
  • TheHostname field has been added toServices ‣ UPS. This field replaces thePort field when a UPSDriver withsnmp is selected.
  • The BitTorrent Sync plugin has been renamed to Resilio Sync.
  • Disk temperature graphs have been added toReporting ‣ Disk.This category has been reworked to allow the user to choose thedevices and metrics before graphs are displayed.
  • Uptime graphs have been removed from theReporting ‣ System tab.
  • Virtual Machines ‣ Device add and edit forms nowhave aDevice Order field to set boot priority for VMdevices.

1.1.1. RELEASE-U1

  • Netatalk has been updated to3.1.12 to addressCVE-2018-1160.

1.1.2. U2

  • The base operating system has been patched to address these securityadvisories:
  • Themlx5ib(4)driver for the Mellanox ConnectX-4 family of infiniband drivers hasbeen added.
  • Samba has been updated to4.9.4 whichis the current stable release receiving new features. This version bumpprovides significant performance improvements as well as improved TimeMachine support. This deprecates the dfs_samba4, fake_acls, skel_opaque,skel_transparent, and snapper modules which have been removed fromSharing ‣ Windows (SMB) Shares ‣ ADD ‣ ADVANCED MODE ‣ VFS Objects.
  • OpenSSL has been updated to1.0.2qto address CVE-2018-5407.
  • curl has been updated to7.62.0 to addresssecurity vulnerabilities.
  • Pool widgets in theDashboardnow change color to reflect the current pool status.
  • Help text can now be pinned to the screen, remaining visible whenthe cursor moves from the help icon.
  • Disable Endpoint Region andUse Signature Version 2 checkboxes have been added toSystem ‣ Cloud Credentials ‣ Add Cloud CredentialwhenAmazon S3 is chosen as theProvider.
  • TheReboot After Update checkbox has been added toSystem ‣ Update ‣ Manual Update
  • A  (Browse) option displays with theFolder field inTasks ‣ Cloud Sync Tasks ‣ ADD.This allows browsing through the connectedCredentialremote filesystem.
  • Rollback for any dataset snapshot is supported inStorage ‣ Snapshots.
  • Theixnas VFS module has been added to and theaio_pthread VFS module has been removed fromSharing ‣ Windows (SMB) ‣ VFS Objects.
  • TheTime Machine field has been added toSharing ‣ Windows (SMB) Shares ‣ Add.
  • AnNAA column has been added toSharing ‣ Block (iSCSI) ‣ Extents.
  • TheEnable SMB1 support checkbox has been added toServices ‣ SMB.
  • AnADVANCED PLUGIN INSTALLATION option has been added toPlugins ‣ Available ‣ Install. This allowsfull plugin jail customization before plugin installation.
  • Theallow_mlock,vnet_interfaces,hostid_strict_check, andallow_tun fields havebeen added to theJails ‣ Add ‣ Advanced Jail CreationandJails ‣ Editforms.
  • TheARC Size graph inReportingnow shows the compressed physical L2ARC size.
  • Theopenipmi package andusr/local/lib/collectd/ipmi.so have been removed to disablethe non-functional collectd IPMI plugin.
  • TheWait to Boot field inVirtual Machines ‣ Devices ‣ VNC Device ‣ Edithas been renamed toDelay VM Boot until VNC Connects.
  • AnAlert forsyslog-ngstopping has been added toSystem ‣ Alert Settings.

1.1.3. U3

  • ZeroTier has been updated to1.2.12.
  • TheConfirm Password field has been removed fromSystem ‣ Email.
  • A  (Refresh) button has been added toSystem ‣ Update.
  • TheMultipaths page has been added toStorage.This page only appears when compatible hardware is detected.
  • The chosen snapshot name and creation date has been added to therollback warning dialog inStorage ‣ Snapshots ‣  (Options)‣ Rollback.
  • ThePool column has been removed fromStorage ‣ Disks.
  • SettingEnable AD Monitoring inDirectory Services ‣ Active Directorynow prevents modifyingServices ‣ Domain Controller.
  • Theshadow_copy_zfs VFS object has replaced theshadow_copy_test object inSharing ‣ Windows (SMB) Shares ‣ ADD ‣ ADVANCED MODE.
  • TheHost field has been added toServices ‣ TFTP.
  • Jails displays a DHCP prefix before theIPv4 Address for DHCP-enabled Plugins and Jails.
  • CPU Temperature graphs have been added toReporting ‣ CPU.
  • Activity graphs have been updated to report Megabytes/s inReporting ‣ Network.
  • Restart has been added to the  (Options) menu for arunning VM inVirtual Machines.
  • TheState column ofVirtual Machines haschanged to a start/stop slider. Hover over the slider to view thecurrent state.
  • TheAutostart column has been added toVirtual Machines.
  • TheRaw filename password field has been added toDocker HostStorage File options inVirtual Machines ‣ ADD.
  • TheBind drop-down menu has been added toVirtual Machines ‣ ADD and toVirtual Machines ‣ Devices ‣ VNC ‣ Edit.

1.2. Path and Name Lengths

Names of files, directories, and devices are subject to some limitsimposed by the FreeBSD operating system. The limits shown here are fornames using plain-text characters that each occupy one byte of space.Some UTF-8 characters take more than a single byte of space, and usingthose characters reduces these limits proportionally. System overheadcan also reduce the length of these limits by one or more bytes.

Table 1.2.1Path and Name Lengths
TypeMaximum LengthDescription
File Paths1024 bytes

Total file path length (PATH_MAX). The full path includes directoryseparator slash characters, subdirectory names, and the name of thefile itself. For example, the path/mnt/tank/mydataset/mydirectory/myfile.txt is 42 bytes long.

Using very long file or directory names can be problematic. A completepath with long directory and file names can exceed the 1024-bytelimit, preventing direct access to that file until the directory namesor filename are shortened or the file is moved into a directory with ashorter total path length.

File and DirectoryNames255 bytesIndividual directory or file name length (NAME_MAX).
Mounted FilesystemPaths88 bytesMounted filesystem path length (MNAMELEN). Longer paths can preventa device from being mounted.
Device FilesystemPaths63 bytesdevfs(8) devicepath lengths (SPECNAMELEN). Longer paths can prevent a device frombeing created.

Note

88 bytes is equal to 88 ASCII characters. The number ofcharacters varies when using Unicode.

Warning

If the mounted path length for a snapshot exceeds 88bytes, the data in the snapshot is safe but inaccessible. Whenthe mounted path length of the snapshot is less than the 88 bytelimit, the data will be accessible again.

The 88 byte limit affects automatic and manual snapshot mounts inslightly different ways:

  • Automatic mount: ZFS temporarily mounts a snapshot whenever auser attempts to view or search the files within the snapshot. Themountpoint used will be in the hidden directory.zfs/snapshot/name within the same ZFS dataset. Forexample, the snapshotmypool/dataset/snap1@snap2 is mountedat/mnt/mypool/dataset/.zfs/snapshot/snap2/. If the lengthof this path exceeds 88 bytes the snapshot will not be automaticallymounted by ZFS and the snapshot contents will not be visible orsearchable. This can be resolved by renaming the ZFS pool or datasetcontaining the snapshot to shorter names (mypool ordataset), or by shortening the second part of the snapshotname (snap2), so that the total mounted path length does notexceed 88 bytes. ZFS will automatically perform any necessaryunmount or remount of the file system as part of the renameoperation. After renaming, the snapshot data will be visible andsearchable again.
  • Manual mount: The same example snapshot is mounted manuallyfrom theShell withmount -t zfsmypool/dataset/snap1@snap2 /mnt/mymountpoint. The path/mnt/mountpoint/ must not exceed 88 bytes, and the length ofthe snapshot name is irrelevant. When renaming a manual mountpoint,any object mounted on the mountpoint must be manually unmounted withtheumount command before renaming the mountpoint. It canbe remounted afterwards.

Note

A snapshot that cannot be mounted automatically by ZFS canstill be mounted manually from theShell with a shortermountpoint path. This makes it possible to mount and accesssnapshots that cannot be accessed automatically in other ways, suchas from the web interface or from features such as “File History” or“Versions”.

1.3. Hardware Recommendations

FreeNAS® 11.2 is based on FreeBSD 11.2 and supports the samehardware found in theFreeBSD Hardware Compatibility List.Supported processors are listed in section2.1 amd64.FreeNAS® is only available for 64-bit processors. This architecture iscalledamd64 by AMD andIntel 64 by Intel.

Note

FreeNAS® boots from a GPT partition. This means that thesystem BIOS must be able to boot using either the legacy BIOSfirmware interface or EFI.

Actual hardware requirements vary depending on the usage of theFreeNAS® system. This section provides some starter guidelines. TheFreeNAS® Hardware Forumhas performance tips from FreeNAS® users and is a place to postquestions regarding the hardware best suited to meet specificrequirements.Hardware Recommendationsgives detailed recommendations for system components, with theFreeNAS® Quick Hardware Guideproviding short lists of components for various configurations.Building, Burn-In, and Testing your FreeNAS® systemhas detailed instructions on testing new hardware.

1.3.1. RAM

The best way to get the most out of a FreeNAS® system is to installas much RAM as possible. More RAM allows ZFS to provide betterperformance. TheFreeNAS® Forumsprovide anecdotal evidence from users on how much performance can begained by adding more RAM.

General guidelines for RAM:

  • A minimum of 8 GiB of RAM is required.

    Additional features require additional RAM, and large amounts ofstorage require more RAM for cache. An old, somewhat overstatedguideline is 1 GiB of RAM per terabyte of disk capacity.

  • To use Active Directory with many users, add an additional 2 GiB ofRAM for the winbind internal cache.

  • For iSCSI, install at least 16 GiB of RAM if performance is notcritical, or at least 32 GiB of RAM if good performance is arequirement.

  • Jails are very memory-efficient, but can still use memorythat would otherwise be available for ZFS. If the system will berunning many jails, or a few resource-intensive jails, adding 1 to 4additional gigabytes of RAM can be helpful. This memory is shared bythe host and will be used for ZFS when not being used by jails.

  • Virtual Machines require additional RAM beyond anyamounts listed here. Memory used by virtual machines is notavailable to the host while the VM is running, and is not includedin the amounts described above. For example, a system that will berunning two VMs that each need 1 GiB of RAM requires an additional 2GiB of RAM.

  • When installing FreeNAS® on a headless system, disable the sharedmemory settings for the video card in the BIOS.

  • For ZFS deduplication, ensure the system has at least 5 GiB of RAMper terabyte of storage to be deduplicated.

If the hardware supports it, install ECC RAM. While more expensive,ECC RAM is highly recommended as it prevents in-flight corruption ofdata before the error-correcting properties of ZFS come into play,thus providing consistency for the checksumming and paritycalculations performed by ZFS. If your data is important, use ECC RAM.ThisCase Studydescribes the risks associated with memory corruption.

Do not use FreeNAS® to store data without at least 8 GiB of RAM. Manyusers expect FreeNAS® to function with less memory, just at reducedperformance. The bottom line is that these minimums are based onfeedback from many users. Requests for help in the forums or IRC aresometimes ignored when the installed system does not have at least 8GiB of RAM because of the abundance of information that FreeNAS® may notbehave properly with less memory.

1.3.2. The Operating System Device

The FreeNAS® operating system is installed to at least one device thatis separate from the storage disks. The device can be a SSD, USBmemory stick, or DOM (Disk on Module). Installation to a hard drive isdiscouraged as that drive is then not available for data storage.

Note

To write the installation file to a USB stick,two USBports are needed, each with an inserted USB device. One USB stickcontains the installer, while the other USB stick is thedestination for the FreeNAS® installation. Be careful to selectthe correct USB device for the FreeNAS® installation. FreeNAS® cannotbe installed onto the same device that contains the installer.After installation, remove the installer USB stick. It might alsobe necessary to adjust the BIOS configuration to boot from the newFreeNAS® boot device.

When determining the type and size of the target device where FreeNAS®is to be installed, keep these points in mind:

  • The absolutebare minimum size is 8 GiB. That does not provide muchroom. Therecommended minimum is 16 GiB. This provides room for theoperating system and several boot environments created by updates.More space provides room for more boot environments and 32 GiB ormore is preferred.

  • SSDs (Solid State Disks) are fast and reliable, and make very goodFreeNAS® operating system devices. Their one disadvantage is thatthey require a disk connection which might be needed for storagedisks.

    Even a relatively large SSD (120 or 128 GiB) is useful as a bootdevice. While it might appear that the unused space is wasted, thatspace is instead used internally by the SSD for wear leveling. Thismakes the SSD last longer and provides greater reliability.

  • When planning to add your own boot environments, budget about 1 GiBof storage per boot environment. Consider deleting older bootenvironments after making sure they are no longer needed. Bootenvironments can be created and deleted usingSystem ‣ Boot.

  • Use quality, name-brand USB sticks, as ZFS will quickly revealerrors on cheap, poorly-made sticks.

  • For a more reliable boot disk, use two identical devices and selectthem both during the installation. This will create a mirrored bootdevice.

Note

Current versions of FreeNAS® run directly from the operatingsystem device. Early versions of FreeNAS® ran from RAM, but that hasnot been the case for years.

1.3.3. Storage Disks and Controllers

TheDisk sectionof the FreeBSD Hardware List lists the supported disk controllers. Inaddition, support for 3ware 6 Gbps RAID controllers has been addedalong with the CLI utilitytw_cli for managing 3ware RAIDcontrollers.

FreeNAS® supports hot pluggable drives. Using this feature requiresenabling AHCI in the BIOS.

Reliable disk alerting and immediate reporting of a failed drive canbe obtained by using an HBA such as an Broadcom MegaRAID controller ora 3Ware twa-compatible controller.

Note

Upgrading the firmware of Broadcom SAS HBAs to the latestversion is recommended.

Some Highpoint RAID controllers do not support pass-through ofS.M.A.R.T. data or other disk information, potentially including diskserial numbers. It is best to use a different disk controller withFreeNAS®.

Note

The system is configured to prefer themrsas(4)driver for controller cards like the Dell PERC H330 and H730 whichare supported by several drivers. Although not recommended, themfi(4)driver can be used instead by removing the loaderTunable:hw.mfi.mrsas_enable orsetting theValue to0.

Suggestions for testing disks before adding them to a RAID array canbe found in thisforum post.Additionally,badblocks isinstalled with FreeNAS® for testing disks.

If the budget allows optimization of the disk subsystem, consider theread/write needs and RAID requirements:

  • For steady, non-contiguous writes, use disks with low seek times.Examples are 10K or 15K SAS drives which cost about $1/GiB. Anexample configuration would be six 600 GiB 15K SAS drives in a RAID10 which would yield 1.8 TiB of usable space, or eight 600 GiB 15K SASdrives in a RAID 10 which would yield 2.4 TiB of usable space.

For ZFS,Disk Space Requirements for ZFS Storage Poolsrecommends a minimum of 16 GiB of disk space. FreeNAS® allocates 2 GiBof swap space on each drive. Combined with ZFS space requirements,this means thatit is not possible to format drives smaller than 3 GiB.Drives larger than 3 GiB but smaller than the minimum recommendedcapacity might be usable but lose a significant portion of storagespace to swap allocation. For example, a 4 GiB drive only has 2 GiB ofavailable space after swap allocation.

New ZFS user who are purchasing hardware should read throughZFS Storage Pools Recommendationsfirst.

ZFSvdevs, groups of disks that act like a single device, can becreated using disks of different sizes. However, the capacityavailable on each disk is limited to the same capacity as the smallestdisk in the group. For example, a vdev with one 2 TiB and two 4 TiBdisks will only be able to use 2 TiB of space on each disk. Ingeneral, use disks that are the same size for the best space usage andperformance.

TheZFS Drive Size and Cost Comparison spreadsheetis available to compare usable space provided by different quantitiesand sizes of disks.

1.3.4. Network Interfaces

TheEthernet sectionof the FreeBSD Hardware Notes indicates which interfaces are supportedby each driver. While many interfaces are supported, FreeNAS® usershave seen the best performance from Intel and Chelsio interfaces, soconsider these brands when purchasing a new NIC. Realtek cards oftenperform poorly under CPU load as interfaces with these chipsets do notprovide their own processors.

At a minimum, a GigE interface is recommended. While GigE interfacesand switches are affordable for home use, modern disks can easilysaturate their 110 MiB/s throughput. For higher network throughput,multiple GigE cards can be bonded together using the LACP type ofLink Aggregations. The Ethernet switch must support LACP, whichmeans a more expensive managed switch is required.

When network performance is a requirement and there is some money tospend, use 10 GigE interfaces and a managed switch. Managed switcheswith support for LACP and jumbo frames are preferred, as both can beused to increase network throughput. Refer to the10 Gig Networking Primerfor more information.

Note

At present, these are not supported: InfiniBand,FibreChannel over Ethernet, or wireless interfaces.

Both hardware and the type of shares can affect network performance.On the same hardware, SMB is slower than FTP or NFS because Samba issingle-threaded.So a fast CPU can help with SMB performance.

Wake on LAN (WOL) support depends on the FreeBSD driver for theinterface. If the driver supports WOL, it can be enabled usingifconfig(8). Todetermine if WOL is supported on a particular interface, use theinterface name with the following command. In this example, thecapabilities line indicates that WOL is supported for theigb0interface:

[root@freenas ~]# ifconfig -m igb0igb0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500        options=6403bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6>        capabilities=653fbb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,WOL_UCAST,WOL_MCAST,WOL_MAGIC,VLAN_HWFILTER,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6>

If WOL support is shown but not working for a particular interface,create a bug report using the instructions inSupport.

1.4. Getting Started with ZFS

Readers new to ZFS should take a moment to read theZFS Primer.