Heartbeat+DRBD+NFS高可用案例
9.4 部署DRBD 的需求描述
9.4.1 业务需求描述
假设两台服务器Rserver-1/Lserver-1, 其实际IP分别为192.168.236.143(Rserver)和192.168.236.192(Lserver)
配置目标:两台服务器分别配置好DRBD服务后、实现在Rserver-1机器上/dev/sdb 分区上写入数据、数据会时时的同步到Lserver-1机器上面、一旦服务器Rserver-1机器宕机或硬盘损坏导致数据不可用、Lserver-1机器上的数据此时是picdata-1机器的一个完整备份、当然、不光是一个完整的备份、还可以瞬间接替坏数据或宕机的Rserver-1机器上数据的异机时时同步、从而达到数据高可用无业务影响的目的
9.4.2 DRBD部署结构图
- Drbd服务通过直连或以太网实时互相数据同步、
- 两台存储服务器互相备份、正常情况下两端各提供一个主分区提供NFS使用
- 存储服务器之间、存储服务器和交换机之间都是双千兆网卡绑定(bonding)
- 应用服务器通过NFS访问存储
9.4.3服务主机资源规划
名称 |
接口 |
IP |
用途 |
Master(Rserver-1) |
Eth0 |
192.168.236.143 |
外网管理IP、用WAN转发数据转发 |
Eth1 |
172.16.1.1 |
内网管理IP,用于LAN数据转发 |
|
Eth2 |
192.168.1.1 |
用于提供心跳线路连接(直连) |
|
VIP |
192.168.236.10 |
用于提供应用程序A挂载服务 |
|
BACKUP(Lserver-1) |
Eth0 |
192.168.236.192 |
外网管理IP、用WAN转发数据转发 |
Eth1 |
172.16.1.2 |
内网管理IP,用于LAN数据转发 |
|
Eth2 |
192.168.1.2 |
用于服务器间心跳连接 |
|
VIP |
192.168.236.20 |
用于提供应用程序A挂载服务 |
9.4.5 drbd的环境配置
设置hosts文件 两台都配置 注意 这里是主机名也需要改成picadata-1-1 是主机名需要改
例如:hostname picadata-1-1 如果这步没有操作启动服务的时候会出现报错。
echo '172.16.1.1 Rserver-1'>>/etc/hosts
echo '172.16.1.2 Lserver-1'>>/etc/hosts
[root@Lserver-1 ~]# tail -2 /etc/hosts
172.16.1.2 Rserver-1
172.16.1.1 Lserver-1
8.3.3 配置服务器间心跳连接:
192.168.1.1 和192.168.1.2 两块网卡之间是通过普通网线直连连接的、即不通过交换机、直接把两块网卡连接在一起用于做心跳检测
Master:
ifconfig eth2 192.168.1.1 netmask 255.255.255.0
Backup:
ifconfig eth2 192.168.1.2 netmask 255.255.255.0
Rserver-1 server 上添加如下主机路由
route add –host 192.168.1.2 dev eth2
####这条命令是:从picdata-1-1 server 访问192.168.1.2 走网卡eth2出去、作为心跳线路
echo 'route add -host 192.168.1.2 dev eth2' >>/etc/rc.local
##-à加入开机自启动配置里、这样下次启动后就会自动加载这个路由配置。
route -n
Lserver-1 server 上添加如下主机路由
route add –host 192.168.1.2 dev eth2
####这条命令是:从picdata-1-2 server 访问192.168.1.2 走网卡eth2出去、作为心跳线路
echo 'route add -host 192.168.1.1 dev eth2' >>/etc/rc.local
##-à加入开机自启动配置里、这样下次启动后就会自动加载这个路由配置。
9.5 开始实施部署
9.5.1 硬盘进行分区
首先,通过fdisk,mkfs,ext3,tune2fs 等命令、对硬盘进行分区、分区信息如下表
提示:如果生产环境中单个硬盘和raid的硬盘大于2T fdisk 命令是查看不到的。
在虚拟机中添加两块硬盘。后面查看一下
Rserver-1 查看
[root@Rserver-1 ~]# fdisk -l
Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000486f5
Device Boot Start End Blocks Id System
/dev/sda1 * 1 64 512000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 64 2611 20458496 8e Linux LVM
Disk /dev/sdb: 21.5 GB, 21474836480 bytes
Lserver-1 查看
[root@Lserver-1 ~]# fdisk -l
Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00087dae