HA

高可用集群

LB

负载均衡

HPC

分布式集群

 

HA高可用集群构架练习图

VM

环境密码        Asimov

virt-manager        启动VM的程序

rht-vmctl reset nodea  重装nodea机器

                all    重装所有

ssh -X root@nodec.cluster0.example.com   加载图形化

两节点不考虑票的概念

 

192.168.0.0

心跳网络

192.168.1.0

192.168.2.0

存储网络

172.25.0.0

业务网络

yum -y install pcs 红帽7集群包

 

systemctl stop firewalld.service

systemctl disable firewalld.service

systemctl start pcsd

systemctl enable pcsd

echo redhat | passwd --stdin hacluster

 

pcs cluster auth nodea.cluster0.example.com nodeb.cluster0.example.com nodec.cluster0.example.com 3台机器加入集群(做一次就可以)

 

打开火狐

    firefox https//nodea.cluster0.example.com:2224

 

nodes

节点

resources

资源

fence  devices

阻止

acls

访问控制列表

cluster  properties

集群

Stonith  Enabled

爆头机制

manage  clusters

 

vip 虚拟ip

 

crm_mon -1

 

pcs  cluster enable --all

永久开启所有设备

 

pcs  cluster standby

负载百分百

pcs  cluster unstandby

取消负载百分百

pcs  cluster stop

关闭,停止

Quorum

集群存活的因数

当集群三节点中两台机器都坏掉了,集群就已经挂了

 

corosync-quorumtool  -l

查看集群当中的票数

quorum=N/2+1

n=总票,最低的quorum票数标准

vim  /etc/corosync/corosync.conf

节点之间做同步的文件

quorum_votes:

pcs  cluster stop --all

关闭所有

pcs  cluster sync

同步所有

pcs  cluster start

开启所有

建议不要修改票数,保持默认票数

 

 

fence  通过fence来解决脑裂

 

ifdown

关掉哪块网卡

ifup

起哪块  网卡

 

yum -y install fence-virt*

mkdir /etc/cluster

dd if=/dev/zero of=/etc/cluster/fence_xvm.key bs=4k count=1

fence_virtd -c

 

 

 

abc全部创建 /etc/cluster

abc全部下发

 

systemctl restart fence_virtd

systemctl restart libvirtd

        enable

 

 

pcmk_host_list  输入abc的主机名

 

 

pcs  stonith fence nodea

手动fence

 

/dev/null

空设备,是一个无底洞

/dev/zero

空设备,从无到有

 

dd if=/dev/zero of=aa bs=1M count=100

 

 

 

资源:

 

IP/web server(httpd) ----/var/www/html/filesystem

 

ocf:heartbeat  类似与心跳的作业

systemd     系统服务    在集群当中只需要安装这个服务不需要启动这个服务

 

 

failback

资源选优回漂

计算机生成了可选文字: ResourceLocationPreferences(2) Node爪tlle SCOFe Reln0Ve nodebclustero.exanlplecom nodecclusteroexanlplecom X 80七片 Add

 

添加这个值:

 

resource-stickiness    39   这个值会和备份加点值相加

计算机生成了可选文字: ResourceMetaAttributes(1) Me位At臼ibLlte V司Lle Pelll0Ve FeSOUrCe一StiCkineSS X 卜 Add

 

is-managed   false  一当添加这个值 这个资源不受集群控制

 

计算机生成了可选文字: ResourceMetaAttributes(O)

 

priority  默认为自动放弃优先级最低的资源

pcs resource group add web1 vip httpd-service

 

systemctl is-active httpd 服务启动状态

systemctl status httpd

 

echo nodea > index.html

 

 

 

 

 

 

/var/log Linux 全部日志的文件

 

/etc/corosync/corosync.conf

logfile /var/log/cluster/cluster.log

计算机生成了可选文字: ·Ogging{ :o_SySlog .ogflle: } 。一TN叹FpT :yes /var/109/cluster/cluster.log

 

pcs cluster stop --all

pcs cluster sync

pcs cluster start --all

 

cluster.log这个日志不会同步,必须每个节点都来做

                        生成集群节点的日志

 

监控机制:

脚本监控

vim cluster.sh

#!/bin/bash

date > aa.txt

wq

 

chmod +x cluster.sh

scp cluster.sh root@nodea.cluster0.example.com/root

资源下添加

计算机生成了可选文字: CIasslProvider一ocf:pacemaker 一pe{ Descrlption: ResourceGroup: CIone: MasteFIS}即e: Disabled: CIUSteFM0n Runscrm_monInthebackground,recordingtheclusterstatustoanHTMLfileo Web 国已厂 Re‘。“rce'D画约 ,optionalArgUmentS: USer upd献e eXtra--options pldfi}e htm}fl}e /下 一J.一 Web 睡通皿国团团口抽口口口口口口口口口口口口

 

邮件监控

 

netstat -tulnp 查看端口

netstat -tulnp | grep 25

 

nfs

配置文件的目录/etc/exports

 

 

 

 

 

SAN

FCSAN  光钎

iscsiSAN价格便宜,通过网线接入

 

 

df -h

查看分区的剩余空间

df -l

查看分区

 

mkdir /virtio

dd if=/dev/zero of=/virtio/vdsik1 bs=1M count=500

 

du -sh  vdisk1

查看大小

 

yum -y install targetcli

 

systemctl enable target

tarfetcli

 

backstores  存储设备放在里面

block     真实的设备

fuleio

pscsi

ramdisk

 

create> iscsi_store /virtio/vdisk1

 

create iqn.2016-09.com.example:storage

 

cd

 

create iqn.2016-09.com.example:storage/tpg1/acls

clearte iqn.2016.09.com.example:node

 

create  /backstores/fileio/iscsi_store

 

vim initiatorname.iscsi

iqn.2016.09.com.example:node

 

iscsiadm -m discovery -t sendtargets -p 192.168.1.13

iscsiadm -m node -T iqn.2016-09.com.example:storage -p 192.168.1.13 -l

 

iscsiadm -m discovery -t st -p 192.168.1.13 -l

 

iscsiadm -m node -U all 停掉所有的设备

iscsiadm -m node -u      单独停掉哪一台

iscsiadm -m node -o delete  删除规则

 

 

 

多路径(把两条链路整合成一条路径)

 

yum -y install device-mapper-multipath

 

systemctl restart multipathd.service

systemctl enable multipathd.service

multipath -l  查看

 

kernel  driver

内核模块

 

lsmod | grep multipath    查看这个mod模块

modprobe dm_multipath   加载这个mod模块 (当前生效)

 

vim /etc/rc.d/rc.local  开机脚本目录文件

chmod +x /etc/rc.d/rc.local

 

计算机生成了可选文字: 。七U11! 【rootenodea一]#cp/usr/share/doc/devlce一mapper一multlpath一0 etc/multlpath.conf 【rootonodea一]# .4.9/multipath.conf/

 

cd /dev/mapper/   全部存放逻辑设备

 

vim /etc/multipath.conf

 

计算机生成了可选文字: 津Useuserfriendly names insteadofusingWWIDsasnames. 口日 n jefaults{ user--frlendly_names findmultipathsyes

 

 

vim /root/.bash_profile

计算机生成了可选文字: 「OOt@nodea:~ FiLeEditViewSearchTerminatTabsHeLP ‘、“县f、山习.翻。… #.bash_profile 「oot@nodea:~ 1、十厂宁 #GetthealiaseSsndfUnCtionS If【一f一/.bashrc」;then ~/.bashrc fi #Userspeciflcenvlronmentandstartupprograms PATH=$PATH:$HOME/bln: exportPATH I :wq!.

 

source .bash_profile

scsi_id -u -g /dev/sda

 

cd /etc/multipath

 

 

clm 共享存储的文件同步

 

集群及的文件系统

gfs2

 

clone克隆技术

 

yum -y install dlm lvm2-cluster.x86_64

 

/etc/lvm.comf主配置文件

 

 

lvmconf  --enable-cluster

自动将locking_type改为3

 

systemctl stop lvm2-lvmetad.service ; systemctl disable lvm2-lvmetad

 

clvmd -R ; partprobe /dev/mapper/mpatha   创建磁盘后同步

 

yum -y instll gfs2-utils*   文件系统的包

 

mkfs.gfs2 -p lock_dlm(机制) -t cluster1:xxxx -j 4(日志区的个数)/dev/vg1/lv1  文件系统格式化

 

gfs2_jadd 1 /dev/vg1/lv1   向这个地方添加了一块日志区

 

红帽6

tune2fs -l /dev/sda5 查看ext文件系统的分区的详细信息

tune2fs -o acl /dev/sda5 mount -o remount,acl /dev/sda5 给这个分区添加一个acl选项,重新加载了一次。

 

mount -o remount,acl /xx  当前生效给gfs添加acl权限

 

mount -o remount,quota=on /xx 开放磁盘配额

quota  磁盘配额

 

quotacheck -cugm /xx   扫描

edquota -u   限制用户

 

blicks

kb为单位

inodes

文件数量

soft

软限制

hard

硬限制

 

 

 

RNP 心跳功能

corosync-cfgtool -s 查看心跳网络

 

corosync.conf   配置文件

 

cp corosync.conf.example corosync.conf.example.bak

 

16行括号下面的注释都删掉

 

transport: udpu

rrp_mode: active

interface {

ringnumber: 0

bindnetaddr: 172.25.0.0

mcastaddr: 239.255.1.1

mcastport: 5405

ttl: 1

}

 

interface {

ringnumber: 1

bindnetaddr: 192.168.0.0

mcastaddr: 239.255.1.1

mcastport: 5405

ttl: 1

}

 

rm -rf corosync.conf.example.bak

 

pcs cluster stop --all

pcs cluster sync

pcs cluster start --all