自動化指令碼 配置LVS(DR模式)

2022-09-07 02:18:07 字數 4467 閱讀 7529

一,獲取所需配置的主機ip

cat get_ip.sh

#!/bin/bash

#將獲得到的ip位址寫進ip.txt

>ip.txt

#將原有的hosts資訊清除

>/root/.ssh/known_hosts

#如果沒有公鑰,退出建立

if [ ! -f ~/.ssh/id_rsa.pub ];then

echo

"請使用ssh-kengen建立金鑰!!!

"exit

fiyum -y install

expect

for i in

do

"*password:

" }

expect "#

"send

"exit\r

"expect eof

eoffi}&

done

wait

echo

"finish...

"

二,配置rs

vim lvs_dr_realserver_init.sh

#!/bin/bash

#lvs_dr_realserver初始化

#設定分隔符為回車

ifs=$'\n'

#避免sed修改檔案時導致該檔案的軟連線失效

alias

sed='

sed -c --follow-symlinks

'ntpserver=172.16.8.100

gw=192.168.122.1

vip=192.168.122.100

for line in `cat

real_serverip.txt`

#檔案格式如下real_serverip.txt

#old_ip

hostname

newip

#192.168.122.62 web10 192.168.122.10

#192.168.122.72 web20 192.168.122.20

#192.168.122.82 web30 192.168.122.30

#...do'

`

hostname=`echo $line |awk''

` newip=`echo $line |awk''

` }

#''強引用,變數失效;""

變數正常呼叫

ssh root@$ip '

chkconfig networkmanager off

'ssh root@$ip '

iptables -f; service iptables s**e'#

sedc 取代

ssh root@$ip "

sed -r -i

"/^selinux/cselinux=disabled"

/etc/selinux/config

"ssh root@$ip "

sed -r -i

"/^hostname/chostname=$hostname

"/etc/sysconfig/network

"ssh root@$ip "

sed -r -i

"/^bootproto/cbootproto=none"

/etc/sysconfig/network-scripts/ifcfg-eth0"#

sed3a 第三行後邊新增

"所有主機初始化完成

"

二,排程器初始化

vim lvs_dr_director_init.sh

#!/bin/bash

#lvs_dr_director初始化

#設定分隔符為回車

ifs=$'\n'

#避免sed修改檔案時導致該檔案的軟連線失效

alias

sed='

sed -c --follow-symlinks

'ntpserver=172.16.8.100

gw=192.168.122.1

for line in `cat

ip.txt`

#檔案格式如下ip.txt

#old_ip

hostname

newip

#192.168.122.52 director1 192.168.122.2

#192.168.122.52 director2 192.168.122.3

#...do'

`

hostname=`echo $line |awk''

` newip=`echo $line |awk''

` #

''強引用,變數失效;""

變數正常呼叫

ssh root@$ip '

chkconfig networkmanager off

'ssh root@$ip '

iptables -f; service iptables s**e'#

sedc 取代

ssh root@$ip "

sed -r -i

"/^selinux/cselinux=disabled"

/etc/selinux/config

"ssh root@$ip "

sed -r -i

"/^hostname/chostname=$hostname

"/etc/sysconfig/network

"ssh root@$ip "

sed -r -i

"/^bootproto/cbootproto=none"

/etc/sysconfig/network-scripts/ifcfg-eth0"#

sed3a 第三行後邊新增

ssh root@$ip "

sed -r -i

"/3aipaddr=$newip"

/etc/sysconfig/network-scripts/ifcfg-eth0

"ssh root@$ip "

sed -r -i

"/3agateway=$gw"

/etc/sysconfig/network-scripts/ifcfg-eth0"#

ssh root@$ip "

wget -0 /etc/yum.repos.d/rhel6.repo

"ssh root@$ip "

yum -y install ipvsadm keepalived

"ssh root@$ip "

ntpdate -b $ntpserver

"ssh root@$ip "

reboot"}&

done

wait

echo

"所有主機初始化完成

"

三、配置排程器

LVS DR高可用集群 自動化健康檢測指令碼

lvs dr kernel parameter 在wmvare虛擬機器上模擬dr高可用集群,宿主機ip 192.168.1.105,三個虛擬機器使用橋接的方式連線網路,ip位址要與宿主機在同一網段。網路配置如下 director ens33 192.168.1.201 dip ens33 0 192...

部署python自動化指令碼 搭建自動化指令碼執行環境

年前把平台的指令碼寫好了,準備在虛擬機器中全部執行一遍。沒想到在虛擬機器中配置了很長時間,才把環境搭好。為了不再犯這配置環境的苦,在這簡單說說環境的搭建吧。因為寫的指令碼是在win7上實現的,所以虛擬機器我安裝的也是win7系統。1 安裝python 2 配置環境變數 python安裝成功後,將安裝...

centOS7 LVS DR模式配置(指令碼)

dr模式 通過director將報文源和目標mac位址修改,傳送給rs,rs不經過ds將響應報文直接傳送給client。lvs伺服器 ds dip 172.22.5.10 vip 172.22.5.200 http伺服器rs1 rip 172.22.5.20 vip 172.22.5.200 htt...