{"id":34257,"date":"2022-09-05T04:19:31","date_gmt":"2022-09-05T09:19:31","guid":{"rendered":"https:\/\/www.filecloud.com\/blog\/?p=34257"},"modified":"2022-09-05T08:33:32","modified_gmt":"2022-09-05T13:33:32","slug":"configure-solr-ha-with-pacemaker-and-corosync-in-filecloud","status":"publish","type":"post","link":"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/","title":{"rendered":"Configure Solr HA with Pacemaker and Corosync in FileCloud"},"content":{"rendered":"<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-34271\" src=\"https:\/\/www.filecloud.com\/blog\/wp-content\/uploads\/2022\/09\/Configure-Solr-HA-Banner.png\" alt=\"\" width=\"2560\" height=\"1440\" srcset=\"https:\/\/www.filecloud.com\/blog\/wp-content\/uploads\/2022\/09\/Configure-Solr-HA-Banner.png 2560w, https:\/\/www.filecloud.com\/blog\/wp-content\/uploads\/2022\/09\/Configure-Solr-HA-Banner-300x169.png 300w, https:\/\/www.filecloud.com\/blog\/wp-content\/uploads\/2022\/09\/Configure-Solr-HA-Banner-1024x576.png 1024w, https:\/\/www.filecloud.com\/blog\/wp-content\/uploads\/2022\/09\/Configure-Solr-HA-Banner-768x432.png 768w, https:\/\/www.filecloud.com\/blog\/wp-content\/uploads\/2022\/09\/Configure-Solr-HA-Banner-1536x864.png 1536w, https:\/\/www.filecloud.com\/blog\/wp-content\/uploads\/2022\/09\/Configure-Solr-HA-Banner-2048x1152.png 2048w\" sizes=\"(max-width: 2560px) 100vw, 2560px\"><\/p>\n<p>FileCloud is a hyper-secure file storage, sharing and collaboration platform that provides a powerful set of tools for admins and users to manage their data. This includes High Availability (HA) architecture support and content management functionalities, specifically content search via FileCloud\u2019s Solr integration.<\/p>\n<p><a href=\"https:\/\/solr.apache.org\/\">Solr<\/a> is an open-source content indexing and search application developed and distributed by Apache. This application is included with FileCloud installations.<\/p>\n<p>Pacemaker and Corosync are open-source software solutions maintained by <a href=\"https:\/\/clusterlabs.org\/\">ClusterLabs<\/a>. These solutions provide cluster management capabilities to client servers. Specifically, Pacemaker is a resource manager tool used on computer clusters for HA architecture, whereas Corosync supports cluster membership and messaging.<\/p>\n<p>By configuring Solr HA in FileCloud with Pacemaker and Corosync, the admin can strengthen redundancy configurations, improve overall resiliency of backend software components, including quorate and resource-driven clusters, and provide fine-tuned management capabilities within and between nodes.<\/p>\n<p>This step-by-step guide will outline how to manually configure Solr HA with Pacemaker and Corosync in FileCloud.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_63 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title \" >Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#Software_Components\" title=\"Software Components\">Software Components<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#Installation_and_Configuration_Instructions\" title=\"Installation and Configuration Instructions\">Installation and Configuration Instructions<\/a><ul class='ez-toc-list-level-2' ><li class='ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#Step_1_Prepare_the_Cluster\" title=\"Step 1: Prepare the Cluster\">Step 1: Prepare the Cluster<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#Step_2_Install_Solr_and_Prepare_the_Cluster_Environment\" title=\"Step 2: Install Solr and Prepare the Cluster Environment\">Step 2: Install Solr and Prepare the Cluster Environment<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#Prepare_Clean_OS\" title=\"Prepare Clean OS\">Prepare Clean OS<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#Download_FileCloud\" title=\"Download FileCloud\">Download FileCloud<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#Create_a_Folder\" title=\"Create a Folder\">Create a Folder<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#Run_the_Command\" title=\"Run the Command\">Run the Command<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#Mount_the_NFS_Filesystem\" title=\"Mount the NFS Filesystem\">Mount the NFS Filesystem<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#Start_Solr_Installation\" title=\"Start Solr Installation\">Start Solr Installation<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#Bind_Solrd_to_External_Interface\" title=\"Bind Solrd to External Interface\">Bind Solrd to External Interface<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#Change_System_Daemon_Control_to_System\" title=\"Change System Daemon Control to System\">Change System Daemon Control to System<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#Verify_New_Service_Definition_is_Working\" title=\"Verify New Service Definition is Working\">Verify New Service Definition is Working<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#Remove_Folder_Contents\" title=\"Remove Folder Contents\">Remove Folder Contents<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#Update_Firewall_Rules\" title=\"Update Firewall Rules\">Update Firewall Rules<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#Step_3_Set_Up_Pacemaker\" title=\"Step 3: Set Up Pacemaker\">Step 3: Set Up Pacemaker<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#Edit_etchosts_File\" title=\"Edit \/etc\/hosts File\">Edit \/etc\/hosts File<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#Install_Cluster_Packages\" title=\"Install Cluster Packages\">Install Cluster Packages<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#Enable_and_Start_the_Main_Cluster_Daemon\" title=\"Enable and Start the Main Cluster Daemon\">Enable and Start the Main Cluster Daemon<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#Update_Passwords_for_the_Cluster_User\" title=\"Update Passwords for the Cluster User\">Update Passwords for the Cluster User<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-21\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#Open_Network_Traffic_on_Firewall\" title=\"Open Network Traffic on Firewall\">Open Network Traffic on Firewall<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-22\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#Authorize_Cluster_Nodes\" title=\"Authorize Cluster Nodes\">Authorize Cluster Nodes<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-23\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#Create_Initial_Cluster_Instance\" title=\"Create Initial Cluster Instance\">Create Initial Cluster Instance<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-24\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#Start_and_Enable_Cluster_Instance\" title=\"Start and Enable Cluster Instance\">Start and Enable Cluster Instance<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-25\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#Step_4_Set_Up_QDevice_%E2%80%93_Quorum_Node\" title=\"Step 4: Set Up QDevice \u2013 Quorum Node\">Step 4: Set Up QDevice \u2013 Quorum Node<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-26\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#Install_Software_Required_for_Quorum-only_Cluster_Node\" title=\"Install Software Required for Quorum-only Cluster Node\">Install Software Required for Quorum-only Cluster Node<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-27\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#Start_and_Enable_the_PCSD_Daemon\" title=\"Start and Enable the PCSD Daemon\">Start and Enable the PCSD Daemon<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-28\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#Configure_QDevice_Quorum_Mechanism\" title=\"Configure QDevice (Quorum Mechanism)\">Configure QDevice (Quorum Mechanism)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-29\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#Open_Firewall_Traffic\" title=\"Open Firewall Traffic\">Open Firewall Traffic<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-30\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#Set_the_Password_for_HA_Cluster_User\" title=\"Set the Password for HA Cluster User\">Set the Password for HA Cluster User<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-31\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#Authenticate_QDevice_Host_in_the_Cluster\" title=\"Authenticate QDevice Host in the Cluster\">Authenticate QDevice Host in the Cluster<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-32\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#Add_Quorum_Device_to_the_Cluster_and_Verify\" title=\"Add Quorum Device to the Cluster and Verify\">Add Quorum Device to the Cluster and Verify<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-33\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#Step_5_Install_Soft-Watchdog\" title=\"Step 5: Install Soft-Watchdog\">Step 5: Install Soft-Watchdog<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-34\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#Reboot_solr01_and_solr02_to_Activate_Watchdog\" title=\"Reboot solr01 and solr02 to Activate Watchdog\">Reboot solr01 and solr02 to Activate Watchdog<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-35\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#Step_6_Enable_SBD_Mechanism_in_the_Cluster\" title=\"Step 6: Enable SBD Mechanism in the Cluster\">Step 6: Enable SBD Mechanism in the Cluster<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-36\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#Enable_sbd\" title=\"Enable sbd\">Enable sbd<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-37\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#Restart_Cluster_so_pkt_1_Takes_Effect\" title=\"Restart Cluster so pkt 1 Takes Effect\">Restart Cluster so pkt 1 Takes Effect<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-38\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#Verify_the_SBD_Mechanism\" title=\"Verify the SBD Mechanism\">Verify the SBD Mechanism<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-39\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#Step_7_Create_Cluster_Resources\" title=\"Step 7: Create Cluster Resources\">Step 7: Create Cluster Resources<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-40\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#Create_Cluster_Resource_with_NFSMount\" title=\"Create Cluster Resource with NFSMount\">Create Cluster Resource with NFSMount<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-41\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#Change_the_Recovery_Strategy_for_the_NFSMount_Resource\" title=\"Change the Recovery Strategy for the NFSMount Resource\">Change the Recovery Strategy for the NFSMount Resource<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-42\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#Create_Cluster_Resource_%E2%80%93_solrd\" title=\"Create Cluster Resource \u2013 solrd\">Create Cluster Resource \u2013 solrd<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-43\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#Set_Additional_Cluster_Parameters\" title=\"Set Additional Cluster Parameters\">Set Additional Cluster Parameters<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-44\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#Step_8_Configure_haproxy_on_Dedicated_Host\" title=\"Step 8: Configure haproxy on Dedicated Host\">Step 8: Configure haproxy on Dedicated Host<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-45\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#Install_haproxy_on_Clean_OS\" title=\"Install haproxy on Clean OS\">Install haproxy on Clean OS<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-46\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#Configure_the_haproxy\" title=\"Configure the haproxy\">Configure the haproxy<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-47\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#Create_an_Empty_File\" title=\"Create an Empty File\">Create an Empty File<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-48\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#Add_Content\" title=\"Add Content\">Add Content<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-49\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#Start_haproxy\" title=\"Start haproxy\">Start haproxy<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-50\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#Conclusion\" title=\"Conclusion\">Conclusion<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-51\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#Appendix_%E2%80%93_Glossary_of_Terms\" title=\"Appendix \u2013 Glossary of Terms\">Appendix \u2013 Glossary of Terms<\/a><\/li><\/ul><\/nav><\/div>\n<h1><span class=\"ez-toc-section\" id=\"Software_Components\"><\/span>Software Components<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<p>solr01 \u2013 Solr host \u2013 cluster member<\/p>\n<p>solr02 \u2013 Solr host \u2013 cluster member<\/p>\n<p>solr03 \u2013 quorum-device \u2013 quorum for cluster<\/p>\n<p>solr-ha \u2013 proxy-ha host<\/p>\n<p>NFSShare \u2013 NFS resource which can be mounted on solr01 and solr02<\/p>\n<p>The example laid out in this blog post uses CentOS 7 (CentOS Linux release 7.9.2009 (Core)).<\/p>\n<p>The installation instructions for Pacemaker and Corosync clusters remain the same, regardless of the Linux distributor (Ubuntu, Fedora, RedHat, or Debian).<\/p>\n<h1><span class=\"ez-toc-section\" id=\"Installation_and_Configuration_Instructions\"><\/span>Installation and Configuration Instructions<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<h2><span class=\"ez-toc-section\" id=\"Step_1_Prepare_the_Cluster\"><\/span>Step 1: Prepare the Cluster<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Install all available patches using the following command:<\/p>\n<p><strong>Command(as root):<\/strong><\/p>\n<pre>yum update<\/pre>\n<p>After installing the necessary patches, reboot the system. This step must be completed for all three hosts: solr01, solr02, and solr03.<\/p>\n<p>Then, the package that provides necessary nfs-client subsystems must be installed.<\/p>\n<p><strong>command(as root):<\/strong><\/p>\n<pre>yum install -y nfs-utils<\/pre>\n<p>Next, wget must be installed.<\/p>\n<p><strong>command(as root):<\/strong><\/p>\n<pre>yum install -y wget<\/pre>\n<h2><span class=\"ez-toc-section\" id=\"Step_2_Install_Solr_and_Prepare_the_Cluster_Environment\"><\/span>Step 2: Install Solr and Prepare the Cluster Environment<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Installing Solr in your FileCloud instance is (naturally) a critical part of configuring Solr HA. As indicated above Solr can be broken down into specific Solr hosts that are members of a cluster. These hosts must be individually configured.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Prepare_Clean_OS\"><\/span>Prepare Clean OS<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Beginning with <strong>Solr01<\/strong>, prepare a clean Linux-based OS (such as the example we are using, Centos7). You may also use other operating systems according to your preference.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Download_FileCloud\"><\/span>Download FileCloud<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>On the clean OS, download the FileCloud installation script: filecloud-liu.sh (official installation script).<\/p>\n<p>If any issues arise related to the REMI repo, the alternative can be used: <a href=\"https:\/\/zerg.codelathe.com\/url\/qj2ny2yrvtzehjsk\" class=\"broken_link\">https:\/\/zerg.codelathe.com\/url\/qj2ny2yrvtzehjsk<\/a><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Create_a_Folder\"><\/span>Create a Folder<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Create the following folder:\u00a0<em> \/opt\/solrfcdata<\/em><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Run_the_Command\"><\/span>Run the Command<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>Command(as root):<\/strong><\/p>\n<pre>mkdir \/opt\/solrfcdata<\/pre>\n<h3><span class=\"ez-toc-section\" id=\"Mount_the_NFS_Filesystem\"><\/span>Mount the NFS Filesystem<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>The NFS filesystem should be mounted under the following:<\/p>\n<p><strong>Command(as root):<\/strong><\/p>\n<pre>mount -t nfs ip_nfs_server:\/path\/to\/nfs_resource \/opt\/solrfcdata<\/pre>\n<h3><span class=\"ez-toc-section\" id=\"Start_Solr_Installation\"><\/span>Start Solr Installation<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Next, start the solr component installation from using FileCloud installation script:<\/p>\n<p><strong>command(as root):<\/strong><\/p>\n<pre>sh .\/filecloud-liu.sh<\/pre>\n<p>Follow the instructions until reaching the selection screen.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-34258\" src=\"https:\/\/www.filecloud.com\/blog\/wp-content\/uploads\/2022\/09\/Configure-FileCloud-Install.jpg\" alt=\"\" width=\"945\" height=\"648\" srcset=\"https:\/\/www.filecloud.com\/blog\/wp-content\/uploads\/2022\/09\/Configure-FileCloud-Install.jpg 945w, https:\/\/www.filecloud.com\/blog\/wp-content\/uploads\/2022\/09\/Configure-FileCloud-Install-300x206.jpg 300w, https:\/\/www.filecloud.com\/blog\/wp-content\/uploads\/2022\/09\/Configure-FileCloud-Install-768x527.jpg 768w\" sizes=\"(max-width: 945px) 100vw, 945px\"><\/p>\n<p>Select the \u201csolr\u201d option and click \u201center.\u201d The installation process may take a few minutes. Wait for confirmation that installation has been completed.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Bind_Solrd_to_External_Interface\"><\/span>Bind Solrd to External Interface<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>Host: solr01, solr02<\/strong><\/p>\n<p>Solrd will, by default, try to bind to the localhost only. Modify the file so that solr binds to the external interface.<\/p>\n<p>Modify the following file: <em>\/opt\/solr\/server\/etc\/jetty-http.xml<\/em><\/p>\n<p>Change the following line in the file.<\/p>\n<p>Original Line:<\/p>\n<pre>&lt;Set name=\"host\"&gt;&lt;Property name=\"jetty.host\" default=\"127.0.0.1\" \/&gt;&lt;\/Set&gt;<\/pre>\n<p>New Line:<\/p>\n<pre>&lt;Set name=\"host\"&gt;&lt;Property name=\"jetty.host\" default=\"0.0.0.0\" \/&gt;&lt;\/Set&gt;<\/pre>\n<h3><span class=\"ez-toc-section\" id=\"Change_System_Daemon_Control_to_System\"><\/span>Change System Daemon Control to System<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Solr was started with the FileCloud installation. Before proceeding, stop the Solr service.<\/p>\n<p><strong>Host:<\/strong> <strong>solr01, solr02<\/strong><\/p>\n<p><strong>command(as root):<\/strong><\/p>\n<pre>\/etc\/init.d\/solr stop<\/pre>\n<p>Remove the following file: <em>\/etc\/init,d\/solr<\/em><\/p>\n<p><strong>command(as root):<\/strong><\/p>\n<pre>rm \/etc\/init.d\/solr<\/pre>\n<p>Create a new file:<\/p>\n<p><strong>command(as root):<\/strong><\/p>\n<pre>touch \/etc\/systemd\/system\/solrd.service<\/pre>\n<p>Edit this new file and copy the contents specified below to this file:<\/p>\n<p><strong>command(as root):<\/strong><\/p>\n<pre>vi \/etc\/systemd\/system\/solrd.service<\/pre>\n<p><strong>Copied Content:<\/strong><\/p>\n<pre>### Beginning of File ###\r\n[Unit]\r\nDescription=Apache SOLR\r\n[Service]\r\nUser=solr\r\nLimitNOFILE=65000\r\nLimitNPROC=65000\r\nType=forking\r\nRestart=no\r\nExecStart=\/opt\/solr\/bin\/solr start\r\nExecStop=\/opt\/solr\/bin\/solr stop\r\n### End of File ###<\/pre>\n<p>Save the file before continuing.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Verify_New_Service_Definition_is_Working\"><\/span>Verify New Service Definition is Working<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>Host: solr01, solr02<\/strong><\/p>\n<p><strong>command(as root):<\/strong><\/p>\n<pre>systemctl daemon-reload\r\nsystemctl stop solrd<\/pre>\n<p>It should not return any errors. Start the service:<\/p>\n<p><strong>command(as root):<\/strong><\/p>\n<pre>systemctl start solrd\r\nsystemctl status solrd<\/pre>\n<p><strong>Expected Output:<\/strong><\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-34263\" src=\"https:\/\/www.filecloud.com\/blog\/wp-content\/uploads\/2022\/09\/Configure-Solr-Verify-New-Service-1.jpg\" alt=\"\" width=\"1418\" height=\"255\" srcset=\"https:\/\/www.filecloud.com\/blog\/wp-content\/uploads\/2022\/09\/Configure-Solr-Verify-New-Service-1.jpg 1418w, https:\/\/www.filecloud.com\/blog\/wp-content\/uploads\/2022\/09\/Configure-Solr-Verify-New-Service-1-300x54.jpg 300w, https:\/\/www.filecloud.com\/blog\/wp-content\/uploads\/2022\/09\/Configure-Solr-Verify-New-Service-1-1024x184.jpg 1024w, https:\/\/www.filecloud.com\/blog\/wp-content\/uploads\/2022\/09\/Configure-Solr-Verify-New-Service-1-768x138.jpg 768w\" sizes=\"(max-width: 1418px) 100vw, 1418px\"><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Remove_Folder_Contents\"><\/span>Remove Folder Contents<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Folder:<em> \/opt\/solrfcdata<\/em><\/p>\n<p><strong>Host: solr02<\/strong><\/p>\n<p><strong>Critical Note: THIS COMMAND SHOULD BE ISSUED ONLY ON solr02.<\/strong><\/p>\n<p><strong>\u00a0<\/strong><strong>command(as root):<\/strong><\/p>\n<pre>systemctl stop solrd\r\nrm -rf \/opt\/solrfcdata\/*<\/pre>\n<h3><span class=\"ez-toc-section\" id=\"Update_Firewall_Rules\"><\/span>Update Firewall Rules<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Complete this step whenever needed, as in the below example on CentOS.<\/p>\n<p><strong>Host: solr01, solr02<\/strong><\/p>\n<p><strong>command(as root):<\/strong><\/p>\n<pre>firewall-cmd --permanent --add-port 8983\/tcp\r\nfirewall-cmd --reload<\/pre>\n<p>With these steps completed, the Solr installation has been carried out to successfully prepare the environment for HA clusters.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Step_3_Set_Up_Pacemaker\"><\/span>Step 3: Set Up Pacemaker<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><strong>Host: solr01, solr02, solr03<\/strong><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Edit_etchosts_File\"><\/span>Edit <em>\/etc\/hosts<\/em> File<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Add the entries for all 3 cluster nodes, so that the file reads as follows:<\/p>\n<pre>coresponding_ip\u00a0\u00a0\u00a0 solr01\r\ncoresponding_ip\u00a0\u00a0\u00a0 solr02\r\ncoresponding_ip\u00a0\u00a0\u00a0 solr03<\/pre>\n<p><strong>Example:<\/strong><\/p>\n<p>File: <em>cat \/etc\/hosts<\/em><\/p>\n<pre>127.0.0.1\u00a0 \u00a0\u00a0\u00a0 localhost localhost.localdomain localhost4 localhost4.localdomain4\r\n::1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 localhost localhost.localdomain localhost6 localhost6.localdomain6\r\n192.168.101.59 solr01\r\n192.168.101.60 solr02\r\n192.168.101.61 solr03<\/pre>\n<h3><span class=\"ez-toc-section\" id=\"Install_Cluster_Packages\"><\/span>Install Cluster Packages<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>hosts: solr01 and solr02<\/strong><\/p>\n<p><strong>command(as root):<\/strong><\/p>\n<pre>yum -y install pacemaker pcs corosync-qdevice sbd<\/pre>\n<h3><span class=\"ez-toc-section\" id=\"Enable_and_Start_the_Main_Cluster_Daemon\"><\/span>Enable and Start the Main Cluster Daemon<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>hosts: solr01 and solr02 <\/strong><\/p>\n<p><strong>command(as root):<\/strong><\/p>\n<pre>systemctl start pcsd\r\nsystemctl enable pcsd<\/pre>\n<h3><span class=\"ez-toc-section\" id=\"Update_Passwords_for_the_Cluster_User\"><\/span>Update Passwords for the Cluster User<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>hosts: solr01, solr02<\/strong><\/p>\n<p>Set the same password for all hosts for the hacluster user.<\/p>\n<p><strong>command(as root):<\/strong><\/p>\n<pre>passwd hacluster<\/pre>\n<p>Provide the hacluster user with the login credentials, as these will be necessary in later steps.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Open_Network_Traffic_on_Firewall\"><\/span>Open Network Traffic on Firewall<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>hosts: solr01 and solr02<\/strong><\/p>\n<p><strong>command(as root):<\/strong><\/p>\n<pre>firewall-cmd --add-service=high-availability \u2013permanent\r\nfirewall-cmd --reload<\/pre>\n<h3><span class=\"ez-toc-section\" id=\"Authorize_Cluster_Nodes\"><\/span>Authorize Cluster Nodes<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>hosts: Solr01<\/strong><\/p>\n<p><strong>command(as root):<\/strong><\/p>\n<pre>pcs cluster auth solr01 solr02<\/pre>\n<p>Username: hacluster<\/p>\n<p>Password: \u201csecret_password\u201d set in the previous step.<\/p>\n<p><strong>Expected Output:<\/strong><\/p>\n<pre>solr01\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Authorized\r\nsolr02\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Authorized<\/pre>\n<h3><span class=\"ez-toc-section\" id=\"Create_Initial_Cluster_Instance\"><\/span>Create Initial Cluster Instance<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>hosts: solr01<\/strong><\/p>\n<p><strong>command(as root):<\/strong><\/p>\n<pre>pcs cluster setup --name solr_cluster solr01 solr02<\/pre>\n<h3><span class=\"ez-toc-section\" id=\"Start_and_Enable_Cluster_Instance\"><\/span>Start and Enable Cluster Instance<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>hosts: solr01<\/strong><\/p>\n<p><strong>command(as root):<\/strong><\/p>\n<pre>pcs cluster start --all\r\npcs cluster enable --all<\/pre>\n<h2><span class=\"ez-toc-section\" id=\"Step_4_Set_Up_QDevice_%E2%80%93_Quorum_Node\"><\/span>Step 4: Set Up QDevice \u2013 Quorum Node<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"Install_Software_Required_for_Quorum-only_Cluster_Node\"><\/span>Install Software Required for Quorum-only Cluster Node<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Install the required software on solr03 (quorum-only cluster node).<\/p>\n<p><strong>Host: solr03<\/strong><\/p>\n<p><strong>command(as root):<\/strong><\/p>\n<pre>yum install pcs corosync-qnetd<\/pre>\n<h3><span class=\"ez-toc-section\" id=\"Start_and_Enable_the_PCSD_Daemon\"><\/span>Start and Enable the PCSD Daemon<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>Host: solr03<\/strong><\/p>\n<p><strong>command(as root):<\/strong><\/p>\n<pre>systemctl enable pcsd.service\r\nsystemctl start pcsd.service<\/pre>\n<h3><span class=\"ez-toc-section\" id=\"Configure_QDevice_Quorum_Mechanism\"><\/span>Configure QDevice (Quorum Mechanism)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>Host: solr03<\/strong><\/p>\n<p><strong>command(as root):<\/strong><\/p>\n<pre>pcs qdevice setup model net --enable \u2013start<\/pre>\n<h3><span class=\"ez-toc-section\" id=\"Open_Firewall_Traffic\"><\/span>Open Firewall Traffic<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Open the firewall traffic (if required \u2013 below example on CentOS)<\/p>\n<p><strong>Host: solr03<\/strong><\/p>\n<p><strong>command(as root):<\/strong><\/p>\n<pre>firewall-cmd --permanent --add-service=high-availability\r\nfirewall-cmd --add-service=high-availability<\/pre>\n<h3><span class=\"ez-toc-section\" id=\"Set_the_Password_for_HA_Cluster_User\"><\/span>Set the Password for HA Cluster User<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Set the password for the hacluster user on solr03.<\/p>\n<p><strong>Host: solr03<\/strong><\/p>\n<p><strong>command(as root):<\/strong><\/p>\n<pre>passwd hacluster<\/pre>\n<p>Provide the password to the HA cluster user. This password should be the same password used for solr01 and solr02.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Authenticate_QDevice_Host_in_the_Cluster\"><\/span>Authenticate QDevice Host in the Cluster<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>Host: solr01<\/strong><\/p>\n<p><strong>command(as root):<\/strong><\/p>\n<pre>pcs cluster auth solr03<\/pre>\n<p>Username: hacluster<\/p>\n<p>Password:<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Add_Quorum_Device_to_the_Cluster_and_Verify\"><\/span>Add Quorum Device to the Cluster and Verify<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>Host: solr01<\/strong><\/p>\n<p><strong>command(as root):<\/strong><\/p>\n<pre>pcs quorum device add model net host=solr03 algorithm=lms<\/pre>\n<p><strong>Verification:<\/strong><\/p>\n<p><strong>Host: solr01<\/strong><\/p>\n<p><strong>command(as root):<\/strong><\/p>\n<pre>pcs quorum status<\/pre>\n<p><strong>Expected Output: <\/strong><\/p>\n<pre>Quorum information\r\n------------------\r\nDate:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Wed Aug\u00a0 3 10:27:26 2022\r\nQuorum provider:\u00a0 corosync_votequorum\r\nNodes:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2\r\nNode ID:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1\r\nRing ID:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2\/9\r\nQuorate:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Yes\r\n\r\nVotequorum information\r\n----------------------\r\nExpected votes:\u00a0\u00a0 3\r\nHighest expected: 3\r\nTotal votes:\u00a0\u00a0\u00a0\u00a0\u00a0 3\r\nQuorum:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2 \r\nFlags:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Quorate Qdevice\r\n\r\nMembership information\r\n----------------------\r\n    Nodeid\u00a0\u00a0\u00a0\u00a0\u00a0 Votes\u00a0\u00a0\u00a0 Qdevice Name\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1\u00a0\u00a0\u00a0 A,V,NMW solr02\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1\u00a0\u00a0\u00a0 A,V,NMW solr01 (local)\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Qdevice<\/pre>\n<h2><span class=\"ez-toc-section\" id=\"Step_5_Install_Soft-Watchdog\"><\/span>Step 5: Install Soft-Watchdog<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The module softwatchdog should load automatically after rebooting the system.<\/p>\n<p><strong>Host: solr01, solr02<\/strong><\/p>\n<p><strong>command(as root):<\/strong><\/p>\n<pre>echo softdog &gt; \/etc\/modules-load.d\/watchdog.conf<\/pre>\n<h3><span class=\"ez-toc-section\" id=\"Reboot_solr01_and_solr02_to_Activate_Watchdog\"><\/span>Reboot solr01 and solr02 to Activate Watchdog<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>Host: solr01, solr02<\/strong><\/p>\n<p><strong>command(as root):<\/strong><\/p>\n<pre>reboot<\/pre>\n<p>Carry out the reboots in sequence:<\/p>\n<ul>\n<li>reboot solr01 and wait until it comes back<\/li>\n<li>reboot solr02<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"Step_6_Enable_SBD_Mechanism_in_the_Cluster\"><\/span>Step 6: Enable SBD Mechanism in the Cluster<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"Enable_sbd\"><\/span>Enable sbd<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>Host: solr01, solr02<\/strong><\/p>\n<p><strong>command(as root):<\/strong><\/p>\n<pre>pcs stonith sbd enable<\/pre>\n<h3><span class=\"ez-toc-section\" id=\"Restart_Cluster_so_pkt_1_Takes_Effect\"><\/span>Restart Cluster so pkt 1 Takes Effect<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>Host: solr01<\/strong><\/p>\n<p><strong>command(as root):<\/strong><\/p>\n<pre>pcs cluster stop --all\r\npcs cluster start --all<\/pre>\n<h3><span class=\"ez-toc-section\" id=\"Verify_the_SBD_Mechanism\"><\/span>Verify the SBD Mechanism<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>Host: solr01<\/strong><\/p>\n<p><strong>command(as root):<\/strong><\/p>\n<pre>pcs stonith sbd status<\/pre>\n<p><strong>Expected Output:<\/strong><\/p>\n<pre>SBD STATUS\r\n&lt;node name&gt;: &lt;installed&gt; | &lt;enabled&gt; | &lt;running&gt;\r\nsolr01: YES | YES | YES\r\nsolr02: YES | YES | YES<\/pre>\n<h2><span class=\"ez-toc-section\" id=\"Step_7_Create_Cluster_Resources\"><\/span>Step 7: Create Cluster Resources<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"Create_Cluster_Resource_with_NFSMount\"><\/span>Create Cluster Resource with NFSMount<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>Host: solr01<\/strong><\/p>\n<p><strong>command(as root):<\/strong><\/p>\n<pre>pcs resource create NFSMount Filesystem device=192.168.101.70:\/mnt\/rhvmnfs\/solrnfs directory=\/opt\/solrfcdata fstype=nfs --group solr<\/pre>\n<p><strong>Legend:<\/strong><\/p>\n<p>The parameter device should point to the nfs server and nfs share being used in the configuration.<\/p>\n<p><strong>Verification:<\/strong><\/p>\n<p><strong>Host: solr01<\/strong><\/p>\n<p><strong>command(as root):<\/strong><\/p>\n<pre>pcs status<\/pre>\n<p><strong>Expected Output:<\/strong><\/p>\n<pre>Cluster name: solr_cluster\r\nStack: corosync\r\nCurrent DC: solr01 (version 1.1.23-1.el7_9.1-9acf116022) - partition with quorum\r\nLast updated: Wed Aug\u00a0 3 12:22:36 2022\r\nLast change: Wed Aug\u00a0 3 12:20:35 2022 by root via cibadmin on solr01\r\n\r\n2 nodes configured\r\n1 resource instance configured\r\n\r\nOnline: [ solr01 solr02 ]\r\n\r\nFull list of resources:\r\n \r\nResource Group: solr\r\n \u00a0\u00a0\u00a0 NFSMount\u00a0\u00a0 (ocf::heartbeat:Filesystem):\u00a0\u00a0\u00a0 Started solr01\r\n\r\nDaemon Status:\r\n  corosync: active\/enabled\r\n \u00a0pacemaker: active\/enabled\r\n  pcsd: active\/enabled\r\n  sbd: active\/enabled<\/pre>\n<h3><span class=\"ez-toc-section\" id=\"Change_the_Recovery_Strategy_for_the_NFSMount_Resource\"><\/span>Change the Recovery Strategy for the NFSMount Resource<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>Host: solr01<\/strong><\/p>\n<p><strong>command(as root):<\/strong><\/p>\n<pre>pcs resource update NFSMount meta on-fail=fence<\/pre>\n<h3><span class=\"ez-toc-section\" id=\"Create_Cluster_Resource_%E2%80%93_solrd\"><\/span>Create Cluster Resource \u2013 solrd<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>Host: solr01<\/strong><\/p>\n<p><strong>command(as root):<\/strong><\/p>\n<pre>pcs resource create solrd systemd:solrd --group solr<\/pre>\n<p><strong>Verification:<\/strong><\/p>\n<p><strong>Host: solr01<\/strong><\/p>\n<p><strong>command(as root):<\/strong><\/p>\n<pre>pcs status<\/pre>\n<p><strong>Expected Output:<\/strong><\/p>\n<pre>Cluster name: solr_cluster\r\nStack: corosync\r\nCurrent DC: solr01 (version 1.1.23-1.el7_9.1-9acf116022) - partition with quorum\r\nLast updated: Wed Aug\u00a0 3 12:25:45 2022\r\nLast change: Wed Aug\u00a0 3 12:25:22 2022 by root via cibadmin on solr01\r\n\r\n2 nodes configured\r\n2 resource instances configured\r\n\r\nOnline: [ solr01 solr02 ]\r\n\r\nFull list of resources:\r\n\r\n\u00a0Resource Group: solr\r\n \u00a0\u00a0\u00a0 NFSMount\u00a0\u00a0 (ocf::heartbeat:Filesystem):\u00a0\u00a0\u00a0 Started solr01\r\n \u00a0\u00a0\u00a0 solrd\u00a0\u00a0\u00a0\u00a0\u00a0 (systemd:solrd):\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Started solr02\r\n\r\nDaemon Status:\r\n  corosync: active\/enabled\r\n  pacemaker: active\/enabled\r\n  pcsd: active\/enabled\r\n  sbd: active\/enabled<\/pre>\n<h3><span class=\"ez-toc-section\" id=\"Set_Additional_Cluster_Parameters\"><\/span>Set Additional Cluster Parameters<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>Host: solr01<\/strong><\/p>\n<p><strong>command(as root):<\/strong><\/p>\n<pre>pcs property set stonith-watchdog-timeout=36\r\npcs property set no-quorum-policy=suicide<\/pre>\n<h2><span class=\"ez-toc-section\" id=\"Step_8_Configure_haproxy_on_Dedicated_Host\"><\/span>Step 8: Configure haproxy on Dedicated Host<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"Install_haproxy_on_Clean_OS\"><\/span>Install haproxy on Clean OS<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Our example uses CentOS.<\/p>\n<p><strong>Host: solr-ha<\/strong><\/p>\n<p><strong>command(as root):<\/strong><\/p>\n<pre>yum install -y haproxy<\/pre>\n<h3><span class=\"ez-toc-section\" id=\"Configure_the_haproxy\"><\/span>Configure the haproxy<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Configure the haproxy to redirect to the active solr node.<\/p>\n<p><strong>Host: solr-ha<\/strong><\/p>\n<p>backup file:\u00a0<em>\/etc\/haproxy\/haproxy.cfg<\/em><\/p>\n<p><strong>command(as root):<\/strong><\/p>\n<pre>mv \/etc\/haproxy\/haproxy.cfg \/etc\/haproxy\/haproxy.cfg_bck<\/pre>\n<h3><span class=\"ez-toc-section\" id=\"Create_an_Empty_File\"><\/span>Create an Empty File<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>File: <em>\/etc\/haproxy\/haproxy.cfg<\/em><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Add_Content\"><\/span>Add Content<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Add the content below into the empty file.<\/p>\n<pre>#### beginning of \/etc\/haproxy\/haproxy.cfg ###\r\nglobal\r\n \u00a0\u00a0 log\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 127.0.0.1 local2\r\n \u00a0\u00a0 chroot\u00a0\u00a0\u00a0\u00a0\u00a0 \/var\/lib\/haproxy\r\n \u00a0\u00a0 pidfile\u00a0\u00a0\u00a0\u00a0 \/var\/run\/haproxy.pid\r\n \u00a0\u00a0 maxconn\u00a0\u00a0\u00a0\u00a0 4000\r\n \u00a0\u00a0 user\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 haproxy\r\n \u00a0\u00a0 group\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 haproxy\r\n \u00a0\u00a0 daemon\r\n \u00a0\u00a0 stats socket \/var\/lib\/haproxy\/stats\r\ndefaults\r\n \u00a0\u00a0 mode\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 http\r\n \u00a0\u00a0 log\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 global\r\n \u00a0\u00a0 option\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 httplog\r\n \u00a0\u00a0 option\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 dontlognull\r\n \u00a0\u00a0 option http-server-close\r\n \u00a0\u00a0 option forwardfor\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 except 127.0.0.0\/8\r\n \u00a0\u00a0 option\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 redispatch\r\n \u00a0\u00a0 retries\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 3\r\n \u00a0\u00a0 timeout http-request\u00a0\u00a0\u00a0 10s\r\n \u00a0\u00a0 timeout queue\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1m\r\n \u00a0\u00a0 timeout connect\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 10s\r\n \u00a0\u00a0 timeout client\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1m\r\n \u00a0\u00a0 timeout server\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1m\r\n \u00a0\u00a0 timeout http-keep-alive 10s\r\n \u00a0\u00a0 timeout check\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 10s\r\n \u00a0\u00a0 maxconn\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 3000\r\n\r\nfrontend solr_front *:8983\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 default_backend solr_back\r\n\r\nbackend static\r\n \u00a0\u00a0 balance\u00a0\u00a0\u00a0\u00a0 roundrobin\r\n \u00a0\u00a0 server\u00a0\u00a0\u00a0\u00a0\u00a0 static 127.0.0.1:4331 check\r\n\r\nbackend solr_back\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 server solr01\u00a0\u00a0 solr01:8983 check\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 server solr02\u00a0\u00a0 solr02:8983 check\r\n#### beginning of \/etc\/haproxy\/haproxy.cfg ###<\/pre>\n<p><strong>Ensure that parameters solr01\/solr02 point to the full DNS name or to the IP of the cluster nodes.<\/strong><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Start_haproxy\"><\/span>Start haproxy<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>Host: solr-ha<\/strong><\/p>\n<p><strong>command(as-root):<\/strong><\/p>\n<pre>systemctl enable haproxy\r\nsystemctl start haproxy<\/pre>\n<p>Solr service will be available on host solr-ha on port 8983 \u2013 independent of where it is really running, either on solr01 or solr02.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Conclusion\"><\/span>Conclusion<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Congratulations! If you followed these step-by-step instructions, you will have successfully configured Solr with high availability along with Pacemaker and Corosync. This configuration will serve to improve redundancy and security for your critical data.<\/p>\n<p>For any questions on Solr or High-Availability architecture, <a href=\"https:\/\/calendly.com\/filecloud\">schedule<\/a> a consultation or configuration support session.<\/p>\n<p>\u00a0<\/p>\n<p><strong>Article written by Marek Frueauff, Solutions Architect<\/strong><\/p>\n<p><strong>Edited by Katie Gerhardt, Junior Product Marketing Manager<\/strong><\/p>\n<p>\u00a0<\/p>\n<h1><span class=\"ez-toc-section\" id=\"Appendix_%E2%80%93_Glossary_of_Terms\"><\/span>Appendix \u2013 Glossary of Terms<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<p>Below are the key terms used in this article, listed in alphabetical order.<\/p>\n<table class=\"glossary-table\" border=\"1\">\n<tbody>\n<tr>\n<th>Term<\/th>\n<th>Definition<\/th>\n<\/tr>\n<tr>\n<td width=\"140\">Cluster<\/td>\n<td width=\"800\">The group of servers or other IT systems, which primary purpose is to realize similar or exactly the same function to achieve one or both of the outcome\u2019s: High Availability or Load Balance.<\/td>\n<\/tr>\n<tr>\n<td width=\"140\">Cluster Quorum<\/td>\n<td width=\"800\">Server or other system that is part of the cluster and performs a particular role: verify which production cluster nodes (servers) can be communicated and their health status. In cluster members are missing, the <strong><em>cluster quorum<\/em><\/strong> system decides if the remaining servers can operate and continue providing services or if it should be treated as unhealthy. There is a risk of the <strong><em>split brain<\/em><\/strong> situation. The main purpose of the <strong><em>cluster quorum<\/em><\/strong> system is to avoid the <strong><em>split brain<\/em><\/strong> scenario.<\/td>\n<\/tr>\n<tr>\n<td width=\"140\">Corosync<\/td>\n<td width=\"800\">Corosync is a typical part of High Availability architecture set up in Linux or Unix systems and usually exists alongside pacemaker. Corosync is the communication engine responsible for keeping cluster nodes (servers) in sync state.<\/td>\n<\/tr>\n<tr>\n<td width=\"140\">Firewall<\/td>\n<td width=\"800\">Software or hardware which can inspect and manipulate based on the multiple rules the network traffic. The modern firewalls implementations can operate on multiple network layers (usually from 3 to 7) including the network frame content inspection.<\/td>\n<\/tr>\n<tr>\n<td width=\"140\">Firewall-cmd<\/td>\n<td width=\"800\">The modern Linux build in firewall software implementation.<\/td>\n<\/tr>\n<tr>\n<td width=\"140\">nfs<\/td>\n<td width=\"800\">Network File System \u2013 is the filesystem which by design is network related. It is common method to share file resources in the unix environment. Due to very long history related to this technology it has been implemented almost on all possible operating systems and became very popular and commonly used.<\/td>\n<\/tr>\n<tr>\n<td width=\"140\">Pacemaker<\/td>\n<td width=\"800\">Open-source software involved in cluster resource management and part of a typical High Availability setup on Linux systems to provide modern functions and cluster management resources.<\/td>\n<\/tr>\n<tr>\n<td width=\"140\">Proxy<\/td>\n<td width=\"800\">Software or hardware solution that provides a gateway between two networks separated by design. A proxy is usually installed between the public Internet and a local network and allows some communications between those network segments based on predefined rules. A proxy can also be used for other purposes, like load balancing: for example redirecting incoming connections from one network to multiple hosts in another network segment.<\/td>\n<\/tr>\n<tr>\n<td width=\"140\">Proxy-HA<\/td>\n<td width=\"800\">The specific implementation of the proxy mechanism to provide High Availability service, which is usually correlated with a single host (server). In our example proxy-ha is used to verify where services are currently running (on which cluster servers) and redirect all incoming requests to the active node.<\/td>\n<\/tr>\n<tr>\n<td width=\"140\">Resource Group<\/td>\n<td width=\"800\">A logical organization unit within the pacemaker cluster implementation that enables control of the dependencies between particular resources managed by the cluster. For example, the nfs server that shares files must be started after the filesystem where the files resists and additionally on the same cluster node (server) \u2013 this control can be easily achieved using <strong><em>Resource Groups<\/em><\/strong>.<\/td>\n<\/tr>\n<tr>\n<td width=\"140\">QDevice<\/td>\n<td width=\"800\">The software implementation of the quorum functionality in the pacemaker cluster setup. This kind of functionality is being installed on the cluster host, which will perform the quorum role only, and will never provide any other services.<\/td>\n<\/tr>\n<tr>\n<td width=\"140\">SBD<\/td>\n<td width=\"800\"><strong><em>Stonith Block Device <\/em><\/strong><em>\u2013 <\/em>by design this the implementation of the additional communication and <strong><em>stonith<\/em><\/strong> mechanism on top of shared block device between cluster nodes (servers). In some cases, <strong><em>sbd<\/em><\/strong> can be used in the diskless mode (as in our example). To operate in this mode, the <strong><em>watchdog<\/em><\/strong> mechanism needs to be enabled\/installed.<\/td>\n<\/tr>\n<tr>\n<td width=\"140\">Solr<\/td>\n<td width=\"800\">Advanced and open-source search and indexing system maintained and developed by Apache. This mechanism is a part of the standard FileCloud installation.<\/td>\n<\/tr>\n<tr>\n<td width=\"140\">Split Brain<\/td>\n<td width=\"800\">Very dangerous scenario in all cluster environments in which a node or nodes loses the ability to communicate with the rest of the node population due to an environment malfunction (most often due to lost network connectivity). In this situation, a separated node may \u201cthink\u201d that it is the \u201clast man standing\u201d and calls up all cluster resources to begin providing all services. This resource demand is repeated by all cluster nodes, leading to disagreement on which node should remain active and which services the cluster should provide. Each cluster implementation has multiple built-in mechanisms to prevent this situation, which can easily lead to data corruption. One such mechanism is <strong><em>stonith, <\/em><\/strong>which is activated as soon as the node is loses its \u201cquorate\u201d status \u2013indicating a high probability that the node is not visible by the rest of the environment.<\/td>\n<\/tr>\n<tr>\n<td width=\"140\">Stonith<\/td>\n<td width=\"800\"><strong><em>S<\/em><\/strong>hut <strong><em>T<\/em><\/strong>he <strong><em>O<\/em><\/strong>ther <strong><em>N<\/em><\/strong>ode <strong><em>i<\/em><\/strong>n <strong><em>T<\/em><\/strong>he <strong><em>H<\/em><\/strong>ead is a mechanism that allows an immediate restart (without any shut down procedure) of any node in the cluster. This mechanism is extremely important to prevent potential data corruption by the wrong cluster node behavior.<\/td>\n<\/tr>\n<tr>\n<td width=\"140\">SystemV<\/td>\n<td width=\"800\">The name of the former Linux approach to starting and stopping system services (daemons).<\/td>\n<\/tr>\n<tr>\n<td width=\"140\">SystemD<\/td>\n<td width=\"800\">The name of the modern Linux approach to starting and stopping system services (daemons) and much more. Each modern Linux distribution now uses systemd as the main mechanism to manage system services.<\/td>\n<\/tr>\n<tr>\n<td width=\"140\">Watchdog<\/td>\n<td width=\"800\">The software or hardware mechanism that works like a delayed bomb detonator. The watchdog is periodically pinged by the system (approximately every 5 seconds) to reset the countdown procedure. If the countdown reaches 0, watchdog will reset the operating system immediately. Watchdog is used with Pacemaker in clusters to ensure that nodes remain recognized within the cluster community. In the event of a lost connection (which is the typical reason behind the Split Brain scenario), Watchdog enables an immediate reboot of the node.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u00a0<\/p>\n<p><strong>\u00a0<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>FileCloud is a hyper-secure file storage, sharing and collaboration platform that provides a powerful set of tools for admins and users to manage their data. This includes High Availability (HA) architecture support and content management functionalities, specifically content search via FileCloud\u2019s Solr integration. Solr is an open-source content indexing and search application developed and distributed [&hellip;]<\/p>\n","protected":false},"author":31,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[18,19,20],"tags":[1792,1789,1790,1791,1788],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.13 (Yoast SEO v20.13) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Configure Solr HA with Pacemaker and Corosync in FileCloud - FileCloud blog<\/title>\n<meta name=\"description\" content=\"Learn how to configure Solr HA in FileCloud with Pacemaker and Corosync to strengthen redundancy and improve resiliency.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Configure Solr HA with Pacemaker and Corosync in FileCloud\" \/>\n<meta property=\"og:description\" content=\"Learn how to configure Solr HA in FileCloud with Pacemaker and Corosync to strengthen redundancy and improve resiliency.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/\" \/>\n<meta property=\"og:site_name\" content=\"FileCloud blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/tonidopage\" \/>\n<meta property=\"article:published_time\" content=\"2022-09-05T09:19:31+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-09-05T13:33:32+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.filecloud.com\/blog\/wp-content\/uploads\/2022\/09\/Configure-Solr-HA-Banner.png\" \/>\n<meta name=\"author\" content=\"Katie Gerhardt\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@getfilecloud\" \/>\n<meta name=\"twitter:site\" content=\"@getfilecloud\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Katie Gerhardt\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/\"},\"author\":{\"name\":\"Katie Gerhardt\",\"@id\":\"https:\/\/www.filecloud.com\/blog\/#\/schema\/person\/ea3506ea3e9eb7bb2036e6c7c8fc05ea\"},\"headline\":\"Configure Solr HA with Pacemaker and Corosync in FileCloud\",\"datePublished\":\"2022-09-05T09:19:31+00:00\",\"dateModified\":\"2022-09-05T13:33:32+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/\"},\"wordCount\":2229,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.filecloud.com\/blog\/#organization\"},\"keywords\":[\"Cluster Computing\",\"HA\",\"High Availability Architecture\",\"Quorum\",\"Solr\"],\"articleSection\":[\"Admin Tools and Tips\",\"Advanced Computer Administration and Architecture\",\"FileCloud\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/\",\"url\":\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/\",\"name\":\"Configure Solr HA with Pacemaker and Corosync in FileCloud - FileCloud blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.filecloud.com\/blog\/#website\"},\"datePublished\":\"2022-09-05T09:19:31+00:00\",\"dateModified\":\"2022-09-05T13:33:32+00:00\",\"description\":\"Learn how to configure Solr HA in FileCloud with Pacemaker and Corosync to strengthen redundancy and improve resiliency.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.filecloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Configure Solr HA with Pacemaker and Corosync in FileCloud\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.filecloud.com\/blog\/#website\",\"url\":\"https:\/\/www.filecloud.com\/blog\/\",\"name\":\"FileCloud blog\",\"description\":\"Topics on Private cloud, On-Premises, Self-Hosted, Enterprise File Sync and Sharing\",\"publisher\":{\"@id\":\"https:\/\/www.filecloud.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.filecloud.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.filecloud.com\/blog\/#organization\",\"name\":\"FileCloud\",\"url\":\"https:\/\/www.filecloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.filecloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.filecloud.com\/blog\/wp-content\/uploads\/2016\/02\/filecloud_logo_comparison.jpg\",\"contentUrl\":\"https:\/\/www.filecloud.com\/blog\/wp-content\/uploads\/2016\/02\/filecloud_logo_comparison.jpg\",\"width\":155,\"height\":40,\"caption\":\"FileCloud\"},\"image\":{\"@id\":\"https:\/\/www.filecloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/tonidopage\",\"https:\/\/twitter.com\/getfilecloud\",\"https:\/\/www.linkedin.com\/company\/codelathe\",\"https:\/\/www.pinterest.com\/filecloud\/filecloud\/\",\"https:\/\/www.youtube.com\/channel\/UCbU5gTFdNCPESA5aGipFW6g\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.filecloud.com\/blog\/#\/schema\/person\/ea3506ea3e9eb7bb2036e6c7c8fc05ea\",\"name\":\"Katie Gerhardt\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.filecloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/07bbf4097008eebfdc680520a6973c6e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/07bbf4097008eebfdc680520a6973c6e?s=96&d=mm&r=g\",\"caption\":\"Katie Gerhardt\"},\"description\":\"Product Marketing Manager\",\"sameAs\":[\"1\",\"https:\/\/www.linkedin.com\/in\/katie-gerhardt-88541791\/\"],\"url\":\"https:\/\/www.filecloud.com\/blog\/author\/katie\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Configure Solr HA with Pacemaker and Corosync in FileCloud - FileCloud blog","description":"Learn how to configure Solr HA in FileCloud with Pacemaker and Corosync to strengthen redundancy and improve resiliency.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/","og_locale":"en_US","og_type":"article","og_title":"Configure Solr HA with Pacemaker and Corosync in FileCloud","og_description":"Learn how to configure Solr HA in FileCloud with Pacemaker and Corosync to strengthen redundancy and improve resiliency.","og_url":"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/","og_site_name":"FileCloud blog","article_publisher":"https:\/\/www.facebook.com\/tonidopage","article_published_time":"2022-09-05T09:19:31+00:00","article_modified_time":"2022-09-05T13:33:32+00:00","og_image":[{"url":"https:\/\/www.filecloud.com\/blog\/wp-content\/uploads\/2022\/09\/Configure-Solr-HA-Banner.png"}],"author":"Katie Gerhardt","twitter_card":"summary_large_image","twitter_creator":"@getfilecloud","twitter_site":"@getfilecloud","twitter_misc":{"Written by":"Katie Gerhardt","Est. reading time":"13 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#article","isPartOf":{"@id":"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/"},"author":{"name":"Katie Gerhardt","@id":"https:\/\/www.filecloud.com\/blog\/#\/schema\/person\/ea3506ea3e9eb7bb2036e6c7c8fc05ea"},"headline":"Configure Solr HA with Pacemaker and Corosync in FileCloud","datePublished":"2022-09-05T09:19:31+00:00","dateModified":"2022-09-05T13:33:32+00:00","mainEntityOfPage":{"@id":"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/"},"wordCount":2229,"commentCount":0,"publisher":{"@id":"https:\/\/www.filecloud.com\/blog\/#organization"},"keywords":["Cluster Computing","HA","High Availability Architecture","Quorum","Solr"],"articleSection":["Admin Tools and Tips","Advanced Computer Administration and Architecture","FileCloud"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/","url":"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/","name":"Configure Solr HA with Pacemaker and Corosync in FileCloud - FileCloud blog","isPartOf":{"@id":"https:\/\/www.filecloud.com\/blog\/#website"},"datePublished":"2022-09-05T09:19:31+00:00","dateModified":"2022-09-05T13:33:32+00:00","description":"Learn how to configure Solr HA in FileCloud with Pacemaker and Corosync to strengthen redundancy and improve resiliency.","breadcrumb":{"@id":"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.filecloud.com\/blog\/configure-solr-ha-with-pacemaker-and-corosync-in-filecloud\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.filecloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Configure Solr HA with Pacemaker and Corosync in FileCloud"}]},{"@type":"WebSite","@id":"https:\/\/www.filecloud.com\/blog\/#website","url":"https:\/\/www.filecloud.com\/blog\/","name":"FileCloud blog","description":"Topics on Private cloud, On-Premises, Self-Hosted, Enterprise File Sync and Sharing","publisher":{"@id":"https:\/\/www.filecloud.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.filecloud.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.filecloud.com\/blog\/#organization","name":"FileCloud","url":"https:\/\/www.filecloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.filecloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.filecloud.com\/blog\/wp-content\/uploads\/2016\/02\/filecloud_logo_comparison.jpg","contentUrl":"https:\/\/www.filecloud.com\/blog\/wp-content\/uploads\/2016\/02\/filecloud_logo_comparison.jpg","width":155,"height":40,"caption":"FileCloud"},"image":{"@id":"https:\/\/www.filecloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/tonidopage","https:\/\/twitter.com\/getfilecloud","https:\/\/www.linkedin.com\/company\/codelathe","https:\/\/www.pinterest.com\/filecloud\/filecloud\/","https:\/\/www.youtube.com\/channel\/UCbU5gTFdNCPESA5aGipFW6g"]},{"@type":"Person","@id":"https:\/\/www.filecloud.com\/blog\/#\/schema\/person\/ea3506ea3e9eb7bb2036e6c7c8fc05ea","name":"Katie Gerhardt","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.filecloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/07bbf4097008eebfdc680520a6973c6e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/07bbf4097008eebfdc680520a6973c6e?s=96&d=mm&r=g","caption":"Katie Gerhardt"},"description":"Product Marketing Manager","sameAs":["1","https:\/\/www.linkedin.com\/in\/katie-gerhardt-88541791\/"],"url":"https:\/\/www.filecloud.com\/blog\/author\/katie\/"}]}},"_links":{"self":[{"href":"https:\/\/www.filecloud.com\/blog\/wp-json\/wp\/v2\/posts\/34257"}],"collection":[{"href":"https:\/\/www.filecloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.filecloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.filecloud.com\/blog\/wp-json\/wp\/v2\/users\/31"}],"replies":[{"embeddable":true,"href":"https:\/\/www.filecloud.com\/blog\/wp-json\/wp\/v2\/comments?post=34257"}],"version-history":[{"count":15,"href":"https:\/\/www.filecloud.com\/blog\/wp-json\/wp\/v2\/posts\/34257\/revisions"}],"predecessor-version":[{"id":34277,"href":"https:\/\/www.filecloud.com\/blog\/wp-json\/wp\/v2\/posts\/34257\/revisions\/34277"}],"wp:attachment":[{"href":"https:\/\/www.filecloud.com\/blog\/wp-json\/wp\/v2\/media?parent=34257"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.filecloud.com\/blog\/wp-json\/wp\/v2\/categories?post=34257"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.filecloud.com\/blog\/wp-json\/wp\/v2\/tags?post=34257"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}