顯示具有 Mis的七八九 標籤的文章。 顯示所有文章
顯示具有 Mis的七八九 標籤的文章。 顯示所有文章

刪除 queue 中特定的收件者或寄件者的信件

刪除 queue 中特定的收件者或寄件者的信件

刪除特定 e-mail 寄信者
mailq | grep "xxx@qq.com" | cut -d " " -f1 | cut -d "*" -f1 | postsuper -d -

刪除特定 email 收信者
mailq|grep -C 1 "@qq.com" | grep -v "@qq.com" | cut -d " " -f1|cut -d "*" -f1 |grep -v "-" | postsuper -d -
mailq|grep -C 2 "@qq.com" | grep -v "@qq.com" | cut -d " " -f1|cut -d "*" -f1|grep -v "-"|grep -v '^$'|postsuper -d - (不含空白列)


grep -v '^$' 去掉完全沒有資料的空白列




~~




Win8.1 Windows Update後,登入後 黑屏 無畫面 剩游標

一個朋友的Notebook,最近Win8 Windows Update 後,
就沒法登入到桌面,一整個黑屏,
原因在於 KB3000850
移掉此更新,就好了

在黑屏,只剩游標的情況下,
而按Ctrl + ALT + DEL
叫出工作管理員,
在按"檔案",
建立新工作,
輸入 explorer.exe
並勾選"以系統管理權限建立此工作"

就可把桌面恢復,
再去移掉 KB3000850,
即可正常登入

看來要快點去升到 Win10 去

~~


LACP 兩部主機之間,只會有一個 NIC 有作用

http://linux.vbird.org/linux_enterprise/0110network.php#hardware_lacp
  • 兩部主機之間,只會有一個 NIC 有作用:
    想像一個狀況,你有兩部主機需要很頻繁的進行網路交換,因此需要超高頻寬!那我能不能在兩部主機上面都安裝三張網卡,然後將各自的三張網卡都做成 bonding 合併頻寬, 讓兩部主機之間可以透過各自的一個 bonding IP 來達成流量的倍增呢?答案是『不可能!』因為不論是 LACP 還是 bonding ,主要還是透過乙太網路的 MAC 來進行收發! 因此,兩者之間最多還是僅能透過一張網卡來進行接收~所以,這種 bonding 行為只能增加容錯的好處,並無法增加頻寬喔!很多文件這點都沒有寫好, 害鳥哥之前花了好幾個月去測試這東西~結果是『杯具』啊!準備喝茶去 @_@~
兩部Switch 透過LACP,只會有一個NIC有作用

真的,也被搞了好幾個月,

無意間,又看到鳥哥的這一篇,

真是心有戚戚


~~

LVM 使用linear 方式

兩顆 3TB HDD 做 LVM,使用 linear 方式

1. 使用GPT方式,而不是用Fdisk
安裝3TB以上硬碟,且不是開機碟,的做法如下,
用Ubuntu 13.04 ,kernel要支援GPT

#parted /dev/sda
(parted) mklabel gpt
(parted) unit TB
(parted) mkpart primary 0 -0
(parted) print
(parted) quit
#mkfs.ext4 /dev/sda1

2.要記得裝lvm2套件,
apt-get install lvm2

(一) 建立LVM

規劃如下:
1. 使用/dev/sda1 一個分割區建立LVM。
2. 只建立一個VG,名稱為 logvg,PE=16M。
3. 只建立一個LV,名稱為 loglv,將VG的所有PE用來建立此LV。
4. 在LV上建立ext4檔案系統。
5. 掛載 /dev/logvg/loglv 到 /mnt/data。

實作:
使用fdisk指令將 /dev/sda1之Partition ID 設成8e 。(註:此步驟不做也沒關係)
pvcreate  /dev/sda1
vgcreate  -s  16M logvg  /dev/sda1
lvcreate  -l 119232 -n loglv  logvg  (可先使用「vgdisplay logvg」知道可用PE數量)
mkfs -t  ext4 /dev/logvg/loglv
mkdir -p /mnt/data
mount  /dev/logvg/loglv /mnt/data

(二) 運作中的LVM增加容量(擴大檔案系統)

續上例規劃如下:
1.在建立好的logvg上新增一個分割區 /dev/sdb1。
2.在logvg多出的可使用PE全部給 loglv。
3. 線上調整 /dev/logvg/loglv檔案系統容量。

實作:
使用fdisk 指令將 /dev/sdb1之Partition ID 設成8e。
pvcreate  /dev/sdb1
vgextend  logvg /dev/sdb1
lvresize -l +119232  /dev/logvg/loglv ( 可先使用「vgdisplay  logvg」指令知道可用PE數量)
resize2fs  /dev/logvg/loglv (將分割區的所有空間給檔案系統使用)

註:上面指令操作時,/dev/logvg/loglv檔案系統不需卸載

參閱 
http://www.cyberciti.biz/tips/fdisk-unable-to-create-partition-greater-2tb.html

~~

LVM 使用 Striped 方式

LVM 使用Striped 方式

兩顆HDD使用Striped的方式
1. Create the physical volumes for LVM to use.
pvcreate /dev/sda1
pvcreate /dev/sdb1

2. Create our volume group.
vgcreate -s 16M logvg /dev/sda1 /dev/sdb1

You can verify that it's there by typing vgdisplay logvg

3. Now let's create our logical volume, and we'll stripe it across all two disks.
lvcreate -i2 -I64 -L 8000G -n loglv logvg /dev/sda1 /dev/sdb1
OR
lvcreate -i2 -I64 -l 476930 -n loglv1 logvg1 /dev/sda1 /dev/sdb1

64KB is default stripesize

You can verify that it's there by typing lvdisplay /dev/logvg/loglv

4. Now let's create our filesystem.
mkfs -t ext4 /dev/logvg/loglv

5. Add it to /etc/fstab
vi /etc/fstab

Append the following to the end of the file:
/dev/logvg/loglv      /mnt/data              ext4    defaults        0 0


The important switches you want to look at are -i and -I:

-i: number of stripes. You want to equal to the number of disks in your volume group.
-I: size of your stripes. This has to be in power of 2, (2,4,8,16,32,64,etc),
    and cannot exceed the extent size (in our example is 64 megabytes
    which is set by the vgcreate flag -s). The unit you set is in kilobytes.
    so -I64 would be stripe sizes of 64 kilobytes.

參閱
http://linux.vbird.org/linux_basic/0420quota.php#lvm
https://www.ibm.com/developerworks/community/blogs/AWojo/entry/basic_linux_lvm_striping1?lang=en

~~



螢幕上半部,有時部分區塊會變黑

螢幕上半部,有時部分區塊會變黑
User遇到這問題,直覺螢幕有問題,
換了三個依然(這時的我應是神經病了),
想說是驅動或BIOS不對,都予以調整,
也依然,
這時的我,才想到要細問User發生的方式,
真正的問題點,才能找到真正的方向,
也才明白,
是使用chrome時,且用Win 8.1的顯示桌面(按右下角的方式),
再切回chrome時,才會如此,其它方式不會,
而只要關掉chrome的硬體加速功能,
就可正常操作了

MSI  H61M-P31 / W8
Intel i3-3220 / HD2500
Windows 8.1 pro

~~

SugarCRM LDAP Support

讓 SugarCRM 使用LDAP連OpenLDAP

續上篇....
Go to: Admin > Password Management
1. Select "Enable LDAP Support"
2. For OpenLDAP Setup:

Server: IP Address (Example: 192.168.1.1 or ldap.test.com)
Port Number: 389
User DN: ou=People,dc=test,dc=com
User Filter: blank
Bind Attribute: dn
Login Attribute: uid
Group Membership: UNCHECK
Authentication: cn=Manager,dc=test,dc=com
Auto Create Users: CHECKED
Encryption Key: blank

以上要搭配slapd.conf 中 Access的權限設定,
如不對,是無法登入的

Auto Create Users :
是 LDAP Server 已有的帳號,
而SugarCRM本身沒有的,就會建立
一定要打勾,
要不然會出現 You must specify a valid username and password.

LDAP 沒有的帳號,而SugarCRM 已有存在的,那當然就會用CRM存在的帳號登入

參閱
http://davidatenney.wordpress.com/2010/04/13/sugar-ldap-installation/

~~

ldap user password change web

安裝self service password
http://ltb-project.org/wiki/download

config 設定參如下,
http://ltb-project.org/wiki/documentation/self-service-password/latest/config_ldap

差別在
$ldap_filter = "(&(objectClass=person)(uid={login}))";
要改成
$ldap_filter = "(&(objectClass=account)(uid={login}))";


$who_change_password = "user";
改成
$who_change_password = "manager";

$hash = "CRYPT";
hash 選符合自己openldap的

這樣就可讓使用者用Web 的方式改密碼

LDAP 的安裝參考
http://blog.jangmt.com/2012/08/centos-6-ldap-server-ldap.html

LDAP + phpldapadmin 參考
http://phorum.study-area.org/index.php?topic=67535.0

LDAP Replication 參考
http://phorum.study-area.org/index.php/topic,67566.0.html
MirrorMode 方式可行,
用Syncrepl則會一直有錯誤,沒法replication,找不出為什麼


~~

How to configure an NTP Server in Windows Server 2012

How to configure an authoritative time server in Windows Server 2012

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config]
"MaxNegPhaseCorrection"=dword:00000e10
"MaxPosPhaseCorrection"=dword:00000e10
"AnnounceFlags"=dword:00000005

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters]
"NtpServer"="tock.stdtime.gov.tw,0×1 watch.stdtime.gov.tw,0x1 time.stdtime.gov.tw,0x1"
"Type"="NTP"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient]
"SpecialPollInterval"=dword:00000384

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer]
"Enabled"=dword:00000001


Restart the time service:
net stop w32time && net start w32time
參閱

在Windows 下client 端,修改機碼,只要改一地方,
NTP Server 在 Windows 下設多筆的機碼位置
HKEYLOCALMACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters

HKEYLOCALMACHINE\SYSTEM\ControlSet001\Services\W32Time\Parameters
中的NTPServer
ip 和 ip 之間,要有空格

直接下指令,
手動指派 NTP 伺服器位址時,可以設定不止一組,
這樣也許可以增加校時的有效性,當第一台 NTP 校時伺服器掛掉時會自動切換到第二台進行校時。
w32tm /config /update /manualpeerlist:"192.168.1.1 192.168.1.2,0x1"

~~

流量不大,卻Connection time 過久,造成網頁出不來

一台Ubuntu 12.04 x64 裝 Apache,
是VM 主機,2 Core,4GB Ram,
連網頁時,會發生 Connection time 過久到 timeout,
這台是用worker module,
修正參數如下
<IfModule mpm_worker_module>
StartServers 2
ServerLimit 200
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxClients 5000
MaxRequestsPerChild 0
</IfModule>

明顯的改善到10~20ms

後記
發現Log會有 kernel: nf_conntrack: table full, dropping packet 的情形,
(因為此機器,有使用iptables,如果不用,不會有這問題)
而造成在某一時段時,會突然Connection time拉到1~4秒,連線變很慢,
解決table full 的方法很多
廠商給的建議是調整以下兩參數,
ip_conntrack_max
ip_conntrack_tcp_timeout_established
在Ubuntu 12.04 下是在
/proc/sys/net/ipv4/netfilter
ip_conntrack_max = 655350
ip_conntrack_tcp_timeout_established = 10800

可寫到 sysctl.conf
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.tcp_fin_timeout = 30
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_max_tw_buckets = 5000
net.ipv4.netfilter.ip_conntrack_max = 655350
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 10800
記得要 sysctl -p

又或寫到 rc.local
echo 655350 > /proc/sys/net/ipv4/netfilter/ip_conntrack_max
echo 10800 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established

心得
機器上線前,要考量可能的連線數,
不只調整Apache,也記得要調整核心參數,
尤其是有用iptables時


參考
http://blog.yorkgu.me/2012/02/09/kernel-nf_conntrack-table-full-dropping-packet/
http://storysky.blog.51cto.com/628458/243835

後後記...
攻擊無所不在,
kern.log會出現一堆 unexpectedly shrunk window的訊息,
再安裝fail2ban,來防止此問題

我們需要增加檔案 /etc/fail2ban/filter.d/shrunk-window.conf
內容如下
[Definition]
failregex = TCP\: Peer <HOST>\:.* unexpectedly shrunk window.*repaired+
ignoreregex =
修改 /etc/fail2ban/jail.conf 加入
[shrunk-window]
enabled  = true
filter = shrunk-window
logpath = /var/log/kern.log
port = all
banaction= iptables-allports
port = anyport
maxretry = 1
可以利用 fail2ban-regex 指令檢查shrunk-window.conf內的failregex有無問題!
http://linux.die.net/man/1/fail2ban-regex
# fail2ban-regex /var/log/kern.log /etc/fail2ban/filter.d/shrunk-window.conf
如果列出了那些警告訊息,那就表示成功了!
此引用參考
http://petonline.dyndns.org/node/114

後後後記.............
在高峰時段,流量雖沒衝到100M以上,但Connection time就是會超過一秒,
因為流量小,不代表連線數少,
大約會有四五仟左右,不含time wait,syn_recv等....
因此再修正
<IfModule mpm_worker_module>
   StartServers 2
   ServerLimit 200
   MinSpareThreads 25
   MaxSpareThreads 75
   ThreadsPerChild 50
   MaxClients 10000
   MaxRequestsPerChild 0
</IfModule>
再度明顯改善.......
要時時觀察 Connection 數,來做調整....

~~


VERR_UNRESOLVED_ERROR


VirtualBox 開一台VM Linux 時發生如上圖的狀況,
很肯定硬碟還有空間,
整台也chkdsk過,不是硬碟問題,
結論是,下壓縮指令,
VBoxManage modifyvdi  XXX.vdi compact
就可正常開啟VM了

昨天是秋分,也結束一段感情....唉..






ping general failure

一台 2008 r2 去ping外網會general failure
在另一實體ip段,卻不會,很怪,
原因在於
網卡中將NLB給打勾.....
就會如此....

原本不會或許是因原架構是在Loadbalance底下的關係


~~


gvpe 安裝操作

由於也有在用gvpe來作vpn site to site,怕久了忘記,所以寫來備忘,
參考網路上兩位前輩的設定....實作是沒問題的,
也可看gvpe中的README..

假設有二台主機,分別為Private1Private2,先在Private1操作
  1. tar -zxvf gvpe-2.24.tar.gz -C /usr/src/
  2. ./configure ( ./configure --enable-digest=sha512 --enable-cipher=aes-256 )
  3. make
  4. make install
  5. mkdir /etc/gvpe 目錄
  6. create gvpe.conf 內容如下,
    rekey = 300
    keepalive = 300
    mtu = 1500
    ifname = vpn0
    ifpersist = no
    inherit-tos = yes
    compress = yes
    connect = always
    loglevel = notice
    enable-udp = yes
    enable-tcp = yes
    enable-rawip = no
    enable-icmp = yes
    node= Private1
    hostname = 1.2.3.4 <Public IP>
    node= Private2
    hostname = 5.6.7.8 <Public IP>
  7. create if-up 內容如下
    #!/bin/bash
    ip link set "$IFNAME" address "$MAC" txqlen 1000 up
    [ "$NODENAME" = "Private1" ] && ip addr add 10.100.1.1 broadcast 10.100.1.255 dev "$IFNAME"
    [ "$NODENAME" = "Private2" ] && ip addr add 10.100.2.1 broadcast 10.100.2.255 dev "$IFNAME"
    ip route add 10.100.0.0/16 dev "$IFNAME"
    IN_NIC="eth0"   #eth0是指內部網段
    IN_IP=`ifconfig "$IN_NIC"|grep -w "inet addr"|cut -d':' -f2|cut -d' ' -f1`
    IN_IP_SUB=`echo "$IN_IP"|cut -d. -f3`
    for i in 1 2
    do
    if [ "$i" = "$IN_IP_SUB" ]
    then
    continue
    fi
    route add -net 10.100.$i.0 netmask 255.255.255.0 gw 10.100."$i".1
    done
  8. gvpectrl -c /etc/gvpe -g
  9. gvpe.confif-up拷貝到Private2 主機的 /etc/gvpe
  10. pubkey目錄也是整個拷到Private2 主機的 /etc/gvpe
  11. cp /etc/gvpe/hostkeys/Private1 /etc/gvpe/hostkey
  12. 而Private1主機中 hostkeys目錄下的Private2 則拷到Private2主機的 /etc/gvpe/hostkey
  13. Private2主機要重複上面16步驟
  14. 在Private1 主機上執行 /usr/local/sbin/gvpe -c /etc/gvpe gvpe -D -l info Private1
  15. 在Private2 主機上執行 /usr/local/sbin/gvpe -c /etc/gvpe gvpe -D -l info Private2
  16. 如有成功會出現connection established
  17. ping 對方的10.100.1.110.100.2.1應會是通的




附註說明

製造金鑰
# gvpectrl -c /etc/gvpe -g
這個產生key的指令會略過已經存在的Key

啟動gvpe
# /usr/local/sbin/gvpe -c /etc/gvpe -D -L -linfo Private2
Private2是指node

Configuration
#gvpectrl -c /etc/gvpe -s

檢查是否通
tcpdump -i vpn0 -vv
vpn0gvpe.conf所定義的虛擬網卡名稱

參考引用自:



LVS 配置 Windows 2003 RealServer 解決arp問題

在 Windows 2003下如何解決RealServer 的Arp 問題
其它Windows Server 應是大同小異













































先將Loopback AdapterVip ip,然後修改機碼 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\
找到設為VipIPADDR修改SubnetMask255.255.255.255




最後重啟LoopBack Adapter網卡

參考引用自

CentOS 6.2 下搭建LVS(DR)+Keepalived實現高性能高可用負載均衡服務器

CentOS 6.2 下搭建LVS(DR)+Keepalived實現高性能高可用負載均衡服務器


前言部分來源於網路


背景:
       
隨著你的網站業務量的增長你網站的服務器壓力越來越大?需要負載均衡方案!商業的硬件如F5又太貴,你們又是創業型互聯公司如何有效節約成本,節省不必要的浪費?時實現商業硬件一樣的高性能高可用的功能?有什麼好的負載均衡可伸張可擴展的方案嗎?答案是肯定的!有!我們利用LVS+Keepalived基於完整開源軟件的架構可以為你提供一個負載均衡及高可用的服務器。

1
LVS+Keepalived
LVS
Linux Virtual Server的簡寫,意即Linux虛擬服務器,是一個虛擬的服務器集群系統。本項目在19985月由章文嵩博士成立,是中國國內最早出現的自由軟件項目之一。
目前有三種IP負載均衡技術 (VS/NATVS/TUN 和 VS/DR) 


十種調度算法 (rrr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq)
Keepalived在這裡主要用作 RealServer 的健康狀態檢查以及LoadBalance主機和BackUP主機之間 failover 的實現

2
負載均衡拓撲圖



3、在2Director ServerLVS_Master)上分配置LVS+Keepalived
實驗環境是CentOS6.2 ,且配置YUM
keepalived
http://www.keepalived.org/software/keepalived-1.2.2.tar.gz
ipvsadm: http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.26.tar.gz 
注意:(for kernel 2.6.28-rc3 or later) 
popt-static
http://mirror.centos.org/centos/6/os/x86_64/Packages/popt-static-1.13-7.el6.x86_64.rpm
首先下載popt-static:具體原因可以查看http://crazylinux.blog.51cto.com/259244/811591
[root@host1 ~]# rpm -ivh popt-static-1.13-7.el6.x86_64.rpm  [root@host1 ~]# yum -y install kernel-devel make gcc openssl-devel  libnl* popt*
[root@host1 ~]# ln -s /usr/src/kernels/2.6.18-194.el5-x86_64/ /usr/src/linux

[root@host1 ~]# tar -zxvf ipvsadm-1.26.tar.gz -C /usr/src/
[root@host1 ~]# cd /usr/src/ipvsadm-1.26/
[root@host1 ipvsadm-1.26]# make
[root@host1 ipvsadm-1.26]# make install
[root@host1 ~]# tar -zxvf keepalived-1.2.2.tar.gz -C /usr/src/
[root@host1 ~]# cd /usr/src/keepalived-1.2.2/
[root@host1 keepalived-1.2.2]# ./configure
[root@host1 keepalived-1.2.2]# make
[root@host1 keepalived-1.2.2]# make install
[root@host1 keepalived-1.2.2]# cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/
[root@host1 keepalived-1.2.2]# cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/
[root@host1 keepalived-1.2.2]# mkdir /etc/keepalived
[root@host1 keepalived-1.2.2]# cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/
[root@host1 keepalived-1.2.2]# cp /usr/local/sbin/keepalived /usr/sbin/


4
、在2Director ServerLVS_Master)上分配置Keepalived
[root@host1 ~]# less /etc/keepalived/keepalived.conf   
! Configuration File for keepalived   
global_defs {  
   router_id  LVS_MASTER     網上資料說這個值也需要修改,具體不詳,之前我們線上的主備就一直是一樣的 ^ ^還是修改一下吧!   
}  
vrrp_instance VI_1 {   
    state MASTER          # LVS_Backup上修改成BACKUP  
    interface eth0   
    virtual_router_id 51   
    priority 100                # LVS_Backup上修改成80 
    advert_int 1   
    authentication {   
        auth_type PASS   
        auth_pass 1111   
    }   
    virtual_ipaddress {   
        192.168.10.100   
    }   
}  
virtual_server 192.168.10.100 80 {   
    delay_loop 6   
    lb_algo rr   
    lb_kind DR   
    nat_mask 255.255.255.0   
    persistence_timeout 50   
    protocol TCP   
    real_server 192.168.10.3 80 {   
        weight 1   
        TCP_CHECK {   
        connect_timeout 10   
        nb_get_retry 3   
        connect_port 80   
        }   
    }   
    real_server 192.168.10.4 80 {   
        weight 1   
        TCP_CHECK {   
        connect_timeout 10   
        nb_get_retry 3   
        connect_port 80   
        }   
    }   
}

BACKUP服務器同上配置,先安裝lvs再按裝keepalived,然後配置/etc/keepalived/keepalived.conf,只需將紅色標示的部分改一下即可。


5、分2Real Server上面編寫腳本並啟動 (Windows 請參考另一篇)
[root@host3 init.d]# cat /etc/init.d/realserver.sh      
#!/bin/bash  
SNS_VIP=192.168.10.100            
. /etc/rc.d/init.d/functions            
case "$1" in 
start)  
        ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP   
        /sbin/route add -host $SNS_VIP dev lo:0   
        echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore   #啟動是抑制相關arp動作
        echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce   
        echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore   
        echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce   
        sysctl -p >/dev/null 2>&1   
        echo "RealServer Start OK"           
        ;;   
stop)  
        ifconfig lo:0 down   
        route del $SNS_VIP >/dev/null 2>&1   
        echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore   
        echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce   
        echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore   
        echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce   
        echo "RealServer Stoped" 
        ;;   
        *)   
        echo "Usage: $0 {start|stop}" 
        exit 1   
esac            
exit 0       


6、在2RealServer中分配置HTTP並啟動 realserver.sh
[root@host3 ~]# yum -y install httpd
[root@host3 ~]# cd /var/www/html/
[root@host3 html]# cat index.html
<h1>RealServer 192.168.10.3</h1>
[root@host3 html]# /etc/init.d/httpd start
[root@host3 ~]# /etc/init.d/realserver.sh start

另一台機器配置一樣,過程略、、、


7測試
分別啟動Keepalived
[root@host1 ~]# chkconfig keepalived on
[root@host1 ~]# /etc/init.d/keepalived restart
[root@host1 ~]# ipvsadm
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.10.100:http rr persistent 50
  -> 192.168.10.3:http            Route   1      0          0         
  -> 192.168.10.4:http            Route   1      0          0   
先關閉LVS_MasterKeepalived,觀察LVS_Backup的日誌

[root@host2 ~]# tail -f /var/log/messages
Mar 21 07:22:28 host2 Keepalived_vrrp: VRRP_Instance(VI_1) Transition to MASTER STATE
Mar 21 07:22:29 host2 Keepalived_vrrp: VRRP_Instance(VI_1) Entering MASTER STATE
Mar 21 07:22:29 host2 Keepalived_vrrp: VRRP_Instance(VI_1) setting protocol VIPs.
Mar 21 07:22:29 host2 Keepalived_healthcheckers: Netlink reflector reports IP 192.168.10.100 added
Mar 21 07:22:29 host2 Keepalived_vrrp: VRRP_Instance(VI_1) Sending gratuitous ARPs on eth0 for 192.168.10.100


在測試機上訪問:




啟動LVS_Master,在查看LVS_Backup


[root@host2 ~]# tail -f /var/log/messages

Mar 21 07:26:20 host2 Keepalived_vrrp: VRRP_Instance(VI_1) Received higher prio advert

Mar 21 07:26:20 host2 Keepalived_vrrp: VRRP_Instance(VI_1) Entering BACKUP STATE

Mar 21 07:26:20 host2 Keepalived_vrrp: VRRP_Instance(VI_1) removing protocol VIPs.

Mar 21 07:26:20 host2 Keepalived_healthcheckers: Netlink reflector reports IP 192.168.10.100 removed




一切訪問正常~!祝各位好運!~


本文出自 “CrazyLinux工作室” 博客,請務必保留此出處http://crazylinux.blog.51cto.com/259244/811952



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
個人實作上遇到的問題....
1.  在打ipvsadm -lcn 看到 syn_recv一堆,怎麼樣就是不能連到 RIP 的網頁,錯就錯在我把   realserver.sh 的SNS_VIP一直寫成LVS主機的實體ip...如用以上範例來解釋,就是寫成192.168.10.1...就會發生這種情形...


2. 如把realserver.sh stop 停用,然後再start,在連LVS的VIP時,有可能完全沒連線,這時請把 網頁關閉或電腦的 arp 清掉,再開即可


3. syn_recv  問題還有可能就是 keepalived.conf 中的 interface介面設錯(eth1打成eth0等等),也會如此,跨不同的網段(10.1.1的想跨到192.168.1)也會如此,這都是要注意的




相關 LVS 解釋可參考
http://www.lslnet.com/linux/f/docs1/i38/big5277307.htm

~~