What SECURE & open-source & free (cluster/HA / sync/replication / load-balance, etc) software/solution will be better to make mail/web/dns/etc server data+emails+database, services reliably available from 3-nodes located in 3-different geo areas/locations ?
SERVER info:
i'm using 3-servers "s1", "s2", "s3" located in 3 different geo-location "zL1", "zL2", "zL3", to provide mail-services, web-services, etc,
( Hardware cfg not same : s1 & s2 each has 1GB ram, s3 has 2GB , storage: s1 - 15GB, s2 - 10GB, s3 - 20GB, etc.
Each uses same software : Debian v10/Buster, etc.
Network resource : each has 1 IPv4-address, 1 IPv6/64 subnet, 1 IPv6/48 subnet, so lots of IPv6-addresses but only one IPv4-adrs.
i'm using "example.com" domain-name )
OBJECTIVES:
i must-have to keep 3-different GEO-LOCATION/Zone/Group of user's emails/database / private-data, etc SEPARATED in their own local zone server, AND make a 4th group of users whose data/emails, database, etc is accessible to them over High-Availability(HA) connection from any one of those 3-servers/nodes.
CURRENT CONFIG:
So i'm currently running manually configured mail-servers : "s1.example.com" (IPv4-adrs) in s1, "s2.example.com"(IPv4-adrs) in s2, "s3.example.com" (IPv4-adrs) in s3 , and also "m1.example.com" (IPv6-adrs) mail-server in s1, "m2.example.com" (IPv6-adrs) in s2, & "m3.example.com" (IPv6-adrs) in s3.
s1+m1 user's emails/db / private-data,etc must not be replicated to any other(s2/m2, s3/m3) servers, & s2+m2 user's data in s2 must-not be replicated to s1+m1, s3+m3, & so on.
And i need to create+run another/3rd mail-server "mx.example.com" (IPv6-adrs) in each server s1,s2,s3, where mx (mixed/multi-zone) mail-users must be able to access/send emails via any zone's primary mail servers : s1/m1, s2/m2 or s3/m3.
So that means "mx" mail-server must be available+run from each (s1,s2,s3) node/server , and s1/m1, s2/m2, s3/m3 can RELAY emails to "mx.example.com".
"mx" user's emails/db / private-data,etc must-be replicated to each (s1,s2,s3) server (becuz they have provided more than one address, in multiple local zone).
Also running web-server services, etc, etc which is configured to detect user's client-app IP-address & redirect them to their nearest local zone server+service s1, s2 or s3, etc.
WHICH (HA/REPLICATION,MANUAL-CONFIG,etc) SOLUTION FOR DNS:
To achieve above, i'm currently doing these initially, but based on correct/suitable suggestion i will (and want-to) change/adapt :
s1,s2,s3 needs to be my nameserver for my primary domain "example.com" , so FDNS/RDNS etc DNS entries are same on each server currently, (so currently dns data is available always, even when 2 servers are down, bcuz of round-robin . Can+should i move dns functionalities inside cluster/ha SSI(Single System Image) software ? or what else solution can be better ?
WHICH (HA/REPLICATION,MANUAL-CONFIG,etc) SOLUTION FOR MAIL:
currently multi-zone / multi-locality ("mx") mail-server functionality is not implemented & not working, as they have to use same location server s3 , as i have not loaded a cluster/ha software yet , so please read my next few sections (requirements+requests) & please suggest suitable software + config . can i load webmin+virtualmin inside cluster/ha SSI & create "mx.example.com" ? then emails/database will be auto-replicated (multi-master, master-to-master) by cluster/ha SSI software ? or what else software is suitable/usable ?
to me this(GaleraCluster+MariaDB) looks like a good option for "mx" users, but not sure about the other factor: running 2nd instance of mail-server is needed for "mx"-users ? or existing mail-server in each node can be configured further ?
as each host-node (s1,s2,s3) is already running various services, for-example: mail-server services , can a 2nd set of same deamons/services (with different config) be run inside the logical-node created by the (cluster/ha) / SSI type of software, without conflicting with existing services running in host-node ?
SECURE (HA/REPLICATION) SOFTWARE/SOLUTION:
Which tool/software or config can force all node-2-node(N2N) communication of cluster/ha / sync/replicate, etc software to use (stronger) encryption (AES-256/RSA-16384/etc cipher/algo,etc) ?
if openssh is suffice, then please show the config that will allow HA / replication software to use the SSH tunnel.
whatever software/solution you'll recommend, can you please show their HTTPS SECURE (docs/man/wiki) website/webpage and/or source-code site ?
To me, ALL USERS & my-own SECURITY & PRIVACY are MOST-IMPORTANT & HIGHEST-PRIORITY aspect+OBJECTIVE , i'm completely ok if something is slow, because of that.
If a software cannot use fully-safe (for next 10-to-20yrs) encrypted communication, for all N2N communications (and for all node to end-user-client communication),
Or cannot be configured to use (existing) encrypted-tunnels/connections ,
then PLEASE avoid to suggest/mention it, as that will be absolutely useless/unusable to me for my this case . Thanks in advance for your kind consideration . ( but, i think, that will be helpful? (or last-choice) for other users who does-not want (or could-not apply) security+privacy !
AT WHICH LEVEL (HA/REPLICATION) WILL WORK ?
please specify / point-out / link, in which level your mentioned software works, what changes needed to load/install & configure/use it.
SOFWARE BUILD/DEV PROGRAM:
i will be ok with software thats based on C, C++, etc.
in these small/tiny-servers i want to avoid software that requires/uses itself large amount of memory, so no Java/JVM based or similar solution please.
SOFTWARE-INFO:
List of cluster software , Comparison of cluster software , Comparison of SSI , Virtual_synchrony.