|
APIs in Category: cf |
Cluster-Mode API version 1.15 |
cf-force-takeover |
| cf-force-takeover | [top] |
Forces one filer to take over its partner even though the filer detects an error that would otherwise prevent a takeover. For example, normally, if a detached or faulty interconnect cable between the filers causes the filers' NVRAM contents to be unsynchronized, takeover is disabled. However, this will allow the filer to take over its partner despite the unsynchronized NVRAM contents. cf-force-takeover is dangerous and can lead to data corruption; in almost all cases, use cf-takeover instead.
Input Name Range Type Description disaster boolean
optional
When set to true, forces a filer to take over its partner in all cases where a force-takeover would. In addition it will force a takeover even if some partner mailbox disks are inaccessible. It can only be used when remotesyncmirror is licensed. This option is very dangerous. Not only can it cause data corruption, if not used carefully, it can also lead to a situation where both the filer and it's partner are operational (split brain). As such, it should only be used as a means of last resort when the takeover and force-takeover operations are unsuccessful in achieving a takeover. The operator must ensure that the partner filer does not become operational at any time while a filer is in a takeover mode initiated by the use of this operation. In conjunction with RAID mirroring, it can allow recovery from a disaster when the two filers are setup in a MetroCluster configuration. This option is not allowd in case of cluster zapi. node string
optional
This parameter is the name of the node which is doing a takeover of its partner.
Errno Description ETAKEOVERINPROGRESS ESENDHOMEINPROGRESS EVERSIONMISMATCH EMBOXDEGRADED EBADOPTIONS EWAITINGFORPARTNER ENOTHALTED ENODENOTFOUND EINTERNALERROR
| cf-get-partner | [top] |
Get the host name of the partner. If the name is unknown, It will return partner-unknown.
Input Name Range Type Description node string
optional
The node name is passed as an argument Output Name Range Type Description partner string
Host name of the partner or partner-unknown, if the host name is not known.
Errno Description EINTERNALERROR
| cf-giveback | [top] |
Initiates a giveback of partner resources. Once the giveback is complete, the automatic takeover capability is disabled until the partner is rebooted. A giveback fails if outstanding CIFS sessions, active system dump processes, or other filer operations makes a giveback dangerous or disruptive.
Input Name Range Type Description force boolean
optional
When set to true, this allows a giveback to proceed even if there are outstanding CIFS sessions, active system dump processes, or other filer operations which makes a giveback dangerous or disruptive as long as it would not result in data corruption or filer error. When set to false, this does not allow a giveback to proceed if there are outstanding CIFS sessions, active system dump processes, or other filer operations which makes a giveback dangerous or disruptive. The default value is false. node string
optional
This parameter is the name of the node which performs giveback to its partner. only-cfo-aggregates boolean
optional
When set to true, only the CFO HA-style aggregates (which includes the root aggregate) will be given back. This may be needed in the case when the partner node's VLDB and other such management applications are not properly working (they are required to be online for the SFO HA-style aggregates to start serving data), so it might not be possible to giveback SFO HA-style aggregates. When set to false, all the aggregates (CFO HA-style aggregates + SFO HA-style aggregates) will be given back. The default value is false. override-vetoes boolean
optional
Some conditions cause attempts to giveback aggregates to be vetoed. When set to true, this allows the process of giveback of the aggregates to be initiated even in the face of such vetoes. When set to false, this does not allow the process of giveback of the aggregates to proceed if there are any vetoes. The default value is false. require-partner-waiting boolean
optional
When set to true, this ensures that the process of giveback of the aggregates is not initiated if the partner is not up and waiting to receive them. When set to false, this allows the process of giveback of the aggregates to proceed even if the partner is not up and waiting to receive them. The default value is true.
Errno Description EPARTNERNOTWAITING ENOAGGRS ESENDHOMEINPROGRESS ETAKEOVERINPROGRESS EHALTING ENOPARTNERINVENTORY EPARTNERMISSINGDISKS ENODENOTFOUND EINTERNALERROR
| cf-hwassist-stats | [top] |
Get useful information about statistics of hardware assisted takeover functionality.
Input Name Range Type Description node string
optional
Node name of the filer for which the API is requested. Output Name Range Type Description hwassist-stats-abnormal-reboot string
optional
Number of abnormal_reboot alerts received hwassist-stats-bad-nvram-id string
optional
Number of bad NVRAM id alerts received hwassist-stats-keep-alive string
optional
Number of keep_alive alerts received hwassist-stats-loss-of-heartbeat string
optional
Number of loss_of_heartbeat alerts received hwassist-stats-post-error string
optional
Number of post_error alerts received hwassist-stats-power-cycle-via-rlm string
optional
Number of power_cycle_via_rlm alerts received hwassist-stats-power-cycle-via-sp string
optional
Number of power_cycle_via_sp alerts received hwassist-stats-power-loss string
optional
Number of power_loss alerts received hwassist-stats-power-off-via-rlm string
optional
Number of power_off_via_rlm alerts received hwassist-stats-power-off-via-sp string
optional
Number of power off alerts received from service processor (power_off_via_sp alert). hwassist-stats-reset-via-rlm string
optional
Number of reset_via_rlm alerts received hwassist-stats-reset-via-sp string
optional
Number of reset_via_sp alerts received hwassist-stats-ss-mismatch string
optional
Number of shared secret key mismatch alerts received hwassist-stats-test string
optional
Number of test alerts received hwassist-stats-times-throttled string
optional
Number of times hardware assist alerts were throttled. Alerts are throttled when too many are received in a short interval. hwassist-stats-unknown-alerts string
optional
Number of unknown alerts received hwassist-stats-watchdog-reset string
optional
Number of l2_watchdog_reset alerts received no-stats string
optional
If no hardware assist statistics are available, this is set to "Cannot determine hwassist stats".
Errno Description EINTERNALERROR
| cf-hwassist-stats-clear | [top] |
Get useful information about stats of hw_assist functionality.
Input Name Range Type Description node string
Node name of the filer for which the API is requested.
Errno Description EINTERNALERROR
| cf-hwassist-status | [top] |
Get useful information about the status of hw_assist functionality.
Input Name Range Type Description node string
optional
Node name of the filer for which the API is requested. Output Name Range Type Description local-hwassist-inactive-corrective-action string
optional
Indicates the corrective action if status is inactive. local-hwassist-inactive-reason string
optional
Indicates the reason if status is inactive. local-hwassist-ipaddr string
optional
If set, ip addr; 0.0.0.0 otherwise local-hwassist-port integer
optional
If set, port; 0 otherwise local-hwassist-status string
optional
Local node hw_assist status Active: If functionality is active. Inactive: If functionality is inactive no-status string
optional
Set if no hw_assist status is avaliable. Either this or the remaining fields will be set,hence they are optional. partner-hwassist-inactive-corrective-action string
optional
Indicates the corrective action if status is inactive. partner-hwassist-inactive-reason string
optional
Indicates the reason if status is inactive. partner-hwassist-ipaddr string
optional
If set, ip addr, 0.0.0.0 otherwise partner-hwassist-port integer
optional
If set, current port, 0 otherwise partner-hwassist-status string
optional
partner node hw_assist status Active: If functionality is active. Inactive: If functionality is inactive
Errno Description EINTERNALERROR
| cf-hwassist-test | [top] |
Validates the hardware-assisted takeover configuration. functionality.
Input Name Range Type Description node string
Node name of the filer for which the API is requested. Output Name Range Type Description hwassist-test-result string
This string corresponds to the result of the test. The possible outcomes are: Hwassist is not initialized No hw_assist hardware found. Partner is throttling alerts. Resource busy. Try again after some time. Hwassist hardware returned error. No response from partner. Timed out. Unexpected abort. Partner has taken over. Interconnect is down between nodes. Make sure partner is booted up.Run 'storage failover hwassist show' for details.
Errno Description EINTERNALERROR
| cf-service-disable | [top] |
Disables the takeover capability of this filer in the cluster.
Input Name Range Type Description node string
optional
This parameter is the name of the node on which service is to be disabled
Errno Description ESERVICENOTINITIALIZED ESERVICENOTLICENSED ESERVICENOTENABLED EREVERTINPROGRESS EINTERNALERROR
| cf-service-enable | [top] |
Enables the takeover capability of this filer in the cluster. This spawns a process to enable the service
Input Name Range Type Description node string
optional
This parameter is the name of the node on which service is to be enabled
Errno Description ESERVICENOTINITIALIZED ESERVICENOTLICENSED ESERVICEENABLED EREVERTINPROGRESS EINTERNALERROR
| cf-status | [top] |
Get useful information about the status of the clustering service. If the monitor is not initialized, this returns an error.
Input Name Range Type Description node string
This parameter is the name of the node for which High Availability service status is being requested Output Name Range Type Description backup-io-times mailbox-io-times-info
optional
Backup mailbox IO times. Not returned if state is "waiting_for_root_aggr". backup-mailbox-status mailbox-status-info[]
optional
Backup mailbox status information, represented as a list of strings. Not returned if state is "waiting_for_root_aggr". booting-received integer
time booting notification received, in milliseconds. XXX this is a uint_8 control-partner-aggregates boolean
True, if we control one or more partner aggregates. current-giveback-module string
optional
The current module giveback process is in current-resource-table-entry string
optional
If we're doing takeover processing, the name of the current entry in the resource table. current-resource-table-entry-index integer
optional
If we're doing takeover processing, the index of the current entry in the resource table. current-time integer
Current time on the filer firmware-received integer
time firmware notification received, in milliseconds. XXX this is a uint_8 interconnect-links string
optional
States of the individual interconnect links e.g. VIA Interconnect is down (link 0 down, link 1 down) VIA Interconnect is up (link 0 down, link 1 up) VIA Interconnect is up (link 0 up, link 1 down) interconnect-type string
optional
Type and Vendor of the interconnect e.g. Infiniband ( Mellanox Arbel ) Infiniband ( Mellanox Tavor ) FCVI ( Qlogic 2462 ) is-enabled boolean
True, if the storage failover facility is enabled, false otherwise. Note that the facility can be enabled but takeover may not be possible due to various reason. is-interconnect-up boolean
True, if storage clustering interconnect is up kill-packets boolean
True, if we issue ic kill messages during takeover. local-firmware-progress integer
optional
A counter to indicate that the local node is progressing in the current firmware state The range of possible values is [0..2^31-1] local-firmware-state string
optional
Local firmware state that will be communicated through interconnect to the partner SF_OPERATOR_EXIT - operator completed SF_DEBUG_EXIT - debugger completed SF_PROGRESS - progress counter SF_IOERROR - I/O error SF_BADCKSUM - bad checksum SF_RESERVED - reserved SF_UNKNOWN - unknown SF_OPEN - initializing SF_POST - in power-on self test SF_BOOTING - booting SF_FAIL - boot failed SF_WAITING - waiting SF_OS_BOOTED - kernel loaded SF_UP - up SF_DEBUG - in debugger SF_OPERATOR - waiting for operator input SF_DUMPCORE - dumping core SF_HALT - halted SF_REBOOT - rebooting SF_GIVEWAIT - waiting for giveback SF_MBWAIT - waiting for cluster mailbox release SF_SPARECORE - dumping sparecore and ready to be taken-over SF_MDP - multi-disk panic SF_TO - in takeover SF_NOTO local-mailbox-disks sf-disk-info[]
optional
List of local mailbox disks. Not returned if state is "waiting_for_root_aggr". logs-unsynced-count integer
Number of times the log was unsynchronized. max-resource-table-index integer
optional
The maximum resource table index. name string
Hostname of the dblade. nvram-id integer
NVRAM identifier partner string
Hostname of the partner. If the partner is unknown, returns an empty string. This is for 7G like output compatibility. partner-firmware-progress integer
optional
A counter to indicate that the partner node is progressing in the current firmware state The range of possible values is [0..2^31-1] partner-firmware-state string
optional
Partner firmware state as communicated by the partner through interconnect SF_OPERATOR_EXIT - operator completed SF_DEBUG_EXIT - debugger completed SF_PROGRESS - progress counter SF_IOERROR - I/O error SF_BADCKSUM - bad checksum SF_RESERVED - reserved SF_UNKNOWN - unknown SF_OPEN - initializing SF_POST - in power-on self test SF_BOOTING - booting SF_FAIL - boot failed SF_WAITING - waiting SF_OS_BOOTED - kernel loaded SF_UP - up SF_DEBUG - in debugger SF_OPERATOR - waiting for operator input SF_DUMPCORE - dumping core SF_HALT - halted SF_REBOOT - rebooting SF_GIVEWAIT - waiting for giveback SF_MBWAIT - waiting for cluster mailbox release SF_SPARECORE - dumping sparecore and ready to be taken-over SF_MDP - multi-disk panic SF_TO - in takeover SF_NOTO partner-mailbox-disks sf-disk-info[]
optional
List of partner mailbox disks as this dblade sees them. Not returned if state is "waiting_for_root_aggr". partner-name string
optional
Hostname of the partner. Not returned if unknown. partner-nvram-id integer
optional
Partner NVRAM identifier. Not returned if unknown. primary-io-times mailbox-io-times-info
optional
Primary mailbox IO times. Not returned if state is "waiting_for_root_aggr". primary-mailbox-status mailbox-status-info[]
optional
Primary mailbox statusPrimary mailbox status information, represented as a list of strings. Not returned if state is "waiting_for_root_aggr". resource-table resource-table-info[]
optional
The failover monitor resource table.Pre-rsrctbl information will be prep-ended to this output. sf-options sf-options-info
optional
The following is the clustering view of various options, for debugging purposes. The actual interface is via the options mechanism. Not returned if state is "waiting_for_root_aggr". state string
optional
connected - Partner is available for takeover takeover_scheduled - Partner is down and takeover is scheduled takeover_started - Takeover process has begun takeover - Currently controlling partner's resources. taken over - Partner is controlling filer's resources takeover_failed - Failed to takeover the partner giving_back - Sendhome process in progress giveback_partial_waiting - This node controls partner aggregates even though the node is not in takeover. And we're waiting for a connection to the partner. giveback_partial_connected - This node controls partner aggregates even though the node is not in takeover. The partner is available to receive the aggregates. waiting_for_root_aggr - Partner is controlling dblade's root aggregate If we're in this state, many other optional fields are not returned. waiting - Waiting for a connection to partner. Generally happens while partner is rebooting. in_maintenance_mode - node is in maintenance mode. In the mode it is not possible to determine more detailed information (e.g. cluster or not; takeover or not, etc). pending_shutdown - starting a takeover/sendhome is inhibited due to a pending system shutdown. error - There is an error with the system User have to compare the return values case-insensitively. takeover-by-partner-not-possible-reason takeover-info[]
optional
If takeover by the partner is not possible, list of one or more reasons why. Note that in for non-verbose command output the first reason returned is the one that should be displayed. takeover-failure-reason string
optional
if state == takeover_failed, this is the reason for the takeover failure takeover-of-partner-not-possible-reason takeover-info[]
optional
If is-enabled is false, list of one or more reasons why. Note that in for non-verbose command output the first reason returned is the one that should be displayed. takeover-possible boolean
True, if storage failover takeover is currently possible, false otherwise. time-master-status string
optional
host is time "master" or "slave". If master, then other host syncs it's time with this one. If slave, then this host syncs it's time with the other. Nothing is returned if clustering is disabled. time-until-auto-giveback integer
optional
If state == takeover this is the countdown time in seconds until auto-giveback is started. The range of possible values is [0..2^31-1]. This attribute will be absent on output when the value is 0. time-until-takeover integer
optional
if state == takeover_scheduled, this is the countdown time in seconds until state == takeover_started. timeouts timeout-info
Various failover monitor timeouts. transit-event-time integer
Time at which last takeover/giveback event occurred, in milliseconds. XXX this is a uint_8
Errno Description ENODENOTFOUND ESERVICENOTINITIALIZED EINTERNALERROR
| cf-takeover | [top] |
Initiates a takeover of the storage partner. Takeover is done asynchronously; status may be monitored by calling the cf-status API and examining the state field. If automatic giveback is enabled then control will be returned to storage partner once it boots up.
Input Name Range Type Description allow-disk-inventory-mismatch boolean
optional
This allows takeover if disk inventory information is mismatched for non root volume disks. If mismatched, local node performance could degrade as what appears to be missing disks are rebuilt. NOTE:: When using this option and if some of partner's file system disks are not visible to local node, then after giveback those missing disks can create new failed aggregate with same name. So, if any aggregate is offline after giveback with same name then using "zapi_aggr_destroy", you have to destroy that offline aggregate. force boolean
optional
In Classic mode: This causes takeover to be immediately initiated. The taken over node, if up, does not get to shut things down in an orderly manner so the takeover of the resources takes longer. This is the type of takeover that is done during normal cluster operation when one of the nodes goes away (dies). In Cluster mode: It forces a node to take over its storage partner even though the node detects an error that would otherwise prevent a takeover. For example, normally, if a detached or faulty interconnect cable between the nodes(ha pair) causes the nodes NVRAM contents to be unsynchronized, takeover is disabled. However, this will allow the node to take over its storage partner despite the unsynchronized NVRAM contents. cf-force-takeover is dangerous and can lead to data corruption; in almost all cases, use cf-takeover instead. immediate boolean
optional
This causes takeover to be initiated immediately. The taken over node, if up, does not get to shut things down in an orderly manner so the takeover of the resources takes longer. node string
optional
This parameter is the name of the node which is doing a takeover of its partner. version-mismatch-ok boolean
optional
This allows takeover if the partner was running an incompatible operating system version and was cleanly halted. This option is used for non-disruptive upgrade(NDU).
Errno Description ETAKEOVERINPROGRESS ESENDHOMEINPROGRESS EVERSIONMISMATCH EMBOXDEGRADED EBADOPTIONS EWAITINGFORPARTNER ENOTHALTED ENODENOTFOUND EINTERNALERROR EINVENTORYMISMATCH ENOPARTNERINVENTORY
| Element definition: mailbox-io-times-info | [top] |
Mailbox IO times
Name Range Type Description normal integer
Maximum IO time in milliseconds, normal transition integer
Maximum IO time in milliseconds, transition
| Element definition: mailbox-status-info | [top] |
Mailbox status info.
Name Range Type Description mailbox-status string
representation of mailbox status bit. Possible values: mbx_status_nodisks mbx_status_uncertain mbx_status_stale mbx_status_conflicted mbx_status_old_version mbx_status_not_found mbx_status_wrong_state mbx_status_backup
| Element definition: resource-table-info | [top] |
A failover monitor resource table entry.
Name Range Type Description fail string
Entry failure code, represented as a string: ok fail fail_always hang panic veto name string
Name of the entry state string
Entry state, represented as a string: up start_running start_done start_failed stop_running stop_failed takeover_barrier only_when_initd time-delta integer
Amount of time spent in this element, in milliseconds.
| Element definition: sf-disk-info | [top] |
Disk information.
Name Range Type Description disk-uid string
Disk unique identifier. Maximum length of 90 characters. XXX should use same typedef as storage ZAPI. Note sure where it is defined. name string
Name of the disk, e.g. v1.1
| Element definition: sf-options-info | [top] |
The clustering view of various options.
Name Range Type Description giveback-auto boolean
Indicates if the automatic giveback is enabled. Same as send-home-auto. node-status-in-mailbox-disks boolean
Indicates if we propagate node status via mailbox disks. node-status-in-mailbox-disks-read-interval integer
Rate in seconds at which we read node status from mailbox disks. node-status-in-mailbox-disks-write-interval integer
Rate in seconds at which we write node status to mailbox disks. send-home-auto boolean
Indicates if the automatic send-home facility enabled. send-home-auto-attempts integer
The number of times we'll try to do an automatic giveback within send-home-auto-minutes send-home-auto-attempts-minutes integer
The number of minutes in which we should not execeed send-home-auto-attempts automatic send-home attempts. send-home-auto-delay-seconds integer
The number of seconds of delay before initiating automatic send-home. This will be the minimum time a node will be in takeover state before performing auto sendhome. send-home-check-partner-waiting boolean
Indicates if we require the partner to be waiting for a send-home in order to do a send-home. takeover-detection-time integer
Takeover detection time in seconds. takeover-on-failure boolean
Indicates if we will automatically takeover upon partner failure. takeover-on-panic boolean
Indicates if we will automatically takeover upon partner panic. takeover-on-reboot boolean
Indicates if we will automatically takeover upon partner reboot. takeover-on-short-uptime boolean
Indicates if we will automatically takeover if the partner fails within 60 seconds of booting.
| Element definition: takeover-info | [top] |
Takeover info.
Name Range Type Description reason string
reason we can't takeover: not_initialized - Uninitialized. unlicensed - Clustering is not licensed. disabled - Cluster is disabled. degraded - Degraded mode (mailbox disks). mailbox_invalid - Partner mailbox status not accessible or invalid. mailbox_uninit - Partner mailbox status uninitialized. fm_version_mismatch - Fm mailbox version mismatch. partner_disabled - Partner disabled cluster. operator_deny - Disabled by operator. nvram_mismatch - NVRAM size mismatch. version - Version mismatch. ic_error - Interconnect error. booting - Partner is booting. shelf_hot - Disk shelf is too hot. Note that this feature is not currently implemented. partner_revert_in_progress - Partner is performing revert. local_revert_in_progress - We are performing revert. partner_takeover - Partner is trying to take us over. local_takeover - We are in takeover state. halt_no_takeover - Filer halted using 'halt -f'. log_unsync - NVRAM log unsynchronized. unknown - notakeover due to unknown reason. waiting_for_partner - Waiting for partner recovery. low_memory - Low memory condition. halting - About to halt. mailbox_uncertain - Status of backup mailbox doubtful. no_auto_takeover - Automatic takeover is disabled.
| Element definition: timeout-info | [top] |
Failover monitor timeouts.
Name Range Type Description booting integer
booting timeout, in milliseconds connect integer
connect timeout, in milliseconds dumpcore integer
dumpcore timeout, in milliseconds fast integer
fast timeout, in milliseconds firmware integer
firmware timeout, in milliseconds mailbox integer
mailbox timeout, in milliseconds operator integer
operator timeout, in milliseconds slow integer
slow timeout, in milliseconds transit integer
transit timeout, in milliseconds transit-timer-enabled boolean
True, if the transit timer is enabled