* Finished scan-drbd. Removed the code to track resources by UUID via resource config file. The UUID tracking it fairly easy messed up by manual edits/rsyncs, and the code to handle updating the UUID in the resource config files was complicated enough that it negated any benefit of avoiding resources being marked as removed / newly created on name change. Left the DRBD->resource_uuid() method though, in case we decide to revisit this.
scan_drbd_resource_nametextnotnull,-- The name of the resource.
scan_drbd_resource_upbooleannotnull,-- This indicates if the resource is up on this host.
scan_drbd_resource_xmltextnotnull,-- This is the raw <common> section of 'drbd_resourceadm dump-xml'.
scan_drbd_resource_xmltextnotnull,-- This is the raw <common> section of 'drbd_resourceadm dump-xml'. This gets set to DELETED when the resource disappears.
-- Diskless - No local block device has been assigned to the DRBD driver. This may mean that the resource
-- has never attached to its backing device, that it has been manually detached using drbdadm
-- detach, or that it automatically detached after a lower-level I/O error.
-- Inconsistent - The data is inconsistent. This status occurs immediately upon creation of a new resource,
-- on both nodes (before the initial full sync). Also, this status is found in one node (the
-- synchronization target) during synchronization.
-- Outdated - Resource data is consistent, but outdated.
-- DUnknown - This state is used for the peer disk if no network connection is available.
-- Consistent - Consistent data of a node without connection. When the connection is established, it is
-- decided whether the data is UpToDate or Outdated.
-- UpToDate - Consistent, up-to-date state of the data. This is the normal state
--
-- NOTE: Transient states are not recorded, but are below for completeness sake
-- Attaching - Transient state while reading meta data.
-- Detaching - Transient state while detaching and waiting for ongoing IOs to complete.
-- Failed - Transient state following an I/O failure report by the local block device. Next state:
-- Diskless.
-- Negotiating - Transient state when an Attach is carried out on an already-Connected DRBD device.
--
-- Resource Roles ;
-- Primary - The resource is currently in the primary role, and may be read from and written to. This role
-- only occurs on one of the two nodes, unless dual-primary mode is enabled.
-- Secondary - The resource is currently in the secondary role. It normally receives updates from its peer
-- (unless running in disconnected mode), but may neither be read from nor written to. This role
-- may occur on one or both nodes.
-- Unknown - The resource’s role is currently unknown. The local resource role never has this status. It is
-- only displayed for the peer’s resource role, and only in disconnected mode.
--
-- Replication states;
-- Off - The volume is not replicated over this connection, since the connection is not Connected.
-- Established - All writes to that volume are replicated online. This is the normal state.
-- StartingSyncS - Full synchronization, initiated by the administrator, is just starting. The next possible
-- states are: SyncSource or PausedSyncS.
-- StartingSyncT - Full synchronization, initiated by the administrator, is just starting. Next state:
-- WFSyncUUID.
-- WFBitMapS - Partial synchronization is just starting. Next possible states: SyncSource or PausedSyncS.
-- WFBitMapT - Partial synchronization is just starting. Next possible state: WFSyncUUID.
-- WFSyncUUID - Synchronization is about to begin. Next possible states: SyncTarget or PausedSyncT.
-- SyncSource - Synchronization is currently running, with the local node being the source of
-- synchronization.
-- SyncTarget - Synchronization is currently running, with the local node being the target of
-- synchronization.
-- PausedSyncS - The local node is the source of an ongoing synchronization, but synchronization is
-- currently paused. This may be due to a dependency on the completion of another
-- synchronization process, or due to synchronization having been manually interrupted by
-- drbdadm pause-sync.
-- PausedSyncT - The local node is the target of an ongoing synchronization, but synchronization is
-- currently paused. This may be due to a dependency on the completion of another
-- synchronization process, or due to synchronization having been manually interrupted by
-- drbdadm pause-sync.
-- VerifyS - On-line device verification is currently running, with the local node being the source of
-- verification.
-- VerifyT - On-line device verification is currently running, with the local node being the target of
-- verification.
-- Ahead - Data replication was suspended, since the link can not cope with the load. This state is
-- enabled by the configuration on-congestion option (see Configuring congestion policies and
-- suspended replication).
-- Behind - Data replication was suspended by the peer, since the link can not cope with the load.
-- This state is enabled by the configuration on-congestion option on the peer node (see
-- Configuring congestion policies and suspended replication).
--
-- Connection States;
--
-- StandAlone - No network configuration available. The resource has not yet been connected, or has been administratively disconnected (using drbdadm disconnect), or has dropped its connection due to failed authentication or split brain.
-- Connecting - This node is waiting until the peer node becomes visible on the network.
-- Connected - A DRBD connection has been established, data mirroring is now active. This is the normal state.
--
-- NOTE: Temporary states are not recorded, but are below for completeness sake
-- Disconnecting - Temporary state during disconnection. The next state is StandAlone.
-- Unconnected - Temporary state, prior to a connection attempt. Possible next states: Connecting.
-- Timeout - Temporary state following a timeout in the communication with the peer. Next state:
-- Unconnected.
-- BrokenPipe - Temporary state after the connection to the peer was lost. Next state: Unconnected.
-- NetworkFailure - Temporary state after the connection to the partner was lost. Next state: Unconnected.
-- ProtocolError - Temporary state after the connection to the partner was lost. Next state: Unconnected.
-- TearDown - Temporary state. The peer is closing the connection. Next state: Unconnected.
-- NOTE: This table stores the information about this volume on the local host.
scan_drbd_volume_numbernumericnotnull,-- The name of the volume.
scan_drbd_volume_device_pathtextnotnull,-- This is the device path to the DRBD resource
scan_drbd_volume_device_pathtextnotnull,-- This is the device path to the DRBD resource. This gets set to DELETED when the volume disappears.
scan_drbd_volume_device_minornumericnotnull,-- This is the device minor number, which translates to '/dev/drbd<minor>'
scan_drbd_volume_sizenumericnotnull,-- This is size of the DRBD device (in bytes)
modified_datetimestampwithtimezonenotnull,
@ -267,7 +187,7 @@ CREATE TABLE scan_drbd_peers (
scan_drbd_peer_host_uuiduuidnotnull,
scan_drbd_peer_scan_drbd_volume_uuiduuidnotnull,
scan_drbd_peer_host_nametextnotnull,-- The host name for this peer, as recorded in the config
scan_drbd_peer_connection_statetextnotnull,-- The connection state to the peer. See "Connection States" and "Replication States" above.
scan_drbd_peer_connection_statetextnotnull,-- The connection state to the peer. See "Connection States" and "Replication States" above. This gets set to DELETED when the peer disappears from the configuration.
scan_drbd_peer_local_disk_statetextnotnull,-- The local disk state of the peer, see "Disk States" above.
scan_drbd_peer_disk_statetextnotnull,-- The local disk state of the peer, see "Disk States" above.
scan_drbd_peer_local_roletextnotnull,-- The current local role of the peer.
@ -281,7 +201,7 @@ CREATE TABLE scan_drbd_peers (
scan_drbd_peer_fencingtextnotnull,-- Set to 'resource-and-stonith' for node peers and 'dont-care' for DR hosts.
A resource was found with a resource UUID that isn't valid on this host. An attempt to find a valid database entry was made but no candidate was found. Adding the resource to the database as if it were new, and generating a new resource UUID for the resource configuration file.
<keyname="scan_drbd_message_0009">The resource config: [#!variable!resource_name!#] has been deleted. The backing storage may or may not have been removed.</key>
<keyname="scan_drbd_message_0010">The resource: [#!variable!old_value!#] has been renamed to: [#!variable!new_value!#].</key>
<keyname="scan_drbd_message_0011">The resource: [#!variable!resource_name!#] state has changed from: [#!variable!old_value!#] to: [#!variable!new_value!#].</key>
<keyname="scan_drbd_message_0012">
The resource: [#!variable!resource_name!#] has returned.
The new config is:
========
#!variable!new_config!#
========
</key>
<keyname="scan_drbd_message_0013">
The resource: [#!variable!resource_name!#]'s XML configuration (as reported by 'drbdadm dump-xml' has changed. The change is:
========
#!variable!difference!#
========
The new config is:
========
#!variable!new_config!#
========
</key>
<keyname="scan_drbd_message_0014">
A new DRBD resource volume has been found on this host.
- On resouce: .. [#!variable!resource_name!#]
- Volume Number: [#!variable!volume_number!#]
- Device Path: . [#!variable!device_path!#]
- Minor Number: [#!variable!minor_number!#]
- Volume Size: . [#!variable!volume_size!#]
Note: The "minor number" translates to the base '/dev/drbdX' where 'X' is the minor number. The 'device_path' is a convenient symlink to the base 'drbdX' device.
Note: The volume size is always a bit less than the backing LVM logical volume size. Some space is used by the internal DRBD metadata. The size of the metadata is explained here: https://www.linbit.com/drbd-user-guide/drbd-guide-9_0-en/#s-meta-data-size
</key>
<keyname="scan_drbd_message_0015">The resource: [#!variable!resource_name!#] volume: [#!variable!volume_number!#] has been deleted. The backing storage may or may not have been removed.</key>
<keyname="scan_drbd_message_0016">The resource: [#!variable!resource_name!#] volume: [#!variable!volume_number!#] has returned.</key>
<keyname="scan_drbd_message_0017">The resource: [#!variable!resource_name!#] volume: [#!variable!volume_number!#] device path has changed from: [#!variable!old_value!#] to: [#!variable!new_value!#].</key>
<keyname="scan_drbd_message_0018">The resource: [#!variable!resource_name!#] volume: [#!variable!volume_number!#] device minot number changed from: [#!variable!old_value!#] to: [#!variable!new_value!#]. This relates to the '/dev/drbdX' device path assignment used behind the device path symlink.</key>
<keyname="scan_drbd_message_0019">The resource: [#!variable!resource_name!#] volume: [#!variable!volume_number!#] size has changed from: [#!variable!old_value!#] to: [#!variable!new_value!#].</key>
<keyname="scan_drbd_message_0020">
A new peer connection has been found for the resource: [#!variable!resource_name!#] volume: [#!variable!volume_number!#];
Note: Node peers should always use protocol C and fencing set to 'resource-and-stonith'. DR Host peers can use either protocol A or C, and fencing should always be set to 'dont-care'.
Protocol A is suitable for DR hosts with higher latency connections, but the DR host will be allowed to fall slightly behind the nodes. Protocol C ensures that the DR host is never behind, but could hurt storage performance.
</key>
<keyname="scan_drbd_message_0021">
The resource: [#!variable!resource_name!#] volume: [#!variable!volume_number!#] connection state to: [#!variable!peer_name!#] has changed from: [#!variable!old_connection_state!#] to: [#!variable!new_connection_state!#].
The resource: [#!variable!resource_name!#] volume: [#!variable!volume_number!#] local disk state relative to: [#!variable!peer_name!#] has changed from: [#!variable!old_local_disk_state!#] to: [#!variable!new_local_disk_state!#].
The resource: [#!variable!resource_name!#] volume: [#!variable!volume_number!#] peer: [#!variable!peer_name!#] disk state has changed from: [#!variable!old_disk_state!#] to: [#!variable!new_disk_state!#].
The resource: [#!variable!resource_name!#] volume: [#!variable!volume_number!#] local role relative to: [#!variable!peer_name!#] has changed from: [#!variable!old_local_role!#] to: [#!variable!new_local_role!#].
The resource: [#!variable!resource_name!#] volume: [#!variable!volume_number!#] peer: [#!variable!peer_name!#] role has changed from: [#!variable!old_role!#] to: [#!variable!new_role!#].
<keyname="scan_drbd_message_0026">The resource: [#!variable!resource_name!#] volume: [#!variable!volume_number!#] peer: [#!variable!peer_name!#]'s out-of-sync size has changed from: [#!variable!old_out_of_sync_size!#] to: [#!variable!new_out_of_sync_size!#].</key>
<keyname="scan_drbd_message_0027">The resource: [#!variable!resource_name!#] volume: [#!variable!volume_number!#] peer: [#!variable!peer_name!#]'s replication speed has changed from: [#!variable!old_replication_speed!#/sec] to: [#!variable!new_replication_speed!#/sec].</key>
<keyname="scan_drbd_message_0028">The resource: [#!variable!resource_name!#] volume: [#!variable!volume_number!#] peer: [#!variable!peer_name!#]'s time to resync changed from: [#!variable!old_estimated_time_to_sync!#] to: [#!variable!new_estimated_time_to_sync!#].</key>
<keyname="scan_drbd_message_0029">The resource: [#!variable!resource_name!#] volume: [#!variable!volume_number!#] IP address/port used to replicate with the peer: [#!variable!peer_name!#] has changed from: [#!variable!old_ip_address!#:#!variable!old_tcp_port!#] to: [#!variable!new_ip_address!#:#!variable!new_tcp_port!#].</key>
<keyname="scan_drbd_message_0030">
The resource: [#!variable!resource_name!#] volume: [#!variable!volume_number!#] replication protocol used to sync with the peer: [#!variable!peer_name!#] has changed from: [#!variable!old_protocol!#] to: [#!variable!new_protocol!#].
Note: Protocol A is OK when replicating to a DR host. When used, it allows the DR host to fall behind the nodes, which helps avoids a performance hit when the network latency / speed to the DR host is higher than tolerable. Between nodes, protocol C must always be used, which ensures synchronous replication.
</key>
<keyname="scan_drbd_message_0031">
The resource: [#!variable!resource_name!#] volume: [#!variable!volume_number!#] fencing policy towards the peer: [#!variable!peer_name!#] has changed from: [#!variable!old_fencing!#] to: [#!variable!new_fencing!#].
Note: The fencing policy 'resource-and-stonith' must always be used between nodes. The fencing policy 'dont-care' must be used between nodes and DR hosts.
</key>
<keyname="scan_drbd_message_0032">The resource: [#!variable!resource_name!#] volume: [#!variable!volume_number!#] peer: [#!variable!peer_name!#] has been deleted.</key>
<keyname="scan_drbd_message_0033">
The DRBD resource was not found in the database, but appears to have been in the past. Re-adding it.
<keyname="scan_drbd_unit_0003">s</key><!-- Used in XiB/second -->
<keyname="scan_drbd_unit_0004">Up</key>
<keyname="scan_drbd_unit_0005">Down</key>
<!-- States - Note: All of this copy is taken from the official DRBD 9.0 documentation (as of 2020-12-03) - https://www.linbit.com/drbd-user-guide/drbd-guide-9_0-en/#s-connection-states -->
<keyname="scan_drbd_state_standalone_explain">No network configuration available. The resource has not yet been connected, or has been administratively disconnected (using drbdadm disconnect), or has dropped its connection due to failed authentication or split brain.</key>
<keyname="scan_drbd_state_startingsyncs_explain">Full synchronization, initiated by the administrator, is just starting. The next possible states are: SyncSource or PausedSyncS.</key>
<keyname="scan_drbd_state_pausedsyncs_explain">The local node is the source of an ongoing synchronization, but synchronization is currently paused. This may be due to a dependency on the completion of another synchronization process, or due to synchronization having been manually interrupted by drbdadm pause-sync.</key>
<keyname="scan_drbd_state_pausedsynct_explain">The local node is the target of an ongoing synchronization, but synchronization is currently paused. This may be due to a dependency on the completion of another synchronization process, or due to synchronization having been manually interrupted by drbdadm pause-sync.</key>
<keyname="scan_drbd_state_verifys_explain">On-line device verification is currently running, with the local node being the source of verification.</key>
<keyname="scan_drbd_state_verifyt_explain">On-line device verification is currently running, with the local node being the target of verification.</key>
<keyname="scan_drbd_state_ahead_name">Ahead</key>
<keyname="scan_drbd_state_ahead_explain">Data replication was suspended, since the link can not cope with the load. This state is enabled by the configuration on-congestion option (see Configuring congestion policies and suspended replication).</key>
<keyname="scan_drbd_state_behind_explain">Data replication was suspended by the peer, since the link can not cope with the load. This state is enabled by the configuration on-congestion option on the peer node (see Configuring congestion policies and suspended replication).</key>
<keyname="scan_drbd_state_diskless_explain">No local block device has been assigned to the DRBD driver. This may mean that the resource has never attached to its backing device, that it has been manually detached using drbdadm detach, or that it automatically detached after a lower-level I/O error.</key>
<keyname="scan_drbd_state_inconsistent_explain">The data is inconsistent. This status occurs immediately upon creation of a new resource, on both nodes (before the initial full sync). Also, this status is found in one node (the synchronization target) during synchronization.</key>
<keyname="scan_drbd_state_consistent_explain">Consistent data of a node without connection. When the connection is established, it is decided whether the data is UpToDate or Outdated.</key>
<keyname="scan_drbd_state_failed_explain">Transient state following an I/O failure report by the local block device. Next state: Diskless. Note: Despite the name, this is rarely an actual issue.</key>
<keyname="scan_drbd_state_primary_explain">The resource is currently in the primary role, and may be read from and written to. This role only occurs on one of the two nodes, unless dual-primary mode is enabled.</key>
<keyname="scan_drbd_state_secondary_explain">The resource is currently in the secondary role. It normally receives updates from its peer (unless running in disconnected mode), but may neither be read from nor written to. This role may occur on one or both nodes.</key>
<keyname="scan_drbd_state_unknown_explain">The resource’s role is currently unknown. The local resource role never has this status. It is only displayed for the peer’s resource role, and only in disconnected mode.</key>
<keyname="error_0164">The date: [#!variable!date!#] is not in either the 'mm/dd/yy' or 'mm/dd/yyyy' formats. Can't convert to 'yyyy/mm/dd'.</key>
<keyname="error_0165">The temperature: [#!variable!temperature!#] does not appear to be valid..</key>
<keyname="error_0166">The resource: [#!variable!resource!#] in the config file: [#!variable!file!#] was found, but does not appear to be a valid UUID: [#!variable!uuid!#].</key>
<keyname="error_0167">The resource: [#!variable!resource!#] in the config file: [#!variable!file!#] was found, and we were asked to replace the 'scan_drbd_resource_uuid' but the new UUID: [#!variable!uuid!#] is not a valud UUID.</key>
<!-- Table headers -->
<keyname="header_0001">Current Network Interfaces and States</key>
@ -1353,7 +1354,7 @@ About to try to download aproximately: [#!variable!packages!#] packages needed t
# The following line was added to track this resource UUID in the Anvil! database.
# Please do edit or remove it.
# scan_drbd_resource_uuid = #!variable!uuid!#
</key>
</key><!-- Translation note: The format of [# scan_drbd_resource_uuid = #!variable!uuid!#] is important, don't alter it. -->
<!-- Success messages shown to the user -->
<keyname="ok_0001">Saved the mail server information successfully!</key>