Module for running ZFS zpool command
codeauthor: | Nitin Madhok <nmadhok@clemson.edu> |
---|
salt.modules.zpool.
add
(zpool, *vdevs, **kwargs)¶Changed in version 2016.3.0.
Add the specified vdev's to the given storage pool
CLI Example:
salt '*' zpool.add myzpool /path/to/vdev1 /path/to/vdev2 [...]
salt.modules.zpool.
attach
(zpool, device, new_device, force=False)¶Changed in version 2016.3.0.
Attach specified device to zpool
CLI Example:
salt '*' zpool.attach myzpool /path/to/vdev1 /path/to/vdev2 [...]
salt.modules.zpool.
create
(zpool, *vdevs, **kwargs)¶New in version 2015.5.0.
Changed in version 2016.3.0.
Create a simple zpool, a mirrored zpool, a zpool having nested VDEVs, a hybrid zpool with cache, spare and log drives or a zpool with RAIDZ-1, RAIDZ-2 or RAIDZ-3
CLI Example:
salt '*' zpool.create myzpool /path/to/vdev1 [...] [force=True|False]
salt '*' zpool.create myzpool mirror /path/to/vdev1 /path/to/vdev2 [...] [force=True|False]
salt '*' zpool.create myzpool raidz1 /path/to/vdev1 /path/to/vdev2 raidz2 /path/to/vdev3 /path/to/vdev4 /path/to/vdev5 [...] [force=True|False]
salt '*' zpool.create myzpool mirror /path/to/vdev1 [...] mirror /path/to/vdev2 /path/to/vdev3 [...] [force=True|False]
salt '*' zpool.create myhybridzpool mirror /tmp/file1 [...] log mirror /path/to/vdev1 [...] cache /path/to/vdev2 [...] spare /path/to/vdev3 [...] [force=True|False]
Note
Zpool properties can be specified at the time of creation of the pool by passing an additional argument called "properties" and specifying the properties with their respective values in the form of a python dictionary:
properties="{'property1': 'value1', 'property2': 'value2'}"
Filesystem properties can be specified at the time of creation of the pool by passing an additional argument called "filesystem_properties" and specifying the properties with their respective values in the form of a python dictionary:
filesystem_properties="{'property1': 'value1', 'property2': 'value2'}"
Example:
salt '*' zpool.create myzpool /path/to/vdev1 [...] properties="{'property1': 'value1', 'property2': 'value2'}"
salt.modules.zpool.
create_file_vdev
(size, *vdevs)¶Changed in version 2016.3.0.
Creates file based virtual devices
for a zpool
*vdevs
is a list of full paths for mkfile to create
CLI Example:
salt '*' zpool.create_file_vdev 7g /path/to/vdev1 [/path/to/vdev2] [...]
Note
Depending on file size, the above command may take a while to return.
salt.modules.zpool.
destroy
(zpool, force=False)¶Changed in version 2016.3.0.
Destroys a storage pool
CLI Example:
salt '*' zpool.destroy myzpool
salt.modules.zpool.
detach
(zpool, device)¶Changed in version 2016.3.0.
Detach specified device to zpool
CLI Example:
salt '*' zpool.detach myzpool /path/to/vdev1
salt.modules.zpool.
exists
(zpool)¶Check if a ZFS storage pool is active
CLI Example:
salt '*' zpool.exists myzpool
salt.modules.zpool.
export
(*pools, **kwargs)¶New in version 2015.5.0.
Changed in version 2016.3.0.
Export storage pools
CLI Example:
salt '*' zpool.export myzpool ... [force=True|False]
salt '*' zpool.export myzpool2 myzpool2 ... [force=True|False]
salt.modules.zpool.
get
(zpool, prop=None, show_source=False)¶New in version 2016.3.0.
Retrieves the given list of properties
CLI Example:
salt '*' zpool.get myzpool
salt.modules.zpool.
healthy
()¶New in version 2016.3.0.
Check if all zpools are healthy
CLI Example:
salt '*' zpool.healthy
salt.modules.zpool.
history
(zpool=None, internal=False, verbose=False)¶New in version 2016.3.0.
Displays the command history of the specified pools or all pools if no pool is specified
CLI Example:
salt '*' zpool.upgrade myzpool
salt.modules.zpool.
import
(zpool=None, new_name=None, **kwargs)¶New in version 2015.5.0.
Changed in version 2016.3.0.
Import storage pools or list pools available for import
Note
Zpool properties can be specified at the time of creation of the pool by passing an additional argument called "properties" and specifying the properties with their respective values in the form of a python dictionary:
properties="{'property1': 'value1', 'property2': 'value2'}"
CLI Example:
salt '*' zpool.import [force=True|False]
salt '*' zpool.import myzpool [mynewzpool] [force=True|False]
salt '*' zpool.import myzpool dir='/tmp'
salt.modules.zpool.
iostat
(zpool=None, sample_time=0)¶Changed in version 2016.3.0.
Display I/O statistics for the given pools
CLI Example:
salt '*' zpool.iostat myzpool
salt.modules.zpool.
list
(properties='size, alloc, free, cap, frag, health', zpool=None)¶New in version 2015.5.0.
Changed in version 2016.3.0.
Return information about (all) storage pools
Note
the 'name' property will always be included, the 'frag' property will get removed if not available
Note
multiple storage pool can be provded as a space separated list
CLI Example:
salt '*' zpool.list
salt.modules.zpool.
offline
(zpool, *vdevs, **kwargs)¶New in version 2015.5.0.
Changed in version 2016.3.0.
Ensure that the specified devices are offline
Warning
By default, the OFFLINE state is persistent. The device remains offline when
the system is rebooted. To temporarily take a device offline, use temporary=True
.
CLI Example:
salt '*' zpool.offline myzpool /path/to/vdev1 [...] [temporary=True|False]
salt.modules.zpool.
online
(zpool, *vdevs, **kwargs)¶New in version 2015.5.0.
Changed in version 2016.3.0.
Ensure that the specified devices are online
Expand the device to use all available space.
Note
If the device is part of a mirror or raidz then all devices must be expanded before the new space will become available to the pool.
CLI Example:
salt '*' zpool.online myzpool /path/to/vdev1 [...]
salt.modules.zpool.
reguid
(zpool)¶New in version 2016.3.0.
Generates a new unique identifier for the pool
Warning
You must ensure that all devices in this pool are online and healthy before performing this action.
CLI Example:
salt '*' zpool.reguid myzpool
salt.modules.zpool.
reopen
(zpool)¶New in version 2016.3.0.
Reopen all the vdevs associated with the pool
CLI Example:
salt '*' zpool.reopen myzpool
salt.modules.zpool.
replace
(zpool, old_device, new_device=None, force=False)¶Changed in version 2016.3.0.
Replaces old_device with new_device.
Note
This is equivalent to attaching new_device, waiting for it to resilver, and then detaching old_device.
The size of new_device must be greater than or equal to the minimum size of all the devices in a mirror or raidz configuration.
CLI Example:
salt '*' zpool.replace myzpool /path/to/vdev1 /path/to/vdev2
salt.modules.zpool.
scrub
(zpool, stop=False)¶Changed in version 2016.3.0.
Scrub a storage pool
CLI Example:
salt '*' zpool.scrub myzpool
salt.modules.zpool.
set
(zpool, prop, value)¶New in version 2016.3.0.
Sets the given property on the specified pool
CLI Example:
salt '*' zpool.set myzpool readonly yes
salt.modules.zpool.
status
(zpool=None)¶Changed in version 2016.3.0.
Return the status of the named zpool
CLI Example:
salt '*' zpool.status myzpool
salt.modules.zpool.
upgrade
(zpool=None, version=None)¶New in version 2016.3.0.
Enables all supported features on the given pool
Warning
Once this is done, the pool will no longer be accessible on systems that do not support feature flags. See zpool-features(5) for details on compatibility with systems that support feature flags, but do not support all features enabled on the pool.
CLI Example:
salt '*' zpool.upgrade myzpool