Table Of Contents
- JSON-RPC 2.0 over WebSocket API
- Changelog
- API Methods
- acme.dns.authenticator
- alert
- alertclasses
- alertservice
- api_key
- app
- 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.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_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
- 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.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
- 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_prefetch
- 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.processes
- pool.query
- 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
- smb
- snmp
- ssh
- staticroute
- support
- system
- system.advanced
- system.advanced.config
- system.advanced.get_gpu_pci_choices
- system.advanced.login_banner
- 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
- webui.crypto
- webui.enclosure
- webui.main.dashboard
- zfs.resource
- API Events
- acme.dns.authenticator
- alert
- alertservice
- api_key
- app
- 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
- zfs.tier
- zpool
- Jobs
- Query Methods
- Role-Based Access Control
Previous topic
Next topic
pool.attach¶
Attach a disk to an existing vdev in a pool, converting a striped vdev to a mirror or extending an existing mirror to an n-way mirror.
This operation will format the new disk, attach it to the target vdev, and wait for resilvering to complete if the target is a RAIDZ vdev undergoing expansion.
Locking behavior:
If another attach operation is already using the same disk, this call will fail immediately with EBUSY rather than queueing.
If another attach operation is running on the same pool (but with a different disk), this call will queue and wait for the previous operation to complete.
Operations on different pools with different disks can run concurrently.
This method is a job.
No Additional Items
Tuple Validation
Parameter 1: oid
oid
Type: integerID of the pool to attach a disk to.
Parameter 2: options
options
Type: objectConfiguration for the disk attachment operation.
No Additional PropertiesTarget Vdev
Type: stringThe GUID of the vdev where the disk needs to be attached. In the case of a STRIPED vdev, this is the STRIPED disk GUID which will be converted into a mirror. If target_vdev is already a mirror, it will be converted into an n-way mirror.
New Disk
Type: stringName of the new disk to attach.
Allow Duplicate Serials
Type: boolean Default: falseWhether to allow attaching disks with duplicate serial numbers.
Result
Type: nullReturns null on successful disk attachment.
Required roles: POOL_WRITE