The PC-BSD® Disk Manager can be used to manage ZFS pools and datasets as well as the disks attached to the system. To access this utility, use Control Panel → Disk Manager or type pc-su pc-zmanager from within an xterm. You will need to input your password in order to access this utility.
Managing ZFS Datasets
As seen in the example in Figure 8.11a, the utility will open in the “ZFS Filesystems” tab and will display the system's ZFS datasets, the amount of space available to each dataset, and the amount of space each dataset is using.
The name of the pool in this example is tank. If the system has multiple pools, click the green arrow to select the desired pool.
If you right-click the pool name, the following options are available:
- Mount: whether or not the filesystem can be mounted depends upon the value of the "canmount" property of the dataset.
- Create new dataset: Figure 8.11b shows the options that are available when you create a new dataset.
- Create a clone dataset: creates a copy of the dataset.
- Take a snapshot: will prompt for the name of the snapshot. The field is pink to remind you to type the snapshot name in immediately after the pool name and @ symbol. In this example, tank@ will be displayed in the name field. An example snapshot name could be tank@snapshot1 or tank@201312031353 to denote the date and time the snapshot was created. The snapshot creation will be instantaneous and the new snapshot will be added to the list of datasets and will have a camera icon. Click the entry for the snapshot entry if you wish to rename it, clone it, destroy it, rollback the system to that point in time, or edit its properties. If you forget when you made the snapshot, pick "Edit properties" from the snapshot's right-click menu as it will show its "creation" property.
- Edit properties: allows you modify the ZFS properties for the pool, as seen in the example shown in Figure 8.11c. The available options depend upon the property being modified. The options which are read-only will have a red minus sign icon next to them. ZFS options are described in man zfs and you should not change any options unless you are familiar with the ramifications of doing so.
When creating a new dataset or clone, the following options are available. Again, these options are described in man zfs and you should not change any options unless you are familiar with the ramifications of doing so.
- Name: this field is pink as a reminder to type in the dataset name immediately after the trailing "/" of the displayed pool name.
- Prevent auto mount: if the box is checked, the dataset will not be mounted at boot time and must instead be manually mounted as needed.
- Mountpoint: choices are none, legacy, or [path].
- Force UTF-8 only: if checked, you will not be able to save any filenames that are not in the UTF-8 character code set.
- Unicode normalization: if checked, indicate whether unicode normalization should occur when comparing filenames, and if so, which normalization algorithm to use. Choices are none, formD, or formKCF.
- Copies: if checked, indicates the number of copies (0 to 3) of data to store in the dataset. The copies are in addition to any redundancy and are stored on different disks when possible.
- Deduplication: enables deduplication. Do not enable this option if the system has less than the minimum recommended 5GB of RAM per TB of storage to be deduplicated.
- Compression: if checked and a compression algorithm is selected in the drop-down menu, data will automatically be compressed as it is written and uncompressed as it is read. The algorithm determines the amount and speed of compression, where typically increased compression results in decreased speed. The lz4 algorithm is recommended as it provides very good compression at near real-time speed.
Managing the ZFS Pool
To view the status of the ZFS pools and the disk(s) in the pool, click the "ZFS Pools" tab. In the example, shown in Figure 8.11d, the ZFS pool named tank was created from one disk. The state of "Online" indicates that the pool is healthy.
If you right-click the pool, which is named tank in this example, the following options are available:
- Create new pool: use this option if additional disks are available and you would like to create another pool instead of adding them to the existing pool. This will open a screen that allows you to name the new pool, select which additional disks will go into it, and select how to configure the disks.
- Rename pool: will prompt you to input the new name for the pool.
- Destroy pool: do not select this option unless you want to destroy all of the data on the disks.
- Add devices: depending upon the type of disk configuration, you may be able to extend the size of the pool by adding an equal number of disks.
- Add log devices: used to add an SSD or disk as a secondary ZIL.
- Add cache devices: used to add an SSD or disk as an L2ARC.
- Add spare devices: at this time, FreeBSD does not support hot spares.
- Scrub: will start a ZFS scrub now. This option can be I/O intensive so it isn't recommended to do this while the system is in use.
- Export pool: this action should be performed if you will be physically moving the disks from one system to another.
- Properties: used to manage the default properties of the pool. Datasets inherit the default properties, unless a property is set to a different value on the dataset.
If you right-click a disk entry, such as ad0s1a in this example, the following options are available:
- Attach (mirror) device: if you wish to mirror additional disk(s), this option will open a screen which allows you to specify the disk(s) to add.
- Take offline: if you need to replace a bad disk, select this option before physically removing the disk.
An example of the “Disks” tab is seen in Figure 8.11e.
This screen shows the size of each disk as well as the partitioning scheme. If an unformatted disk or free disk space is available, right-click the device to format it.