Nextgen clustering

Nextgen clustering SearchSearch
Author Message
marc bazimon
Frequent Contributor
Username: Marc_orange

Post Number: 106
Registered: 01-2007
Posted on Tuesday, April 19, 2022 - 03:51 pm:   

Hi Nowsms support ,
Project of swapping windows by Linux is started.
The goal for us is to have two MMSC that run on different geographical site.
I have some question regarding this :
1) do we have the choice between a actice/active or a master/backup mode for the clustering ?
2) we wanted to use the same DB for both MMSC, but in the case of the active/active clustering, in order to have both MMSC receiving traffic , i Guess we have to install a load balancer before the both MMSC. is there any recomendation by using this method by example with the DR that should be send to the proper MMSC. Using master/backup clustering mode , it will be more easy
3) we have got , around 300 000 subscribers , what are your recomendations for the DB mariadb or mysql ?

Thanks before hand for your advices ,
Br
Marc
Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 8478
Registered: 10-2002
Posted on Wednesday, April 20, 2022 - 10:49 pm:   

Hi Marc,

If multiple MMSC nodes are using the same database, they are all active.

There is no need to ensure that delivery reports are sent back to the same MMSC node ... all nodes have access to the same processing data. Therefore, there are no special considerations for a load balancer.

As for mariadb vs. mysql, we don't have a preference, and would recommend using whichever platform your staff is the most comfortable with.

Regards,

Bryce
marc bazimon
Frequent Contributor
Username: Marc_orange

Post Number: 107
Registered: 01-2007
Posted on Monday, April 25, 2022 - 12:54 pm:   

Hi Bryce ,
Thanks for your feedback ,
From my point of viiew , the load balancer was more for the MMS MO.
MMS sent from the network come from the Core Network node ( GGSN or SSR or etc..depending the radio access 2G,3G, 4G, or 5G) so a load sharing must be perform in front of both mmsc in order to distribute equally the incoming traffic to both.
This reflection is available if the architecture of MMSC is on active-active. If we run master/backup node , in this case , no need for a load balancer of course.
Br
Marc
Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 8479
Registered: 10-2002
Posted on Monday, April 25, 2022 - 07:00 pm:   

Hi Marc,

Yes, I agree. Sorry if my response was confusing. Let me clarify...

I was just saying that there weren't any "special considerations for a load balancer".

You were asking about an example of a DR being sent to the proper MMSC. If this were necessary (it is not), then I would consider this to be a special consideration ... the load balancer would need to have some special logic to recognize this requirement.

I am not aware of any situation where follow-up requests need to be directed to the same MMSC. Therefore, any load balancer just need to distribute the traffic equally.

Regards,

Bryce Norwood
NowSMS Support
marc bazimon
Frequent Contributor
Username: Marc_orange

Post Number: 154
Registered: 01-2007
Posted on Wednesday, March 18, 2026 - 02:29 pm:   

Hi Bryce
we want to activate the clustering in order to have two redondant MMSC on separate site.
in this way , we did build a Mariadb database.
is there any recomendation for the volumetry or cpu and RAM.
is there any need to add some specific configuration for the DB ?
thanks beforehand for your feedback ,
Have a nice day ,
Br
Marc
Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 8606
Registered: 10-2002
Posted on Wednesday, March 18, 2026 - 08:14 pm:   

Hi Marc,

We have not discovered any specific configuration requirements or recommendations.


Regards,
Bryce
marc bazimon
Frequent Contributor
Username: Marc_orange

Post Number: 157
Registered: 01-2007
Posted on Wednesday, May 20, 2026 - 02:40 pm:   

Hi Bryce,
hope you are well ,
we want to deploy the second MMSC in order to have such resilience.
so we did build a mariaDB on our testbed. Connection had been successfully done , ad this had been create 16 tables , and sending mms increase the value as you can see below.

MariaDB [uammscdb1]> show tables ;
+------------------------------+
| Tables_in_uammscdb1 |
+------------------------------+
| CONNECTEDMODEMS |
| MISC |
| MMSCDATA |
| MMSCUSERS |
| NOWSMSLOG |
| SARLock |
| SMPPDATA |
| SMSIN |
| SMSQ |
| SMSUSERS |
| SMSUSERSQ |
| STATCOUNTER |
| TOKENS |
| USERCREDITS |
| USERSTATS |
| VASPQ |
+------------------------------+
16 rows in set (0.000 sec)



MariaDB [uammscdb1]> select table_schema,table_name,table_rows from information_schema.tables where table_schema='uammscdb1';
+--------------+-----------------+------------+
| table_schema | table_name | table_rows |
+--------------+-----------------+------------+
| uammscdb1 | MISC | 4 |
| uammscdb1 | SMSQ | 0 |
| uammscdb1 | SMPPDATA | 3 |
| uammscdb1 | SMSUSERSQ | 0 |
| uammscdb1 | USERCREDITS | 0 |
| uammscdb1 | SMSIN | 0 |
| uammscdb1 | MMSCUSERS | 0 |
| uammscdb1 | STATCOUNTER | 7 |
| uammscdb1 | NOWSMSLOG | 6 |
| uammscdb1 | CONNECTEDMODEMS | 0 |
| uammscdb1 | TOKENS | 0 |
| uammscdb1 | SARLock | 1 |
| uammscdb1 | USERSTATS | 1 |
| uammscdb1 | MMSCDATA | 2 |
| uammscdb1 | SMSUSERS | 2 |
| uammscdb1 | VASPQ | 0 |
+--------------+-----------------+------------+
16 rows in set (0.001 sec)



I have question regarding the production site.
- Can you give me minimal value for CPU , Storage and memory in case of it become huge on production. ?
- As far as i understand the mariadb is also use for configuration files. where is the table that managed configuration?
- LOG files are stored also on DB ?


thanks before hand for your feedback n

Don't hesitate to contact me if you want test some configuration , my testbed is yours.

Br
Marc
Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 8618
Registered: 10-2002
Posted on Wednesday, May 20, 2026 - 07:59 pm:   

Hi Marc,

As your system is running in an MMSC configuration, the MMSCDATA table will have the largest storage requirement, similar to the size of the MMSCDATA directory structure.

That said, there is currently a bug where older log data is not automatically purged, which can cause the log to have rather large storage requirements. This will be fixed in the next update, which will default to retaining log data for 90 days by default, with the ability to override this setting with LogRetainDays=### under the [SMSGW] header in SMSGW.INI.

As a temporary solution, to manually prune the log and delete older log entries, we have provided the following example SQL command which removes log data from prior to this year:

DELETE FROM NOWSMSLOG WHERE DateTime < '2026-01-01 00:00:00.000';

Configuration files (and shared settings like SSL/TLS certs are stored in the CONFIG table, but there is no need to access directly. Each server has a local copy of SMSGW.INI and MMSC.INI. If the file is updated, the server sees the updated datetimr stamp, and uploads the file to the shared database. Other servers will download the updated copy, checking for updates once per minute. Archived copies of updated config files are saved in the database but there is currently no UI to view them.

Regards,

Bryce
marc bazimon
Frequent Contributor
Username: Marc_orange

Post Number: 162
Registered: 01-2007
Posted on Wednesday, October 21, 2026 - 02:54 pm:   

Hi Bryce ,
we had an issue yesterday night regarding the mariaDB feature. let me explain what happen.

We have two MMSC Sites , with currently one MMSC in production that manage the MMS traffic , let's call it MMSC1. This MMSC1 doesn't use mariaDB for anything.
There's a second MMSC that are not in production but had been build to have TWO MMSC in active mode for resiliency using the mariaDB. This MMSC , that we will called MMSC2 , use the mariiadb. I did use this mmsc to perform all the non regression test and validate that we can use the mariaDB.

Yesterday i was supposed to activate the mariadb on MMSC1 ( the one in production ) to prepare for activating both MMSC.

As soon as i did connect the MMSC1 to mariaDB , the service fall down. fortunatly it was during the night , so not too much subscribers had been impact. So i decide to do a fall back and remove the mariadb configuration from MMSC1. doing this did not resolve the issue. aftervtroubleshooting a bit , i did see that in fact Configuration MMSC.INI and SMSGW.INI from MMSC2 had been pushed on MMSC1 configuration and erase it. By Chance i did a backup from both configuration file and i replace it . after restart the service , traffic had been resumed succesfully.

Traffic was ok , but i had still a trouble with log. as the MMSC2 was in debug mode, when the configuration had been erase ,, the MMSC1 become in debug mode. i did remove it it , but i had no more csv file that appear in the nowms log path. we need the log file in order to fill kafka-elasticsearch-kibana statistics.

So i have severals questions regarding the mariadb uses :
- when you have two MMSCs log into the same database , how can i do to avoid that mmmsc2 configuration erase the one on MMSC1 , and vice versa. is there any configuration to set a weight on both mmsc if the traffic is carried using master backup mode.
- since i did the configuration , i did not have csv file on the /var/lib/nowsms how can i generate it ? i see that there s log because on the GUI => message log you can see the traffic and you can download the csv file but it doesn't appear on /var/lib/nowsms.

do you have documentation on how to use properly the mariaDB feature ?

thanks beforehand for your feedback ,
Br
Marc
Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 8623
Registered: 10-2002
Posted on Thursday, October 22, 2026 - 01:59 pm:   

Hi Marc,

The configuration of the servers is expected to be the same in cluster mode, so configuration files are automatically propagated when there is an update.

As to the CSV files, in db mode, the log (non debug) data is written to a database instead of CSV files. The admin UI provides a way to extract log info from the database and export into the CSV format.

Regards,

Bryce
marc bazimon
Frequent Contributor
Username: Marc_orange

Post Number: 163
Registered: 01-2007
Posted on Thursday, October 22, 2026 - 03:14 pm:   

Hi Bryce ,
thanks for update
Regarding the configuration, i guess this is not accurate , because the MMSC.INI file contains lot of parameters that change from one mmsc to another. By example , the Diameter configuration , needs the hostname , IP from Source etc .... this is what cause the issue, the sctp association felt down because IP , hostname from the source wasn't match the SCTP configuration . Anyway , i can use the mariadb in case of trouble but i need to clean the current database in order to take the configuration from MMSC1 only. how can i do this? erase the db and connect with mmsc1 ?

For the csv , i did double check but the debug is not activated , if you look to the nowsms path , the last CSV date from the time i activate mariadb , and the smsdebug.log did finish at 0h57 when i stop the debug. from this , as you can see , no more csv file are generated. i did a restart from service severals times

-rw-r--r-- 1 root root 20M Oct 20 23:45 nowsms-20261020.csv
-rw-r--r-- 1 root root 174 Oct 20 23:48 DB.INI
drwxr-x--- 2 root root 4.0K Oct 20 23:51 SMPPDATA
-rw-r--r-- 1 root root 5.2K Oct 21 00:23 SMPPDEBUG.BAK
-rw-r--r-- 1 root root 1.1M Oct 21 00:23 SMSDEBUG.BAK
-rw-r--r-- 1 root root 749 Oct 21 00:57 SMSGW.INI
-rw-r--r-- 1 root root 414K Oct 21 00:57 SMPPDEBUG.LOG
-rw-r--r-- 1 root root 3.6M Oct 21 00:57 SMSDEBUG.LOG
drwxr-x--- 13 root root 4.0K Oct 22 00:00 MMSCDATA
-rw-r--r-- 1 root root 3.1K Oct 22 09:30 MMSC.INI
-rw-r--r-- 1 osadmin osadmin 55M Oct 22 17:50 MMSCUsers.DB
drwxr-x--- 2 root root 4.0K Oct 22 17:58 MMSSMS
drwxr-x--- 2 root root 4.0K Oct 22 17:58 STATS
drwxr-x--- 3 root root 252K Oct 22 17:58 MMSCIN
drwxr-x--- 2 root root 4.0K Oct 22 17:58 UAPROF
drwxr-x--- 2 root root 4.0K Oct 22 17:58 Q
drwxr-x--- 2 root root 4.0K Oct 22 17:58 VASPQ

do you have a specific command to restart the csv log collection? because i did a check on the mariadb and the log continue to be writed on the mariaDB database even if i did remove the configuration for mariadb. please find below the configuration => database connection menu. there's a button to connect to database , but i can tell you that the mmsc is connect to the mariadb database. i guess , a reboot could help but the mmsc is in production ^^

screenshot from configuration


thanks beforehand for your support ,
br
Marc
Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 8624
Registered: 10-2002
Posted on Friday, October 23, 2026 - 03:00 pm:   

Hi Marc,

When in database mode, the log (excepting debug) data is written to a database instead of CSV files. There is no exception that mixes CSV logging with database configred. That said, the admin UI provides a way to extract log info from the database and export into the CSV format through an Http request.

You raise a valid point about SCTP configuration for diameter requiring different configuration settings on each server. We will need to rework this.
marc bazimon
Frequent Contributor
Username: Marc_orange

Post Number: 164
Registered: 01-2007
Posted on Friday, October 23, 2026 - 04:09 pm:   

Hi Bryce ,
Thanks for the update

regarding the csv files , the trouble is that i am not supposed to be connect to mariadb database on my configuration menu , but log are still going into the DB that i did configure ( then disconnect viewing the issue ).
the issue here , is that i don't know how to remove the mariadb use by configuration.
as you can see my screenshot upper , i am not connect but if i take a tools to see into the mariadb that i did create earlier , traffic still goes inside.

For SCTP , we may have a solution for that , we need check it internally and i will give you update. the idea here is to set SCT¨P association with the same name instead both name. it should be working but we have to destroy and rebuild all the diameter ^^

Have a nice week end ,
br
Marc
Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 8625
Registered: 10-2002
Posted on Friday, October 23, 2026 - 04:39 pm:   

We will investigate the UI issue. To remove the database connection, delete DB.INI and issue the command NowSMS /restart
marc bazimon
Frequent Contributor
Username: Marc_orange

Post Number: 165
Registered: 01-2007
Posted on Monday, October 26, 2026 - 02:19 pm:   

Hi Bryce ,
thanks for the update , and for the advice , i did test on testbed , and it is working.

Note that i understand why the behaviour was like that and i share my experience regarding the db for maybe having an option to remove the DB.INI and a restart via menu.when i faced to the issue , i did click on the "remove nowsms DB , use log only" button instead of "remove all database connections"

menu


when you click on the first choice after you cannot do anything on the DB that process log now, the only choice is to connect. Maybe a button that remove the DB.INI and restart the service could help for the only gui guy's ^^


mnu2


Maybe you can also advice on this, currently we have the mariaDB create first with my testbed , and then when i did try to connect the mariadb to the prod , the configuration from testbed had been pushed to MMSC production. so on the mariaDB the configuration data should be the testbed one, and if i connect my prod on it , it will happen again.
Now if i want to use the DB with production mmsc without having the configuration of testbed, what should i do? remove all the data from the maria DB ? remove the db and create a new ? or i just to remove the configuration data from DB and connect with the prod but in this case how to do this ?

thanks beforehand for your help ,
Br
Marc

Add Your Message Here, or click here to start a new topic.
Post:
Bold text Italics Underline Create a hyperlink Insert a clipart image
Options: Automatically activate URLs in message
Action: