概述
结合nginx的负载均衡,利用iscsi实现的是共享存储。利用pacemaker的高可用,解决单点故障,实现双机热备。
实验环境说明:selinux 和 iptables 禁用
主机名 | servera | serverb | server2 |
---|---|---|---|
IP | 192.168.1.136 | 192.168.1.116 | 192.168.1.102 |
职能 | nginx pacemaker | nginx pacemaker | scsi 存储 |
ISCSI存储配置
服务端配置
(1)在服务端server2上添加一块虚拟磁盘(vdb),大小自定义
(2)安装 iscsi 软件并启动:
[root@server2 ~]# yum install -y targetcli
[root@server2 ~]# systemctl enable --now target
(3)配置 iscsi 存储输出:
[root@server2 ~]# targetcli
/> cd /backstores/block/
/backstores/block> create mydisk /dev/vdb
/> cd /iscsi/
/iscsi> create iqn.2020-08.org.westos:storage1
/iscsi> cd iqn.2020-08.org.westos:storage1/tpg1/acls/
/iscsi/iqn.20...ge1/tpg1/acls> create iqn.2020-08.org.westos:client
/iscsi/iqn.20...ge1/tpg1/acls> cd ..
/iscsi/iqn.20...storage1/tpg1> cd luns/
/iscsi/iqn.20...ge1/tpg1/luns> create /backstores/block/mydisk
/iscsi/iqn.20...ge1/tpg1/luns> exit
客户端配置
在 servera 和 serverb上执行以下命令
(1)在两台高可用节点上安装 iscsi 客户端软件
yum install -y iscsi-initiator-utils
(2)在 servera 上配置 iscsi:
[root@servera ~]# iscsiadm -m discovery -t st -p 192.168.1.102 //-m, 同 --mode, 其选项有 discovery, node, fw(启动值), host, iface(iSCSI 接口)和 session。-t, 类型, 其选项有 sendtargets(st), fw 和 isns, 仅在 -m 模式为 discovery 时有效。-p, 指定其目标主机的 IP 地址和端口,默认端口为 3260.
[root@servera ~]# iscsiadm -m node -l //注册
[root@servera ~]# ll /dev/sda //此时可以看到客户端会出现一个新硬盘
[root@servera ~]# fdisk /dev/sda //分区
[root@servera ~]# mkfs.xfs /dev/sda1 //格式化
(3)在 serverb 上配置 iscsi:此节点无需对磁盘分区格式化
[root@serverb ~]# iscsiadm -m discovery -t st -p 192.168.1.102
[root@serverb ~]# iscsiadm -m node -l
Pacemaker 高可用配置
(1)启动集群
[root@servera ~]# pcs cluster start --all
(2)配置集群资源
[root@servera ~]# pcs resource create vip ocf:heartbeat:IPaddr2 ip=172.25.13.100 op monitor interval=30s
[root@servera ~]# pcs resource create webdata ocf:heartbeat:Filesystem device="/dev/sda1" directory="/usr/local/nginx/html" fstype=xfs op monitor interval=60s
[root@servera ~]# pcs resource create website systemd:nginx op monitor interval=60s
[root@servera ~]# pcs resource group add webserver vip webdata website //防止集群节点恢复后资源自动迁移
[root@servera ~]# pcs resource defaults resource-stickiness=100