Skip to content

Commit 031fbfd

Browse files
committed
v2.3.0
1 parent 8615b83 commit 031fbfd

30 files changed

+5947
-0
lines changed

doc/COPYING

Lines changed: 674 additions & 0 deletions
Large diffs are not rendered by default.

doc/INSTALL

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
#################################################################################
2+
# #
3+
# iscsi-ha - High Availability framework for iSCSI cluster used in conjunction #
4+
# with XAPI based Xen Virtualization Environment (Xen Cloud Platform/XenServer) #
5+
# Copyright 2024 Salvatore Costantino #
6+
# ha@ixi0.com #
7+
# #
8+
# #
9+
# iscsi-ha is free software: you can redistribute it and/or modify #
10+
# it under the terms of the GNU General Public License as published by #
11+
# the Free Software Foundation, either version 3 of the License, or #
12+
# (at your option) any later version. #
13+
# #
14+
# iscsi-ha is distributed in the hope that it will be useful, #
15+
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
16+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
17+
# GNU General Public License for more details. #
18+
# #
19+
# You should have received a copy of the GNU General Public License #
20+
# along with iscsi-ha. If not, see <http://www.gnu.org/licenses/>. #
21+
# #
22+
#################################################################################
23+
24+
Installing - replace <VERSION> with the distribution version number
25+
- Copy the source tarball into a temporary location (ex. /tmp/)
26+
27+
- Extract its contents and move into the extracted folder
28+
tar .zxvf iscsi-ha-<VERSION>.tgz
29+
30+
- Move into the scripts folder
31+
cd iscsi-ha-<VERSION>/scripts
32+
33+
- Run the installer
34+
./install
35+
36+
The installer will check if sendmail and mailx packages are installed on the server.
37+
These are only required for email alerts. Skip the installation of these packages if email alerting is not required.
38+
39+
Removing
40+
An uninstall script is provided for Centos based systems. This will completely remove all components from the host.
41+
42+
- Move into the scripts folder
43+
cd /etc/iscsi-ha/scripts/
44+
45+
- Run the uninstaller
46+
./uninstall
47+
48+
- follow the steps to uninstall

doc/RELEASE

Lines changed: 204 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,204 @@
1+
#################################################################################
2+
# #
3+
# iscsi-ha - High Availability framework for iSCSI cluster used in conjunction #
4+
# with XAPI based Xen Virtualization Environment (Xen Cloud Platform/XenServer) #
5+
# Copyright 2024 Salvatore Costantino #
6+
# ha@ixi0.com #
7+
# #
8+
# #
9+
# iscsi-ha is free software: you can redistribute it and/or modify #
10+
# it under the terms of the GNU General Public License as published by #
11+
# the Free Software Foundation, either version 3 of the License, or #
12+
# (at your option) any later version. #
13+
# #
14+
# iscsi-ha is distributed in the hope that it will be useful, #
15+
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
16+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
17+
# GNU General Public License for more details. #
18+
# #
19+
# You should have received a copy of the GNU General Public License #
20+
# along with iscsi-ha. If not, see <http://www.gnu.org/licenses/>. #
21+
# #
22+
#################################################################################
23+
Initial Public Release - June 2013
24+
Version 1.2.11
25+
26+
- Added auto plugging of iscsi SR to deal with XenServer failing to properly plug SR on boot
27+
28+
Version 1.2.12 - August 6, 2013
29+
- Build/added DRBD RPMs compatible with XenServer 6.2. RPMs are now provided for XCP 1.6, XenServer 6.1 and XenServer 6.2
30+
31+
Version 1.2.14 - September 1, 2013
32+
- Resolved errant ping notice in log
33+
- Added exit timeout to email alerting
34+
- Moved environment out of config file to more transparently deal with upgrades
35+
- Added logic to replug PBD to resolve issues with Xenserver not properly plugging iscsi SR after a hard reboot or shutdown.
36+
37+
Version 1.2.15
38+
- Some email alerts had truncated content. Resolved
39+
- Updated installer to save configuration settings when upgrading
40+
41+
Version 1.3.1 - October 2013
42+
- Resolved race condition on poor performing dom0s when attemping to plug PBD
43+
- Added DRBD kernel module to distribution package for update XS62E004 kernel version 2.6.32.43-0.4.1.xs1.8.0.839.170780xen
44+
- Updated email alert logic to prevent hanging when network or DNS is down
45+
- New python driven MTA replaces mailx from previous version. Mailx is no longer required for alerts
46+
- Suppress email alerts to avoid sending useless alerts while iscsi-ha initializes services that
47+
were not really failed - were just stopped since service may not have been running
48+
- Updated installer not to check/prompt for mailx dependancy
49+
- Validated support for kernel version 2.6.32.43-0.4.1.xs1.8.0.839.170780xen
50+
51+
Version 1.3.7 - December 2013
52+
- Clear potential dangling logger processes that could occur on unclean exit or bad configuration parameters
53+
- Updated init script now manages logger processes
54+
- replug_pbd updated - will exit if the master is not reachable by a calling slave
55+
- Support for XenServer 6.2 SP1 kernel version - added DRBD compatible kernel RPM to package
56+
57+
Version 1.4.2 - April 2014
58+
- Resove minor display bug (warning) when manually starting service for the first time.
59+
Init script updated to first check whether directory exists in RAM before attempting to write to it.
60+
- Added manual operating mode which allows an administrator to temporarily disable automatic management of
61+
storage location (eg. exposed on master or slave). Manual mode provides the ability to move storage
62+
as needed to allow for rolling pool updates or server maintenance/reboots without any VM downtime.
63+
- Expanded CLI 'iscsi-cfg' with additional command line arguments to deal with manual mode
64+
New arguments include manual-mode-enable, manual-mode-disable, become-primary, become-secondary
65+
- Updated CLI to detect status when operating in manual mode
66+
- Updated installation script to better deal with noSAN automated installer requirements
67+
- Updated init to prevent starting service while in manual mode
68+
69+
Version 1.4.3 - June 2014
70+
- Resolved bug in replug_pbd which was not parsing SR UUIDs correctly when more than one iSCSI SR exists.
71+
- Resolved minor bug in CLI when viewing status. Incorrect IP list was being displayed while in
72+
manual mode if using an interface other than xenbr1 for replication. Status will now dynamically
73+
display the correct IPs based on the interface name set in the configuration.
74+
75+
Version 1.4.4 - July 2014
76+
- Added DRBD kernel module to distribution package for version 2.6.32.43-0.4.1.xs1.8.0.853.170791xen
77+
78+
Version 1.4.5 - September 2014
79+
- Resolved minor bug in CLI which displayed IP data incorrectly when using an interface other than xenbr1
80+
- Added DRBD kernel module to distribution package for version 2.6.32.43-0.4.1.xs1.8.0.855.170800xen
81+
82+
Version 1.5.4 - April 2015
83+
- Support for DRBD 8.4.3
84+
- Updated installer for noSAN installer support
85+
- Improved email handler removes dependancy for sendmail
86+
- Centralized email configuration settings dynamically pull email and SMTP settings from ha-lizard/xapi DB
87+
When using iscsi-ha with ha-lizard, email settings can now be set in only one place - via ha-cfg CLI
88+
- Tab completion added for ha-cfg CLI tool
89+
- Improved layout of status monitor
90+
- Added DRBD live status to iscsi-cfg status monitor
91+
92+
Version 1.5.5 - August 2015
93+
- Added compiled DRBD modules for XenSever kernel version 2.6.32.43-0.4.1.xs1.8.0.861.170802xen
94+
95+
Version 1.5.6 - September 2015
96+
- Significantly improved switchover time on failure or manual-mode role reversal
97+
- Cleaned up IP address(es) displayed while in manual-mode
98+
- Bug fix: replug_pbd was limited to deal with only 2 iSCSI SRs. Update allows for any number of configured iSCSI SRs
99+
100+
Version 1.5.7 - May 2016
101+
- Bug fix: under certain conditions, iscsi target started before DRBD primary role was asserted. TGT will now only start
102+
after DRBD role has successfully transitioned to primary.
103+
- Added DRBD kernel module and RPMS for latest 6.2 kernel 2.6.32.43-0.4.1.xs1.8.0.865.170810xen
104+
- iSCSI-HA now allows for a seamless transition of the pool master into maintenance mode allowing the slave (new master)
105+
to take over management of the storage.
106+
107+
Version 2.0 - July 2016
108+
109+
Version 2.0.2_beta
110+
- New build compatible with XenServer 7 (Centos 7 style dom0) - !! not backward compatible with XenServer 6.x !!
111+
- Improved manual mode validations now provide stateful updates of expected manually assigned roles.
112+
State changes and errors are now handled in real time
113+
- init updated for systemd compatibility
114+
- DRBD RPMs no longer packaged with releases
115+
116+
Version 2.1.0 - November 2016
117+
- Bug fix: display error when transitioning host to secondary role while in manual mode. Path to status function was being overwritten at runtime
118+
- Bug Fix: iscsi-cfg status was displaying erroneous PID. Resolved
119+
- Bug Fix: iscsi-ha and watchdog init scripts were storing wrong PID in pid file. Resolved
120+
- Bug Fix: Status was displaying wrong running state of iscsi-ha daemon
121+
- Added daemon-reload on success of drop-in file creation
122+
123+
Version 2.1.1 - November 2016
124+
- Added frequent ARP updates from host that is exposing storage on replication network. Resolves issues with replication networks
125+
using bonds that fail to initialize after certain simulated network crashes.
126+
- Added DRBD split brain recovery tool
127+
- Added -v option to CLI for checking version
128+
129+
Version 2.1.2 - December 2016
130+
- Merged with version 1.5.7 for backward compatibility
131+
- Bug Fix - MAC address parsing selected IPv6 address in some cases. Resolved
132+
- Bug Fix - Watchdog was not sourcing environment at runtime
133+
- cli tool status now displays version
134+
- updated target daemon controller for backward compatibility
135+
- updated init for support in both xenserver 6 and 7 environemnts
136+
137+
Version 2.1.3 - December 2016
138+
- Bug Fix - installer was adding an invalid character to tgt drop-in config which created delay when stopping daemon - resolved.
139+
- Bug Fix - ARP updates were in some cases excluding some interfaces in a bond - resolved.
140+
- Bug Fix - Build 29877, updated daemon controller to be backward compatible when full path to init scripts declared
141+
142+
Version 2.1.4 - Jan 2017
143+
- Bug Fix - #1142 - cli status when in manual mode displayed errored run state of iscsi target daemon due to unpopulated manual mode role
144+
in manual mode lock file. Fix now bootstraps ../state/manual with an initial role based on the host's master/slave status in the pool.
145+
- Failed attempts to start DRBD daemon will now be retried in a loop until the daemon starts successfully.
146+
- Reverted to old method (pre version 2) of updating ARP on replication interface. Due to known ARP update issues on network bridges with
147+
a bond - it is advised that replication bond mode be set to active/passive
148+
- Added XenServer 6.5 DRBD RPMs to package
149+
150+
Version 2.1.5 - August 2017
151+
- Bug Fix - in XenServer 7.x deployments, systemd could start DRBD before the network is ready causing DRBD to start with no resources loaded.
152+
- Bug fix: updated init to wait for xapi to fully initialize before starting iscsi-ha
153+
154+
Version 2.2.0 - October 2018
155+
- Various bug fixes that could cause erroneous warnings.
156+
- Added stateful configuration manager which preserves all settings when running in a 2-node hyperconverged pool.
157+
Settings are stored in a central DB that will survive dom0 upgrades without loss of configuration data. Two
158+
new CLI commands have been introduced for managing lvm, tgt, drbd and iscsi-ha configuration data; <backup|restore>
159+
Stateful storage of configuration data makes it possible to more easliy manage major version upgrades to dom0 ensuring
160+
that all configuration data remains with the pool.
161+
- Removed requirement to manually patch default iptables rules to allow replication. Firewall is now statelessly managed
162+
at runtime of iscsi-ha service. IMPORTANT - FW logic drives from the configured floating IP address (DRBD_VIRTUAL_IP) and
163+
assumes a /24 CIDR. Example. A replication IP of 10.10.10.3 will result in a FW rule allowing 10.10.10.0/24
164+
- Updated init script waits for xapi and fw to fully initialize before allowing service startup.
165+
- Updated init script to initialize proper state after a dom0 upgrade
166+
- Tested for compatibility with XenServer 7.x and XCP-ng 7.5
167+
- Added alerts functionality that can be viewed from within XenCenter or from ha-cfg CLI tool
168+
- Display bug resolved. When watching status with iscsi-cfg while DRBD is resyncing, %
169+
character caused a printf error
170+
171+
Version 2.2.1 - October 2019
172+
- Added new logic to detect and correct ARP failing to update peer on replication interface which could occur when a bonded link
173+
is used inside a linux bridge.
174+
- Upated fw_init for backward compatibility with pre version 7 hosts using SystemV to address
175+
https://halizard.com/forum/suggestion-box/337-etc-iscsi-ha-scripts-fw-init-line-65-systemctl-command-not-found
176+
- Added SSL support to email handler
177+
178+
Version 2.2.2 - October 2019
179+
- removed dependancy on networkctl since xcp/xenserver v8 no longer include it in default dom0
180+
181+
Version 2.2.3 - October 2019
182+
- Bug Fix #1926: function replication_link_check was not parsing the host interface list correctly when dealing with a bond with more than 2 interfaces.
183+
- restore_replication_link updated to deal with bonds with more than 2 interfaces
184+
185+
Version 2.2.4 - November 2019
186+
- Bug Fix - function manage_db_manual_mode updated to better deal with missing param when installed on top of a very old version of HA-Lizard
187+
188+
Version 2.2.5 - Feb 2021
189+
- Bug Fix - manual mode tracking could produce a "unary operator expected" error if state file is missing or empty
190+
- Added DRBD disk state tracking and alerting
191+
- Added DRBD split-brain alerting via XenCenter/XCP-ng Center. Alert script can be found in
192+
/etc/iscsi-ha/scripts/drbd-split-brain-alert. Newly installed systems utilizing the noSAN auto installer
193+
script will have this functionality enabled by default. Existing systems can enable DRBD split-brain notification
194+
by adding "handlers { split-brain "/etc/iscsi-ha/scripts/drbd-split-brain-alert"; }" to each host's DRBD resource.
195+
196+
Version 2.2.6 - August 2024
197+
- Bug Fix - IFS was not restored before calling replication_link_check - causing interface looping to break
198+
- Bug Fix - Resolved race condition with DRBD and multipathd which was introduced in XCP 8.2.1 release
199+
200+
Version 2.2.7 - Nov 2024
201+
- Code preparation for moving project to github. No logic changes. Only some comments added/removed
202+
203+
Version 2.3.0 - Dec 2024
204+
- Initial release for github

0 commit comments

Comments
 (0)