ping general failure
一台 2008 r2 去ping外網會general failure
在另一實體ip段,卻不會,很怪,
原因在於
網卡中將NLB給打勾.....
就會如此....
原本不會或許是因原架構是在Loadbalance底下的關係
~~
在另一實體ip段,卻不會,很怪,
原因在於
網卡中將NLB給打勾.....
就會如此....
原本不會或許是因原架構是在Loadbalance底下的關係
~~
飛蚊症....眼睛積水
2012年7月2日真是糟糕的一天
我的右眼玻璃體退化
從此..我的世界不一樣了
以為是世界末日...
才發現很多人都如此..
但就是很難適應...
我要如何度過這難關呢...
後記....
去了第三家醫院....
醫生說...我是眼睛積水..
............
三個月後..
水退了..
但我的視野......
總覺得不像以前那樣....
以為是世界末日...
才發現很多人都如此..
但就是很難適應...
我要如何度過這難關呢...
後記....
去了第三家醫院....
醫生說...我是眼睛積水..
............
三個月後..
水退了..
但我的視野......
總覺得不像以前那樣....
gvpe 安裝操作
由於也有在用gvpe來作vpn site to site,怕久了忘記,所以寫來備忘,
附註說明
參考網路上兩位前輩的設定....實作是沒問題的,
也可看gvpe中的README..
假設有二台主機,分別為Private1及Private2,先在Private1操作
- tar -zxvf gvpe-2.24.tar.gz -C /usr/src/
- ./configure ( ./configure --enable-digest=sha512 --enable-cipher=aes-256 )
- make
- make install
- mkdir /etc/gvpe 目錄
- create gvpe.conf 內容如下,rekey = 300keepalive = 300mtu = 1500ifname = vpn0ifpersist = noinherit-tos = yescompress = yesconnect = alwaysloglevel = noticeenable-udp = yesenable-tcp = yesenable-rawip = noenable-icmp = yesnode= Private1hostname = 1.2.3.4 <Public IP>node= Private2hostname = 5.6.7.8 <Public IP>
- create if-up 內容如下#!/bin/baship 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 2doif [ "$i" = "$IN_IP_SUB" ]thencontinuefiroute add -net 10.100.$i.0 netmask 255.255.255.0 gw 10.100."$i".1done
- gvpectrl -c /etc/gvpe -g
- 將pubkey目錄也是整個拷到Private2 主機的 /etc/gvpe下
- cp /etc/gvpe/hostkeys/Private1 /etc/gvpe/hostkey
- 而Private1主機中 hostkeys目錄下的Private2 則拷到Private2主機的 /etc/gvpe/hostkey
- 另Private2主機要重複上面1到6步驟
- 在Private1 主機上執行 /usr/local/sbin/gvpe -c /etc/gvpe gvpe -D -l info Private1
- 在Private2 主機上執行 /usr/local/sbin/gvpe -c /etc/gvpe gvpe -D -l info Private2
- 如有成功會出現connection established
- 互ping 對方的10.100.1.1及10.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
vpn0是gvpe.conf所定義的虛擬網卡名稱
參考引用自:
請問有大大會用gvpe嗎?
VPN軟體的另一種選擇:gvpe 的設定檔if-up簡單設定
VPN軟體的另一種選擇:gvpe 的監控機制
VPN軟體的另一種選擇:gvpe 增加一個新的node
Usingthe GNU Virtual Private Ethernet ( 這個說明的圖解很無敵)
VPN軟體的另一種選擇:gvpe 的設定檔if-up簡單設定
VPN軟體的另一種選擇:gvpe 的監控機制
VPN軟體的另一種選擇:gvpe 增加一個新的node
Usingthe GNU Virtual Private Ethernet ( 這個說明的圖解很無敵)
LVS 配置 Windows 2003 RealServer 解決arp問題
CentOS 6.2 下搭建LVS(DR)+Keepalived實現高性能高可用負載均衡服務器
CentOS 6.2 下搭建LVS(DR)+Keepalived實現高性能高可用負載均衡服務器
前言部分來源於網路
背景:
隨著你的網站業務量的增長你網站的服務器壓力越來越大?需要負載均衡方案!商業的硬件如F5又太貴,你們又是創業型互聯公司如何有效節約成本,節省不必要的浪費?同時實現商業硬件一樣的高性能高可用的功能?有什麼好的負載均衡可伸張可擴展的方案嗎?答案是肯定的!有!我們利用LVS+Keepalived基於完整開源軟件的架構可以為你提供一個負載均衡及高可用的服務器。
1、LVS+Keepalived 介紹
LVS是Linux Virtual Server的簡寫,意即Linux虛擬服務器,是一個虛擬的服務器集群系統。本項目在1998年5月由章文嵩博士成立,是中國國內最早出現的自由軟件項目之一。
目前有三種IP負載均衡技術 (VS/NAT、VS/TUN 和 VS/DR)
十種調度算法 (rrr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq)。
Keepalived在這裡主要用作 RealServer 的健康狀態檢查以及LoadBalance主機和BackUP主機之間 failover 的實現
2、網站負載均衡拓撲圖
3、在2台Director Server(LVS_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、在2台Director Server(LVS_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、分別在2台Real 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、在2台RealServer中分別配置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_Master的Keepalived,觀察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
在測試機上訪問:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
個人實作上遇到的問題....
前言部分來源於網路
背景:
隨著你的網站業務量的增長你網站的服務器壓力越來越大?需要負載均衡方案!商業的硬件如F5又太貴,你們又是創業型互聯公司如何有效節約成本,節省不必要的浪費?同時實現商業硬件一樣的高性能高可用的功能?有什麼好的負載均衡可伸張可擴展的方案嗎?答案是肯定的!有!我們利用LVS+Keepalived基於完整開源軟件的架構可以為你提供一個負載均衡及高可用的服務器。
1、LVS+Keepalived 介紹
LVS是Linux Virtual Server的簡寫,意即Linux虛擬服務器,是一個虛擬的服務器集群系統。本項目在1998年5月由章文嵩博士成立,是中國國內最早出現的自由軟件項目之一。
目前有三種IP負載均衡技術 (VS/NAT、VS/TUN 和 VS/DR)
十種調度算法 (rrr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq)。
Keepalived在這裡主要用作 RealServer 的健康狀態檢查以及LoadBalance主機和BackUP主機之間 failover 的實現
2、網站負載均衡拓撲圖
3、在2台Director Server(LVS_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、在2台Director Server(LVS_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、分別在2台Real 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、在2台RealServer中分別配置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_Master的Keepalived,觀察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
一切訪問正常~!祝各位好運!~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
個人實作上遇到的問題....
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
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
~~
Windows 下 VirtualBox如何複製vdi檔案(取得新的uuid)
1.找出 VBoxManage.exe
example:
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe"
2.指令 clonevdi
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" clonevdi <vdi檔案路徑> <新的vdi檔案路徑>
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe"
2.指令 clonevdi
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" clonevdi <vdi檔案路徑> <新的vdi檔案路徑>
3.使用VirtualBox選擇新增,將vdi掛載進去
新增時,記得選擇使用已存在的硬碟檔案,否則系統會產生新的vdi檔案,就必須重灌系統
或者
將原vdi複製到另一個地方,然後修改該UUID,修改指令如下:
"c:\Program Files\Oracle\VirtualBox\VBoxManage.exe" internalcommands sethduuid <vdi檔案名稱>
"c:\Program Files\Oracle\VirtualBox\VBoxManage.exe" internalcommands sethduuid <vdi檔案名稱>
改完之後的VDI,要用新增的方式掛載,如步驟3
個人是覺得用修改UUID會較快,
而在WinXP下 clonevdi...百分比進度會卡卡,但實際已完成,
在Win7下就很正常...
引用參考
訂閱:
文章 (Atom)













