-
Notifications
You must be signed in to change notification settings - Fork 173
Shared data based xCAT MN HA mini design
Use xcatha-setup
and xcatha-failover
to automate most functions in user case.
xcatha-setup: We have xcat-automation using ansible to install xCAT now. In setup and configure HA mn part, add xcatha-setup script to fill in the gaps, the xcatha-setup can run standalone, and xcat-automation can integrate it easily. In the future, we can use xcat-automation to setup and configure HA MN nodes.
xcatha-failover: realize activate|deactivate HA MN.
-
xcatha-setup -p <shared-data directory path> -i <nic> -v <virtual ip> [-m <netmask>] [-t <database type>]
-
activate MN:
xcatha-failover -a|--activate -p <shared-data directory path> -i <nic> -v <virtual ip> [-m <netmask>] [-t <database type>]
-
deactivate MN:
xcatha-failover -d|--deactivate -i <nic> -v <virtual ip>
-
xcatha-setup
setup and configure HA mn work flow:- check virtual ip, make sure virtual ip is not used (ping), or else, exit with error message
- add virtual ip into its nic
- set hostname for virtual ip
- check xCAT installed or not:
- if xcat is not installed, install xCAT;
- if xcat is installed, skip this step
- check if the site table master and nameservers and network tftpserver attribute are the Virtual ip, if not, correct them
- switch DB to target type if current DB type is different from target type
- check if there is xcat data in shared data directories:
- if no xcat data in shared data, and shared data directory permission and size are proper, copy xcat data into shared data directories
- create symbolic link to share data directories
- add the mn into policy table
- xcatha-failover deactivate this MN node
-
xcatha-failover -a|--activate
- check virtual ip, make sure virtual ip is not used (ping), or else, exit
- add virtual ip into its nic
- set hostname to virtual ip
- check if current DB type is matched, if not, exit and clean up env
- make symbolic link to share data directories, for example:
/install -> /HA-data/install /etc/xcat ->/HA-data/etc/xcat /root/.xcat -> /HA-data/root/.xcat /var/lib/pgsql -> /HA-data/var/lib/pgsql /tftpboot -> /HA-data/tftpboot
- start/re-configure all related services as followings: a. database (mysql/postgresql/sqlite type) b. xcatd c. named service (makedns -n) d. DHCP service (makedhcp -n, makedhcp -a) e. Console Server f. ... ...
-
xcatha-failover -d|--deactivate
- make sure all related services as followings are down, make sure all related services are configured stop from starting on reboot a. console service b. DHCP service c. named service d. xcatd e. database (mysql/postgresql/sqlite type)
- umount/un-link shared data directories on host1
- change hostname if needed
- remove virtual IP
config_vip:
- check if vip is used or not
- configure virtual ip as non-persistent alias IP address
- add the alias ip address into the /etc/resolv.conf as the nameserver
change_hostname:
- change the hostname resolution order to be using /etc/hosts before using name server
- change hostname to the hostname that resolves to the specific ip address
- add the specific ip address and its hostname into /etc/hosts
unconfig_vip: remove virtual ip, call change_hostname to original hostname
check_xcat_attribute: check attribute value is the virtual ip (master and nameservers in site table, tftpserver in networks table)
run_service: start|stop service, if success, return [Passed], or else , retry, after retry 5 times and get failed , return [Failed]
config_shared_data:
- check if xcat data is in shared data directory or not,
if not:
- check shared data directory permission
- check shared data size
- create xcat data structure in shared data directory
- copy xcat data into shared data directories
- create symbolic link to share data directories
unconfig_shared_data: unlink shared data directories
clean_up_env: if some service is failed, call unconfig_vip, call change_hostname, to restore original hostname
- Nov 13, 2024: xCAT 2.17 released.
- Mar 08, 2023: xCAT 2.16.5 released.
- Jun 20, 2022: xCAT 2.16.4 released.
- Nov 17, 2021: xCAT 2.16.3 released.
- May 25, 2021: xCAT 2.16.2 released.
- Nov 06, 2020: xCAT 2.16.1 released.
- Jun 17, 2020: xCAT 2.16 released.
- Mar 06, 2020: xCAT 2.15.1 released.
- Nov 11, 2019: xCAT 2.15 released.
- Mar 29, 2019: xCAT 2.14.6 released.
- Dec 07, 2018: xCAT 2.14.5 released.
- Oct 19, 2018: xCAT 2.14.4 released.
- Aug 24, 2018: xCAT 2.14.3 released.
- Jul 13, 2018: xCAT 2.14.2 released.
- Jun 01, 2018: xCAT 2.14.1 released.
- Apr 20, 2018: xCAT 2.14 released.
- Mar 14, 2018: xCAT 2.13.11 released.
- Jan 26, 2018: xCAT 2.13.10 released.
- Dec 18, 2017: xCAT 2.13.9 released.
- Nov 03, 2017: xCAT 2.13.8 released.
- Sep 22, 2017: xCAT 2.13.7 released.
- Aug 10, 2017: xCAT 2.13.6 released.
- Jun 30, 2017: xCAT 2.13.5 released.
- May 19, 2017: xCAT 2.13.4 released.
- Apr 14, 2017: xCAT 2.13.3 released.
- Feb 24, 2017: xCAT 2.13.2 released.
- Jan 13, 2017: xCAT 2.13.1 released.
- Dec 09, 2016: xCAT 2.13 released.
- Dec 06, 2016: xCAT 2.9.4 (AIX only) released.
- Nov 11, 2016: xCAT 2.12.4 released.
- Sep 30, 2016: xCAT 2.12.3 released.
- Aug 19, 2016: xCAT 2.12.2 released.
- Jul 08, 2016: xCAT 2.12.1 released.
- May 20, 2016: xCAT 2.12 released.
- Apr 22, 2016: xCAT 2.11.1 released.
- Mar 11, 2016: xCAT 2.9.3 (AIX only) released.
- Dec 11, 2015: xCAT 2.11 released.
- Nov 11, 2015: xCAT 2.9.2 (AIX only) released.
- Jul 30, 2015: xCAT 2.10 released.
- Jul 30, 2015: xCAT migrates from sourceforge to github
- Jun 26, 2015: xCAT 2.7.9 released.
- Mar 20, 2015: xCAT 2.9.1 released.
- Dec 12, 2014: xCAT 2.9 released.
- Sep 5, 2014: xCAT 2.8.5 released.
- May 23, 2014: xCAT 2.8.4 released.
- Jan 24, 2014: xCAT 2.7.8 released.
- Nov 15, 2013: xCAT 2.8.3 released.
- Jun 26, 2013: xCAT 2.8.2 released.
- May 17, 2013: xCAT 2.7.7 released.
- May 10, 2013: xCAT 2.8.1 released.
- Feb 28, 2013: xCAT 2.8 released.
- Nov 30, 2012: xCAT 2.7.6 released.
- Oct 29, 2012: xCAT 2.7.5 released.
- Aug 27, 2012: xCAT 2.7.4 released.
- Jun 22, 2012: xCAT 2.7.3 released.
- May 25, 2012: xCAT 2.7.2 released.
- Apr 20, 2012: xCAT 2.7.1 released.
- Mar 19, 2012: xCAT 2.7 released.
- Mar 15, 2012: xCAT 2.6.11 released.
- Jan 23, 2012: xCAT 2.6.10 released.
- Nov 15, 2011: xCAT 2.6.9 released.
- Sep 30, 2011: xCAT 2.6.8 released.
- Aug 26, 2011: xCAT 2.6.6 released.
- May 20, 2011: xCAT 2.6 released.
- Feb 14, 2011: Watson plays on Jeopardy and is managed by xCAT!
- xCAT OS And Hw Support Matrix
- Oct 22, 2010: xCAT 2.5 released.
- Apr 30, 2010: xCAT 2.4 is released.
- Oct 31, 2009: xCAT 2.3 released. xCAT's 10 year anniversary!
- Apr 16, 2009: xCAT 2.2 released.
- Oct 31, 2008: xCAT 2.1 released.
- Sep 12, 2008: Support for xCAT 2 can now be purchased!
- June 9, 2008: xCAT breaths life into (at the time) the fastest supercomputer on the planet
- May 30, 2008: xCAT 2.0 for Linux officially released!
- Oct 31, 2007: IBM open sources xCAT 2.0 to allow collaboration among all of the xCAT users.
- Oct 31, 1999: xCAT 1.0 is born!
xCAT started out as a project in IBM developed by Egan Ford. It was quickly adopted by customers and IBM manufacturing sites to rapidly deploy clusters.