飛蚊症....眼睛積水

2012年7月2日真是糟糕的一天
我的右眼玻璃體退化
從此..我的世界不一樣了

以為是世界末日...
才發現很多人都如此..
但就是很難適應...
我要如何度過這難關呢...

後記....
去了第三家醫院....
醫生說...我是眼睛積水..
............
三個月後..
水退了..
但我的視野......
總覺得不像以前那樣....




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

~~

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檔案路徑>





3.
使用VirtualBox選擇新增,vdi掛載進去
新增時,記得選擇使用已存在的硬碟檔案,否則系統會產生新的vdi檔案,就必須重灌系統

或者


將原vdi複製到另一個地方,然後修改該UUID,修改指令如下:
"c:\Program Files\Oracle\VirtualBox\VBoxManage.exe" internalcommands sethduuid <vdi
檔案名稱


改完之後的VDI,要用新增的方式掛載,如步驟3

個人是覺得用修改UUID會較快,
而在WinXP下 clonevdi...百分比進度會卡卡,但實際已完成,
在Win7下就很正常...

引用參考

CentOS 5.6 安裝VirtualBox 4.0

按這教學安裝,
這種應很簡單的事,我又卡彈了一下,
因為裝完,
應可以用Remote Desktop,去連線安裝,
不過Listen Port就是沒起來,
覺得很怪,
查了查,酷學園的文章
才發現教學文件的最後有提,
要再安裝Extension Pack........
安裝
$ VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.0.0-69151.vbox-extpack


重啟VM,如下圖....











就可以了
我真是瞎........

Port 預設是3389...不過是可以改的....


寫得不錯的參考文件...
VirtualBox擴大CentOS的LVM硬碟筆記
Oracle VM VirtualBox 的 Extension Pack 是什麼及如何安裝 ?

~~