一、环境准备
[root@master ~]# uname -r
3.10.0-957.el7.x86_64
[root@master ~]# cat /etc/centos-release
CentOS Linux release 7.6.1810 (Core)
IP地址规划
主机名 | IP地址 |
master | 192.168.1.120 |
slave | 192.168.1.123 |
虚拟ip地址 | 192.168.1.200 |
二、规划图
三、基础环境部署
master和slave上都操作
1.修改主机名
hostnamectl set-hostname master
hostnamectl set-hostname slave
2.修改/etc/hosts/
192.168.1.120 master
192.168.1.123 slave
3.关闭防火墙
# 立即关闭firewalld
systemctl stop firewalld
# 设置firewalld开启不启动
systemctl disable firewalld
# 查看firewalld的状态
systemctl status firewalld
4.关闭seLinux
# 临时关闭seLinux
setenforce 0
# 永久关闭selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
# 查看seLinux
getenforce
5.配置静态ip地址
vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
BOOTPROTO="static"
DEVICE="ens33"
NAME="ens33"
ONBOOT="yes"
IPADDR="192.168.1.120"
PREFIX=24
GATEWAY="192.168.1.1"
DNS1=114.114.114.114
TYPE="Ethernet"
BOOTPROTO="static"
DEVICE="ens33"
NAME="ens33"
ONBOOT="yes"
IPADDR="192.168.1.123"
PREFIX=24
GATEWAY="192.168.1.1"
DNS1=114.114.114.114
6.建立免密通道
ssh-keygen -t rsa # 一路回车
ssh-copy-id -i id_rsa.pub root@master
ssh-copy-id -i id_rsa.pub root@slave
7.同步时间
crontab -e
* */1 * * * /usr/sbin/ntpdate cn.pool.ntp.org
#重启crond服务
service crond restart
四、部署Heartbeat
1.安装依赖关系
yum install -y gcc gcc-c++ autoconf automake libtool glib2-devel libxml2-devel bzip2 bzip2-devel e2fsprogs-devel libxslt-devel libtool-ltdl-devel asciidoc
2.创建用户和组
groupadd haclient
useradd -g haclient hacluster
3.下载软件包
wget http://www.xxshell.com/download/heartbeat/Reusable-Cluster-Components-glue.tar.gz
wget http://www.xxshell.com/download/heartbeat/resource-agents-3.9.6.tar.gz
wget http://www.xxshell.com/download/heartbeat/Heartbeat-3.0.tar.gz
4.安装Reusable-Cluster-Components-glue
#解压
tar -xzvf Reusable-Cluster-Components-glue.tar.gz
#进入 Reusable-Cluster-Components-glue
cd Reusable-Cluster-Components-glue
#执行脚本
./autogen.sh
#编译配置
./configure \
--prefix=/usr/local/heartbeat \
--with-daemon-user=hacluster \
--with-daemon-group=haclient \
--enable-fatal-warnings=no LIBS='/lib64/libuuid.so.1'
#编译安装
make && make install
#查看上一条命令的返回值,用来判断编译是否成功
echo $?
#返回到上一级目录
cd ..
5.安装resource-agents-3.9.6
#解压
tar -xzvf resource-agents-3.9.6.tar.gz
#进入resource-agents-3.9.6
cd resource-agents-3.9.6
#执行脚本
./autogen.sh
#编译配置
./configure \
--prefix=/usr/local/heartbeat \
--with-daemon-user=hacluster \
--with-daemon-group=haclient \
--enable-fatal-warnings=no LIBS='/lib64/libuuid.so.1'
#编译安装
make && make install
#查看上一条命令的返回值,用来判断编译是否成功
echo $?
#返回到上一级目录
cd ..
6.安装Heartbeat-3.0
#解压
tar -xzvf Heartbeat-3.0.tar.gz
#进入Heartbeat-3.0
cd Heartbeat-3.0
#执行脚本
./bootstrap
#输出变量
export CFLAGS="$CFLAGS -I/usr/local/heartbeat/include -L/usr/local/heartbeat/lib"
#编译配置
./configure \
--prefix=/usr/local/heartbeat \
--with-daemon-user=hacluster \
--with-daemon-group=haclient \
--enable-fatal-warnings=no LIBS='/lib64/libuuid.so.1'
#编译安装
make && make install
#查看上一条命令的返回值,用来判断编译是否成功
echo $?
五、HeartBeat配置
master上操作
1.复制HeartBeat包中doc下列文件到指定目录
cp doc/{ha.cf,haresources,authkeys} /usr/local/heartbeat/etc/ha.d/
2.编辑ha.cf配置文件
vim /usr/local/heartbeat/etc/ha.d/ha.cf
# 全部注释(文件里还有2行需要注释)
# 添加以下配置
# ipfail文件路径可能不同,使用 find 查找 --》find / -name 'ipfail'
debugfile /var/log/ha-debug
logfile /var/log/ha-log
logfacility local0
keepalive 1
deadtime 10
warntime 5
initdead 60
udpport 694
ucast ens33 192.168.1.123 # 主要网卡名字(我的是ens33)和IP地址(slave的ip地址)
auto_failback on
node master # 节点名字(master)
node slave # 节点名字(slave)
ping 192.168.1.1 # 网关
respawn hacluster /usr/local/heartbeat/libexec/heartbeat/ipfail
配置文件参数
debugfile /var/log/ha-debug:heartbeat的调试信息。
logfile /var/log/ha-log: heartbeat的日志文件。
keepalive 1: 心跳的时间间隔,默认时间单位为秒s。
deadtime 10:心跳超时时间,超过该则认为对方已经失效。
warntime 5: 超出该时间间隔未收到对方节点的心跳,则发出警告并记录到日志中。
initdead 60:在某系统上,系统启动或重启之后需要经过一段时间网络才能正常工作,该选项用于解决这种情况产生的时间间隔,取值至少为deadtime的2倍。
udpport 694:设置广播通信使用的端口,694为默认使用的端口号。
ucast ens33 192.168.1.123:设置单播对方机器心跳检测的网卡和IP。
auto_failback on:heartbeat的两台主机分别为主节点和从节点。主节点在正常情况下占用资源并运行所有的服务,遇到故障时把资源交给从节点由从节点运行服务。在该选项设为on的情况下,一旦主节点恢复运行,则自动获取资源并取代从节点,否则不取代从节点。
respawn heartbeat /usr/lib/heartbeat/ipfail:指定与heartbeat一同启动和关闭的进程,该进程被自动监视,遇到故障则重新启动。最常用的进程是ipfail,该进程用于检测和处理网络故障,需要配合ping语句指定的ping node来检测网络连接。如果你的系统是64bit,请注意该文件的路径。
3.编辑haresources
vim /usr/local/heartbeat/etc/ha.d/haresources
#在第一行添加以下内容
master 192.168.1.200/24/ens33
配置文件介绍
192.168.1.200:虚拟IP
24:子网掩码
ens33:网卡名称
master 192.168.1.200/24/ens33 [进程名称] 还可以添加进程名称,用来同时监控服务器与进程
4.编辑authkeys,配置加密参数并附加权限
vim /usr/local/heartbeat/etc/ha.d/authkeys
#在最后添加加密参数
auth 2 # 表示使用id为2的验证,下边需要定义一个2的验证算法
2 md5 hello # id为2的验证加密为md5,并添加密码。
#给authkeys配置权限
chmod 600 /usr/local/heartbeat/etc/ha.d/authkeys
5.拷贝以上3个配置文件到slave服务器上
scp /usr/local/heartbeat/etc/ha.d/{ha.cf,haresources,authkeys} root@slave:/usr/local/heartbeat/etc/ha.d/
[root@master Heartbeat-3.0]# scp /usr/local/heartbeat/etc/ha.d/{ha.cf,haresources,authkeys} root@slave:/usr/local/heartbeat/etc/ha.d/
ha.cf 100% 11KB 7.4MB/s 00:00
haresources 100% 5933 5.0MB/s 00:00
authkeys 100% 664 669.3KB/s 00:00
slave上操作
编辑ha.cf配置文件,其他配置文件不用操作
vim /usr/local/heartbeat/etc/ha.d/ha.cf
debugfile /var/log/ha-debug
logfile /var/log/ha-log
logfacility local0
keepalive 1
deadtime 10
warntime 5
initdead 60
udpport 694
ucast ens33 192.168.1.120 # 修改这个ip地址(masterIP地址)
auto_failback on
node master
node slave
ping 192.168.1.1
respawn hacluster /usr/local/heartbeat/libexec/heartbeat/ipfail
master和slave上操作
1、配置网卡支持文件
mkdir -pv /usr/local/heartbeat/usr/lib/ocf/lib/heartbeat/
cp /usr/lib/ocf/lib/heartbeat/ocf-* /usr/local/heartbeat/usr/lib/ocf/lib/heartbeat/
ln -svf /usr/local/heartbeat/lib64/heartbeat/plugins/RAExec/* /usr/local/heartbeat/lib/heartbeat/plugins/RAExec/
ln -svf /usr/local/heartbeat/lib64/heartbeat/plugins/* /usr/local/heartbeat/lib/heartbeat/plugins/
#注意:一般启动时会报错因为 ping和ucast这些配置都需要插件支持 需要将lib64下面的插件软连接到lib目录 才不会抛出异常。
[root@master Heartbeat-3.0]# mkdir -pv /usr/local/heartbeat/usr/lib/ocf/lib/heartbeat/
mkdir: 已创建目录 "/usr/local/heartbeat/usr"
mkdir: 已创建目录 "/usr/local/heartbeat/usr/lib"
mkdir: 已创建目录 "/usr/local/heartbeat/usr/lib/ocf"
mkdir: 已创建目录 "/usr/local/heartbeat/usr/lib/ocf/lib"
mkdir: 已创建目录 "/usr/local/heartbeat/usr/lib/ocf/lib/heartbeat/"
[root@master Heartbeat-3.0]# cp /usr/lib/ocf/lib/heartbeat/ocf-* /usr/local/heartbeat/usr/lib/ocf/lib/heartbeat/
[root@master Heartbeat-3.0]# ln -svf /usr/local/heartbeat/lib64/heartbeat/plugins/RAExec/* /usr/local/heartbeat/lib/heartbeat/plugins/RAExec/
"/usr/local/heartbeat/lib/heartbeat/plugins/RAExec/*" -> "/usr/local/heartbeat/lib64/heartbeat/plugins/RAExec/*"
[root@master Heartbeat-3.0]# ln -svf /usr/local/heartbeat/lib64/heartbeat/plugins/* /usr/local/heartbeat/lib/heartbeat/plugins/
"/usr/local/heartbeat/lib/heartbeat/plugins/HBauth" -> "/usr/local/heartbeat/lib64/heartbeat/plugins/HBauth"
"/usr/local/heartbeat/lib/heartbeat/plugins/HBcomm" -> "/usr/local/heartbeat/lib64/heartbeat/plugins/HBcomm"
"/usr/local/heartbeat/lib/heartbeat/plugins/quorum" -> "/usr/local/heartbeat/lib64/heartbeat/plugins/quorum"
"/usr/local/heartbeat/lib/heartbeat/plugins/tiebreaker" -> "/usr/local/heartbeat/lib64/heartbeat/plugins/tiebreaker"
[root@slave Heartbeat-3.0]# mkdir -pv /usr/local/heartbeat/usr/lib/ocf/lib/heartbeat/
mkdir: 已创建目录 "/usr/local/heartbeat/usr"
mkdir: 已创建目录 "/usr/local/heartbeat/usr/lib"
mkdir: 已创建目录 "/usr/local/heartbeat/usr/lib/ocf"
mkdir: 已创建目录 "/usr/local/heartbeat/usr/lib/ocf/lib"
mkdir: 已创建目录 "/usr/local/heartbeat/usr/lib/ocf/lib/heartbeat/"
[root@slave Heartbeat-3.0]# cp /usr/lib/ocf/lib/heartbeat/ocf-* /usr/local/heartbeat/usr/lib/ocf/lib/heartbeat/
[root@slave Heartbeat-3.0]# ln -svf /usr/local/heartbeat/lib64/heartbeat/plugins/RAExec/* /usr/local/heartbeat/lib/heartbeat/plugins/RAExec/
"/usr/local/heartbeat/lib/heartbeat/plugins/RAExec/*" -> "/usr/local/heartbeat/lib64/heartbeat/plugins/RAExec/*"
[root@slave Heartbeat-3.0]# ln -svf /usr/local/heartbeat/lib64/heartbeat/plugins/* /usr/local/heartbeat/lib/heartbeat/plugins/
"/usr/local/heartbeat/lib/heartbeat/plugins/HBauth" -> "/usr/local/heartbeat/lib64/heartbeat/plugins/HBauth"
"/usr/local/heartbeat/lib/heartbeat/plugins/HBcomm" -> "/usr/local/heartbeat/lib64/heartbeat/plugins/HBcomm"
"/usr/local/heartbeat/lib/heartbeat/plugins/quorum" -> "/usr/local/heartbeat/lib64/heartbeat/plugins/quorum"
"/usr/local/heartbeat/lib/heartbeat/plugins/tiebreaker" -> "/usr/local/heartbeat/lib64/heartbeat/plugins/tiebreaker"
2.启动heartbeat服务
# 设置heartbeat开机启动
[root@master Heartbeat-3.0]# systemctl enable heartbeat
Created symlink from /etc/systemd/system/multi-user.target.wants/heartbeat.service to /usr/lib/systemd/system/heartbeat.service.
#启动heartbeat服务
[root@master Heartbeat-3.0]# systemctl start heartbeat
#查看heartbeat进程
[root@master Heartbeat-3.0]# ps aux|grep heartbeat
root 38885 0.3 0.4 57852 8776 ? SLs 12:42 0:00 heartbeat: master control process
root 38887 0.0 0.4 57780 8700 ? SL 12:42 0:00 heartbeat: FIFO reader
root 38888 0.0 0.4 57848 8772 ? SL 12:42 0:00 heartbeat: write: ucast ens33
root 38889 0.0 0.4 57848 8772 ? SL 12:42 0:00 heartbeat: read: ucast ens33
root 38890 0.0 0.4 57852 8776 ? SL 12:42 0:00 heartbeat: write: ping 192.168.1.1
root 38891 0.0 0.4 57852 8776 ? SL 12:42 0:00 heartbeat: read: ping 192.168.1.1
haclust+ 38914 0.0 0.0 42028 1816 ? S 12:42 0:00 /usr/local/heartbeat/libexec/heartbeat/ipfail
root 39248 0.0 0.0 9960 976 ? S 12:43 0:00 /bin/sh /usr/lib/ocf/resource.d//heartbeat/IPaddr start
root 39249 0.0 0.0 14188 776 ? S 12:43 0:00 /usr/local/heartbeat/libexec/heartbeat/send_arp -i 500 -r 10 -p /usr/local/heartbeat/var/run/resource-agents/send_arp-192.168.1.0 ens33 192.168.1.0 auto 192.168.1.0 ffffffffffff
root 39279 0.0 0.0 112824 988 pts/0 S+ 12:43 0:00 grep --color=auto heartbeat
#查看heartbeat端口
[root@master Heartbeat-3.0]# netstat -anplut|grep heartbeat
udp 0 0 0.0.0.0:47754 0.0.0.0:* 38888/heartbeat: wr
udp 0 0 0.0.0.0:694 0.0.0.0:* 38888/heartbeat: wr
# 设置heartbeat开机启动
[root@slave Heartbeat-3.0]# systemctl enable heartbeat
Created symlink from /etc/systemd/system/multi-user.target.wants/heartbeat.service to /usr/lib/systemd/system/heartbeat.service.
#启动heartbeat服务
[root@slave Heartbeat-3.0]# systemctl start heartbeat
#查看heartbeat进程
[root@slave Heartbeat-3.0]# ps aux|grep heartbeat
root 38297 0.5 0.4 57852 8776 ? SLs 12:42 0:00 heartbeat: master control process
root 38299 0.0 0.4 57780 8700 ? SL 12:42 0:00 heartbeat: FIFO reader
root 38300 0.1 0.4 57848 8772 ? SL 12:42 0:00 heartbeat: write: ucast ens33
root 38301 0.0 0.4 57848 8772 ? SL 12:42 0:00 heartbeat: read: ucast ens33
root 38302 0.0 0.4 57852 8776 ? SL 12:42 0:00 heartbeat: write: ping 192.168.1.1
root 38303 0.0 0.4 57852 8776 ? SL 12:42 0:00 heartbeat: read: ping 192.168.1.1
haclust+ 38307 0.3 0.0 42028 1808 ? S 12:42 0:00 /usr/local/heartbeat/libexec/heartbeat/ipfail
root 38344 0.0 0.0 112824 988 pts/0 S+ 12:43 0:00 grep --color=auto heartbeat
#查看heartbeat端口
[root@slave Heartbeat-3.0]# netstat -anplut|grep heartbeat
udp 0 0 0.0.0.0:40535 0.0.0.0:* 38300/heartbeat: wr
udp 0 0 0.0.0.0:694 0.0.0.0:* 38300/heartbeat: wr
3.查看ip
[root@master Heartbeat-3.0]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:47:95:eb brd ff:ff:ff:ff:ff:ff
inet 192.168.1.120/24 brd 192.168.1.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet 192.168.1.200/24 brd 192.168.1.255 scope global secondary ens33:1
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe47:95eb/64 scope link
valid_lft forever preferred_lft forever
[root@master Heartbeat-3.0]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.120 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::20c:29ff:fe47:95eb prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:47:95:eb txqueuelen 1000 (Ethernet)
RX packets 53705 bytes 61355759 (58.5 MiB)
RX errors 0 dropped 144 overruns 0 frame 0
TX packets 33101 bytes 4697581 (4.4 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ens33:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.200 netmask 255.255.255.0 broadcast 192.168.1.255
ether 00:0c:29:47:95:eb txqueuelen 1000 (Ethernet)
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 60 bytes 5006 (4.8 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 60 bytes 5006 (4.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[root@slave Heartbeat-3.0]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:e0:3d:59 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.123/24 brd 192.168.1.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fee0:3d59/64 scope link
valid_lft forever preferred_lft forever
[root@slave Heartbeat-3.0]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.123 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::20c:29ff:fee0:3d59 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:e0:3d:59 txqueuelen 1000 (Ethernet)
RX packets 63498 bytes 80662487 (76.9 MiB)
RX errors 0 dropped 123 overruns 0 frame 0
TX packets 34035 bytes 4360522 (4.1 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 70 bytes 6112 (5.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 70 bytes 6112 (5.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
六、测试
1、验证vip漂移
1.master上关闭heartbeat服务
[root@master Heartbeat-3.0]# service heartbeat stop
Stopping heartbeat (via systemctl): [ OK ]
[root@master Heartbeat-3.0]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:47:95:eb brd ff:ff:ff:ff:ff:ff
inet 192.168.1.120/24 brd 192.168.1.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe47:95eb/64 scope link
valid_lft forever preferred_lft forever
2.slave上查看是否有vip
[root@slave Heartbeat-3.0]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:e0:3d:59 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.123/24 brd 192.168.1.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet 192.168.1.200/24 brd 192.168.1.255 scope global secondary ens33:0
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fee0:3d59/64 scope link
valid_lft forever preferred_lft forever
3.master上启动heartbeat服务
[root@master Heartbeat-3.0]# service heartbeat start
Starting heartbeat (via systemctl): [ OK ]
4.master上查看vip是否回来
[root@master Heartbeat-3.0]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:47:95:eb brd ff:ff:ff:ff:ff:ff
inet 192.168.1.120/24 brd 192.168.1.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet 192.168.1.200/24 brd 192.168.1.255 scope global secondary ens33:1
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe47:95eb/64 scope link
valid_lft forever preferred_lft forever
5.windows上查看MAC地址漂移
win+r 输入cmd
C:\Users\wei>ping 192.168.1.120
正在 Ping 192.168.1.120 具有 32 字节的数据:
来自 192.168.1.120 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.1.120 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.1.120 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.1.120 的回复: 字节=32 时间=1ms TTL=64
192.168.1.120 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 0ms,最长 = 1ms,平均 = 0ms
C:\Users\wei>ping 192.168.1.123
正在 Ping 192.168.1.123 具有 32 字节的数据:
来自 192.168.1.123 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.1.123 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.1.123 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.1.123 的回复: 字节=32 时间=1ms TTL=64
192.168.1.123 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 0ms,最长 = 1ms,平均 = 0ms
C:\Users\wei>ping 192.168.1.200
正在 Ping 192.168.1.200 具有 32 字节的数据:
来自 192.168.1.200 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.1.200 的回复: 字节=32 时间=2ms TTL=64
来自 192.168.1.200 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.1.200 的回复: 字节=32 时间=2ms TTL=64
192.168.1.200 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 0ms,最长 = 2ms,平均 = 1ms
C:\Users\wei>arp -a
接口: 192.168.1.103 --- 0xf
Internet 地址 物理地址 类型
192.168.1.1 f0-eb-d0-8c-77-6e 动态
192.168.1.107 44-d8-78-63-54-5e 动态
192.168.1.120 12-63-8b-ce-c7-91 动态
192.168.1.123 12-63-8b-ce-c7-91 动态
192.168.1.200 00-0c-29-47-95-eb 动态
192.168.1.221 00-0c-29-62-e8-d0 动态
192.168.1.255 ff-ff-ff-ff-ff-ff 静态
224.0.0.2 01-00-5e-00-00-02 静态
224.0.0.22 01-00-5e-00-00-16 静态
224.0.0.251 01-00-5e-00-00-fb 静态
224.0.0.252 01-00-5e-00-00-fc 静态
238.238.238.238 01-00-5e-6e-ee-ee 静态
239.255.255.250 01-00-5e-7f-ff-fa 静态
255.255.255.255 ff-ff-ff-ff-ff-ff 静态
2、WEB应用测试(nginx或httpd)
演示httpd
1.安装
yum install -y httpd
2.启动
systemctl enable httpd
systemctl start httpd
3.浏览器上查看
http://192.168.1.120/
http://192.168.1.123/
http://192.168.1.200/
4.修改index.html页面
# master上操作
#进入存放页面的文件夹
cd /usr/share/httpd/noindex/
#复制首页(备份)
cp index.html index.html.bak
#编辑首页
vim index.html
welcome to master index
#slave上操作
#进入存放页面的文件夹
cd /usr/share/httpd/noindex/
#复制首页(备份)
cp index.html index.html.bak
#编辑首页
vim index.html
welcome to slave index
5.再次访问
http://192.168.1.120/
http://192.168.1.123/
http://192.168.1.200/