首頁 資料庫 mysql教程 HGDB HA with ISCSI

HGDB HA with ISCSI

Jun 07, 2016 pm 02:49 PM
1 vip with 基礎 環境 虛擬

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服务

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1321
25
PHP教程
1269
29
C# 教程
1249
24
Python和Anaconda之間有什麼區別? Python和Anaconda之間有什麼區別? Sep 06, 2023 pm 08:37 PM

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

無法引導到Windows復原環境 無法引導到Windows復原環境 Feb 19, 2024 pm 11:12 PM

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

Microsoft Wi-Fi 直連虛擬轉接器:它有什麼作用? Microsoft Wi-Fi 直連虛擬轉接器:它有什麼作用? Jun 29, 2023 pm 12:33 PM

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

愛奇藝影片下載後vip過期還能看嗎? 愛奇藝影片下載後vip過期還能看嗎? Mar 13, 2024 pm 03:30 PM

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

網路易雲音樂可以免費聽vip的歌嗎 不是vip聽vip音樂方法 網路易雲音樂可以免費聽vip的歌嗎 不是vip聽vip音樂方法 Mar 13, 2024 pm 01:34 PM

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

25個AI智能體源碼現已公開,靈感來自史丹佛的「虛擬小鎮」和《西方世界》 25個AI智能體源碼現已公開,靈感來自史丹佛的「虛擬小鎮」和《西方世界》 Aug 11, 2023 pm 06:49 PM

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

Keepalived的安裝和VIP自動漂移 Keepalived的安裝和VIP自動漂移 Feb 19, 2024 pm 01:30 PM

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

番茄小說svip和vip區別 番茄小說svip和vip區別 Mar 21, 2024 am 08:36 AM

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

See all articles