lvs集群與nat模式

一,什么是集群:

? ? ? ? 集群,群集,Cluster,由多臺主機構成,但是對外只表現為一個整體,只提供一個訪問入口(域名與ip地址),相當于一臺大型計算機。

二,集群適用場景:高并發

三,集群的分類:

? ? ? ? 1,負載均衡集群

????????????????減少響應延遲,提高并發處理能力

? ? ? ? 2,高可用集群(HA)

????????????????提高系統的穩定性,減少服務器中斷的時間,減少損失

? ? ? ? 3,高性能運算集群

????????????????分布式計算

四,負載均衡的集群架構

? ? ? ? 數據流向:用戶----vip---訪問

????????第一層:負載調度器通過調度算法,以及rip的發送

????????第二層:服務器池所有服務器用的資源通過

????????第三層:共享存儲提供網站,存儲資源

五,負載均衡器的工作模式:

? ? ? ? 1,地址轉換(NAT模式)

? ? ? ? ? ? ? ? 調度器做網關的同時還承擔請求入口與訪問出口,在高并發場景下負載壓力很高,但是安全性很高。缺點:一臺設備承擔入口,出口,負載調度,高并發模型可能性能不足。

? ? ? ? 2,ip隧道(TUN模式)

????????????????僅作為訪問的入口,響應不經過調度器,但是需要大量的公網ip,還需要專用的ip隧道(成本太高)數據轉發受ip隧道的額外的影響。缺點:對公網ip數量要求比較高,對ip隧道數量有要求。

? ? ? ? 3,直接路由(DR模式)

????????????????僅作為請求的入口,響應數據不經過調度器,節點服務器和調度器在一個物理網絡中,轉發數據不受額外影響。

六,lvs的負載均衡算法

? ? ? ? 1,輪詢

? ? ? ? 2,加權輪詢

? ? ? ? 3,最少鏈接數

? ? ? ? 4,加權最少鏈接數

七,lvs組成

  1. 基于內核態的netfilter框架來實現的ipvs功能,工作在內核態。用戶配置vip等相關信息并且傳遞到ipvs就需要用到ipvs當中的adm工具。
  2. Ipvs adm是lvs用戶態的一個配套工具,可以實現vip和rs增刪改查。Ipvsadm就是類似于iptables工具的地位。

八,lvs的作用:

  1. 主要用于多服務器的負載均衡
  2. 工作在網絡層,可實現高性能,高可用的服務集群技術
  3. 廉價,可把我們的許多低性能的服務器組合在一起形成一個超級設備
  4. 易用,配置簡單,有多重負載均衡的方式
  5. 穩定可靠,即使在集群的服務器中某臺服務器無法正常工作,也不會影響整體效果
  6. 可擴展性好

九,lvs支持與工具

? ? ? ? 1,查看系統是否支持lvs:

????????????????modprobe ip_vs

? ? ? ? 2,lvs管理工具:ipvsadm

????????????????-A?? ?添加虛擬服務器
????????????????-D?? ?刪除整個虛擬服務器
????????????????-s?? ?指定負載調度算法 (輪詢:rr、加權輪詢: wrr、最少連接: lc、加權最少連接: wlc )
????????????????-a?? ?表示添加真實服務器 (節點服務器)
????????????????-d?? ?刪除某一個節點
????????????????-t?? ?指定 VIP地址及 TCP端口
????????????????-r?? ?指定 RIP地址及 TCP端口
????????????????-m?? ?表示使用 NAT群集模式.
????????????????-g?? ?表示使用 DR模式
????????????????-i?? ?表示使用 TUN模式
????????????????-w?? ?設置權重 (權重為 0 時表示暫停節點)
????????????????-p 60?? ?表示保持長連接60秒
????????????????-l?? ?列表查看 LVS 虛擬服務器 (默認為查看所有)
????????????????-n?? ?以數字形式顯示地址、端口等信息,常與 “-l” 選項組合使用。ipvsadm -ln

十,具體配置:

本次實驗需要在vmware中添加一塊新網卡,并且給負載均衡器設置新的網卡。

NFS服務器:

安裝nfs及其相關程序
yum install -y nfs-utils rpcbind開啟并設置自啟動
systemctl start nfs.service 
systemctl start rpcbind.service
systemctl enable nfs.service 
systemctl enable rpcbind.service創建共享目錄兩個,對應兩個web服務器,然后更改權限
mkdir /opt/kgc /opt/benet
chmod 777 /opt/kgc /opt/benet進項共享目錄的設置
/usr/share *(ro,sync)
/opt/kgc 192.168.10.0/24(rw,sync)
/opt/benet 192.168.10.0/24(rw,sync)發布共享
exportfs -rv
showmount -e

web服務器1(192.168.10.16)

安裝httpd,開啟并設置自啟動
yum install -y httpd
systemctl start httpd.service 
systemctl enable httpd.service安裝nfs以及相關組件,開啟并設置自啟動
yum install -y nfs-utils rpcbind
systemctl start rpcbind.service
systemctl enable rpcbind.service檢測來自192.168.10.18的掛載目錄
showmount -e 192.168.10.18掛載目錄后寫入網頁內容
mount.nfs 192.168.10.18:/opt/kgc /var/www/html/
echo 'this is kgc' > /var/www/html/index.html設置永久掛載
vim /etc/fstab 
192.168.10.18:/opt/kgc /var/www/html nfs defaults,_netdev 0 0
mount -a修改網卡網關為lvs服務器
vim /etc/sysconfig/network-scripts/ifcfg-ens33
GATEWAY=192.168.10.19

web服務器2(192.168.10.17)

安裝httpd,開啟并設置自啟動
yum install -y httpd
systemctl start httpd.service 
systemctl enable httpd.service安裝nfs以及相關組件,開啟并設置自啟動
yum install -y nfs-utils rpcbind
systemctl start rpcbind.service
systemctl enable rpcbind.service檢測來自192.168.10.18的掛載目錄
showmount -e 192.168.10.18掛載目錄后寫入網頁內容
mount.nfs 192.168.10.18:/opt/benet /var/www/html/
echo 'this is benet' > /var/www/html/index.html設置永久掛載
vim /etc/fstab 
192.168.10.18:/opt/benet /var/www/html nfs defaults,_netdev 0 0
mount -a修改網卡網關為lvs服務器
vim /etc/sysconfig/network-scripts/ifcfg-ens33
GATEWAY=192.168.10.19

負載調度器

添加網卡后,使用ifconfig掃描新加入的網卡,然后復制原有的網卡信息到新的網卡文件中,不使用DNS與網關,ip地址用新加入的vmnet3,vmnet3在本次實驗中用的網段為10.0.0.0配置snat轉發規則
vim /etc/sysctl.conf
net.ipv4.ip_forward=1查看配置是否生效
sysctl -p清空iptables策略并且寫入新的策略
iptables -t nat -F
iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o ens37 -j SNAT --to-source 10.0.0.1加載lvs內核模塊并查看版本
modprobe ip_vs
cat /proc/net/ip_vs安裝管理工具
yum install -y ipvsadm啟動服務(啟動之前需要先保存策略)
ipvsadm-save > /etc/sysconfig/ipvsadm
systemctl start ipvsadm.service配置負載均衡策略
ipvsadm -C
ipvsadm -A -t 10.0.0.1:80 -s rr
ipvsadm -a -t 10.0.0.1:80 -r 192.168.10.16:80 -m -w 1
ipvsadm -a -t 10.0.0.1:80 -r 192.168.10.17:80 -m -w 1啟動策略并查看節點狀態,查看后保存
ipvsadm
ipvsadm -ln
ipvsadm-save > /etc/sysconfig/ipvsadm

配置結束后使用win10訪問負載均衡服務器即可。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/40639.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/40639.shtml
英文地址,請注明出處:http://en.pswp.cn/news/40639.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java書簽 #使用MyBatis接入多數據源

楔子:當然,世上有很多優秀的女性,我也會被她們吸引。這對男人來說是理所當然的。但目光被吸引和內心被吸引是截然不同的。- 東野圭吾《黎明之街》 今日書簽 在一些應用場景中,可能需要連接多個不同的數據庫,例如連接不…

Centos 防火墻命令

查看防火墻狀態 systemctl status firewalld.service 或者 firewall-cmd --state 開啟防火墻 單次開啟防火墻 systemctl start firewalld.service 開機自啟動防火墻 systemctl enable firewalld.service 重啟防火墻 systemctl restart firewalld.service 防火墻設置開…

8.15 IO的多路復用

select的TCP客戶端 poll的TCP客戶端

Chart GPT免費可用地址共享資源

GPT4.0: https://gpt4e.ninvfeng.xyz github:https://github.com/ninvfeng/chatgpt4 WeUseAi:https://chatb.weuseai.pro AI.LS:https://n7.gpt03.xyz ChatX (iOS/macOS應用):https://itunes.apple.com/app/id6446304087 ch…

C/C++ : C/C++的詳解,C語言與C++的常用算法以及算法的各自用法和應用(初級,中級),C++ CSP考題(J居多,S偏少)的詳解,NOI的真題題解

目錄 1.C語言 2.C 3.C與C語言的共同/不同點 4.導讀 5.相關文章 5.1:Dev-C是Windows 環境下的一個輕量級 C/C 集成開發環境(IDE) 5.2:C是從C語言發展而來的,而C語言的歷史可以追溯到1969年 6.C/C最新年度總…

?LeetCode解法匯總88. 合并兩個有序數組

目錄鏈接: 力扣編程題-解法匯總_分享記錄-CSDN博客 GitHub同步刷題項目: https://github.com/September26/java-algorithms 原題鏈接:力扣(LeetCode)官網 - 全球極客摯愛的技術成長平臺 描述: 給你兩個按…

解決方案:如何在 Amazon EMR Serverless 上執行純 SQL 文件?

長久已來,SQL以其簡單易用、開發效率高等優勢一直是ETL的首選編程語言,在構建數據倉庫和數據湖的過程中發揮著不可替代的作用。Hive和Spark SQL也正是立足于這一點,才在今天的大數據生態中牢牢占據著主力位置。在常規的Spark環境中&#xff0…

國企的大數據崗位方向的分析

現如今大數據已無所不在,并且正被越來越廣泛的被應用到歷史、政治、科學、經濟、商業甚至滲透到我們生活的方方面面中,獲取的渠道也越來越便利。 今天我們就來聊一聊“大屏應用”,說到大屏就一定要聊到數據可視化,現如今&#xf…

【Git】(三)回退版本

1、git reset命令 1.1 回退至上一個版本 git reset --hard HEAD^ 1.2 將本地的狀態回退到和遠程的一樣 git reset --hard origin/master 注意:謹慎使用 –-hard 參數,它會刪除回退點之前的所有信息。HEAD 說明:HEAD 表示當前版本HEAD^ 上…

服務鏈路追蹤

一、服務鏈路追蹤導論 1.背景 對于一個大型的幾十個、幾百個微服務構成的微服務架構系統,通常會遇到下面一些問題,比如: 如何串聯整個調用鏈路,快速定位問題?如何理清各個微服務之間的依賴關系?如何進行…

pycorrector一鍵式文本糾錯工具,整合了BERT、MacBERT、ELECTRA、ERNIE等多種模型,讓您立即享受糾錯的便利和效果

pycorrector:一鍵式文本糾錯工具,整合了Kenlm、ConvSeq2Seq、BERT、MacBERT、ELECTRA、ERNIE、Transformer、T5等多種模型,讓您立即享受糾錯的便利和效果 pycorrector: 中文文本糾錯工具。支持中文音似、形似、語法錯誤糾正,pytho…

Python OpenGL環境配置

1.Python的安裝請參照 Anconda安裝_安裝anconda_lwb-nju的博客-CSDN博客anconda安裝教程_安裝ancondahttps://blog.csdn.net/lwbCUMT/article/details/125322193?spm1001.2014.3001.5501 Anconda換源虛擬環境創建及使用(界面操作)_anconda huanyuan_l…

徹底卸載Android Studio

永恒的愛是永遠恪守最初的諾言。 在安裝Android Studio會有很多問題導致無法正常運行,多次下載AS多次錯誤后了解到,刪除以下四個文件才能徹底卸載Android Studio。 第一個文件:.gradle 路徑:C:\Users\yao(這里yao是本…

解密人工智能:線性回歸 | 邏輯回歸 | SVM

文章目錄 1、機器學習算法簡介1.1 機器學習算法包含的兩個步驟1.2 機器學習算法的分類 2、線性回歸算法2.1 線性回歸的假設是什么?2.2 如何確定線性回歸模型的擬合優度?2.3 如何處理線性回歸中的異常值? 3、邏輯回歸算法3.1 什么是邏輯函數?…

火山引擎聯合Forrester發布《中國云原生安全市場現狀及趨勢白皮書》,賦能企業構建云原生安全體系

國際權威研究咨詢公司Forrester 預測,2023年全球超過40%的企業將會采用云原生優先戰略。然而,云原生在改變企業上云及構建新一代基礎設施的同時,也帶來了一系列的新問題,針對涵蓋云原生應用、容器、鏡像、編排系統平臺以及基礎設施…

用棧解決有效的括號匹配問題

//用數組實現棧 typedef char DataType; typedef struct stack {DataType* a;//動態數組int top;//棧頂int capacity; //容量 }ST;void STInit(ST*pst);//初始化void STDestroy(ST* pst);//銷毀所有空間void STPush(ST* pst, DataType x);//插入數據到棧中void STPop(ST* pst);…

【業務功能篇65】maven加速 配置settings.xml文件 鏡像

maven加速 添加阿里鏡像倉 <?xml version"1.0" encoding"UTF-8"?><!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additi…

Kubernetes 調度約束(親和性、污點、容忍)

目錄 一、Pod啟動典型創建過程 二、調度流程 三、指定調度節點 1.使用nodeName字段指定調度節點 2.使用nodeSelector指定調度節點 2.1給對應的node節點添加標簽 2.2修改為nodeSelector調度方式 3.通過親和性來指定調度節點 3.1節點親和性 3.2Pod親和性與反親和性 3.2…

Vue CLI創建Vue項目詳細步驟

&#x1f680; 一、安裝Node環境&#xff08;建議使用LTS版本&#xff09; 在開始之前&#xff0c;請確保您已經安裝了Node.js環境。您可以從Node.js官方網站下載LTS版本&#xff0c;以確保穩定性和兼容性。 中文官網下載 確認已安裝 Node.js。可以在終端中運行 node -v 命令…

基于STM32設計的中藥分裝系統

一、設計需求 基于STM32設計的中藥分裝系統 【1】項目背景 中藥文化是我國文化瑰寶之一,它具有療效好、副作用小的優點,而且相對于西藥,全天然的中藥還具有標本兼治的特點,不僅可以用來治病,更可以對患者身體進行調理,所以格外受到當今一直追求生活質量的人們的追捧&quo…