
 主机规划
 
1.配置nfs服务
1.1修改主机名ip地址
hostnamectl hostname nfs
nmcli c modify ens160 ipv4.method manual ipv4.addresess 192.168.72.120/24 ipv4.dns 223.5.5.5 ipv4.gateway 192.168.72.2 connection.autoconnect yes
 
1.2配置仓库
vim /etc/yum.repos.d/dnf.repo
[BaseOS]
name=BaseOS
baseurl=/mnt/BaseOS
gpgcheck=0
[AppStream]
name=AppSteam
baseurl=/mnt/AppStream
gpgcheck=/mnt/AppStream
 
1.3挂载仓库并下载nfs服务
mount /dev/sr0 /mnt
 
设置开机自动挂载
vim /etc/fstab
/dev/sr0 /mnt iso9660 defaults 0 0
mount -a
 
下载nfs服务
dnf install nfs-utils -y
 
1.4关闭防火墙和selinux,配置服务
systemctl enabled --now  firewalld
setenforce 0
 
mkdir /nfs/data -p
vim /etc/exports
/nfs/data 192.168.72.119(rw)
/nfs/data 192.168.72.118(rw)
 
启动nfs服务
systemctl start nfs-server
 
测试
showmount -e 192.168.72.120
 
2.搭建rs服务器
2.1修改ip地址和主机名
hostnamectl hostname rs1
nmcli c modify ens160 ipv4.method manual ipv4.addresess 192.168.72.118/24 ipv4.dns 223.5.5.5 ipv4.gateway 192.168.72.2 connection.autoconnect yes
 
hostnamectl hostname rs2
nmcli c modify ens160 ipv4.method manual ipv4.addresess 192.168.72.119/24 ipv4.dns 223.5.5.5 ipv4.gateway 192.168.72.2 connection.autoconnect yes
 
2.2配置仓库
vim /etc/yum.repos.d/dnf.repo
[BaseOS]
name=BaseOS
baseurl=/mnt/BaseOS
gpgcheck=0
[AppStream]
name=AppSteam
baseurl=/mnt/AppStream
gpgcheck=/mnt/AppStream
 
2.3挂载仓库并下载nfs,nginx服务
mount /dev/sr0 /mnt
 
设置开机自动挂载
vim /etc/fstab
/dev/sr0 /mnt iso9660 defaults 0 0
mount -a
 
下载nfs,nginx服务
dnf install nfs-utils nginx -y
 
2.4关闭防火墙和selinux,配置服务
systemctl enabled --now  firewalld
setenforce 0
 
rs1:
mkdir /data/nfs -p
mount -t nfs 192.168.72.120:/nfs/data /data/nfs
 
rs2:
mkdir /data/nfs -p
mount -t nfs 192.168.72.120:/nfs/data /data/nfs
 
编写nginx相关文件:
 rs1:
vim /etc/nginx/conf.d/rs1.conf
server{server_name  192.168.72.118;root /data/nfs;access_log /var/log/nginx/accessrs1_log;error_log /var/log/nginx/errorrs1_log;
}
 
rs2:
vim /etc/nginx/conf.d/rs2.conf
server{server_name  192.168.72.119;root /data/nfs;access_log /var/log/nginx/accessrs2_log;error_log /var/log/nginx/errorrs2_log;
}
 
启动nfs,nginx服务
systemctl start nfs-server nginx
 
测试
curl 192.168.72.120
 
3.配置keepalived,lvs服务
3.1修改ip地址和主机名
hostnamectl hostname lvs-backup
nmcli c modify ens160 ipv4.method manual ipv4.addresess 192.168.72.117/24 ipv4.dns 223.5.5.5 ipv4.gateway 192.168.72.2 connection.autoconnect yes
 
hostnamectl hostname lvs-master
nmcli c modify ens160 ipv4.method manual ipv4.addresess 192.168.72.116/24 ipv4.dns 223.5.5.5 ipv4.gateway 192.168.72.2 connection.autoconnect yes
 
3.2配置仓库
vim /etc/yum.repos.d/dnf.repo
[BaseOS]
name=BaseOS
baseurl=/mnt/BaseOS
gpgcheck=0
[AppStream]
name=AppSteam
baseurl=/mnt/AppStream
gpgcheck=/mnt/AppStream
 
2.3挂载仓库并下载keepalived,lvs服务
mount /dev/sr0 /mnt
 
设置开机自动挂载
vim /etc/fstab
/dev/sr0 /mnt iso9660 defaults 0 0
mount -a
 
下载keepalived,lvs服务
dnf install keepalived ipvsadm -y
 
3.4关闭防火墙和selinux,配置服务
systemctl enabled --now  firewalld
setenforce 0
 
lvs-master:
vim /etc/keepalived/keeplived.conf
global_defs {router_id lvs-master
}
vrrp_instance VI_1 {state MASTERinterface ens160virtual_router_id 51priority 100advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.72.100}
}virtual_server 192.168.72.100 80 {delay_loop 3		lb_algo wrr			lb_kind DR			persistence_timeout 50	protocol TCP			real_server 192.168.72.118 80 {weight 3	TCP_CHECK {connect_timeout 3		retry 3					delay_before_retry 3}}real_server 192.168.72.119 80 {weight 1TCP_CHECK {connect_timeout 3retry 3delay_before_retry 3}}
}
 
 ipvsadm-save -n /etc/sysconfig/ipvsadm
 
backup:
 vim /etc/keepalived/keeplived.conf
global_defs {router_id lvs-backup
}
vrrp_instance VI_1 {state BACKUPinterface ens160virtual_router_id 51priority 90advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.72.100}
}virtual_server 192.168.72.100 80 {delay_loop 3		lb_algo wrr			lb_kind DR			persistence_timeout 50	protocol TCP			real_server 192.168.72.118 80 {weight 3	TCP_CHECK {connect_timeout 3		retry 3					delay_before_retry 3}}real_server 192.168.72.119 80 {weight 1TCP_CHECK {connect_timeout 3retry 3delay_before_retry 3}}
}
 
ipvsdam-save -n /etc/sysconfig/ipvsadm
 启动两台服务器
 systemctl start keepalived ipvsadm
 查看配置规则:
 ipvsadm -Ln
在rs1,rs2上配置参数
ifconfig lo:1 192.168.72.100 netmask 255.255.255.255 broadcast 192.168.72.100 up
ip a show lo
vim /etc/sysctl.conf
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.ip_forward=0
sysctl -p
 
增加路由
route add -host 192.168.72.100 dev lo:1
route -n
 
在浏览器进行测试
 http://192.168.72.100
