TrueNAS SCALE Nightly Development DocumentationThis content follows experimental early release software. Use the Product and Version selectors above to view content specific to a stable software release.
SLOG Over-Provisioning
5 minute read.
Last Modified 2024-04-24 11:56 EDTOver-provisioning SLOG SSDs is useful for different scenarios. The most useful benefit of over-provisioning is greatly extending SSD life. Over-provisioning an SSD distributes the total number of writes and erases across more flash blocks on the drive.
Seagate provides a thoughtful investigation into over-provisioning SSDs here: https://www.seagate.com/blog/ssd-over-provisioning-benefits-master-ti/.
For more general information on SLOG disks, see SLOG Devices.
Some SATA devices are limited to one resize per power cycle. Some BIOS can block resize during boot and require a live power cycle.
For best stability and hardware compatibility, offline active SLOG SSDs before resizing for over-provisioning.
If the disk is assigned to an active pool, remove it from the pool. ZFS permits removing and re-adding SLOG disks to an active pool at any time.
- Go to Storage and locate the pool with the SLOG drive assigned. Click Manage Devices on the Topology widget to open the Devices screen.
- Select the target disk under Log. Click Offline on the ZFS Info widget. Confirm and click Offline in the Offline Disk dialog to offline the disk.
- With the SLOG device still selected, click Remove on the ZFS Info widget. Confirm and click Remove in the Remove device dialog to remove the device from the pool.
SCALE uses the storage disk resize
command to change the size of a device. The SCALE UI does not have a UI function for this command yet.
The storage disk resize
command supports SAS, SATA, SAT (interposer) and NVMe drives. Power cycle SATA drives before a second resize.
Open a shell session using an SSH connection or from the local console.
Enter 6 from the TrueNAS console or enter
cli
in the Linux shell and press Enter to access the TrueNAS CLI. See the CLI Reference Guide for more information.Enter
storage disk query
to return a table of all disks on the system and locate the row(s) for the disk you want to resize. Record the identifier, name, and current size of the disk.Unassigned disks are sometimes renamed when the system restarts. The identifier, in the format ofserial_lunid
, is a static value, which allows you to locate the correct disk to confirm changes after resizing.Enter
storage disk resize disks={"name":"sda", "size":"16"}
where sda is the name of the disk and 16 is the new size for the disk (in gigabytes). If no size is specified, it reverts the provision back the full size of the device.The command returns the job progress completion percentage.
storage disk resize disks={"name":"sda", "size":"16"} [0%] ... [100%] ...
Reboot the system.
Wait for the system to come online and then use the TrueNAS CLI to verify that the disk is resized to the correct capacity. Enter
storage disk get_instance id="{serial_lunid}A1BCDEFG234567H_1234567a1234bc12"
where A1BCDEFG234567H_1234567a1234bc12 is the disk identifier you recorded in step 3.storage disk get_instance id="{serial_lunid}A1BCDEFG234567H_1234567a1234bc12" +----------------+------------------------------------------------+ | identifier | {serial_lunid}A1BCDEFG234567H_1234567a1234bc12 | | name | sds | | subsystem | scsi | | number | 16672 | | serial | A1BCDEFG234567H | | lunid | 1234567a1234bc12 | | size | 16013942784 | | description | | | transfermode | Auto | | hddstandby | ALWAYS ON | | advpowermgmt | DISABLED | | togglesmart | true | | smartoptions | | | expiretime | <null> | | critical | <null> | | difference | <null> | | informational | <null> | | model | SAMSUNG_MZ7KM240HAGR-0E005 | | rotationrate | <null> | | type | SSD | | zfs_guid | 3102327624417314756 | | bus | ATA | | devname | sds | | enclosure | <dict> | | supports_smart | <null> | | pool | <null> | +----------------+------------------------------------------------+
Confirm the target disk reports the updated size. Check if the reported name has changed. If so, record the new name.
Create a new pool or locate an existing pool on the Storage Dashboard and (re)assign the SLOG device to bring it online.