Disk Selection Screen/9.2

From PC-BSD Wiki
Revision as of 12:07, 30 July 2012 by Drulavigne (Talk | contribs)

Jump to: navigation, search

(Sorry for the inconvenience)


The Disk Selection screen, seen in Figure 3.4a, summarizes the default disk configuration.

Figure 3.4a: Disk Selection Screen


By default, PC-BSD will assume that you wish to install on the entire first disk. On systems with less than 4GB of RAM, that drive will be formatted with the UFS+SUJ filesystem. On systems with 4GB or RAM or more, that drive will be formatted with the ZFS filesystem.

  DANGER!  If you are installing PC-BSD as the only operating system on your computer, simply click Next to start the installation. However, if this is not your intent, review the rest of this section to determine how to layout your disk. If you plan on booting PC-BSD with another operating system, you should also review the section on Dual Booting.

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.4b.

Figure 3.4b: Disk Setup Wizard


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 or disk to install to or if you wish to encrypt user data.
  • Advanced: select this mode if you wish to specify the installation partition or disk, use GPT partitioning, encrypt user data, disable the FreeBSD boot menu, or specify the filesystem to use and the layout of that filesystem.
  • FreeBSD Expert: select this mode if you prefer to drop down to a shell to manually enter the commands to setup your disk.

Regardless of the mode that you select, once the disk wizard completes and you click Next at the disk summary screen, a pop-up window will ask if you would like to start the installation. Be sure to review the disk summary before clicking Yes and starting the installation.

NOTE: the disk summary screen is your very last chance to make sure that you are ready. Once you click Yes, the selected hard drive or partition will be formatted and any data it contains will be lost.


Basic Mode

If you select basic mode, the wizard will display the screen shown in Figure 3.4c.

Figure 3.4c: Select a Disk or Partition


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.

NOTE: PC-BSD will only install into a primary partition. That is, you can not install PC-BSD into a secondary or an extended partition. If you wish to create a new primary partition to install into, see Partitioning the Hard Drive for instructions on how to do this.

Once you have selected the disk and partition, click Next to see the screen shown in Figure 3.4d.

Figure 3.4d: Encrypt Data Screen


If you wish to encrypt the data in your home directory, check the box "Encrypt user data". This option will automatically encrypt all of the data stored in /usr, including the home directories of all of the users that you create. If you decide to encrypt, review if You Encrypted a Filesystem for instructions on how to enter your passphrase at system bootup.

If you check this box, enter and confirm a passphrase. You will be prompted to enter this passphrase whenever you boot into PC-BSD. This means that if someone else boots your computer, they will not be able to boot into PC-BSD if they do not know your passphrase. However, if you forget your passphrase, you won't be able to access PC-BSD either. For these reasons, it is important to choose a good passphrase that other users won't guess and which you won't forget. Passphrases are case-sensitive and can contain spaces. The passphrase should be memorable to you (e.g. a line from a song or piece of literature), but hard to guess (i.e. people who know you should not be able to guess your favourite line from a song or piece of literature).

NOTE: be careful if you have changed your keyboard variant and layout. At this time, the GELI encryption framework only supports QWERTY passphrases, so don't use any characters not found on a QWERTY keyboard in your passphrase.

It is important to remember to make a backup copy of your keys either to another system or to a removable media such as a USB thumb drive. You should do so after your first boot into PC-BSD.


Once you click Next, the wizard will 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.

Advanced Mode

If you select advanced mode, the wizard will again display the screen shown in Figure 3.4c. This time, that screen has the addition of a checkbox:

Partition disk with GPT: txt=Missing Link[1] 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. It has been reported that some Linux distros do not understand UFS partitions that use GPT. When in doubt, leave this box unchecked.

NOTE: if you plan to dual boot with LILO or legacy GRUB, do not check the GPT box. These bootloaders do not support the GPT format.

After making your selections click Next to see the encrypt user data screen shown in Figure 3.4d. Click Next again to access the filesystem selection screen shown in Figure 3.4e.

Figure 3.4e: Selecting the Filesystem


This screen allows you to choose from the following filesystem types:

  • UFS: the Unix File System is the original filesystem used by BSD systems.
  • ZFS: this filesystem was originally developed by Sun and adds many features. You can learn more about ZFS at txt=Missing Link[2] and the txt=Missing Link[3]. You should not use ZFS on systems with less than 4GB of RAM and it is recommended that at least 8GB of RAM be installed.

This screen also provides the following checkbox:

  • Install bootable MBR: this option displays the txt=Missing Link[4] when the system boots. This is a simple and non-configurable boot manager which may or may not detect other operating systems installed on the computer. If you plan to only boot into PC-BSD or to configure an alternate boot manager, you can uncheck this box.

The rest of this section demonstrates how to customize the UFS or ZFS layout.

UFS Layout

If you select UFS and click Next, the default UFS layout will be displayed, as seen in Figure 3.4f.

Figure 3.4f: Default UFS Layout


In this example, a 12GB disk has four partitions with mount points for /, SWAP, /var, and /usr. The actual sizes of the partitions created by the default layout will vary, depending upon the size of the disk, but always follow this logic:

  • the default size of / (root) will be 2 GB; this partition holds the root user's home directory as well as the files needed by the operating system. You should not use a size less than 1 GB. Do not store large files in the root user's home directory as the root partition is meant to be reserved for the operating system files.
  • the default size of the swap partition will be RAM (physical memory) size times 2 up to a maximum of 4GB. You can increase this if you want a larger swap partition (also known as a paging file or virtual memory in Windows), though this isn't really necessary as PC-BSD has a built-in Swap Extender Daemon (swapexd) that monitors how much swap space is available on the system. When the operating system is running out of swap space, swapexd attempts to create a new, larger swap file. When the operating system no longer needs so much swap space, swapexd decreases the size of the swap file.

NOTE: if your hardware uses a solid state drive instead of a hard drive (e.g. an Asus Eee Netbook), do not create a swap partition as swap will shorten the life of the solid state drive. swapexd will not create a swap file if you do not create one during installation.

  • the default size of /var will be 2 GB. This partition holds data that varies such as logs, printer queues, and the FreeBSD packages database. You can safely increase the size of this partition, though this is usually not needed on a desktop system.
  • the rest of the disk space will go to /usr. This partition holds everything else, such as users' home directories and installed applications.

The UFS+SUJ means that this version of UFS adds a light version of journaling to soft updates as described in this txt=Missing Link[5]. This is the default filesystem type as it virtually eliminates the need to run fsck. In practical terms, this means that even if the system is not cleanly shutdown (e.g. because of a power outage), it will still boot up quickly without losing any data.

Three buttons are provided should you wish to modify the default layout:

  • Add: this button will remain greyed out as long as there is no free space to work with. If free space is available, allows you to add a partition. It will prompt you for the mount point and size of the new partion. TYPE?
  • Resize: allows you to decrease or increase (if free space is available) the size of the highlighted partition.
  • Remove: will delete the highlighted partition.

If you right-click a partition other than /, you have the option to encrypt it and will be prompted for a passphrase. You can use either the same or different passphrases for your encrypted partitions, just make sure that you remember your passphrase(s)! SWAP DOES NOT ASK FOR PASSPHRASE

If you decide to change the default partitions, keep the following points in mind:

  • you must have a / partition to hold the operating system; make sure it is at least 1 GB in size.
  • unless your system has a solid state drive, you want a swap partition.
  • you can have one big root partition (plus a swap partition); if you decide to do this, the installation will create /var and /usr directories as they are needed by applications. This is often discouraged on server systems, but is an option on desktop systems.
  • you can remove /usr and divide the newly created free space into multiple partitions. For example, some users like to create separate partitions to hold their video files, artwork, work files, etc. When creating multiple partitions, use names that makes sense to you (e.g. /usr1, /usr2 or /video, /work) and set sizes that makes sense for the amount of content each partition will hold. If you decide to take this approach, you should still make a good sized /usr (otherwise it will be placed on root which will quickly fill up the / partition). The size of /usr should be sufficient to store any software you install.

Why do some users create multiple partitions or discourage the use of one big partition? The usual answer deals with backups (some people prefer to backup specified, smaller filesystems rather than specified directories) or filesystem corruption (if you lose a filesystem, you haven't lost everything). Since there are many ways to perform backups and it is rare to corrupt a filesystem beyond repair, it often becomes a matter of personal preference.

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.

ZFS Overview

ZFS is a combined file system and logical volume manager originally designed by Sun Microsystems. It was ported to FreeBSD and has been part of the operating system since FreeBSD 7.0.

ZFS provides many features including: support for high storage capacities, snapshots and copy-on-write clones, continuous integrity checking and automatic repair, RAIDZ which was designed to overcome the limitations of hardware RAID5, and native NFSv4 ACLs.

If you are new to ZFS, the txt=Missing Link[2] provides 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: the entire storage capacity 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 file systems 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 file systems at all times. The txt=Missing Link[12] of 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 disks, creating a redundant copy should one 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. You can not add additional drives to expand the size of a RAIDZ1 after you have created it. The only way to increase the size of a RAIDZ1 is to replace each drive with a larger drive one by one while allowing time for restriping between each drive swap out.

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 3 disks. RAIDZ2 allows you to lose 1 drive without any degradation as it basically becomes a RAIDZ1 until you replace the failed drive and restripe. At this time, RAIDZ2 on FreeBSD is slower than RAIDZ1.

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: a generic term for a ZFS component, such as file system, snapshot, clone, or volume. When you create a ZFS storage pool, a ZFS file system is automatically created. Consider using this top-level dataset as a container for other datasets since the top-level dataset cannot be destroyed or renamed.

Snapshot: a read-only point-in-time copy of a file system. 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.

Scrub: the txt=Missing Link[13] recommends performing a ZFS scrub on a regular basis to identify data integrity problems, detect silent data corruptions caused by transient hardware issues, and to provide early alerts to disk failures. For desktop systems, consider running a scrub once per week. Before performing a scrub, be aware that a scrub can take a long time and that scrubs are I/O intensive and can negatively impact performance. A scrub should be performed during an evening or weekend to minimize the impact to your system.

Deduplication: the process of eliminating duplicate copies of data. ZFS deduplication is per-dataset and should only be enabled on datasets that require it as it is CPU intensive. If you enable dedup on datasets with duplicate data (e.g. containing virtual images or jails), you should see the benefits of saving space and better performance because less data is written and stored. Before enabling deduplication, you should determine if the performance benefit will outweigh the performance overhead. This txt=Missing Link[14] provides a good overview to assist in your decision.

ZFS Layout

If you select ZFS and click Next, the disk setup wizard allows you to configure your ZFS layout.

NOTE: A 64-bit system and a minimum of 4GB of RAM are recommended when using ZFS. This is because ZFS needs at least 4 GB of usable RAM in order to use caching, which significantly increases its speed and performance. Since some RAM is used by the operating system, you can get by on 4GB of RAM but will have better performance with 8GB or more. If you have many disks or will be storing large amounts of data, install as much RAM as you can afford.

If your system contains multiple drives and you would like to use them in your ZFS pool, 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.4g, the system has 7 disks, all of which are the same size. The first disk, ada0 is assumed and the remaining 6 disks (ada1 to ada6) are available to be added to the ZFS configuration.

Figure 3.4g: Configuring ZFS for Multiple Disks


NOTE: if you have never configured multiple disks in a ZFS pool before, take the time to read the txt=Missing Link[15] first. It indicates the optimum number of disks for each type of configuration. While ZFS will let you use disks of different sizes, this is highly discouraged as it will decrease performance and limit the capabilities of the ZFS system.

The PC-BSD installer supports the following ZFS configurations: mirror (requires 2 drives), RAIDZ1 (requires 3 drives), RAIDZ2 (requires 6 drives), and RAIDZ3 (requires 9 drives). However, it 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.

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 default layout screen shown in Figure 3.4h.

If your system only has one hard drive, leave the "Enable ZFS mirror/raidz mode" box unchecked and click Next to immediately go to the screen shown in Figure 3.4h.

Figure 3.4h: Default ZFS Layout


Regardless of how many disks you selected for your ZFS configuration, the default layout will be the same. Unlike UFS, ZFS does not require separate partitions for /usr, /tmp, or /var. Instead, you create one ZFS partition (pool) and specify multiple mount points. 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. It will only prompt you for the name of the mount point as, unlike ZFS, the size is not set 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 right-click any mount point (other than /swap), you can toggle between enabling or disabling any of the following ZFS properties. For performance reasons, the PC-BSD installer will not allow you to remove or modify /swap.

  • Compression: automatically compresses stored data to conserve disk space.
  • Checksum: automatically verifies the integrity of the data stored on disks. Disabling this property is highly discouraged.
  • Atime: when enabled, controls whether the access time for files is updated when they are read. Disabling this property avoids producing write traffic when reading files and can result in significant performance gains, though it might confuse mailers and other similar utilities.
  • Exec: if disabled, processes can not be executed from within this file system.

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 and LIST HERE 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.


  1. http://en.wikipedia.org/wiki/GUID_Partition_Table
  2. 2.0 2.1 http://en.wikipedia.org/wiki/ZFS
  3. http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/filesystems-zfs.html
  4. http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/boot-blocks.html
  5. http://www.mckusick.com/BSDCan/bsdcan2010.pdf
  6. http://www.solarisinternals.com/wiki/index.php/ZFS_Evil_Tuning_Guide
  7. http://wiki.freebsd.org/ZFSTuningGuide
  8. http://www.solarisinternals.com/wiki/index.php/ZFS_Best_Practices_Guide
  9. http://download.oracle.com/docs/cd/E19253-01/819-5461/index.html
  10. http://blogs.oracle.com/video/entry/becoming_a_zfs_ninja
  11. https://blogs.oracle.com/bonwick/entry/rampant_layering_violation
  12. http://www.solarisinternals.com/wiki/index.php/ZFS_Best_Practices_Guide#ZFS_Storage_Pools_Recommendations
  13. http://www.solarisinternals.com/wiki/index.php/ZFS_Best_Practices_Guide#Storage_Pools
  14. http://blogs.oracle.com/bonwick/entry/zfs_dedup
  15. http://www.solarisinternals.com/wiki/index.php/ZFS_Best_Practices_Guide#RAIDZ_Configuration_Requirements_and_Recommendations
Personal tools