2013-11-24 by pengyao
原文之前由於工作需求,編寫了saltstack的 lvs遠端執行模組 , lvs service狀態管理模組 及 lvs server狀態管理模組 ,並提交給了saltstack官方,現已合併至官方**中,本文將描述如何基於saltstack完成lvs loadblance(dr)及realserver的配置管理.
note
以下所有操作均在master上進行
salt 'lvs' cmd.run "python -c 'import salt.modules.lvs'"
如果輸出有 importerror 字樣,則表示模組沒有安裝,需要進行如下操作:
test -d /srv/salt/_modules || mkdir /srv/salt/_modulestest -d /srv/salt/_states || mkdir /srv/salt/_states
wget -o /srv/salt/_modules/lvs.py
wget -o /srv/salt/_states/lvs_service.py
wget -o /srv/salt/_states/lvs_server.py
/srv/pillar/lvs/loadblance.sls
lvs-loadblance:/srv/pillar/lvs/realserver.sls- name: lvstest
vip: 192.168.36.33
vip-nic: eth1
port: 80
protocol: tcp
scheduler: wlc
realservers:
- name: web-01
ip: 192.168.36.11
port: 80
packet_forward_method: dr
weight: 10
- name: web-02
ip: 192.168.36.12
port: 80
packet_forward_method: dr
weight: 30
lvs-realserver:- name: lvstest
vip: 192.168.36.33
\/srv/pillar/top.sls
base:'lvs':
- lvs.loadblance
'web-0*':
- lvs.realserver
/srv/salt/lvs/loadblance.sls
# config lvs# config lvs vip
}-vip:
network.managed:
- name: }
- enable: true
- type: eth
- proto: none
- ipaddr: }
- netmask: 255.255.255.255
}-service:
lvs_service.present:
- protocol: }
- service_address: `service_address`
- scheduler: }
}-server:
lvs_server.present:
- protocol: }
- service_address: `service_address`
- server_address: `server_address`
- packet_forward_method: }
- weight: }
srv/salt/lvs/realserver.sls
# ignore arpnet.ipv4.conf.all.arp_ignore:
sysctl.present:
- value: 1
net.ipv4.conf.lo.arp_ignore:
sysctl.present:
- value: 1
net.ipv4.conf.all.arp_announce:
sysctl.present:
- value: 2
net.ipv4.conf.lo.arp_announce:
sysctl.present:
- value: 2
# config lvs vip
lvs-vip:
network.managed:
- name: }
- enable: true
- type: eth
- proto: none
- ipaddr: }
- netmask: 255.255.255.255
/srv/salt/top.sls*
base:
'lvs':
- lvs.loadblance
'web-0*':
- lvs.realserver
應用配置
如果之前進行 配置lvs模組 的操作,需要進行同步模組的操作:
salt 'lvs*' saltutil.sync_all
應用lvs配置:
salt '*' state.highstate
檢視lvs當前狀態:
salt 'lvs' lvs.list
通過saltstack lvs模組,可以快速的查詢lvs狀態,執行lvs常用指令及完成lvs的配置管理。如有需要調整realserver規則或新增新的realserver, 只需要修改 /srv/pillar/lvs/loadblance.sls ,然後應用配置即可.
本文中所用到的**已經上傳至github,傳送門:
基於python完成XAXB
import random size 5 maximum 39 b award 0 print 5 39 lottery n step1 user enter s1 請輸入 個號碼 format size temp input s1 a list map int,temp.split step3 c...
LVM的原理與程式設計設定和基於lv的快照卷
lvm logic volume manager 邏輯卷管理 當乙個檔案非常大時,普通磁碟分割槽不夠用時,不能自由的在另乙個磁碟寫入檔案。因此這裡引入邏輯卷,可以自由的增加磁碟分割槽,首先分成lv分為三個層次。下面說這三個層次。最底層是pv physical volume 物理卷 命令pvcreat...
基於 JMeter 完成 Dubbo 介面的測試
開班通知 測試開發實戰高階 第 17 期即將開班,文末 免費試聽!jmeter 預設是不支援 dubbo 介面測試的,但是我們可以通過拓展的外掛程式或 jar 包實現此功能。由於我的 jmeter 是使用 mac 的 homebrew 安裝的,所以我的路徑為 usr local cellar jme...