Disk Selection Screen/10.1
By default, PC-BSD® will assume that you wish to install on the entire first disk.
The "Disk Selection" screen, seen in Figure 3.3a, summarizes the default disk configuration.
If you wish to select which disk or partition to install PC-BSD® into, click the "Customize" button to start the "Disk Setup Wizard", shown in Figure 3.3b.
The wizard provides three modes of operation. The rest of this section describes these modes in detail.
- Basic: (default) select this mode if you wish to specify which partition, disk, or SSD to install to.
- Advanced: select this mode if you wish to specify the installation partition or disk, use GPT partitioning, force the block size, install to an SSD, change the boot manager, change the default ZFS pool name, or specify the filesystem layout.
- FreeBSD Expert: select this mode if you prefer to drop down to a shell to manually enter the commands to setup your disk.
Once you have finished configuring your disks, you can save the finished configuration to re-use it at a later time. Insert a FAT-formatted USB stick and click "Save Config to USB".
If you select "Basic" mode, the wizard will display the screen shown in Figure 3.3c.
By default, the first hard disk will be selected. If you wish to install on a different disk, use the "Selected Disk" drop-down menu to select the disk to install into.
By default, the entire selected disk will be formatted. If the disk has been divided into partitions and you wish to install into a specific partition, use the "Selected Partition" drop-down menu to select the desired primary partition.
If you are installing to an SSD instead of a hard drive, check the box "Installing to SSD".
Once you have selected the disk and partition, click "Next" to return to the disk "Summary" screen so that you can review your selections. If you wish to change anything, use the "Back" button to return to a previous screen. Otherwise, click "Finish" to leave the wizard. Click Next then Yes to start the installation.
If you select advanced mode, the wizard will display the screen shown in Figure 3.3d.
This screen provides the following options:
- Partition disk with GPT: is a partition table layout that supports larger partition sizes than the traditional MBR layout. If your installation disk/partition is larger than 2 TB, this box must be checked, otherwise checking this box is optional. Some older motherboards do not support this option. If the installation fails with this option checked, try again with the box unchecked. When in doubt, leave this box unchecked. Checking this box will grey out the "Force ZFS 4K block size" box as using both of these options will cause the boot to fail.
- Force ZFS 4k block size: this option should only be checked if you know for sure that the disk supports 4k, even though it lies and reports its size as 512b. Use with caution as it may cause the installation to fail.
- Installing to SSD: check this box if you are installing to an SSD instead of a hard drive.
- Boot-Loader: changing the default of GRUB will disable Boot Manager. Choices are GRUB (required to use multiple boot environments), GRUB-slice (installs GRUB on the partition instead of the MBR so that it can be chain loaded from a different boot loader), BSD (installs the FreeBSD boot manager), or NONE (does not install a boot manager).
- ZFS pool name: if you wish to use a pool name other than the default of tank, check this box and input the name of the pool. Note that root is a reserved term and can not be used as a pool name.
After making your selections click “Next” to access the ZFS configuration screen. The rest of this section provides a ZFS overview and demonstrates how to customize the ZFS layout.
ZFS is an enterprise grade file-system, which provides many features including: support for high storage capacities, high reliability, the ability to quickly take snapshots, boot environments, continuous integrity checking and automatic repair, RAIDZ which was designed to overcome the limitations of hardware RAID, and native NFSv4 ACLs.
If you are new to ZFS, theprovides an excellent starting point to learn about its features. These resources are also useful to bookmark and refer to as needed:
The following is a glossary of terms used by ZFS:
Pool: a collection of devices that provides physical storage and data replication managed by ZFS. This pooled storage model eliminates the concept of volumes and the associated problems of partitions, provisioning, wasted bandwidth and stranded storage. Thousands of filesystems can draw from a common storage pool, each one consuming only as much space as it actually needs. The combined I/O bandwidth of all devices in the pool is available to all filesystems at all times. Theof the ZFS Best Practices Guide provides detailed recommendations for creating the storage pool.
Mirror: a form of RAID where all data is mirrored onto two or more disks, creating a redundant copy should a disk fail.
RAIDZ: ZFS software solution that is equivalent to RAID5 in that it allows one disk to fail without losing data. Requires a minimum of 3 disks though 5 disks is recommended.
RAIDZ2: double-parity ZFS software solution that is similar to RAID6 in that it allows two disks to fail without losing data. Requires a minimum of 4 disks.
RAIDZ3: triple-parity ZFS software solution. RAIDZ3 offers three parity drives and can operate in degraded mode if up to three drives fail with no restrictions on which drives can fail.
Dataset: once a pool is created, it can be divided into datasets. A dataset is similar to a folder in that it supports permissions. A dataset is also similar to a filesystem in that you can set properties such as quotas and compression.
Snapshot: a read-only point-in-time copy of a filesystem. Snapshots can be created quickly and, if little data changes, new snapshots take up very little space. For example, a snapshot where no files have changed takes 0MB of storage, but if you change a 10GB file it will keep a copy of both the old and the new 10GB version. Snapshots provide a clever way of keeping a history of files, should you need to recover an older copy or even a deleted file. For this reason, many administrators take snapshots often (e.g. every 15 minutes), store them for a period of time (e.g. for a month), and store them on another system. Such a strategy allows the administrator to roll the system back to a specific time or, if there is a catastrophic loss, an off-site snapshot can restore the system up to the last snapshot interval (e.g. within 15 minutes of the data loss). Snapshots can be cloned or rolled back, but the files on the snapshot cannot be accessed independently.
Clone: a writable copy of a snapshot which can only be created on the same ZFS volume. Clones provide an extremely space-efficient way to store many copies of mostly-shared data such as workspaces, software installations, and diskless clients. Clones do not inherit the properties of the parent dataset, but rather inherit the properties based on where the clone is created in the ZFS pool. Because a clone initially shares all its disk space with the original snapshot, its used property is initially zero. As changes are made to the clone, it uses more space.
ZIL: () is effectively a filesystem journal that manages writes. The ZIL is a temporary storage area for sync writes until they are written asynchronously to the ZFS pool. If the system has many sync writes, such as from a database server, performance can be increased by adding a dedicated log device known as a SLOG (Secondary LOG). If the system has few sync writes, a SLOG will not speed up writes. When creating a dedicated log device, it is recommended to use a fast SSD with a supercapacitor or a bank of capacitors that can handle writing the contents of the SSD's RAM to the SSD. If you decide to create a dedicated log device, the SSD should be half the size of system RAM as anything larger than that is unused capacity. Note that a dedicated log device can not be shared between ZFS pools and that the same device cannot hold both a log and a cache device.
: ZFS uses a RAM cache to reduce read latency. If an SSD is dedicated as a cache device, it is known as an L2ARC and ZFS uses it to store more reads which can increase random read performance. However, adding a cache device will not improve a system with too little RAM and will actually decrease performance as ZFS uses RAM to track the contents of L2ARC. RAM is always faster than disks, so always add as much RAM as possible before determining if the system would benefit from a L2ARC device. If you have a lot of applications that do large amounts of random reads, on a dataset small enough to fit into the L2ARC, read performance may be increased by adding a dedicated cache device. SSD cache devices only help if your working set is larger than system RAM, but small enough that a significant percentage of it will fit on the SSD. Note that a dedicated L2ARC device can not be shared between ZFS pools.
In Advanced Mode, the disk setup wizard allows you to configure your ZFS layout. The initial ZFS configuration screen is seen in Figure 3.3e.
If your system contains multiple drives and you would like to use them to create a ZFS mirror or RAIDZ, check the box "Enable ZFS mirror/raidz mode" which will enable the rest of the options in this screen. In the example shown in Figure 3.3e, the system has 7 disks, all of which are the same size. The first disk, ada0, was pre-selected in Figure 3.3d and the remaining 6 disks (ada1 to ada6) are available to be added to the ZFS pool.
If you have never configured a RAIDZ before, take the time to read thefirst. It indicates the optimum number of disks for each type of configuration. While ZFS will let you use disks of different sizes, this is discouraged as it will decrease storage capacity and performance of the ZFS system.
The PC-BSD® installer supports the following ZFS configurations:
- mirror: requires a minimum of 2 disks.
- RAIDZ1: requires a minimum of 3 disks. For best performance, 3, 5, or 9 disks are recommended.
- RAIDZ2: requires a minimum of 4 disks. For best performance, 4, 6, or 10 disks are recommended.
- RAIDZ3: requires a minimum of 5 disks. For best performance, 5, 7, or 11 disks are recommended.
The installer will not let you save a configuration if your system does not meet the minimum number of disks required by that configuration. As you select a configuration, a message will indicate how many more disks you need to select.
To use multiple disks, select the type of configuration from the "ZFS Virtual Device Mode" drop-down menu, then check the box for each disk that you would like to add to that configuration. When finished, click the Next button to see the screen shown in Figure 3.3f.
This screen can be used to specify an SSD to use as an L2ARC or a secondary log device. Note that a separate SSD is needed for each type of device. Refer to the descriptions for ZIL and L2ARC in the ZFS Overview section to determine if your system would benefit from any of these devices before adding them in this screen. When finished, click “Next” to see the screen shown in Figure 3.3g.
This screen can be used to configure full-disk encryption which is meant to protect the data on the disks should the system itself be lost or stolen. This type of encryption prevents the data on the disks from being available during bootup, unless the correct passphrase is typed at the bootup screen. Once the passphrase is accepted, the data is unencrypted and can easily be read from disk. If you instead want the data in your home directory to appear as garbage to anyone other than yourself, use PEFS encryption which is configured after installation on a per-user basis in the Create a User screen and in User Manager.
To configure full disk encryption, check the box “Encrypt disk with GELI”. This option will be greyed out if “Partition disk with GPT” is not selected as GELI does not support MBR partitioning at this time. If needed, use the “Back” button to go back to the screen and check the box for GPT partitioining. Once the “Encrypt disk with GELI” box is checked, input a good passphrase twice into the “Password” fields. This password should be long and something that you will not forget, but hard for other users, especially those who know you, to guess.
When finished, click “Next” to move on the screen shown in Figure 3.3h.
Regardless of how many disks you selected for your ZFS configuration, the default layout will be the same. ZFS does not require separate partitions for /usr, /tmp, or /var. Instead, you create one ZFS partition (pool) and specify a mount for each dataset. A /boot partition is not mandatory with ZFS as the PC-BSD® installer puts a 64k partition at the beginning of the drive.
You can use the "Add" button to add additional mount points. You will only be prompted for the name of the mount point as size is not limited at creation time. Instead, the data on any mount point can continue to grow as long as space remains within the ZFS pool.
If you wish to set the swap size, click the "Swap Size" button. This will prompt you to enter a size in MB. If you have created a RAIDZ or mirror, a swap partition of the specified size will be created on each disk and mirrored between the drives. For example, if you specify a 2048MB swap size, a 2GB swap partition will be created on all of the specified disks, yet the total swap size will be 2GB, due to redundancy.
If you right-click any mount point, you can toggle between enabling or disabling any of the following ZFS properties.
- atime: when set to "on", controls whether the access time for files is updated when they are read. When set to "off", this property avoids producing write traffic when reading files and can result in significant performance gains, though it might confuse mailers and some other utilities.
- canmount: if set to "off", the filesystem cannot be mounted.
- checksum: automatically verifies the integrity of the data stored on disks. Setting this property to "off" is highly discouraged.
- compression: if set to "on", automatically compresses stored data to conserve disk space.
- exec: if set to "off", processes can not be executed from within this filesystem.
Once you click "Next", the wizard will show a summary of your selections. If you wish to change anything, use the "Back" button to return to a previous screen. Otherwise, click "Finish" to leave the wizard and return to the "Disk Selection" screen.
FreeBSD Expert Mode
If you select FreeBSD expert mode, you will be prompted to launch a terminal where you can use command line utilities such as bsdinstall to manually configure the partitions. When you are finished, type exit to leave the terminal, then click "Next" to review the disk summary. If you wish to change anything, use the "Back" button to return to a previous screen. Otherwise, click "Finish" to leave the wizard and return to the "Disk Selection" screen.