Manual Reference Pages - HASTCTL (8)
- Highly Available Storage control utility
<init | primary | secondary>
all | name ...
[all | name ...]
[all | name ...]
[all | name ...]
utility is used to control the behaviour of the
This utility should be used by HA software like
to setup HAST resources role when changing from primary mode to
secondary or vice versa.
Be aware that if a file system like UFS exists on HAST provider and
primary node dies, file system has to be checked for inconsistencies
utility after switching secondary node to primary role.
The first argument to
indicates an action to be performed:
Initialize local provider configured for the given resource.
Additional options include:
Size of an extent.
Extent is a block which is used for synchronization.
maintains a map of dirty extents and extent is the smallest region that
can be marked as dirty.
If any part of an extent is modified, entire extent will be synchronized
when nodes connect.
If extent size is too small, there will be too much disk activity
related to dirty map updates, which will degrade performance of the
If extent size is too large, synchronization, even in case of short
outage, can take a long time increasing the risk of losing up-to-date
node before synchronization process is completed.
The default extent size is
Maximum number of dirty extents to keep dirty all the time.
Most recently used extents are kept dirty to reduce number of metadata
The default number of most recently used extents which will be kept
Size of the smaller provider used as backend storage on both nodes.
This option can be omitted if node providers have the same size on both
If size is suffixed with a k, M, G or T, it is taken as a kilobyte,
megabyte, gigabyte or terabyte measurement respectively.
Change role of the given resource.
The role can be one of:
Resource is turned off.
daemon will act as primary node for the given resource.
System on which resource role is set to primary can use
daemon will act as secondary node for the given resource - it will wait
for connection from the primary node and will handle I/O requests
received from it.
will not be created on secondary node.
Present verbose status of the configured resources.
Present terse (and more easy machine-parseable) status of the configured
Dump metadata stored on local component for the configured resources.
In addition, every subcommand can be followed by the following options:
Specify alternative location of the configuration file.
The default location is
Print debugging information.
This option can be specified multiple times to raise the verbosity
Configuration file for
Control socket used by
to communicate with the
Exit status is 0 on success, or one of the values described in
Initialize HAST provider, create file system on it and mount it.
nodeB# hastctl create shared
nodeB# hastctl role secondary shared
nodeA# hastctl create shared
nodeA# hastctl role primary shared
nodeA# newfs -U /dev/hast/shared
nodeA# mount -o noatime /dev/hast/shared /shared
Switch roles for the
nodeA# umount -f /shared
nodeA# hastctl role secondary shared
nodeB# hastctl role primary shared
nodeB# fsck -t ufs /dev/hast/shared
nodeB# mount -o noatime /dev/hast/shared /shared
was developed by
.An Pawel Jakub Dawidek Aq pjd@FreeBSD.org
under sponsorship of the FreeBSD Foundation.
Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.