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>
Copier après la connexion

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>
Copier après la connexion

(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>
Copier après la connexion

启动服务时出现失败的情况,正常
这里写图片描述

5、安装数据库(node1、node2)

node1安装过程:

(1)创建目录(挂载点)

<code class=" hljs perl"><span class="hljs-keyword">mkdir</span> /install/hgdb -p</code>
Copier après la connexion
Copier après la connexion

(2)发现服务器端有磁盘共享,并登录

这里写图片描述

这里写图片描述

(3)查询本地多一块磁盘

这里写图片描述

(4)格式化磁盘并挂载

这里写图片描述

注意:若挂载时出现以下错误,即为没有格式化磁盘所致
这里写图片描述

(5)切换到highgo登录系统,执行安装

<code class=" hljs bash">>>>编辑.bash_profile,添加:
<span class="hljs-keyword">export</span> HG_HOME=/home/highgo/hgdb</code>
Copier après la connexion

注意:数据目录的选择,即将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>
Copier après la connexion

node2安装过程:

(1)创建目录(挂载点)

<code class=" hljs perl"><span class="hljs-keyword">mkdir</span> /install/hgdb -p</code>
Copier après la connexion
Copier après la connexion

(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>
Copier après la connexion

6、HA配置

(1)node1、node2安装

<code class=" hljs cmake">yum -y <span class="hljs-keyword">install</span> pacemaker corosync pcs</code>
Copier après la connexion

(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>
Copier après la connexion
<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>
Copier après la connexion

这里写图片描述

<code class=" hljs bash">pacemaker服务启动脚本:

<span class="hljs-built_in">cd</span> service.d
vi pcmd</code>
Copier après la connexion

这里写图片描述

<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>
Copier après la connexion

7、集群资源配置

<code class=" hljs sql">首先启动服务:service corosync <span class="hljs-operator"><span class="hljs-keyword">start</span> (node1、node2)</span></code>
Copier après la connexion

查看集群状态:
这里写图片描述

在一个节点上完成资源的配置即可

<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>
Copier après la connexion
<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>
Copier après la connexion

查看集群状态
这里写图片描述

<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>
Copier après la connexion

查看集群状态
这里写图片描述

<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>
Copier après la connexion

这里写图片描述

<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>
Copier après la connexion
<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>
Copier après la connexion
<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>
Copier après la connexion
<code class=" hljs vbnet">配置psql文件(node1、node2)
vi /usr/<span class="hljs-keyword">lib</span>/ocf/resource.d/heartbeat/pgsql</code>
Copier après la connexion

这里写图片描述
这里写图片描述

需要确认的错误情况及解决方法:
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服务

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Impossible de démarrer dans l'environnement de récupération Windows Impossible de démarrer dans l'environnement de récupération Windows Feb 19, 2024 pm 11:12 PM

L'environnement de récupération Windows (WinRE) est un environnement utilisé pour réparer les erreurs du système d'exploitation Windows. Après avoir entré WinRE, vous pouvez effectuer une restauration du système, une réinitialisation d'usine, désinstaller les mises à jour, etc. Si vous ne parvenez pas à démarrer WinRE, cet article vous guidera à travers les correctifs pour résoudre le problème. Impossible de démarrer dans l'environnement de récupération Windows Si vous ne pouvez pas démarrer dans l'environnement de récupération Windows, utilisez les correctifs fournis ci-dessous : Vérifiez l'état de l'environnement de récupération Windows Utilisez d'autres méthodes pour accéder à l'environnement de récupération Windows Avez-vous accidentellement supprimé la partition de récupération Windows ? Effectuez une mise à niveau sur place ou une nouvelle installation de Windows ci-dessous, nous avons expliqué tous ces correctifs en détail. 1] Vérifiez le Wi-Fi

Quelles sont les différences entre Python et Anaconda ? Quelles sont les différences entre Python et Anaconda ? Sep 06, 2023 pm 08:37 PM

Dans cet article, nous découvrirons les différences entre Python et Anaconda. Qu’est-ce que Python ? Python est un langage open source qui met l'accent sur la facilité de lecture et de compréhension du code en indentant les lignes et en fournissant des espaces. La flexibilité et la facilité d'utilisation de Python le rendent idéal pour une variété d'applications, notamment le calcul scientifique, l'intelligence artificielle et la science des données, ainsi que pour la création et le développement d'applications en ligne. Lorsque Python est testé, il est immédiatement traduit en langage machine car il s’agit d’un langage interprété. Certains langages, comme le C++, nécessitent une compilation pour être compris. La maîtrise de Python est un avantage important car il est très facile à comprendre, développer, exécuter et lire. Cela rend Python

Adaptateur virtuel Microsoft Wi-Fi Direct : à quoi ça sert ? Adaptateur virtuel Microsoft Wi-Fi Direct : à quoi ça sert ? Jun 29, 2023 pm 12:33 PM

Vous vous demandez peut-être ce que fait l'adaptateur virtuel Microsoft Wi-Fi Direct sur votre PC. Soyez assuré que cet adaptateur réseau est Microsoft et totalement sécurisé. Mais si l'adaptateur perturbe votre activité et que vous vous demandez s'il vaut la peine de le conserver, ce guide vous donnera tout ce que vous devez savoir. À quoi sert l’adaptateur virtuel Microsoft Wi-Fi Direct ? Comme son nom l'indique, l'adaptateur virtuel Microsoft Wi-Fi Direct contribue à faire de votre PC un point d'accès sans fil. De cette façon, d'autres ordinateurs peuvent se connecter à votre PC pour accéder à Internet. Pour ce faire, il virtualise les adaptateurs réseau sans fil. De cette façon, votre unique adaptateur sans fil physique est converti en deux

Installation Keepalived et dérive automatique VIP Installation Keepalived et dérive automatique VIP Feb 19, 2024 pm 01:30 PM

Keepalived est une solution haute disponibilité basée sur LVS (Linux Virtual Server), principalement utilisée pour l'équilibrage de charge et le basculement dans les environnements Linux. Keepalived garantit la continuité et la fiabilité du service en utilisant des adresses IP virtuelles (VIP) et des mécanismes de contrôle de santé. Parmi eux, la dérive automatique VIP est une fonctionnalité clé de Keepalived, qui permet au service de basculer de manière transparente vers le serveur de sauvegarde en cas de panne du serveur principal. Cet article présentera brièvement l'installation et la configuration de Keepalived pour obtenir des clusters à haute disponibilité. Il est conçu pour fournir des conseils aux débutants pour les aider à maîtriser cette technologie clé et à améliorer leurs capacités de gestion du système Linux. Explication de la terminologie pour une compréhension plus approfondie de Kee

Puis-je toujours regarder des vidéos iQiyi après l'expiration de mon VIP ? Puis-je toujours regarder des vidéos iQiyi après l'expiration de mon VIP ? Mar 13, 2024 pm 03:30 PM

Après avoir téléchargé des vidéos iQiyi, puis-je toujours les regarder si mon VIP expire ? iQiyi Video est la plate-forme de premier choix pour de nombreux utilisateurs pour lire des séries cinématographiques et télévisées. Pour certaines ressources de films et de séries télévisées, les utilisateurs doivent recharger VIP pour les regarder. Alors, puis-je toujours regarder les vidéos que j'ai téléchargées après l'expiration de mon VIP ? Laissez ce site présenter soigneusement aux utilisateurs l'analyse du problème de savoir si les vidéos téléchargées par les membres d'iQiyi peuvent être visionnées après l'expiration de leur adhésion. Puis-je regarder des vidéos téléchargées par les membres iQiyi si mon abonnement expire ? Réponse : Vous ne pouvez pas les regarder ? Il s'agit principalement de la protection des droits d'auteur. Après l’expiration de l’abonnement, les films et séries télévisées VIP téléchargés ne peuvent plus être regardés. Et si vous souhaitez synchroniser vos vidéos hors ligne téléchargées avec d'autres appareils, cela n'est pas pris en charge. Liste des autres privilèges pour les membres iQiyi

Pouvez-vous écouter des chansons VIP gratuitement sur NetEase Cloud Music ? Comment écouter de la musique VIP si vous n'êtes pas VIP ? Pouvez-vous écouter des chansons VIP gratuitement sur NetEase Cloud Music ? Comment écouter de la musique VIP si vous n'êtes pas VIP ? Mar 13, 2024 pm 01:34 PM

NetEase Cloud Music possède de riches droits d'auteur sur les chansons. Vous pouvez ouvrir ce logiciel tous les jours et écouter toutes les bonnes chansons que vous souhaitez écouter. Vous pouvez toujours vous y plonger tous les jours et profiter d'un contenu de haute qualité pour soulager l'ennui. Il existe de nombreuses ressources de chansons et de nombreuses chansons gratuites, et certaines sont des chansons VIP, qui ne peuvent être écoutées que si vous êtes VIP, mais vous devez dépenser de l'argent pour ouvrir un VIP. De nombreux amis sont très mécontents et veulent savoir si. il existe un moyen de se prostituer gratuitement sans dépenser d'argent. Si vous souhaitez profiter de ces chansons gratuitement, l'éditeur vous propose ici plusieurs méthodes. Si vous en avez besoin, vous pouvez y jeter un œil et en savoir plus. que vous puissiez profiter gratuitement des chansons VIP que vous souhaitez écouter. Ne le manquez pas si vous êtes intéressé ! Dans NetEase Cloud Music, vous pouvez gagner un certain nombre de beans musicaux en vous connectant chaque jour.

Le code source de 25 agents IA est désormais public, inspiré de « Virtual Town » et de « Westworld » de Stanford Le code source de 25 agents IA est désormais public, inspiré de « Virtual Town » et de « Westworld » de Stanford Aug 11, 2023 pm 06:49 PM

Le public familier avec "Westworld" sait que ce spectacle se déroule dans un immense parc à thème pour adultes de haute technologie dans le monde futur. Les robots ont des capacités comportementales similaires à celles des humains, et peuvent se souvenir de ce qu'ils voient et entendent et répéter le scénario principal. Chaque jour, ces robots seront réinitialisés et ramenés à leur état initial. Après la publication de l'article de Stanford « Generative Agents : Interactive Simulacra of Human Behaviour », ce scénario ne se limite plus aux films et aux séries télévisées. L'IA a réussi à le reproduire. scène dans la « ville virtuelle » de Smallville 》Aperçu de l'adresse du papier cartographique : https://arxiv.org/pdf/2304.03442v1.pdf

La différence entre svip et vip dans le roman sur la tomate La différence entre svip et vip dans le roman sur la tomate Mar 21, 2024 am 08:36 AM

Aujourd’hui, alors que la lecture numérique devient de plus en plus populaire, les romans Tomato ont attiré un grand nombre de fans de livres grâce à leur contenu riche et leur expérience de lecture de haute qualité. Pour de nombreux utilisateurs qui aiment lire, devenir membre VIP ou SVIP de Tomato Novel peut bénéficier de droits plus exclusifs. Cependant, comme les prix des deux ne sont pas les mêmes, de nombreux utilisateurs ne comprennent toujours pas ce que sont Tomato Novel VIP et SVIP. s'il y a une différence, alors cet article vous donnera une analyse détaillée de la différence de droits entre les deux, dans l'espoir de vous apporter une meilleure expérience d'activation d'adhésion ! La réponse à la différence entre svip et vip dans Tomato Novels : La différence réside dans le niveau d'adhésion, les droits et les prix. 1. svip1. Droits du porte-parole : les membres peuvent obtenir l'album photo électronique et le skin exclusif du centre des membres ; 2. Privilèges sans publicité : écouter des livres,

See all articles