Linux/CentOS 7 HA Cluster

  • 集群拓扑图

     粉色 public 线表示与 WEB 相连,浮动 IP 设置在这条线上
     蓝色与绿色都为 storage,表示节点与资源之间
     红色 priate 属于节点间通讯的线
    
Paste_Image.png
  • 实验步骤

    实验需注意,有时在网页中调试时找不到自己要的或效果没出现,则将页面刷新然后等待一会儿。
    下图为实验的基础环境 ,分别有 classroom 、nodea 、nodeb 、nodec 、noded 、workstation;6 台机器,其中 classroom 当作资源站,目前实验需要用 nodea 、nodeb 、nodec;3 台


    Paste_Image.png

    第一步 :分别打开 classroom 、nodea 、nodeb 、nodec, 在 nodea 、nodeb 、nodec 上安装 PCS 包;
    第二步:重启 PCS 服务(systemctl restart pcsd ;systemctl enable pcsd)并关闭防火墙;为三个节点的 hacluster 用户设置相同的密码;
    第三步:在任意一台节点输入 pcs cluster auth nodea.cluster0.example.com nodeb.cluster0.example.com nodec.cluster0.example.com;然后用 hacluster 用户通过认;
    第四部:通过火狐浏览器登录(https ://nodea.cluster0.example.com:2224),选择添加信任此网站并用 hacluster 账户登录;


    Paste_Image.png

    ① Create New 新建一个集群
    Paste_Image.png

    ① 集群名

    ② ③ ④ 填我们的节点


    Paste_Image.png
  • 新建一个资源,当我们还没有配置fence时,我们要在cluster properties中将 stonith enable的勾去掉,否则资源不会running
Paste_Image.png

Class/Provider ofc :hertbeat
①选择 IPaddr2
②为这个资源取个名字
③此IP为浮动 IP


Paste_Image.png

有节点、有资源,最基本的集群完成了,quorum policy是 集群存货的要素。我们有三个节点,假设每个节点有一张票,我们有三个节点那么需要两个节点存活才算是一个集群,算法为 N/2+1 ,N 代表票数;
用Corosync-quorumtool -l 显示所有节点的信息与票数;
通过 vim /etc/corosync/corosync.conf/更改我们的票数,里面有我们节点的信息,在某个节点名下添加quorum-votes: 3 则此节点的票数会变为 3; 写完后先 stop 所有节点;
通过 pcs cluster sync 同步所有节点信息;
在此实验环境中,更改票数后 ,当 A 和 和 B 都DOWN 了,只有 C 存在, 这个集群还是存活的 , 但只要 C 节点 DOWN 了,无论A与B是否正常运行,这个集群都算挂了。

 在实体机与3台节点上安装 fence (yum -y install fence-virt\*)
 第一步:在 etc下新建一个 cluster 的目录;每一台PC都要新建这个目录
 第二步:在cluster下做一个密钥(dd if=/dev/zero of=fence_xvm.key bs=4k count=1)在任意一台终端上做即可;
 第三步:将我们的密钥完整,在做密钥的PC上输入 fence_virtd -c;到了 ①时输入br0(br0是这台PC的真实网卡,可以当作桥接器),其它选项全部默认;
 第四步:通过 scp 将钥匙复制带其它3个机器的/etc/cluster/下( 例:scp /etc/cluster/fence_xvm.key root@nodea.cluster0.example.com:/etc/cluster)
Paste_Image.png

③先择 先择 fence-xvm
④取一个名字
⑤此处填写节点的机器名


Paste_Image.png

①与②配置的是节点的优先级,数字越大优先级越高,优先级决定浮动 IP 与资源所在位置,优先级高的为主节点;
③如果填写resource-tickiness ,它的值将决定浮动 IP 是否会飘,当此值加上备份节点优先级的值大于主节点的值时,主节点从 standby到unstandby ,IP不会浮动到主节点;

  • 实验效果 :

    当resource 值+级 备份节点优先级 < 主节点优先级 主节点优先级
    B standby到unstandby 时资源的所在位置(可通过 crm_mon -1 查询)


    Paste_Image.png

    Paste_Image.png

    当resource 值+级 备份节点优先级 > 主节点优先级 主节点优先级
    B standby到unstandby 时资源的所在位置


    Paste_Image.png

    Paste_Image.png

    ①is-manage决定浮动 IP是否会飘,当值为 false 时IP 不会因节点挂了而飘到备份节点
    Paste_Image.png
  • 实验效果

Paste_Image.png

还有一个参数为 priority 这个参数的值不决定节点,而是比较所有的资源的值 , 比这个参数的值低的服务都会被DOWN掉

  • ISCSI 共享存储服务及多路径 共享存储服务及多路径

首先安装 targetcli ;新建一个 virtio 的目录
通过target 去配置
cd backstores/fileio
create iscsi_store
cd iscsi
create iqn.2016-09.com.example:storage
cd iqn.2016-09.com.example:storage/tpg1/acls
create iqn.2016-09.com.example:node luns
create /backstores/fileio/iscsi_store
配置完成后退到初始目录,通过 ls 看到的效果如下图
然后将服务重启systemctl restart target;systemctl enable target

Paste_Image.png

在每个节点安装iscsi (yum -y install iscsi*)
更改每个节点的initiatornam.isicsi 文件,将指向改为 iqn.2016-09.com.example:node
将节点与iscsi 连接,每个节点都要做;
配置如下
iscsiadm -m discovery -t st -p 192.168.1.13
Iscsiadm -m node -T iqn.2016-09.com.example:storage -p 192.168.1.13 -l(-l 连接-u 断开)
再使用 192.168.2.0 网段做一条作为备份
iscsiadm -m discovery -t st -p 192.168.2.13
Iscsiadm -m node -T iqn.2016-09.com.example:storage -p 192.168.2.13 -l

多路径

在每个节点上安装multipath (yum -y install device-mapper-multipath)通过 modprobe dm_multipath 在当前添加这个模块,通过 echo modprobe dm_multipath >> /etc/rc.d/rc.local 写入开机脚本

①multipath -l 查看当前信息
②将此路径下的multipath.conf复制到 etc 下然后重启服务(systemctl restart multipath;systemctl enable multipath)


Paste_Image.png

vim /etc/multipath.conf
将 ①处改为no,不需要自动生成名字,可以自己修改;


Paste_Image.png

如下图取消注释后
①将UUID 复制到 wwid 处(UUID 是独一无二的,通过 scis_id -u -g /dev/sda 查询, 如果无法使用 scis_id 这个指令,可以通过 find / -name scsi_id 查询路径,将路径复制到家目录的.bash_profile中,位置如下图;


Paste_Image.png

② 可以取一个自己想要的名字;通过 scp 将multipath.conf 复制到其它节点


Paste_Image.png

通过
fdisk /dev/mapper/charles
partprobe /dev/mapper/charles
mkfs.xfs /dev/mapper/charles
使其生效,通过任意节点都可查询

  • 实验效果看 ①

Paste_Image.png

yum -y install dlm lvm2-cluster 在每个节点安装锁机制并将逻辑卷升级为集群级,然后将单机版的逻辑卷关闭systemctl stop lvm2-lvmetad;systemctl disable lvm2-lvmetad ( 强调每个节点都做 )
通过 lvmconf --enable-cluster 将集群更改为集群级
进入配置文件/etc/lvm/lvm.conf 查看

 ①为查看结果(每个节点配置会同步,但以防万一,每个节点都检查一下)
Paste_Image.png

然后开始配置逻辑卷
配置如下图 ① ② ③
④ 检查是否成功,每个节点都会同步,都可以查看


Paste_Image.png
  • 实验效果

Paste_Image.png

紧接着写入集群中
锁机制配置如下图 ① ② ③
④取个名字


Paste_Image.png

LVM 配置如下图① ② ③
④ 取个名字


Paste_Image.png

然后在锁机制中添加一条规则,如②处,表示先启用锁机制再启用LVM
Paste_Image.png

安装 gfs2 (yum -y install gfs2-utils; 每个节点都要装)gfs2 是集群文件系统
安装好后配置如下,只需在一个节点配置
①mkfs.gfs2 -p lock_dlm -t cluster_one:myg2 -j 4 /dev/cluster_vg1/cluster_lv1

t 后面接集群的名字;j 是日志,有三个节点所以最小为 3
②输入Y就完成了


Paste_Image.png

将这个文件系统写入集群配置中
①heartbeat
②Filesystem
③取个名字
④逻辑卷的具体路径
⑤挂载路径
⑥文件类型 gfs2
⑦代表启用 代表启用ACL和磁盘配额
Paste_Image.png

将VIP、WEB、WEB-FS 资源绑定,顺序如下标号,打勾顺序决定资源启动的顺序
Paste_Image.png
  • 最后配置 rrp 心跳

    ①查看当前心跳线的位置(corosync-cfgtool -s)


    Paste_Image.png

    ①corosync主配置文件
    ② 模版


    Paste_Image.png

    ①心跳开关(后来写入的)
    ②指定心跳接口的配置

    ③第二个心跳指定接口,为心跳线做冗余


    Paste_Image.png

    保存退出
    pcs cluster stop --all 先将集群节点都停掉
    pcs cluster sync 将所有节点同步
    pcs cluster start --all 启动所有节点
    然后再查询,信息如下图
    Paste_Image.png

实验完成

  • 注意:集群名不能有空格,否则在格式成gfs2时会失败;在linux7中fence没配置会导致集群中很多服务泛红。

如有错误,谢谢提醒,初次HA集群实验报告

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335

推荐阅读更多精彩内容