新手搭建高可用集群,管理集群

集群管理高可用(HA)


一台物理机192.168.0.1两台节点机192.168.0.103 192.168.0.100

需要保证:Networkanager关闭, 火墙关闭, selinux可以开启, 时间同步

物理机配置ntp服务器vim /etc/ntp.conf

添加:

server 127.127.1.0

fudge 127.127.1.0 stratum 8

重启服务/etc/init.d/ntpd restart

ntpq -p查看同步状态,出现以下情况,说明同步成功。


remote refid st t when poll reach delay offset jitter

==============================================================================

*LOCAL(0) .LOCL. 8 l 37 64 37 0.000 0.000 0.000

客户端可以同步ntpdate 192.168.0.1


物理机解析vim /etc/hosts

192.168.0.103 vm1.example.com

192.168.0.100 vm2.example.com

192.168.0.1 sxy.example.com

两个节点机做解析

192.168.0.103 vm1.example.com

192.168.0.100 vm2.example.com


在集群节点管理机上安装luci服务,它可以提供一个web网页来管理集群节点

物理机yum install -y luci图形化的配置集群的服务

/etc/init.d/luci start

chkconfig luci on

提醒访问网页https://sxy.example.com:8084


两节点机:

首先配置yum源 vim /etc/yum.repos.d/yum.repo

[server1]

name=localhost

baseurl=ftp://192.168.0.1/pub/rhel6.3

gpgcheck=0


[server2]

name=localhost

baseurl=ftp://192.168.0.1/pub/rhel6.3/HighAvailability

gpgcheck=0


[server3]

name=localhost

baseurl=ftp://192.168.0.1/pub/rhel6.3/LoadBalancer

gpgcheck=0


[server4]

name=localhost

baseurl=ftp://192.168.0.1/pub/rhel6.3/ScalableFileSystem

gpgcheck=0


[server5]

name=localhost

baseurl=ftp://192.168.0.1/pub/rhel6.3/ResilientStorage

gpgcheck=0


两台节点机:

yum install -y ricci 图形化的配置集群的服务

chkconfig ricci on

重置ricci密码为root passwd ricci


访问网页https://sxy.example.com:8084

首先root登录,可以给本地普通用户授权管理节点,之后用普通用户登录。

新手搭建集群,集群管理。

新手搭建集群,集群管理。


用户登录可以create创建集群,add添加节点。

添加成功后,出现如下图

新手搭建集群,集群管理。


点进一个节点,要是如下图开启这些服务就说明此节点状态正常

新手搭建集群,集群管理。

Fence Devices隔离设备

相当于电源交换机,一个节点故障,可直接将其踢掉,相当于拔掉电源。

需要在管理集群节点的机子上安装隔离设备的包

yum install fence-virt fence-virtd fence-virtd-libvirt fence-virtd-multicast -y

fence_virtd -c 设置隔离设备

一直回车保持默认,除了Interface[none]:br0(虚拟机通信接口) Backend module:libvirt

mkdir /etc/cluster/

加密创建fence_xvm.key :dd if = /dev/urandom of=/etc/cluster/fence_xvm.key bs=128 count=1

key考给两个节点机

scp /etc/cluster/fence_xvm.key vm1:/etc/cluster

scp /etc/cluster/fence_xvm.key vm2:/etc/cluster

/etc/init.d/fence_virtd start

chkconfig fence_virtd on

在网页添加fence设备:

新手搭建集群,集群管理。

add fence method;

新手搭建集群,集群管理。

add fence instance:domain填对应节点机的UUID


新手搭建集群,集群管理。

新手搭建集群,集群管理。

可手动踢出一个节点,由另一个节点接管。

fence_xvm -H vm1

Failover Domains错误维护域

新手搭建集群,集群管理。

优先级数字越小优先级越高。

Resources添加资源

1.添加浮动IP,需要是一个ping不通的IP

新手搭建集群,集群管理。


2.添加脚本script,比如开启apache的脚本

新手搭建集群,集群管理。

还可添加文件系统等等。

Services Groups服务管理组

新手搭建集群,集群管理。


点击add resource:添加之前建立的192.168.0.200 IP资源,和之前创建的apache这个脚本:

新手搭建集群,集群管理。

新手搭建集群,集群管理。
在节点机上可执行以下命令:

clusvcadm -d web 关闭此服务组
clustat
 查看节点和服务的状态
clusvcadm -e web
 开启此服务组

服务组创建成功之后,节点机上clustat查看集群状态

新手搭建集群,集群管理。


刚刚添加了apache服务,所以要在每个节点上安装apache服务。

为了区分两台内容可以重新编辑一下默认访问主页

cd /var/www/html/

echo `hostname` > index.html

ok现在可以在web网页上访问刚刚添加的那个浮动ip

网页访问192.168.0.200

新手搭建集群,集群管理。


就可以看到你做的那个优先级高的节点机在接管服务。

如果将这个节点上的http关掉,那么那个优先级低的候补立马接管。

如果ifconfig eth0 down 使这个节点的网卡关掉,他会尝试恢复,如果恢复不了,他就会被集群forceoff,然后重启当替补,如果优先级高的话,那么就会立即接管。

分配集群资源

给集群管理加存储服务,在一个存储服务器上共享一块硬盘,作为存储(在实验中,就直接在集群管理的那台服务器上共享一块硬盘)

物理机上:

yum install scsi-*

lvcreate -L 2G -n iscsi vg0 创建/dev/vg0/iscsi逻辑卷

vim /etc/tgt/targets.conf

 

backing-store /dev/vg0/iscsi

initiator-address 192.168.0.103 //两台节点机IP

initiator-address 192.168.0.100

 

开启服务 /etc/init.d/tgtd start chkconfig tgtd on

tgt-admin -s 查看设备共享的信息

两个节点机都要做以下操作:

yum install -y iscsi-*

iscsiadm -m discovery -t st -p 192.168.0.1 //查找iscsi设备是否在1主机上

iscsiadm -m node -l //登录到iscsi设备

fdisk -l 可查看多了一块共享硬盘/dev/sdb

新手搭建集群,集群管理。

 

这时在节点1主机vm1上创建一个主分区

1.现在在一个节点上给此设备做 分区和格式化 (做本地文件系统 ext4)

fdisk -cu /dev/sdb

会同步到vm2节点机。

格式化为ext4格式文件系统

mkfs.ext4 /dev/sdb1

在节点2主机vm2上执行partprobe,更新内核分区表,cat /proc/partitions查看内核分区。

vm1上现在将此设备先挂载到/var/www/html下 mount /dev/sdb1 /var/www/html/

给设备上写入东西,方便访问echo www.westos.org > /var/www/html/index.html

现在解挂 umount /var/www/html

vm2上挂载mount /dev/sdb1 /var/www/html/cat /var/www/html/index.html可查看vm1 html的内容。交给集群管控,哪台工作,哪台被挂


web管理界面上添加存储设备资源和资源组 先关闭资源组clusvcadm -d web

新手搭建集群,集群管理。


再去资源组添加此资源

新手搭建集群,集群管理。


现在开启服务组 clusvcadm -e web

注意:ext4为本地文件系统两个节点只能一方卸载,另一方挂载之后才可看到共享磁盘的信息,不可两边同时挂载,gfs2可实现多节点同时挂载,同时写入数据,实现数据同步。可是gfs2必须在集群平台上才能挂载,若集群挂掉,gfs2文件怎么办呢?方法是导出集群文件dd if=/dev/clustervg/gfs2demo of=gfs2.img bs=128 count=1,再执行挂载命令mount -t gfs2 -o lockproto=lock_nolock,loop gfs2.img /mnt

2.现在在一个节点上给此设备做 分区和格式化 (做网络文件系统 gfs2)

clusvcadm -d web 先停掉服务组

网页上将服务组Service Groups里的文件系统资源去掉,再到资源Resources里删掉存储设备资源

新手搭建集群,集群管理。

vm1fdisk -cu /dev/sdb

把分区/dev/sdb1做成lvm格式

lvmconf --enable-cluster(相当于vim /etc/lvm/lvm.conf 设置locking_type = 3,使它可以支持集群 )

/etc/init.d/clvmd restartvm2上也要执行这两步)

pvcreate /dev/sdb1 //创建pv

vgcreate -cy clustervg /dev/sdb1 //创建vg取名为clustervg,使其支持cluster


新手搭建集群,集群管理。

lvcreate -L 1G -n gfs2demo clustervg //创建lv 取名为gfs2demo

同时vm2上可查看创建lvm同步

新手搭建集群,集群管理。

格式化为gfs2的格式 -t跟更集群的名字:后是标签

mkfs.gfs2 -p lock_dlm -t mycluster:mygfs2 -j 3 /dev/clustervg/gfs2demo

新手搭建集群,集群管理。

用集群管理gfs2文件:

方法1:写入开机自动挂载文件里

blkid 查看挂载设备的UUID,标签等信息

新手搭建集群,集群管理。


vim /etc/fstab

UUID="dc966f09-5b9e-a13b-c210-2299bd5e36a1" /var/www/html gfs2 _netdev,defaults 0 0

可以用UUID挂载,也可以用设备/dev/mapper/clustervg-gfs2demo挂载

mount -a 全部挂载(vm2上也执行这两步)

两边可以同时挂载,vm1上导入index.htmlvm2上可查看信息。

clusvcadm -e web开启web服务组,网页登录192.168.0.200验证


新手搭建集群,集群管理。

方法2:直接在集群管理界面添加

clusvcadm -d web 停掉服务组

vim /etc/fstab 屏蔽掉挂载设备这行

#UUID="dc966f09-5b9e-a13b-c210-2299bd5e36a1" /var/www/html gfs2 _netdev,defaults 0 0

网页上在资源Resources加存储设备资源,集群管控 加服务组

新手搭建集群,集群管理。

可以用设备,UUID,标签挂载。

添加之前mygfs2文件到服务组里,注意服务组里的顺序最好是Ipaddress ,GFS2 ,Script

新手搭建集群,集群管理。


clusvcadm -e web 开启服务组 网页访问192.168.0.200验证

gfs2_tool journals /dev/clustervg/gfs2demo //查看日志

journal2 - 128MB

journal1 - 128MB

journal0 - 128MB

3 journal(s) found.

多路经存储 DM存储

首先卸载umount /var/www/html

关闭服务组clusvcadm -d web,网页上移除gfs2的资源和组。

两个节点机上:

vgremove clustervg

pvremove /dev/sdb1

iscsiadm -m node -u 登出iscsi服务器

iscsiadm -m node -o delete 删掉节点

多路经存储(在一做存储的服务器上共享一块存储磁盘设备用192.168.0.110这台主机替代物理机,在这个服务器上加一块虚拟磁盘,加一个虚拟网卡),将这个虚拟磁盘共享出去

192.168.0.110这台主机上

yum install scsi-*

/etc/init.d/tgtd start

cat /etc/udev/rules.d/70-persistent-net.rules 查看多了一个虚拟网卡eth1

vim /etc/tgt/targets.conf

 

backing-store /dev/vg0/iscsi

initiator-address 192.168.0.103 //两台节点机IP

initiator-address 192.168.0.100

 

开启服务 /etc/init.d/tgtd start

配置另一快网卡cd /etc/sysconfig/network-scripts/
ls
cp ifcfg-eth0 ifcfg-eth1

/etc/init.d/network restart

此主机有两个IP192.168.0.110 和 192.168.0.113
在所有节点上 登入这个共享设备 多路登入 做冗余

两个节点机上都要做:

iscsiadm -m discovery -t st -p 192.168.0.110
iscsiadm -m node -p 192.168.0.110 -l
iscsiadm -m discovery -t st -p 192.168.0.113
iscsiadm -m node -p 192.168.0.113 -l
fdisk -l

新手搭建集群,集群管理。

两台节点机上安装 device-mapper-multipath
yum install device-mapper-multipath
( multipath –enable,提醒让执行/sbin/mpathconf --enable 来生成 /etc/multipath.conf文件(这个只需要在一个节点上做,其他的复制这个配置文件)
vim /etc/multipath.conf

新手搭建集群,集群管理。

 

/etc/init.d/multipathd start 启动多路映射服务

scp /etc/multipath.conf 192.168.0.103:/etc/ 复制给另一节点/etc/init.d/multipathd start

chkconfig multipathd on设置开机自启动

multipath -l 查看多路映射设备信息

新手搭建集群,集群管理。

fdisk -l查看分区,多了一个分区/dev/mapper/mpathb

新手搭建集群,集群管理。

要想给分区起一个别名vim /etc/multipath.conf

multipaths {

multipath {

wwid "1IET 00010001" //idmultipath -l查看的id号加双引号

alias clusterstorage //起别名为clusterstorage

}

}


新手搭建集群,集群管理。

fdisk -cu /dev/mapper/ clusterstorage 在这个设备上做主分区(在一个节点上做,其他节点会同步)

cat /proc/partitions 看是否分区刷新成功(所有节点都做)

partprobe 刷新内核分区表


mkfs.ext4 /dev/mapper/clusterstoragep1
 格式化

ccs -h vm1.example.com -p root --addresource fs name=web_fs device=/dev/mapper/clusterstoragep1 mountpoint=/var/www/html/ fstype=ext4 #vm1节点添加文件资源 web_fs,挂载到/var/www/html/

ccs -h vm1.example.com --sync #同步到vm2,需要ricci的密码(即root

ccs -h vm1.example.com --lsservices #列出服务

或者直接mount /dev/mapper/ clusterstoragep1 /var/www/html挂载测试 写个东西
cd /var/www/html
ls
vim index.html
web管理上将web_fs添加 存储设备资源 和服务组

新手搭建集群,集群管理。

新手搭建集群,集群管理。

clusvcadm -e web 网页登录192.168.0.200验证。


转载于:https://my.oschina.net/19940429/blog/267775

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值