Table Of Contents
- JSON-RPC 2.0 over WebSocket API
- API Methods
- acme.dns.authenticator
- alert
- alertclasses
- alertservice
- api_key
- app
- app.available
- app.available_space
- app.categories
- app.certificate_choices
- app.config
- app.container_console_choices
- app.container_ids
- app.convert_to_custom
- app.create
- app.delete
- app.get_instance
- app.gpu_choices
- app.ip_choices
- app.latest
- app.outdated_docker_images
- app.pull_images
- app.query
- app.redeploy
- app.rollback
- app.rollback_versions
- app.similar
- app.start
- app.stop
- app.update
- app.upgrade
- app.upgrade_bulk
- app.upgrade_summary
- app.used_host_ips
- app.used_ports
- app.image
- app.ix_volume
- app.registry
- audit
- auth
- auth.twofactor
- boot
- boot.environment
- catalog
- certificate
- cloud_backup
- cloudsync
- cloudsync.credentials
- config
- container
- container.device
- container.image
- core
- cronjob
- device
- directoryservices
- disk
- dns
- docker
- docker.network
- enclosure.label
- enclosure2
- failover
- failover.disabled
- failover.reboot
- fc
- fc.fc_host
- fcport
- filesystem
- filesystem.acltemplate
- ftp
- group
- hardware.virtualization
- idmap
- initshutdownscript
- interface
- interface.available_fec_modes
- interface.bridge_members_choices
- interface.cancel_rollback
- interface.checkin
- interface.checkin_waiting
- interface.choices
- interface.commit
- interface.create
- interface.delete
- interface.get_instance
- interface.has_pending_changes
- interface.ip_in_use
- interface.lacpdu_rate_choices
- interface.lag_ports_choices
- interface.network_config_to_be_removed
- interface.query
- interface.rollback
- interface.save_network_config
- interface.services_restarted_on_sync
- interface.update
- interface.vlan_parent_interface_choices
- interface.websocket_interface
- interface.websocket_local_ip
- interface.xmit_hash_policy_choices
- ipmi
- ipmi.chassis
- ipmi.lan
- ipmi.sel
- iscsi.auth
- iscsi.extent
- iscsi.global
- iscsi.initiator
- iscsi.portal
- iscsi.target
- iscsi.targetextent
- jbof
- kerberos
- kerberos.keytab
- kerberos.realm
- keychaincredential
- keychaincredential.create
- keychaincredential.delete
- keychaincredential.generate_ssh_key_pair
- keychaincredential.get_instance
- keychaincredential.query
- keychaincredential.remote_ssh_host_key_scan
- keychaincredential.remote_ssh_semiautomatic_setup
- keychaincredential.setup_ssh_connection
- keychaincredential.update
- keychaincredential.used_by
- kmip
- lxc
- network.configuration
- network.general
- nfs
- nvmet.global
- nvmet.host
- nvmet.host_subsys
- nvmet.namespace
- nvmet.port
- nvmet.port_subsys
- nvmet.subsys
- pool
- pool.attach
- pool.attachments
- pool.create
- pool.ddt_prune
- pool.detach
- pool.expand
- pool.export
- pool.filesystem_choices
- pool.get_disks
- pool.get_instance
- pool.import_find
- pool.import_pool
- pool.is_upgraded
- pool.offline
- pool.online
- pool.prefetch
- pool.processes
- pool.query
- pool.reimport
- pool.remove
- pool.replace
- pool.scrub
- pool.update
- pool.upgrade
- pool.validate_name
- pool.dataset
- pool.dataset.attachments
- pool.dataset.change_key
- pool.dataset.checksum_choices
- pool.dataset.compression_choices
- pool.dataset.create
- pool.dataset.delete
- pool.dataset.details
- pool.dataset.encryption_algorithm_choices
- pool.dataset.encryption_summary
- pool.dataset.export_key
- pool.dataset.export_keys
- pool.dataset.export_keys_for_replication
- pool.dataset.get_instance
- pool.dataset.get_quota
- pool.dataset.inherit_parent_encryption_properties
- pool.dataset.lock
- pool.dataset.processes
- pool.dataset.promote
- pool.dataset.query
- pool.dataset.recommended_zvol_blocksize
- pool.dataset.recordsize_choices
- pool.dataset.rename
- pool.dataset.set_quota
- pool.dataset.snapshot_count
- pool.dataset.unlock
- pool.dataset.update
- pool.resilver
- pool.scrub
- pool.snapshot
- pool.snapshottask
- pool.snapshottask.create
- pool.snapshottask.delete
- pool.snapshottask.delete_will_change_retention_for
- pool.snapshottask.get_instance
- pool.snapshottask.max_count
- pool.snapshottask.max_total_count
- pool.snapshottask.query
- pool.snapshottask.run
- pool.snapshottask.update
- pool.snapshottask.update_will_change_retention_for
- privilege
- rdma
- replication
- replication.count_eligible_manual_snapshots
- replication.create
- replication.create_dataset
- replication.delete
- replication.get_instance
- replication.list_datasets
- replication.list_naming_schemas
- replication.query
- replication.restore
- replication.run
- replication.run_onetime
- replication.target_unmatched_snapshots
- replication.update
- replication.config
- reporting
- reporting.exporters
- route
- rsynctask
- service
- sharing.nfs
- sharing.smb
- sharing.webshare
- smb
- snmp
- ssh
- staticroute
- support
- system
- system.advanced
- system.advanced.config
- system.advanced.get_gpu_pci_choices
- system.advanced.login_banner
- system.advanced.nvidia_present
- system.advanced.sed_global_password
- system.advanced.sed_global_password_is_set
- system.advanced.serial_port_choices
- system.advanced.syslog_certificate_authority_choices
- system.advanced.syslog_certificate_choices
- system.advanced.update
- system.advanced.update_gpu_pci_ids
- system.general
- system.general.checkin
- system.general.checkin_waiting
- system.general.config
- system.general.country_choices
- system.general.kbdmap_choices
- system.general.local_url
- system.general.timezone_choices
- system.general.ui_address_choices
- system.general.ui_certificate_choices
- system.general.ui_httpsprotocols_choices
- system.general.ui_restart
- system.general.ui_v6address_choices
- system.general.update
- system.global
- system.ntpserver
- system.reboot
- system.security
- system.security.info
- systemdataset
- tn_connect
- truecommand
- truenas
- tunable
- update
- ups
- user
- vm
- vm.bootloader_options
- vm.bootloader_ovmf_choices
- vm.clone
- vm.cpu_model_choices
- vm.create
- vm.delete
- vm.flags
- vm.get_available_memory
- vm.get_console
- vm.get_display_devices
- vm.get_display_web_uri
- vm.get_instance
- vm.get_memory_usage
- vm.get_vm_memory_info
- vm.get_vmemory_in_use
- vm.guest_architecture_and_machine_choices
- vm.log_file_download
- vm.log_file_path
- vm.maximum_supported_vcpus
- vm.port_wizard
- vm.poweroff
- vm.query
- vm.random_mac
- vm.resolution_choices
- vm.restart
- vm.resume
- vm.start
- vm.status
- vm.stop
- vm.supports_virtualization
- vm.suspend
- vm.update
- vm.virtualization_details
- vm.device
- vm.device.bind_choices
- vm.device.convert
- vm.device.create
- vm.device.delete
- vm.device.disk_choices
- vm.device.get_instance
- vm.device.iommu_enabled
- vm.device.iotype_choices
- vm.device.nic_attach_choices
- vm.device.passthrough_device
- vm.device.passthrough_device_choices
- vm.device.query
- vm.device.update
- vm.device.usb_controller_choices
- vm.device.usb_passthrough_choices
- vm.device.usb_passthrough_device
- vm.device.virtual_size
- vmware
- webshare
- webui.crypto
- webui.enclosure
- webui.main.dashboard
- zfs.resource
- zfs.resource.snapshot
- zpool
- zpool.scrub
- API Events
- acme.dns.authenticator
- alert
- alertservice
- api_key
- app
- app.image
- app.registry
- auth
- certificate
- cloud_backup
- cloudsync
- cloudsync.credentials
- container
- container.device
- core
- cronjob
- directoryservices
- disk
- docker
- docker.network
- failover
- failover.disabled
- failover.reboot
- fc.fc_host
- fcport
- filesystem
- filesystem.acltemplate
- group
- initshutdownscript
- interface
- iscsi.auth
- iscsi.extent
- iscsi.initiator
- iscsi.portal
- iscsi.target
- iscsi.targetextent
- jbof
- kerberos.keytab
- kerberos.realm
- keychaincredential
- nvmet.host
- nvmet.host_subsys
- nvmet.namespace
- nvmet.port
- nvmet.port_subsys
- nvmet.subsys
- pool
- pool.dataset
- pool.scrub
- pool.snapshot
- pool.snapshottask
- privilege
- replication
- reporting
- reporting.exporters
- rsynctask
- service
- sharing.nfs
- sharing.smb
- sharing.webshare
- staticroute
- system
- system.ntpserver
- system.reboot
- tn_connect
- truecommand
- tunable
- update
- user
- vm
- vm.device
- vmware
- Jobs
- Query Methods
- Role-Based Access Control
Previous topic
Next topic
zpool.scrub.run¶
Start, pause, or cancel a scrub on a ZFS pool.
When action is START, the pool is validated before the scrub begins: the pool must be ONLINE or DEGRADED, must not have an active resilver, and the most recent scrub must be older than threshold days. If any of these checks fail the call returns silently (no error, no alert). The job blocks until the scrub finishes, is paused, or is canceled.
PAUSE and CANCEL skip validation entirely and operate on the pool directly.
At most 10 scrubs may run concurrently across all pools. Attempting to start an 11th raises an error.
On a successful START a ScrubStarted alert is created. If the start fails for a reason other than the threshold or HA checks, a ScrubNotStarted alert is created instead.
Added in version 26.0.0.
This method is a job.
No Additional Items
Tuple Validation
Parameter 1: data
data
Type: objectScrub run parameters.
No Additional PropertiesPool Name
Type: stringName of the zpool.
Scan Type
Type: enum (of string) Default: "SCRUB"SCRUB: full data integrity scan. ERRORSCRUB: targeted scan of blocks with known errors.
Must be one of:
- "SCRUB"
- "ERRORSCRUB"
Action
Type: enum (of string) Default: "START"START: begin or resume. PAUSE: pause in-progress scan. CANCEL: stop entirely.
Must be one of:
- "START"
- "PAUSE"
- "CANCEL"
Threshold
Type: integer Default: 35Days before a scrub is due when the scrub should start.
Result
Type: nullRequired roles: POOL_WRITE