地址转换模式(LVS-NAT)
admin
2023-03-09 14:41:18
0

LVS 基本配置详解请参考博文:https://blog.51cto.com/14306186/2437030
案例环境:
地址转换模式(LVS-NAT)
实现结果如下:

  • 使用NAT模式的群集技术,LVS负载调度器是所有节点访问Internet的网关服务器,其200.0.0.1也作为整个群集的VIP地址。
  • 使用轮询(rr)的调度算法。
  • web1和web2先搭建web服务,分别准备不同的网页文件,供客户端访问,以此来确定client访问LVS服务器的200.0.0.1,可以访问到两台wbe服务器。
  • 待client测试成功后,web1和web2便可以挂载NFS服务器提供的共享目录,以此来为client提供相同的网页文件。
    一、准备:
    1、先把网络调试至互通
    2、准备系统镜像和相关的软件包,以便搭建httpd服务,和安装相关工具。这里为了方便,便直接使用系统映像中的安装包来搭建httpd服务。
    3、配置防火墙策略放行流量(图个方便,我这里直接停掉了防火墙)
    二、配置负载调度器:
    开启路由转发功能:
    [root@localhost /]# vim /etc/sysctl.conf 
    ...................       // 省略部分
    net.ipv4.ip_forward = 1
    [root@localhost /]# sysctl -p
    net.ipv4.ip_forward = 1

    配置负载分配策略:

    [root@localhost /]# modprobe ip_vs                   # 加载 ip_vs 模块
    [root@localhost /]# cat /proc/net/ip_vs             # 查看版本信息,弹出如下所示,说明该模块已启动
    IP Virtual Server version 1.2.1 (size=4096)
    Prot LocalAddress:Port Scheduler Flags
    -> RemoteAddress:Port Forward Weight ActiveConn InActConn

    ipvsadm 是在负载调度器上使用的 LVS 群集管理工具,通过调用 ip_vs 模块来添加、删除服务器节点,以及查看群集的运行状态(需要手动安装)。

    [root@localhost /]# yum -y install ipvsadm              # 安装 ipvsadm
    [root@localhost /]# ipvsadm -v                       # 查看版本信息
    ipvsadm v1.27 2008/5/15 (compiled with popt and IPVS v1.2.1)
    [root@localhost /]# ipvsadm -C                 # 清除原有策略
    [root@localhost /]# ipvsadm -A -t 200.0.0.1:80 -s rr           
    [root@localhost /]# ipvsadm -a -t 200.0.0.1:80 -r 192.168.1.10:80 -m -w 1
    [root@localhost /]# ipvsadm -a -t 200.0.0.1:80 -r 192.168.1.20:80 -m -w 1
    [root@localhost /]# ipvsadm-save            # 保存策略
    -A -t localhost.localdomain:http -s rr
    -a -t localhost.localdomain:http -r 192.168.1.10:http -m -w 1
    -a -t localhost.localdomain:http -r 192.168.1.20:http -m -w 1
    [root@localhost /]# systemctl enable ipvsadm.service            # 设置为开机自启

    配置节点服务器:
    web1 配置:

    [root@localhost /]# yum -y install httpd              # 安装 http 服务
    [root@localhost /]# echo test1.com > /var/www/html/index.html            # 准备测试网页
    [root@localhost /]# systemctl start httpd               # 开启服务
    [root@localhost /]# systemctl enable httpd           # 开机自启

    web2 配置:

    [root@localhost /]# yum -y install httpd              # 安装 http 服务
    [root@localhost /]# echo test2.com > /var/www/html/index.html             # 准备测试网页
    [root@localhost /]# systemctl start httpd
    [root@localhost /]# systemctl enable httpd

    当然,在实际生产环境时,网页内容都是一样的,这里为了区分验证从实验的成功与否,我写了两个内容不同的测试文件。
    测试一下 LVS 是否在工作:
    地址转换模式(LVS-NAT)
    刷新网页:
    地址转换模式(LVS-NAT)
    三、NFS 共享存储服务:
    搭建 NFS 共享使两台web服务器共同挂载同一个NFS服务器共享的目录,以此来提供相同的网页文件。
    安装 nfs-utils、rpcbind 软件包:

    [root@localhost /]# yum -y install nfs-utils rpcbind        # 安装软件包
    [root@localhost /]# systemctl enable nfs                    # 设置为开机自启
    [root@localhost /]# systemctl enable rpcbind

    这两软件包我使用 rpm-qa 在Centos 7 上查看的时候是有的,具体这里本人也不是很清楚到底是不是安装系统时自带的,所以在做时还是敲一下这命令吧,以防万一嘛,如有大佬知道的,还烦请告知小弟。(拜谢)
    设置共享目录:

    [root@localhost /]# mkdir -p /opt/wwwroot              # 创建共享目录
    [root@localhost /]# vim /etc/exports                       # 修改 NFS 主配置文件
    /opt/wwwroot    192.168.2.0/24(rw,sync,no_root_squash)
    --rw:允许读写,ro 为只读
    --sync:表示同步写入
    --no_root_squash:当客户机以 root 身份访问时赋予本地的 root 权限(默认是 root_squash,将作为 nfsnobody 用户降权对待)
    [root@localhost wwwroot]# echo nfs.test.com > index.html            # 准备测试文件
    [root@localhost /]# systemctl restart rpcbind             # 重启服务使配置生效
    [root@localhost /]# systemctl restart nfs
    [root@localhost /]# showmount -e                        # 查看本机发布的共享目录
    Export list for localhost.localdomain:
    /opt/wwwroot 192.168.2.0/24

    在两台 web 主机上挂载 NFS 共享目录,并配置为开机自动挂载

    [root@localhost /]# mount 192.168.2.1:/opt/wwwroot /var/www/html/            # 在两台 web 主机上都执行此操作
    [root@localhost /]# df -hT /var/www/html/                  # 查看是否挂载成功
    Filesystem               Type  Size  Used Avail Use% Mounted on
    192.168.2.1:/opt/wwwroot nfs4   50G  4.0G   47G   8% /var/www/html
    [root@localhost /]# vim /etc/fstab                          # 设为开机自动挂载
    192.168.2.1:/opt/wwwroot        /var/www/html   nfs     defaults,_netdev 0 0

    测试验证:
    地址转换模式(LVS-NAT)
    .
    我们看到 NFS 上写的测试文件已经访问成功,但无论怎么刷新都不会变,这就说明 LVS 负载均衡也就成功了。

当LVS服务器重启后,LVS规则将会丢失,这就用到了备份,需要注意的是,备份时的主机名和恢复时的主机名必须一致,并且需要注意网卡优先的问题,否则在恢复后,会发现VIP(群集的虚拟IP)变成了LVS服务器的另一个IP地址

[root@localhost /]# ipvsadm-save > /etc/sysconfig/ipvsadm.bak            # 先备份一分
[root@localhost /]# ipvsadm -ln    #    查看
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
[root@localhost /]# ipvsadm-restore <  /etc/sysconfig/ipvsadm.bak            # 恢复策略
[root@localhost /]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  200.0.0.1:80 rr                                          # 注意这里是否还是原来的 VIP
  -> 192.168.1.10:80              Masq    1      0          0         
  -> 192.168.1.20:80              Masq    1      0          0         

相关内容

热门资讯

人民日报:查处携程垄断案释放反... 林丽鹂 《人民日报》(2026年07月26日 第02版)携程垄断案的查处是平台经济反垄断常态化监管的...
以总理计划向特朗普递交伊朗情报 △以色列总理内塔尼亚胡(资料图)当地时间7月25日,总台记者自以色列方面获悉,以总理内塔尼亚胡及其访...
原创 手... 以前购买的手机想要用3天不充电,基本上是不可能的,但这两年手机电池技术有大突破,非重度使用的情况下,...
咪咕数媒亮相第34届全国图书交... 潮新闻客户端 记者 王景平 7月24日,第34届全国图书交易博览会盛大举办。作为数字文化领域的核心央...
王兴兴和他的机甲机器人登上《时... 当地时间7月23日,宇树科技创始人兼首席执行官王兴兴与该公司突破性的载人机甲机器人GD01共同登上美...
APEC论坛聚焦亚太人工智能普... 这是7月23日在成都街头拍摄的会议主题装置。当日,2026年亚太经合组织(APEC)数字和人工智能部...
菲尔兹奖得主王虹4岁不慎烫伤,... 中国数学家王虹、邓煜获得菲尔兹奖,这是中国籍数学家首次获得这一奖项。王虹1991年出生在广西桂林平乐...
美媒:特朗普下令暂停空袭伊朗 美国“Axios”新闻网7月25日援引知情人士报道,特朗普24日指示美军不得对伊朗发动新的打击,打破...
法国野火“创历史纪录”:政坛吵... 综合法媒BFM新闻台、《费加罗报》报道,当地时间7月25日中午,内政部长努内兹(Laurent Nu...
51.79亿,携程真的疼了吗? 2026年7月25日,市场监管总局对携程反垄断案作出行政处罚:罚没款合计51.79亿元。但这个数字被...