Storage Bundles and Bodies
See the storage
promises documentation for a
comprehensive reference on the body types and attributes used here.
To use these bodies, add the following to your policy:
body file control
{
inputs => { "storage.cf" }
}
volume bodies
min_free_space
Prototype: min_free_space(free)
Description: Warn if the storage doesn't have at least free
free space.
A warnings is also generated if the storage is smaller than 10K or as less than 2 file entries.
Arguments:
free
: Absolute or percentage minimum disk space that should be available before warning
Implementation:
body volume min_free_space(free)
{
check_foreign => "false";
freespace => "$(free)";
sensible_size => "10000";
sensible_count => "2";
}
mount bodies
nfs
Prototype: nfs(server, source)
Description: Mounts the storage at source
on server
via nfs protocol.
Also modifies the file system table.
Arguments:
server
: Hostname or IP of remote serversource
: Path of remote file system to mount
Implementation:
body mount nfs(server,source)
{
mount_type => "nfs";
mount_source => "$(source)";
mount_server => "$(server)";
edit_fstab => "true";
}
nfs_p
Prototype: nfs_p(server, source, perm)
Description: Mounts the storage via nfs, with perm
passed as options to mount.
Also modifies the file system table.
Arguments:
server
: Hostname or IP of remote serversource
: Path of remote file system to mountperm
: A string of options that's passed to the mount command
See also: nfs
, unmount()
Implementation:
body mount nfs_p(server,source,perm)
{
mount_type => "nfs";
mount_source => "$(source)";
mount_server => "$(server)";
mount_options => {"$(perm)"};
edit_fstab => "true";
}
unmount
Prototype: unmount
Description: Unmounts the nfs storage.
Also modifies the file system table.
Implementation:
body mount unmount
{
mount_type => "nfs";
edit_fstab => "true";
unmount => "true";
}