HGDB HA with ISCSI
1、基础环境 vip(虚拟IP):192.168.100.222 iscsi(存储):192.168.100.200 node1(节点一):192.168.100.192 node2(节点二):192.168.100.195 新建highgo操作系统用户,要求三台机器highgo用户的uid、gid相同 2、三台机器均关闭防火墙和SELINUX (以n
1、基础环境
<code> vip(虚拟IP):192.168.100.222 iscsi(存储):192.168.100.200 node1(节点一):192.168.100.192 node2(节点二):192.168.100.195 新建highgo操作系统用户,要求三台机器highgo用户的uid、gid相同 </code>
2、三台机器均关闭防火墙和SELINUX (以node1为例)
3、三台机器均SSH互信 (以iscsi为例)
(1)修改/etc/hosts
(2)root用户执行
(3)highgo用户执行
4、ISCSI配置
(1)服务器端(iscsi)
<code class=" hljs lasso"><span class="hljs-subst">>>></span>首先安装scsi<span class="hljs-attribute">-target</span><span class="hljs-attribute">-utils</span>: yum <span class="hljs-attribute">-y</span> install scsi<span class="hljs-attribute">-target</span><span class="hljs-attribute">-utils</span> <span class="hljs-subst">>>></span>编辑/etc/tgt/targets<span class="hljs-built_in">.</span>conf,添加:(/dev/sda是新添加的用来共享的磁盘,为原生的未经过格式化的盘) <span class="hljs-subst"><</span>target iqn<span class="hljs-number">.201605</span><span class="hljs-built_in">.</span>dev:server<span class="hljs-built_in">.</span>target1<span class="hljs-subst">></span> backing<span class="hljs-attribute">-store</span> /dev/sda <span class="hljs-subst"><</span>/target<span class="hljs-subst">></span> <span class="hljs-subst">>>></span>启动服务,并配置开机自启动: service tgtd start chkconfig tgtd <span class="hljs-keyword">on</span></code>
(2)客户端(node1、node2)
<code class=" hljs lasso"><span class="hljs-subst">>>></span>首先安装iscsi<span class="hljs-attribute">-initiator</span><span class="hljs-attribute">-utils</span> yum <span class="hljs-attribute">-y</span> install iscsi<span class="hljs-attribute">-initiator</span><span class="hljs-attribute">-utils</span> <span class="hljs-subst">>>></span>编辑/etc/iscsi/initiatorname<span class="hljs-built_in">.</span>iscsi,添加: InitiatorName<span class="hljs-subst">=</span>iqn<span class="hljs-number">.201605</span><span class="hljs-built_in">.</span>dev:server<span class="hljs-built_in">.</span>target1 <span class="hljs-subst">>>></span>配置服务: chkconfig iscsi <span class="hljs-keyword">on</span> chkconfig iscsid <span class="hljs-keyword">on</span> service iscsi restart service iscsid restart</code>
启动服务时出现失败的情况,正常
5、安装数据库(node1、node2)
node1安装过程:
(1)创建目录(挂载点)
<code class=" hljs perl"><span class="hljs-keyword">mkdir</span> /install/hgdb -p</code>
(2)发现服务器端有磁盘共享,并登录
(3)查询本地多一块磁盘
(4)格式化磁盘并挂载
注意:若挂载时出现以下错误,即为没有格式化磁盘所致
(5)切换到highgo登录系统,执行安装
<code class=" hljs bash">>>>编辑.bash_profile,添加: <span class="hljs-keyword">export</span> HG_HOME=/home/highgo/hgdb</code>
注意:数据目录的选择,即将data目录置于共享磁盘中
(6)安装完成后,注销highgo,切换回root,执行关闭数据库服务、设置开机不自动启动数据库服务、卸载挂载的目录
<code class=" hljs vbnet">service hgdb-se2<span class="hljs-number">.0</span><span class="hljs-number">.4</span> <span class="hljs-keyword">stop</span> chkconfig hgdb-se2<span class="hljs-number">.0</span><span class="hljs-number">.4</span> <span class="hljs-keyword">off</span> umount /install/hgdb</code>
node2安装过程:
(1)创建目录(挂载点)
<code class=" hljs perl"><span class="hljs-keyword">mkdir</span> /install/hgdb -p</code>
(2)发现服务器端有磁盘共享,并登录
(3)挂载磁盘
注意:/dev/sdb为共享磁盘,在node1安装数据库时已经格式化并将data目录置于其下,此时只需要挂载即可看到data目录
(4)切换到highgo登录系统,执行安装
注意:不作为系统服务安装(这样安装时不会有data目录选项出现)
(5)注销highgo,切换回root,执行卸载挂载的目录
<code class=" hljs cmake">umount /<span class="hljs-keyword">install</span>/hgdb</code>
6、HA配置
(1)node1、node2安装
<code class=" hljs cmake">yum -y <span class="hljs-keyword">install</span> pacemaker corosync pcs</code>
(2)在一个节点配置文件,并将文件拷贝到另一节点(以node1为例)
<code class=" hljs ruby">密钥文件: corosync-keygen scp /etc/corosync/authkey root<span class="hljs-variable">@node1</span><span class="hljs-symbol">:/etc/corosync</span></code>
<code class=" hljs avrasm">corosync<span class="hljs-preprocessor">.conf</span>文件: cd /etc/corosync <span class="hljs-keyword">cp</span> corosync<span class="hljs-preprocessor">.conf</span><span class="hljs-preprocessor">.example</span> corosync<span class="hljs-preprocessor">.conf</span> vi corosync<span class="hljs-preprocessor">.conf</span></code>
<code class=" hljs bash">pacemaker服务启动脚本: <span class="hljs-built_in">cd</span> service.d vi pcmd</code>
<code class=" hljs vbnet">corosync、pacemaker服务启停: chkconfig corosync <span class="hljs-keyword">on</span> service corosync start chkcofig pacemaker <span class="hljs-keyword">off</span> servicepacemaker <span class="hljs-keyword">stop</span></code>
7、集群资源配置
<code class=" hljs sql">首先启动服务:service corosync <span class="hljs-operator"><span class="hljs-keyword">start</span> (node1、node2)</span></code>
查看集群状态:
在一个节点上完成资源的配置即可
<code class=" hljs lasso">任何情况集群资源继续运行 pcs property <span class="hljs-built_in">set</span> no<span class="hljs-attribute">-quorum</span><span class="hljs-attribute">-policy</span><span class="hljs-subst">=</span>ignore 禁用stonith pcs property <span class="hljs-built_in">set</span> stonith<span class="hljs-attribute">-enabled</span><span class="hljs-subst">=</span><span class="hljs-literal">false</span></code>
<code class=" hljs sql">配置vip pcs resource <span class="hljs-operator"><span class="hljs-keyword">create</span> vip ocf:heartbeat:IPaddr params ip=<span class="hljs-string">"192.168.100.222"</span> nic=<span class="hljs-string">"eth0"</span> cidr_netmask=<span class="hljs-string">"24"</span> op monitor <span class="hljs-keyword">interval</span>=<span class="hljs-number">20</span>s timeout=<span class="hljs-number">30</span>s</span></code>
查看集群状态
<code class=" hljs sql">配置sdisk(共享存储) pcs resource <span class="hljs-operator"><span class="hljs-keyword">create</span> sdisk ocf:heartbeat:Filesystem params device=<span class="hljs-string">"/dev/sdb"</span> directory=<span class="hljs-string">"/install/hgdb "</span> fstype=<span class="hljs-string">"ext4"</span> op <span class="hljs-keyword">start</span> timeout=<span class="hljs-number">60</span>s op stop timeout=<span class="hljs-number">60</span>s op monitor <span class="hljs-keyword">interval</span>=<span class="hljs-number">20</span>s timeout=<span class="hljs-number">60</span>s</span></code>
查看集群状态
<code class=" hljs sql">配置数据库服务 pcs resource <span class="hljs-operator"><span class="hljs-keyword">create</span> dbserver ocf:heartbeat:pgsql params pghost=<span class="hljs-number">192.168</span><span class="hljs-number">.100</span><span class="hljs-number">.222</span> pgport=<span class="hljs-number">5866</span> pgdba=highgo pgctl=/home/highgo/hgdb/bin/pg_ctl start_opt=<span class="hljs-string">"-D /install/hgdb/data"</span> psql=/home/highgo/hgdb/bin/psql pgdata=/install/hgdb/data monitor_user=highgo monitor_password=highgo123 op <span class="hljs-keyword">start</span> timeout=<span class="hljs-number">120</span>s <span class="hljs-keyword">interval</span>=<span class="hljs-number">120</span>s op stop timeout=<span class="hljs-number">120</span>s <span class="hljs-keyword">interval</span>=<span class="hljs-number">120</span>s op status timeout=<span class="hljs-number">60</span>s <span class="hljs-keyword">interval</span>=<span class="hljs-number">60</span>s</span></code>
<code class=" hljs oxygene">配置三个资源在一个组 pcs resource <span class="hljs-keyword">group</span> <span class="hljs-keyword">add</span> hgdb_group sdisk pcs resource <span class="hljs-keyword">group</span> <span class="hljs-keyword">add</span> hgdb_group vip pcs resource <span class="hljs-keyword">group</span> <span class="hljs-keyword">add</span> hgdb_group dbserver </code>
<code class=" hljs ocaml">配置资源在两节点中的优先级 pcs <span class="hljs-keyword">constraint</span> location sdisk prefers node1=<span class="hljs-number">50</span> pcs <span class="hljs-keyword">constraint</span> location sdisk prefers node2=<span class="hljs-number">40</span> pcs <span class="hljs-keyword">constraint</span> location vip prefers node1=<span class="hljs-number">50</span> pcs <span class="hljs-keyword">constraint</span> location vip prefers node2=<span class="hljs-number">40</span> pcs <span class="hljs-keyword">constraint</span> location dbserver prefers node1=<span class="hljs-number">50</span> pcs <span class="hljs-keyword">constraint</span> location dbserver prefers node2=<span class="hljs-number">40</span></code>
<code class=" hljs sql">配置资源在节点中的启动顺序 pcs constraint order <span class="hljs-operator"><span class="hljs-keyword">start</span> vip <span class="hljs-keyword">then</span> <span class="hljs-keyword">start</span> sdisk <span class="hljs-keyword">then</span> <span class="hljs-keyword">start</span> dbserver</span></code>
<code class=" hljs vbnet">配置psql文件(node1、node2) vi /usr/<span class="hljs-keyword">lib</span>/ocf/resource.d/heartbeat/pgsql</code>
需要确认的错误情况及解决方法:
node1重启corosync服务时,出现下面的状况,而node2可以重启
查看日志文件
切换到highgo用户重新启动停止了服务(之前安装完数据库停掉服务后有新修改postgresql.conf和pg_hba.conf文件,设置了远程访问),再重启corosync服务成功
查看集群状态
8、验证
(1)正常状态下
在node1用虚拟ip可访问数据库
查看共享盘挂载情况
(2)模拟node1崩溃
此时在node2能用虚拟ip访问数据库
集群状态
共享盘挂载
注意:
在配置前最好设置NetworkManager服务stop,更改system eth0为eth0因为配置vip时为eth0,怕会找不到设备,然后重启network服务

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

在本文中,我們將了解Python和Anaconda之間的差異。 Python是什麼? Python是一種開源語言,非常重視使程式碼易於閱讀並透過縮進行和提供空白來理解。 Python的靈活性和易於使用使其非常適用於各種應用,包括但不限於對於科學計算、人工智慧和數據科學,以及創造和發展的線上應用程式。當Python經過測試時,它會立即被翻譯轉化為機器語言,因為它是一種解釋性語言。有些語言,例如C++,需要編譯才能被理解。精通Python是一個重要的優勢,因為它非常易於理解、開發,執行並讀取。這使得Pyth

Windows復原環境(WinRE)是用來修復Windows作業系統錯誤的環境。進入WinRE後,您可以執行系統還原、出廠重設、卸載更新等操作。如果無法引導到WinRE,本文將指導您使用修復程式解決此問題。無法引導至Windows復原環境如果無法引導至Windows復原環境,請使用下方提供的修復程式:檢查Windows復原環境的狀態使用其他方法進入Windows復原環境您是否意外刪除了Windows復原分割區?執行Windows的就地升級或全新安裝下面,我們已經詳細解釋了所有這些修復。 1]檢查Wi

您可能想知道MicrosoftWi-Fi直接虛擬適配器在您的PC上的作用。最好放心,此網路介面卡Microsoft且完全安全。但是,如果適配器弄亂了您的活動,並且您想知道它是否值得保留,本指南將為您提供您需要了解的所有資訊。 MicrosoftWi-FiDirect虛擬適配器有什麼作用?顧名思義,MicrosoftWi-Fi直接虛擬適配器有助於使您的PC成為無線熱點。這樣,其他電腦可以連接到您的PC以存取互聯網。它透過虛擬化無線網路適配器來實現此目的。這樣,您的單一實體無線適配器將轉換為兩個虛擬

愛奇藝影片下載後vip過期還能看嗎?愛奇藝影片是許多用戶的首選影視劇播放平台,對於某些影視劇資源是用戶需要充值vip才能看的。那麼vip過期下載的影片還能看了嗎?以下就讓本站來為用戶們來仔細的介紹一下愛奇藝會員下載的影片會員過期能看嗎問題解析吧。 愛奇藝會員下載的影片會員過期能看嗎 答:不可以看了。 這個主要是出於對版權的保護。 會員到期以後,下載的VIP的影視劇就不可以觀看了。 而且如果你想要把你下載的離線影片同步到其他的裝置裡面,這個也是不支援的。 愛奇藝會員其他特權一覽

網易雲音樂擁有豐富的歌曲版權,你們每天都可以打開這個軟體,聽自己想要聽的全部的好歌,每天都可以一直沉浸在其中,暢享優質的內容解悶,海量的歌曲資源,有大量的免費歌曲,也有一些是vip歌曲,需要的vip才能夠聽,但是開vip就需要花錢,很多的小伙伴們,都非常的不樂意,想要知道有沒有免費白嫖的方法,不花錢享受這些歌,在這裡小編為你們提供了幾個方法,有需要的都可以看一看了解一下,讓你免費的享受到想要聽的vip歌曲,感興趣的都不要錯過了!在網易雲音樂中,每天簽到都能賺取一定數量的音樂豆,這些音樂豆可以

熟悉《西方世界》的觀眾都了解,這部劇設定在未來世界的一個巨大高科技成人主題樂園中,機器人們具備與人類相似的行為能力,能夠記憶所見所聞,重複核心故事情節。每天,這些機器人都會被重置,回到初始狀態在斯坦福論文《GenerativeAgents:InteractiveSimulacraofHumanBehavior》發布後,這種情景不再僅限於影視劇中,AI已經成功復現了這一場景Smallville的“虛擬小鎮」概覽圖論文網址:https://arxiv.org/pdf/2304.03442v1.pdf

Keepalived是一個基於LVS(Linux虛擬伺服器)的高可用性解決方案,它主要用於Linux環境下的負載平衡和故障轉移。 Keepalived透過使用虛擬IP位址(VIP)和健康檢查機制來確保服務的連續性和可靠性。其中,VIP自動漂移是Keepalived的關鍵特性,它允許在主伺服器發生故障時,將服務無縫地切換到備份伺服器。本文將簡要介紹Keepalived的安裝及配置,以實現高可用性叢集。旨在為初學者提供指導,幫助他們掌握這項關鍵技術,提升Linux系統管理能力。名詞解釋在深入了解Kee

在數位閱讀日益盛行的今天,番茄小說憑藉其豐富的內容和優質的閱讀體驗,吸引了大量書迷。而對於許多熱愛閱讀的用戶來說,成為番茄小說的VIP或SVIP會員,能享受到更多專屬權益,那麼由於二者的價格也並非一致,許多用戶們都還不了解番茄小說VIP和SVIP究竟有何差別,那麼本文將為你詳細解析兩者之間的權益差異,希望能為大家帶來更加良好的會員開通體驗!番茄小說svip和vip區別答案:區別在與會員等級、權益和價格。一、svip1、代言人權益:會員可獲得楊紫電子相簿及會員中心專屬皮膚;2、免廣告特權:聽書、
