{"id":132,"date":"2025-05-04T10:01:15","date_gmt":"2025-05-04T13:01:15","guid":{"rendered":"http:\/\/192.168.0.52\/?p=132"},"modified":"2025-05-29T16:37:58","modified_gmt":"2025-05-29T19:37:58","slug":"cluster-webserver-debian-12","status":"publish","type":"post","link":"https:\/\/jorgecarneirob.ddns.net\/index.php\/2025\/05\/04\/cluster-webserver-debian-12\/","title":{"rendered":"Cluster Alta disponibilidade WebServer Debian 12"},"content":{"rendered":"\n<figure class=\"wp-block-image size-full wp-duotone-unset-1\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"http:\/\/192.168.0.52\/wp-content\/uploads\/2025\/05\/HACluster.png\" alt=\"\" class=\"wp-image-142\"\/><\/figure>\n\n\n\n<p>YouTube:<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Cluster WebServer Debian 12: Alta Disponibilidade com Pacemaker e Corosync\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/mgCDf-0Ovcg?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>Utilizado 2 m\u00e1quinas Linux com Debian 12 server.<\/p>\n\n\n\n<p>Cluster_Node1_Debian12<\/p>\n\n\n\n<p>IP: 192.168.0.20<\/p>\n\n\n\n<figure class=\"wp-block-image size-large wp-duotone-unset-2\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"706\" src=\"http:\/\/192.168.0.52\/wp-content\/uploads\/2025\/05\/image-1024x706.png\" alt=\"\" class=\"wp-image-133\" srcset=\"https:\/\/jorgecarneirob.ddns.net\/wp-content\/uploads\/2025\/05\/image-1024x706.png 1024w, https:\/\/jorgecarneirob.ddns.net\/wp-content\/uploads\/2025\/05\/image-300x207.png 300w, https:\/\/jorgecarneirob.ddns.net\/wp-content\/uploads\/2025\/05\/image-768x530.png 768w, https:\/\/jorgecarneirob.ddns.net\/wp-content\/uploads\/2025\/05\/image.png 1083w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Cluster_Node2_Debian12<br>IP: 192.168.0.21<\/p>\n\n\n\n<figure class=\"wp-block-image size-large wp-duotone-unset-3\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"706\" src=\"http:\/\/192.168.0.52\/wp-content\/uploads\/2025\/05\/image-1-1024x706.png\" alt=\"\" class=\"wp-image-134\" srcset=\"https:\/\/jorgecarneirob.ddns.net\/wp-content\/uploads\/2025\/05\/image-1-1024x706.png 1024w, https:\/\/jorgecarneirob.ddns.net\/wp-content\/uploads\/2025\/05\/image-1-300x207.png 300w, https:\/\/jorgecarneirob.ddns.net\/wp-content\/uploads\/2025\/05\/image-1-768x530.png 768w, https:\/\/jorgecarneirob.ddns.net\/wp-content\/uploads\/2025\/05\/image-1.png 1083w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>1. Feito a configura\u00e7\u00e3o do arquivo hostname e hosts em \/etc\/hostname, \/etc\/hosts e alterado ip fixo em \/etc\/network\/interfaces:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large wp-duotone-unset-4\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"453\" src=\"http:\/\/192.168.0.52\/wp-content\/uploads\/2025\/05\/image-2-1024x453.png\" alt=\"\" class=\"wp-image-135\" srcset=\"https:\/\/jorgecarneirob.ddns.net\/wp-content\/uploads\/2025\/05\/image-2-1024x453.png 1024w, https:\/\/jorgecarneirob.ddns.net\/wp-content\/uploads\/2025\/05\/image-2-300x133.png 300w, https:\/\/jorgecarneirob.ddns.net\/wp-content\/uploads\/2025\/05\/image-2-768x340.png 768w, https:\/\/jorgecarneirob.ddns.net\/wp-content\/uploads\/2025\/05\/image-2-1536x680.png 1536w, https:\/\/jorgecarneirob.ddns.net\/wp-content\/uploads\/2025\/05\/image-2.png 1910w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>2. O cluster foi feito usando os pacotes pacemaker corosync e pcs (Ambos os nodes):<\/p>\n\n\n\n<p><em><code>apt install pacemaker corosync pcs<\/code><\/em><\/p>\n\n\n\n<p><em>3. <\/em>Troca de senha do usu\u00e1rio hacluster (Ambos os nodes):<\/p>\n\n\n\n<p><em><code>passwd hacluster<\/code><\/em><\/p>\n\n\n\n<p><em>4. <\/em>Liberando ip e porta no firewall:<\/p>\n\n\n\n<p><em><code>node1: ufw allow from 192.168.0.21\/24 to any port 2224; ufw reload<\/code><\/em><\/p>\n\n\n\n<p><em><code>node2: ufw allow from 192.168.0.20\/24 to any port 2224; ufw reload<\/code><\/em><\/p>\n\n\n\n<p><em>5. <\/em>Autentica\u00e7\u00e3o do cluster nos nodes:<\/p>\n\n\n\n<p><em><code>pcs host auth node1 node2<\/code><\/em><\/p>\n\n\n\n<p>6. Cria\u00e7\u00e3o do cluster HaCluster:<\/p>\n\n\n\n<p><em><code>pcs cluster setup HaCluster node1 node2<\/code><\/em> &#8211;force<\/p>\n\n\n\n<p>7. Criando ip virtual 192.168.0.22:<\/p>\n\n\n\n<p><em><code>pcs resource create VirtualIP ocf:heartbeat:IPaddr2 ip=192.168.0.22 cidr_netmask=24 nic=enp0s3<\/code><\/em><\/p>\n\n\n\n<p><em>8. <\/em>Ativando cluster para WebServer:<\/p>\n\n\n\n<p><em><code>pcs resource create WebServer ocf:heartbeat:apache configfile=\"\/etc\/apache2\/apache2.conf\" statusurl=\"http:\/\/localhost\/server-status\" op monitor interval=\"5s\"<\/code><\/em><\/p>\n\n\n\n<p><em>9. <\/em>Anexando ipvirtual ao WebServer:<\/p>\n\n\n\n<p>pcs <em><code>constraint colocation add WebServer with VirtualIP<\/code><\/em><\/p>\n\n\n\n<p>pcs <em><code>constraint order set VirtualIP<\/code><\/em>  <em><code>WebServer <\/code><\/em><\/p>\n\n\n\n<p>10. desativando stonith-enabled:<\/p>\n\n\n\n<p><code>pcs property set stonith-enabled=false<\/code><\/p>\n\n\n\n<p><em>11. Reiniciando o VirtualIP:<\/em><\/p>\n\n\n\n<p><em><code>pcs resource unmanage VirtualIP<\/code><\/em><\/p>\n\n\n\n<p><em><code>pcs resource manage VirtualIP<\/code><\/em><\/p>\n\n\n\n<p><em>12. Status do cluster:<\/em><\/p>\n\n\n\n<p><code>pcs status<\/code><\/p>\n\n\n\n<figure class=\"wp-block-image size-full wp-duotone-unset-5\"><img loading=\"lazy\" decoding=\"async\" width=\"941\" height=\"676\" src=\"http:\/\/192.168.0.52\/wp-content\/uploads\/2025\/05\/image-3.png\" alt=\"\" class=\"wp-image-136\" srcset=\"https:\/\/jorgecarneirob.ddns.net\/wp-content\/uploads\/2025\/05\/image-3.png 941w, https:\/\/jorgecarneirob.ddns.net\/wp-content\/uploads\/2025\/05\/image-3-300x216.png 300w, https:\/\/jorgecarneirob.ddns.net\/wp-content\/uploads\/2025\/05\/image-3-768x552.png 768w\" sizes=\"auto, (max-width: 941px) 100vw, 941px\" \/><\/figure>\n\n\n\n<p>Testes:<\/p>\n\n\n\n<p><em>Node1 desligado:<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-large wp-duotone-unset-6\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"534\" src=\"http:\/\/192.168.0.52\/wp-content\/uploads\/2025\/05\/image-4-1024x534.png\" alt=\"\" class=\"wp-image-137\" srcset=\"https:\/\/jorgecarneirob.ddns.net\/wp-content\/uploads\/2025\/05\/image-4-1024x534.png 1024w, https:\/\/jorgecarneirob.ddns.net\/wp-content\/uploads\/2025\/05\/image-4-300x157.png 300w, https:\/\/jorgecarneirob.ddns.net\/wp-content\/uploads\/2025\/05\/image-4-768x401.png 768w, https:\/\/jorgecarneirob.ddns.net\/wp-content\/uploads\/2025\/05\/image-4-1536x802.png 1536w, https:\/\/jorgecarneirob.ddns.net\/wp-content\/uploads\/2025\/05\/image-4.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><em>Node2 desligado:<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-large wp-duotone-unset-7\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"534\" src=\"http:\/\/192.168.0.52\/wp-content\/uploads\/2025\/05\/image-5-1024x534.png\" alt=\"\" class=\"wp-image-138\" srcset=\"https:\/\/jorgecarneirob.ddns.net\/wp-content\/uploads\/2025\/05\/image-5-1024x534.png 1024w, https:\/\/jorgecarneirob.ddns.net\/wp-content\/uploads\/2025\/05\/image-5-300x157.png 300w, https:\/\/jorgecarneirob.ddns.net\/wp-content\/uploads\/2025\/05\/image-5-768x401.png 768w, https:\/\/jorgecarneirob.ddns.net\/wp-content\/uploads\/2025\/05\/image-5-1536x802.png 1536w, https:\/\/jorgecarneirob.ddns.net\/wp-content\/uploads\/2025\/05\/image-5.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>YouTube: Utilizado 2 m\u00e1quinas Linux com Debian 12 server. Cluster_Node1_Debian12 IP: 192.168.0.20 Cluster_Node2_Debian12IP: 192.168.0.21 1. Feito a configura\u00e7\u00e3o do arquivo hostname e hosts em \/etc\/hostname, \/etc\/hosts e alterado ip fixo em \/etc\/network\/interfaces: 2. O cluster foi feito usando os pacotes pacemaker corosync e pcs (Ambos os nodes): apt install pacemaker corosync pcs 3. Troca de [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":142,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[22],"tags":[23,39,38,18,40],"class_list":["post-132","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-servidor","tag-apache","tag-cluster","tag-debian-12","tag-linux","tag-webserver"],"jetpack_featured_media_url":"https:\/\/jorgecarneirob.ddns.net\/wp-content\/uploads\/2025\/05\/HACluster.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/jorgecarneirob.ddns.net\/index.php\/wp-json\/wp\/v2\/posts\/132","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jorgecarneirob.ddns.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jorgecarneirob.ddns.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jorgecarneirob.ddns.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jorgecarneirob.ddns.net\/index.php\/wp-json\/wp\/v2\/comments?post=132"}],"version-history":[{"count":7,"href":"https:\/\/jorgecarneirob.ddns.net\/index.php\/wp-json\/wp\/v2\/posts\/132\/revisions"}],"predecessor-version":[{"id":207,"href":"https:\/\/jorgecarneirob.ddns.net\/index.php\/wp-json\/wp\/v2\/posts\/132\/revisions\/207"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jorgecarneirob.ddns.net\/index.php\/wp-json\/wp\/v2\/media\/142"}],"wp:attachment":[{"href":"https:\/\/jorgecarneirob.ddns.net\/index.php\/wp-json\/wp\/v2\/media?parent=132"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jorgecarneirob.ddns.net\/index.php\/wp-json\/wp\/v2\/categories?post=132"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jorgecarneirob.ddns.net\/index.php\/wp-json\/wp\/v2\/tags?post=132"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}