Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
cloudappliance/highavailabilitysetup [2020_02_14 15:34] – [Part III - Application Servers] dancloudappliance:highavailabilitysetup [2022_10_17 09:10] dan
Line 1: Line 1:
-===== SME File Fabric HA Setup "2 x 2" ===== +===== SME File Fabric HA Setup "2 x 2" With Manual Failover ===== 
-== last edited on Nov. 222019 ==+ 
 +== last edited on October 172022 ==
 ==== Disclaimer ==== ==== Disclaimer ====
  
 The information in this document is provided on an as-is basis. You use it at your own risk.  We accept no responsibility for errors or omissions, nor do we have any obligation to provide support for implementing or maintaining the configuration described here.  Furthermore, we do not warrant that the design presented here is appropriate for your requirements.  The information in this document is provided on an as-is basis. You use it at your own risk.  We accept no responsibility for errors or omissions, nor do we have any obligation to provide support for implementing or maintaining the configuration described here.  Furthermore, we do not warrant that the design presented here is appropriate for your requirements. 
  
-SME designs, implements and supports HA File Fabric solutions for customers on a paid professional services basis.  For more information please contact sales@storagemadeeasy.com+SME designs, implements and supports HA (High Availability) File Fabric solutions for customers on a paid professional services basis.  For more information please contact sales@storagemadeeasy.com
  
 ==== Introduction ==== ==== Introduction ====
Line 74: Line 75:
 # systemctl stop httpd # systemctl stop httpd
 # systemctl stop cloudftp # systemctl stop cloudftp
-# systemctl stop crond 
 # systemctl stop vsftpd # systemctl stop vsftpd
 </code> </code>
  
 +<WRAP center round info 100%> 
 +Please note this information above was updated with the 2106 release of the File Fabric. Please see this [[:cloudappliance/high-availability-cron|guide for further information]]. 
 +</WRAP>
  
 ==== Part II - Database Servers ==== ==== Part II - Database Servers ====
Line 104: Line 106:
 </code> </code>
  
-Place a "#" infront of the seven jobs listed, when you are done, it should look like this:+Place a "#" in front of the lines to mirror the output below:
  
-{{::407ae286-9576-4a13-97bb-e2f0489a2a17.png?400|}}+``` 
 +MAILTO='' 
 +#Ansible: 
 +#* * * * * /var/www/smestorage/cron/scheduler_minute.pl 
 +#Ansible#3 
 +#5 4 * * * /var/www/smestorage/cron/scheduler_daily.pl 
 +#Ansible: #2 
 +#* * * * * /var/www/smestorage/cron/taskmanager.pl 
 +#Ansible: #5 
 +#10 2 1 * * /var/www/smestorage/cron/scheduler_monthly.pl 
 +#Ansible: #4 
 +#5 * * * * /var/www/smestorage/cron/scheduler_hour.pl 
 +#Ansible: #7 
 +30 1 * * * /var/www/smestorage/cron/logroller.pl 
 +#Ansible: #6 
 +#10 * * * * /var/www/smestorage/cron/scheduler.pl 
 +* * * * * /var/www/smestorage/cron/scheduler_syncnodes.pl 
 +``` 
 + 
 +<WRAP center round info 100%> 
 +Please note this information above was updated with the 2106 release of the File Fabric. Please see this [[:cloudappliance/high-availability-cron|guide for further information]]. 
 +</WRAP> 
 + 
 +<WRAP center round important 100%> 
 +There must always be exactly one cron node per File Fabric cluster. If the node that was acting as the cron node ceases to be available as part of the cluster, another node must be made the cron node.  
 +</WRAP>
  
 === iptables for dbservers === === iptables for dbservers ===
Line 142: Line 169:
 By default, the appliance memcached service listens only for connections from localhost, in order to share a memcache between the two application servers, we must change that. For redundancy we will do this on both smesql01 and smesql02. By default, the appliance memcached service listens only for connections from localhost, in order to share a memcache between the two application servers, we must change that. For redundancy we will do this on both smesql01 and smesql02.
  
-To allow other machines to connect, edit /etc/sysconfig/memcached. +<code>  
-<code># vi /etc/sysconfig/memcached </code> +cd /var/www/smestorage/containers/memcached/ 
- +sed -i 's/127.0.0.1/0.0.0.0/g' .env 
-Change the line  +docker-compose down 
-OPTIONS="-127.0.0.1+docker-compose up -d 
- +</code>
-to +
- +
-OPTIONS="-l 0.0.0.0" +
- +
-Making the file look like this +
- +
-{{::8dedb4ec-8388-4166-aaeb-c07007c5e097.png?400|}} +
- +
-then restart the memcached service  +
-<code># systemctl restart memcached </code>+
  
 === MySQL configuration for HA === === MySQL configuration for HA ===
Line 288: Line 305:
 Using database replication allows you to quickly continue service if a database goes down.  Using database replication allows you to quickly continue service if a database goes down. 
  
 +<WRAP center round tip 100%>
 +See [[cloudappliance:https://docs.storagemadeeasy.com/cloudappliance/db_rep_monitoring|this page]] for information about monitoring database replication.
 +</WRAP>
 In MySQL replication, there is one master and one or more slave servers.
This means that all application server calls to the database are directed to the master server. The master server handles all queries and DB changes.
Any changes are then replicated to the slave database server(s).  In MySQL replication, there is one master and one or more slave servers.
This means that all application server calls to the database are directed to the master server. The master server handles all queries and DB changes.
Any changes are then replicated to the slave database server(s). 
  
Line 457: Line 477:
 == memcached == == memcached ==
 <code> <code>
-# systemctl disable memcached +cd /var/www/smestorage/containers/memcached/ 
-# systemctl stop memcached+docker-compose down
 </code> </code>
  
 == crontab == == crontab ==
-All of smestorage's cron jobs should run on one of the application  servers; only one of smestorage's cron jobs, logroller, should run on the other  application server.+The majority of smestorage's cron jobs should run on one of the application servers; only one of smestorage's cron jobs, logroller, should run on the other  application server.
 **As root on smeweb02 only:** **As root on smeweb02 only:**
 <code> <code>
Line 468: Line 488:
 </code> </code>
  
-Place a # in front of six of the seven jobs listed in the crontab schedule; **do not place a in front of the logroller job**.  For a screenshot, refer to the DB section above.+Your crontab should mirror the following: 
 + 
 +``` 
 +MAILTO='' 
 +#Ansible: 
 +#* * * * * /var/www/smestorage/cron/scheduler_minute.pl 
 +#Ansible: #3 
 +#5 4 * * * /var/www/smestorage/cron/scheduler_daily.pl 
 +#Ansible: #2 
 +#* * * * * /var/www/smestorage/cron/taskmanager.pl 
 +#Ansible: #5 
 +#10 2 1 * * /var/www/smestorage/cron/scheduler_monthly.pl 
 +#Ansible: #4 
 +#5 * * * * /var/www/smestorage/cron/scheduler_hour.pl 
 +#Ansible: #7 
 +30 1 * * * /var/www/smestorage/cron/logroller.pl 
 +#Ansible: #6 
 +#10 * * * * /var/www/smestorage/cron/scheduler.pl 
 +* * * * * /var/www/smestorage/cron/scheduler_syncnodes.pl 
 +``` 
 + 
 +<WRAP center round info 100%> 
 +Please note this information above was updated with the 2106 release of the File Fabric. Please see this [[cloudappliance/high-availability-cron|guide for further information]]. 
 +</WRAP>
  
 Restart both servers, so on both smeweb01 and smeweb02, execute a reboot. Restart both servers, so on both smeweb01 and smeweb02, execute a reboot.