2013/03/21

Published 3月 21, 2013 by

Load Balance - HAProxy Setup + keepalived 實現web服務的高可用和負載均衡

1.HAProxy Description


HAProxy 是一套快速以及靈活的load balance套件,透過haproxy可以快速達到server分流、判斷存活、連線數量等功能。當流量達到一定的程度後load balance是一大重點,如何讓各server平均去負擔流量是相當重要的,透過haproxy可以簡單快速的達成load balance

架構說明:



2. HAProxy架設


0.環境

OS:RCHE 5.7
Haproxy: 1.4.15
VIP:10.55.79.25
HAProxy Server1:10.55.79.153(Master)
HAProxy Server2:10.55.79.154(Slave)

Web Server1:10.55.78.178
Web Server2:10.55.78.179


1.增加使用者及平台設定

#useradd -r haproxy

#vi /etc/sysctl.conf
net.ipv4.ip_nonlocal_bind=1
#sysctl –p

2.download haproxy


經測試:
haproxy-1.4.15.tar.gz & keepalived- 1.2.2 .tar.gz 可運作
haproxy-1.4.24.tar.gz & keepalived-1.2.8.tar.gz 可運作

3.install

cd /tmp

tar -zxvf  haproxy- 1.4.15 .tar.gz

cd  haproxy- 1.4.15

make TARGET=linux26 PREFIX=/usr/local/haproxy
make install PREFIX=/usr/local/haproxy



4. setup config

#vi /usr/local/haproxy/haproxy.cfg

global
       #log 127.0.0.1 local0 ###全局日志,搭配syslog server
        maxconn 4096
        uid haproxy
        gid haproxy
        daemon ##背景執行
        nbproc 1 ##process運行數,可設定多個process提高效能

defaults

        #log 127.0.0.1 local3 ###全局日志,搭配syslog server
        maxconn         32768 #最大進線數
        clitimeout      60000   
        srvtimeout      60000
        contimeout      5000 #連接超時60s , 單位是ms
        retries         3                 ##3次連接失敗就認為服務不可用
         option         httplog        #日志類別http日志格式 
        option          forwardfor  ##如果後端服務器需要獲得客戶端真實ip需要配置的參數,可以從Http Header中獲得客戶端ip
        option          httpclose     #連線完後關閉http通道
        option          redispatch  ##serverId對應的服務器掛掉後,強制定向到其他健康的服務器   
        option          dontlognull   ##不記錄健康檢查的日志信息
        option          abortonclose #當服務器負載很高的時候,自動結束掉當前隊列處理比較久的連接

listen  http_proxy
        bind *:80 #監聽端口 
        mode    http #http7層模式 
#balance source ##默認的負載均衡的方式,類似nginx的ip_hash,可以固定session 
#balance leastconn                 #默認的負載均衡的方式,最小連接
        balance roundrobin  #默認的負載均衡的方式,輪詢方式
    log 127.0.0.1 local3 err   #[err warning info debug]  
        option forwardfor
         option httpchk HEAD /index.html HTTP/1.0 ###健康檢查頁面
        #appsession PHPSESSID len 128 timeout 1h request-learn
        server  www1 10.55.78.178:80 check weight 1 inter 2000 rise 2 fall 3
        server  www2 10.55.78.179:80 check weight 1 inter 2000 rise 2 fall 3
#服務器定義,check inter 2000是檢測心跳頻率rise 3是3次正確認為服務器可用, 
#fall 3是3次失敗認为服務器不可用,weight代表權重 
       #errorfile 403 /etc/haproxy/errorfiles/403.http
       #errorfile 500 /etc/haproxy/errorfiles/500.http
      #errorfile 502 /etc/haproxy/errorfiles/502.http

listen status_auth 10.55.79.153:81 #管理介面
        stats enable
        mode http
        stats uri  /admin-status #管理地址
        stats auth  admin:123456 #管理帐号:管理密码
        stats admin if TRUE

listen status_auth 10.55.79.25:81 #VIP管理介面
        stats enable
        mode http
        stats uri  /admin-status #管理地址
        stats auth  admin:123456 #管理帐号:管理密码
        stats admin if TRUE


5.Startup/Stop Service

Startup:

Method1(背景執行):

#/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/haproxy.cfg



Method2(偵錯模式):

/usr/local/haproxy/sbin/haproxy -d -f /usr/local/haproxy/haproxy.cfg



Stop:

#killall -9 haproxy



3. Syslog Setting


#vi /etc/syslog.conf添加:


local3.*        /var/log/haproxy.log
local0.*        /var/log/haproxy.log



#vi /etc/sysconfig/syslog修改


SYSLOGD_OPTIONS="-r -m 0"
#/etc/init.d/syslog restart



4. haproxy壓力測試


 
先進管理畫面,再確認最後狀態



 


# for i in $(seq 100);do curl http://10.55.79.153:80;done









5. Keepalive Setting



1.Download

# wget http://keepalived.org/software/keepalived- 1.2.2 .tar.gz

 PS.keepalived-1.2.9.tar.gz 會有Bug


2.Install

# tar zxf keepalived- 1.2.2 .tar.gz 
cd keepalived- 1.2.2

# ./configure

# make

# make install

# cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/

# cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/

# mkdir /etc/keepalived

# cp /usr/local/sbin/keepalived /usr/sbin/



3.Setting

# vi /etc/keepalived/keepalived.conf



! Configuration File for keepalived



global_defs {
   notification_email {
     shinchuan.huang@innolux.com
   }

   notification_email_from shinchuan.huang@innolux.com
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL

}



vrrp_script chk_haproxy {
    script "killall -0 haproxy"
    interval 2
    weight 2
}



vrrp_instance VI_1 {
    state MASTER #另一台為BACKUP

    interface eth0
    virtual_router_id 51

    priority 100 #另一台為99

    advert_int 1
    garp_master_delay 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }

    virtual_ipaddress {
        10.55.79.25
    }

    track_script {
        chk_haproxy
    }

    track_interface {
       eth0
    }
}


virtual_server 10.55.79.25 80 {
    delay_loop 6 #(每隔10秒查詢realserver狀態) 
    lb_algo rr #(lvs 算法) 
    lb_kind DR #(Direct Route) 
#    nat_mask 255.255.255.0
    persistence_timeout 50 #(同一IP的連接50秒內被分配到同一台realserver) 
    protocol TCP  #(TCP協議檢查realserver狀態) 

   real_server 10.55.79.153 80 {
        weight 1   #(權重) 
        TCP_CHECK {
        connect_timeout 10  #(10秒無響應超時) 
        nb_get_retry 3
        delay_before_retry 3
         }
   }

  real_server 10.55.79.154 80 {
        weight 1

        TCP_CHECK {
            connect_timeout 10
            nb_get_retry 3
            delay_before_retry 3
        }
    }
}



4.Start Service

#  service keepalived start



使用Ping的方式來做測試,並搭配arp –a的方式,來查看目前是跑在那一台主機上面


7. 開機啟動Script


[root@C5THAP1 haproxy]# vi /etc/rc.d/init.d/haproxy
#! /bin/sh
set -e

PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/haproxy/sbin
PROGDIR=/usr/local/haproxy
PROGNAME=haproxy
DAEMON=$PROGDIR/sbin/$PROGNAME
CONFIG=$PROGDIR/$PROGNAME.cfg
PIDFILE=$PROGDIR/run/$PROGNAME.pid
DESC="HAProxy daemon"
SCRIPTNAME=/etc/init.d/$PROGNAME

# Gracefully exit if the package has been removed.
test -x $DAEMON || exit 0

start()
{
        echo -n "Starting $DESC: $PROGNAME"
        $DAEMON -f $CONFIG
        echo "."
}

stop()
{
        echo -n "Stopping $DESC: $PROGNAME"
#        haproxy_pid=cat $PIDFILE
#        kill $haproxy_pid
        killall -9 haproxy
        echo "."
}

restart()
{
        echo -n "Stopping $DESC: $PROGNAME.."
        killall -9 haproxy
        echo "."
        $DAEMON -f $CONFIG
        echo -n "Starting $DESC: $PROGNAME.."
        echo "."

}
case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  restart)
        restart
        ;;
  *)
        echo "Usage: $SCRIPTNAME {start|stop|restart}" >&2
        exit 1
        ;;
esac
exit 0





8. Reference


一、
以上的設定在Real Server上看到的ip是帶HAProxy Server的ip,若要在Real Server 上看到實際連進來Client IP,需要Redhat 6.0以上,詳細資訊詳見以下的說明:
1.http://www.pigo.idv.tw/archives/989 -->中文
2.http://blog.loadbalancer.org/configure-haproxy-with-tproxy-kernel-for-full-transparent-proxy/ -->英文


二、Haproxy 安裝手記,版本升級並追加 log 機制



三、基于Keepalived+Haproxy搭建四层负载均衡器[原创


四、官方網頁



五、參數設定說明

http://blog.longwin.com.tw/2009/03/haproxy-ha-load-balance-2009/
http://rritw.com/a/bianchengyuyan/PHP/20130301/314828.html

六、附Haproxy演算法:


一、roundrobin,表示簡單的輪詢;二、static-rr,表示根據權重;三、leastconn,表示最少連接者先處理;四、source,表示根據請求源IP;五、uri,表示根據請求的URI;六、url_param,表示根據請求的URl參數’balance url_param’ requires an URL parameter name七、hdr(name),表示根據HTTP請求頭來鎖定每一次HTTP請求;八、rdp-cookie(name),表示根據據cookie(name)來鎖定並哈希每一次TCP請求。
常用算法:roundrobinsourcelestconn

七、測試發現可以多個vip結合不同的Port來做group,但不可以做多個ip,相同的Port來做goup。



Read More

2012/11/02

Published 11月 02, 2012 by

RedHat iscsi initiator Setting

iSCSI initiator configuration in RedHat Enterprise Linux 5(linux認得到Netapp iscsi)



安裝initiator程式

[root@C5CLUSTER2 cluster]# yum install iscsi-initiator-utils



查看本機的iqn-可以看到本機的iqnà加入到netappInitiator Group,讓netapp認的到

[root@C5CLUSTER2 cluster]# cat /etc/iscsi/initiatorname.iscsi

InitiatorName=iqn.1994-05.com.redhat:2551bf29b48



加入target iscsi的連線

[root@C5TCluster1 ~]# iscsiadm -m discovery -t sendtargets -p 10.55.78.63



秀出目前的連線

[root@C5CLUSTER2 iscsi]# iscsiadm -m node

10.55.78.77:3260,2000 iqn.1992-08.com.netapp:sn.142241218

10.55.78.63:3260,2000 iqn.1992-08.com.netapp:sn.142241218



重新啟動iscsi

[root@C5CLUSTER2 iscsi]# service iscsi restart



可以看到Netapp iscsiPartition在裡面

[root@C5CLUSTER2 iscsi]# fdisk –l

Disk /dev/sda: 1073 MB, 1073741824 bytes

34 heads, 61 sectors/track, 1011 cylinders

Units = cylinders of 2074 * 512 = 1061888 bytes

Disk /dev/sda doesn't contain a valid partition table



iscsi重新整理之後,較敏感的ap會自動重開機(如Oracle asm)
A:手動新增disk之後,不重開機的狀況下可看到新disk(兩台都要做)
[root@C5TASM2 ~]# echo "- - -" >/sys/class/scsi_host/host0/scan







參考資料:鳥哥 iscsi 安裝


Read More

2012/10/29

Published 10月 29, 2012 by with 0 comment

Redhat 5.4 Cluster 架設教學


Cluster 架設教學:


資料來源:鳥哥的教學網站http://linux.vbird.org/somepaper/20090402-hpc-mysql-rhcs.pdf


 


環境:Redhat 5.4VM Server測試


 


相關流程:


一、建置及規劃要做的事項


二、安裝Clustering套件(Default沒有安裝,要輸入License才能裝)


三、使用”system-config-cluster”來建置Cluster


四、一一加入Cluster Node


五、建置Fence Device,並在Cluster NodeFence Device加入


六、新增Failover Domain


七、新增Cluster Resources


八、新增Cluster Service


九、部署cluster.conf到每一台Cluster node


十、啟動Services


 


 


----------------------------------


在這上面的文章我就不再copy一份了,補充上面沒有寫到的資料:


 


1、啟動Debug Log,找尋錯誤的時候非常好用:


 


一、編輯/etc/cluster/cluster.conf,更新版本,如本來是3,更新後為4


Edit /etc/cluster/cluster.conf to add debug information. Update the cluster_version number as well. Here is an example (most of the /etc/cluster/cluster.conf is removed for readablity):


 <cluster config_version="3" name="vip_cluster">


      <rm log_level="7" log_facility="local4">
       ----


        </rm>


</cluster>


 



二、把這一個檔案Copy到所有的Cluster的主機上


#scp /etc/cluster/cluster.conf root@10.55.79.22:/etc/cluster/cluster.conf


 


三、更新Cluster version


# ccs_tool update /etc/cluster/cluster.conf


 


四、把log_level=7 & local4的這一些message放到/etc/syslog.conf做接收,設定完之後重新啟動syslog


 


#echo "local4.* /var/log/cluster.log.$(hostname)" >> /etc/syslog.conf


#touch /var/log/cluster.log.$(hostname)"


#service syslog restart


 


2Cluster啟動與關閉


Cluster啟動


若要在節點上啟用叢集軟體,請照此順序輸入下列指令(注意一下啟了那一些Service)


service cman start


service clvmd start,若使用了 CLVM 來建立叢集卷冊


service gfs2 start,若您所使用的是 Red Hat GFS2


service rgmanager start,若您正在使用 high-availabilityHA)服務(  rgmanager)。


 


Cluster關閉


若要在節點上停止叢集軟體,請照此順序輸入下列指令:


service rgmanager stop,若您正在使用 high-availabilityHA)服務(  rgmanager)。


service gfs2 stop,若您所使用的是 Red Hat GFS2


umount -at gfs2,若您正在搭配使用 Red Hat GFS2   rgmanager,請確保任何在  rgmanager 啟用時掛載(而並未在關閉時卸載)的 GFS2 檔案亦被卸載。


service clvmd stop,若使用了 CLVM 來建立叢集卷冊


service cman stop


 


3、切換注意事項


Cluster切換會掉三個封包


 


4、常用指令


#clusvcadm –r –m ## relcate service to another node


# ip addr list                                                             ###Check ip status


#clustat                                                                  ###Check Clustat status


#clusvcadm -R                                 ## Restart a group in place


 


 


相關資源:


https://access.redhat.com/knowledge/docs/zh-TW/Red_Hat_Enterprise_Linux/6/html/Cluster_Administration/ch-mgmt-cli-CA.html


https://access.redhat.com/knowledge/docs/en-US/Red_Hat_Enterprise_Linux/5/pdf/Cluster_Administration/Red_Hat_Enterprise_Linux-5-Cluster_Administration-en-US.pdf


http://linux.vbird.org/somepaper/20090402-hpc-mysql-rhcs.pdf


Read More

2012/09/12

Published 9月 12, 2012 by with 0 comment

Linux 遠端桌面(XRDP)

遠端桌面(RDP)相對於 VNC 的好處應該是:


1.      連線的過程中有加密


2.      可設定登入時的解析度


3.      方便切換輸入法


4.      操作起來似乎比 VNC 還流暢


現在遠端桌面可不再是 Windows 的專利,在 Linux 上要做到遠端桌面的存取,如果純粹只要有 Viewer 的功能可安裝rdesktop,如果要同時有 Viewer Server 的功能請安裝xrdp,以下介紹 xrdp


其實 xrdp 是一個 Linux 遠端桌面的中繼程式,為何說 xrdp 中繼程式?!因為它還是借用了 VNC 的模組 (libvnc.so),並且 xrdp 除了可以讓你用遠端桌面連線存取 Linux 桌面之外,還能透過它來登入其它 Windows 的遠端桌面、VNC Server,以及任何也有安裝 xrdp 的主機。並且是允許你用不同帳號進行多重登入,這在 Windows 的系統只有 Windows Server 才支援。


所以說,安裝了 xrdp 等於是安裝了:


1.      RDP Server (允許多重登入)


2.      RDP Viewer


3.      XRDP Viewer


4.      VNC Viewer


 


安裝 xrdp


1. 安裝 xrdp 前請先確定系統已經安裝了 gcc, pam-devel, openssl-devel,可使用下列指令安裝:


yum install gcc pam-devel openssl-devel


2.  http://xrdp.sf.net 下載 xrdp 的原始檔並安裝:


cd /usr/local/src


wget http://jaist.dl.sourceforge.net/sourceforge/xrdp/xrdp- 0.4.1 .tar.gz


tar -xzvf xrdp- 0.4.1 .tar.gz


cd xrdp- 0.4.1


make


make install


3. 編輯 /etc/rc.d/rc.local,加入:


/usr/local/xrdp/xrdp_control.sh start


PS.若使用rpm安裝,xrdp_control.sh此檔案會找不到…


 


啟動 xrdp


啟動 xrdp 指令:


/usr/local/xrdp/xrdp_control.sh start


 


xrdp 的設定檔


相關設定檔放在 “/etc/xrdp/”,比較重要的是 “/etc/xrdp/sesman.ini” 這個檔案,在 [Globals] 中的這一行:


ListenAddress=127.0.0.1


表示只允許從本機連結 RDP Server,如果要從別的主機進行操作 (配合登入 xrdp “sesman-any” 選項),可將 “127.0.0.1″ 改成 “ 0.0.0 .0″


登入 xrdp


啟動 xrdp 之後,你的 Linux 主機基本上已經具備了接受遠端桌面連線的功能,其 Port 3389,請用 Windows 遠端桌面連線進行存取。





連線後,首先會看到 xrdp 的登入視窗,你可以選擇:


1.      sesman-Xvnc: 使用 xrdp 內建的 libvnc.so 模組登入本機,本機不需啟動 VNC Server


2.      console: 登入本機的 VNC Server


3.      vnc-any: 登入其它已經啟動 VNC Server 的主機。


4.      sesman-any:登入其它有安裝 xrdp 的主機。


5.      rpd-any: 登入其它已經啟動遠端桌面 (RDP Server) Windows 電腦或主機。


6.      sesman-X11rdp: 這個項目我沒有測試成功,從字面上的意思來看,應該是連結本機端由 X Server 提供的 RDP,但目前 Linux 的桌面應該還沒有具備這樣的功能!


 


桌面環境


“sesman-Xvnc” 選項登入 Linux 桌面後,預設是使用 KDE 桌面,但其操作介面是英文的,這些設定都與 “/usr/local/xrdp/startwm.sh” 這個指令檔有關。


如果要改成中文環境,請編輯 /usr/local/xrdp/startwm.sh,在程式的第二行加入:


export LANG=zh_TW.UTF-8


這樣就可以了。


 


參考資料:http://punz.pixnet.net/blog/post/24772651


Read More

2012/08/20

Published 8月 20, 2012 by with 0 comment

Find Oracle sid and Linux pid

Oracle sid and Linux pid
Sometimes we found Oracle process that has been running too long using top command on Linux. We know it has PID. But how to know the SID of the process?
Here is the script:



select
substr(a.spid,1,9) pid,
substr(b.sid,1,5) sid,
substr(b.serial#,1,5) ser#,
substr(b.machine,1,6) box,
substr(b.username,1,10) username,
substr(b.osuser,1,8) os_user,
substr(b.program,1,30) program
from
v$session b,
v$process a
where
b.paddr = a.addr
and type='USER'
order by spid;


 


Reference:http://orafin.blogspot.tw/2010/07/oracle-sid-and-linux-pid.html


Read More

2012/08/01

Published 8月 01, 2012 by with 0 comment

Oracle:查詢誰Lock住Process, sid number ?做了什麼事?

ORACLE Tips: 查詢誰Lock住Process, sid number ?


Oracle:10G


select b.object_name obj_name,
       d.ctime time,
       to_char(d.lmode) l,
       to_char(d.request) r,
       a.os_user_name os_user,
       c.machine machine,
       c.program program,
       c.serial# s_serial,
       a.oracle_username ora_user,
       a.object_id obj_id,
       a.process pid,
       a.session_id s_id,
       p.spid
from v$locked_object a, all_objects b, v$session c, v$lock d,V$process p
where a.object_id=b.object_id
and c.Paddr = p.Addr
and a.session_id=c.sid
and a.session_id=d.sid
and d.type='TX'
order by d.ctime desc, p.spid;


---------------------------------------------------------------------------------------------------------


#查詢Session History(首先要知道Session_id,通常em發送訊息過來,就會指名session_id,
這樣會比較好找出是那一個Session做什麼事):


select sample_time,session_id,sql_id,session_state,blocking_session_status,
event,wait_class,time_waited,program,module from v$active_session_history
where blocking_session_status!='NOT IN WAIT';


#記住sql_id,再到v$sqltext查詢是執行那一個sql(piece是執行順序):


select * from v$sqltext where sql_id='f2fnfj93dwwvh' order by piece;


上面的動作都是Oracle 10G的ASH的功能:


ASH (Active Session History) 體系結構



在Oracle10g之前,當前會話記錄保存在v$session中;處於等待狀態的會話會被復制一份放在
v$session_wait中。當該連接斷開後,其原來的連接信息在v$session和v$session_wait中就
會被刪除。沒有視圖能提供有關session在歷史上的每個時間點上都在做什麼,以及在等待
什麼資源。原來的v$session及v$session_wait只是顯示當前session正在執行什麼SQL及等待
什麼資源。



從Oracle10g開始,Oracle提供了Active Session History (ASH)來解決這個問題。 每隔1秒鐘
ASH都會將當前活動的session的信息記錄在SGA的一個緩衝區(循環使用)中。在ASH中,這個過
程稱為采樣(Sampling)。ASH缺省每一秒收集一下v$session中活動會話的情況,記錄會話等待
的事件,不活動的會話不會被采樣, 間隔時間由 _ash_sampling_interval 參數確定 .



在10g中新出現了一個視圖:v$session_wait_history。這個視圖保存了每個活動session在
v$session_wait中最近10次的等待事件.  但這對於一段時期內的數據性能狀況的監測是遠遠不夠
的,為了解決這個問題,在10g中還新添加了一個視圖:v$active_session_history。這就是ASH
(active session history)。



ASH采用的策略 ---


典型的情況下,為了診斷當前數據庫的狀態,需要最近的五到十分鐘的詳細信息。然而,由於記錄
session的活動信息是很費時間和空間的,ASH采用的策略是:  保存處於等待狀態的活動session的
信息,每秒從v$session_wait及v$session中采樣一次,並將采樣信息保存在內存中(註意:ASH的
采樣數據是保存在內存中)。


 ASH的工作原理 ---


對於Active Session的采樣(每秒收集相關視圖中的信息)數據存放在SGA中,SGA中分配給ASH的大小
可以從v$sgastat中查詢(Shared Pool下ASH buffers),該空間可以循環使用,如果需要,以前的信
息可以被新的信息覆蓋。要把所有session的所有活動記錄下來是非常消耗資源的。因此ASH只能從
V$SESSION 等少數相關視圖中獲取那些活動的session的信息。ASH每隔1秒收集session信息時,不是
通過SQL語句完成的,而是采用直接訪問內存的方式,相對更高效。



因為每秒需要采樣數據,所以ASH緩存裏數據量非常大,將他們全部刷新到磁盤上的話,會非常消
耗磁盤空間,因此在將ASH緩存中的數據刷新到AWR相關表中的時候, 采取以下策略:


1.  MMON 默認每隔60分鐘 (可以調整) 將ash buffers 中的數據全部flush到磁盤 。
2.  MMNL 默認當ash buffers 滿66%的時候將ash buffers 中的1/10的數據寫入磁盤 (具體1/10是哪些數據,遵循FIFO原則) 。
3.  MMNL 寫入的采用數據百分比 10%  表示的是寫入磁盤的數據占 ash buffers 中采樣數據量的百分比 (而不是占ash buffers 總大小的比例)
4.  為了節省空間,AWR中采集的數據默認在7天後自動清除。


資料來源:http://17198842.blog.hexun.com.tw/66567639_d.html


Read More

2012/07/27

Published 7月 27, 2012 by with 0 comment

SnmpTrap Server Install and Send To Syslog

1. 啟動snmptrapd:
          * 在/etc/hosts.allow中加入准許接收的網段
            snmptrapd: 10.55.0.0/255.255.0.0 : Allow
          * 建立/etc/snmp/snmptrapd.conf
            disableAuthorization yes
            traphandle default /usr/sbin/snmptthandler
           
            disableAuthorization不做認證的動作
            traphandle告知traphandle的所在位置
            default則表示接受全部的OID而不是只接受特定的OID
          * 修改/etc/init.d/snmptrapd中的OPTIONS
            OPTIONS="-On -C -c /etc/snmp/snmptrapd.conf -Ls2 -p /var/run/snmptrapd.pid"
            -On意思是指以數字形式秀出OID
            -C是不讀其他的設定檔只讀-c後面指定的設定檔
            -c後面指定要讀入的設定檔
            -Ls2使指用syslog記錄LOG並且記錄在local2的facility
            -p將trap daemon的process ID記錄在檔案中


2. 修改/etc/syslog.conf


 #存放到文字檔中     
 local2.*                                                /var/log/snmptrapd.log
 #傳送到Syslog-ng Server中
 local2.*        @10.55.78.14


 3. 啟動service
      service syslog restart (如果有裝syslog-ng 則重啟syslog-ng)
      service snmptrapd start



資料來源:
http://tw.myblog.yahoo.com/food-hell/article?mid=2002


Read More

2012/07/19

Published 7月 19, 2012 by with 0 comment

IT隨手記

1.藍底白字分析軟體 BlueScreenView,官網有提供繁體中文套件,將ini檔放到該資料匣就可以
資料來源:http://azo-freeware.blogspot.com/2009/08/bluescreenview-100.html
官方網站:http://www.nirsoft.net/utils/blue_screen_view.html

2.輕巧好用的系統溫度/風扇/硬碟三合一監控軟體-- SpeedFAN
http://blog.soft.idv.tw/?p=99
Read More

2011/04/29

Published 4月 29, 2011 by with 0 comment

沒繳國民年金小心3大損失~~~Smart智富

「有工作保勞保,沒工作保國民年金!」對這句政令口號,許多無業的人似乎不太埋單,據內政部社會司統計,自國民年金開辦近2年來,投保人數比一開辦時減少了近17萬人之多。



國保開辦以來,投保人數已減少近17萬人


國保開辦以來,投保人數已減少近17萬人







名詞解釋_國民年金 [ 隱藏 ]
於2008年10月正式開辦。是將25歲以上、未滿65歲,且未參加軍、公教、勞、農保約計470萬的國民納入社會安全網,讓這群人在老年、身心障礙甚至死亡時,被保險人及其遺屬能獲得適足的基本經濟生活保障。

很多人不想繳國民年金,一來是嫌保障項目和給付比勞保少很多,二來是怕國民年金會破產。可是,在大家質疑國民年金漁蠕q時,知名的經濟學家馬凱卻鼓勵他的太太投保,而身為國內少數精算師的專精企管公司總經理葉崇琦,更是逢人就力勸一定要繳國民年金。

到底這兩位數字專家發現了什麼好處?

你繳6元,政府出4元 領時可拿回10元

由於國民年金是在保障經濟弱勢族群,所以在保費設計上,政府負擔比重達40%,投保民眾則負擔60%。而保障的內容則包括老年年金、身心障礙年金、遺屬年金、喪葬給付。馬凱說:「這等於是我們繳6元,政府負擔4元,最後要領時卻可以拿回10元,對老年生活有保障,為什麼不繳?」

所以一直是家庭主婦、無法享有社會保險保障的馬太太,在國民年金一開辦,就持續投保至今,好為自己儲備一筆退休金。

且國民年金跟勞保年金一樣,都是繳愈久、領愈多,而且領到老,絕不是大家認知中只能月領3,000元。如果投保年資超過26年,每月領取金額為5,000元~6,000元。若投保年資達40年,每個月可領近9,000元。

葉崇琦用最極端的例子推算,若連續投保國年民金40年,所繳保費為51萬5,082元,如果從65歲開始請領、平均餘命17年,則可領取183萬3,062元,幾乎領回3.5倍的錢,難怪葉崇琦會說:「這是一件很划算的投資,如果你有能力,一定要去繳。」


勞保、國民年金 投保年資可合併計算

雖然勞保和國民年金是分開計算年資,但有工作時參加勞保累計勞保年資,沒工作而無法加入勞保的期間,則參加國民年金以累計國保年資,等到滿65歲要領老年給付時,兩項保險的投保年資就可以合併計算來發給老年年金,而且都是活到老、領到老。

所以,如果你的勞保年資沒有辦法累計到15年,本來只能領勞保一次金,但若投保國民年金,則投保國民年金的年資與勞保年資加總滿15年,就可以在滿65歲時同時請領勞保年金和國民年金了。

不過要注意的是,勞保年金規定,若在勞保年金實施後,年資超過15年、已去領取老年給付一次金的人,就不能再加入國民年金。但只要沒有領取老年給付,就不受限。也就是說,如果你未滿65歲、已符合請領勞保老年給付的人,只要暫時不領勞保老年給付,都可以加入國民年金,同樣可以領到兩份年金。

其實,國民年金每月674元的保費,對於多數人來說負擔不算太重。就算真的繳不起,政府也有提供救濟管道,難怪葉崇琦直呼:「如果不繳保費,會有損失!」他分析,會有以下3大損失:

1. 若無業的人不繳國民年金,則有謀生能力的配偶就會受罰,罰金為3,000~1萬5,000元。

2. 若有欠繳費用且欠繳時間在10年以內,可以申請補繳,但要另外補繳利息(編按:利息以郵局的定存利率為基準點計算),保險年資仍然可以列入計算。但若超過10年,則10年的部分,就不得請求補繳,保險年資亦不得併計。

3. 有中斷、停繳費用期間,其保險年資不計入,且日後計算國民年金給付時,不得選用有基本保障的A式。

國民年金恐破產? 經濟學家:言之過早

對於許多人因擔心國民年金會破產而不願投保,兩位專家都認為不必太擔憂。馬凱以各國舉債程度比較,「日本國債幾乎是GDP的2倍,美國約1倍,而台灣舉債並未到達現行法定前3年GNP(國民生產毛額)40%的上限,我們算穩健,財務問題並不嚴重。」


再從國民年金的財源來看,葉崇琦分析,依「國民年金法」第45、第47條規定,國民年金財源除了民眾所繳的保費之外,政府應負擔的款項來源包括公益彩券盈餘、調增營業稅以及國保基金投資收益,當這些財源都無法支應時,才由政府編列預算撥補。在財源多元下,需要動用國庫來出錢補助國民年金的機率很低,國民年金要破產也就言之過早了。

【專家小叮嚀】專精企管總經理葉崇琦:
假勞工違法投保當心兩頭空


勞保的給付項目和金額比國民年金多,以老年年金為例,參加國民年金,只領3,000~8,986元之間,勞保年金則普遍高於此數字,所以很多無業民眾,都會透過職業工會加保勞保,而不願投保國民年金。

由於這一做法會造成勞保財務基金不當虧損,侵害合法被保險人權益,勞保局從2009年開始,積極查核職業工會的被保險人資格,光在去年就有4,000人被查出,不但取消其勞保資格,已繳交的保費也不退還,同時要求補繳國民年金保費。因而用此方法,可能會得不償失。

延伸閱讀:無力繳交國民年金保費時,怎麼辦?

情況1》失業或一時繳不出保費者
如所欠繳保險費月數累計達8個月以上,且稅捐稽徵機關核定最近1年度個人綜合所得稅總額合計新台幣50萬元以下,可向勞保局申請分期或延期繳納。

情況2》屬於低收入戶者
可向政府提出申請,保費由政府全額補助。

情況3》屬於中低收入戶等家庭收入較低者
記得要向政府申請,僅須負擔30%或45%的保費。

情況4》身心障礙者
政府會依障礙程度,讓你免繳保費或只要負擔30%或45%的保費。


試算範例1:失業沒有繼續工作,就轉入國保,退休時可領多少錢?

假設今年55歲的王先生,勞保年資為25年,勞保平均月投保薪資為34,750元:

60歲時開始領取勞保老年年金:
勞保老年年金=平均月投保薪資×投保年資×1.55%
→每月:34,750元×25年×1.55%=13,466元

65歲時每月可領雙年金:
國保老年年金=月投保薪資17,280元×1.3%×投保年資
→17,280元×1.3%×5年=1,123元 (註:(1)因60歲開始領勞保老年年金,不得再參加國保,因此國保年資只有5年(2)因有勞保老年年金,國保以無3,000元保障的B式計算)
→每月:13,466+1,123=14,589元

可是若王先生放棄繳交國民年金,每月僅有13,466元勞保年金可領

試算範例2》持續繳保費vs.未持續繳保費

王小姐在40歲時失業,已符合國民年金的被保險人資格,投保金額一律是17,280元:

符合資格就持續繳費→從40歲就開始繳國民年金,一直繳到65歲

適用A式計算每月可領年金:
【公式】(月投保薪資×投保年資×0.65%)+3,000元
=(17,280×15×0.65%)+3,000
= 4,685

符合資格後,未能持續繳費→ 一開始沒繳費,拖到50歲才繳,一直繳到65歲

適用B式計算每月可領年金:
【公式】(月投保薪資×投保年資×1.3%)
=17,280×15×1.3%
=3,370


Read More

2011/01/11

Published 1月 11, 2011 by

Linux Sendmail 寄送

Sendmail設定



Linux上寄送Mail,必需要設定二個地方:

一:指定要由那一個Mail Server寄出

[root@T2VLOGAP01 mail]# vi /etc/mail/sendmail.cf



# "Smart" relay host (may be null)

DS [172.20.7.73]

or

SMTP設定:
define(`SMART_HOST',`gmailrelay.innolux.com') 


二:必需要有DNS的解析

[root@T2VLOGAP01 mail]# vi /etc/hosts

172.20.7.73     MailServer


三:Domain尾碼設定
# vi /etc/mail/sendmail.cf

修改mail from Domain尾碼

MASQUERADE_AS(`innolux.com')dnl
MASQUERADE_DOMAIN(c2db1)dnl

以下兩個,把最前面的dnl拿掉(代表啟用的意思):
FEATURE(masquerade_envelope)dnl
FEATURE(masquerade_entire_domain)dnl


五、sendmail 編譯

#m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf


六、重新啟動sendmail

[root@T2VLOGAP01 mail]# service sendmail restart

  


Read More

2010/12/27

Published 12月 27, 2010 by with 0 comment

Oracle Client Install

Oracle Client Install


 


1.Downloading the Installation Archive Files


To download the installation archive files from OTN:


Use any browser to access the software download page on OTN:


http://www.oracle.com/technology/software/


 


2.Extracting the Installation Files


To uncompress each file, enter a command similar to the following:


 


$ gunzip filename.cpio.gz


To extract the installation files, enter commands similar to the following:


 


$ cpio -idmv < filename.cpio


3.Check the Software Requirements


cat /etc/yum.repos.d/rhel-debuginfo.repo(setting yum server configure)


 


Red Hat Enterprise Linux 5


The following packages (or later versions) must be installed:


yum install gcc glibc* make openmotif* setarch compat* gnome-libs libaio*


 


4.Create User


groupadd oinstall


adduser oracle -g oinstall


passwd oracle


5.Install Oracle:


mkdir /u01/app/oracle


chown -R oracle:oinstall /u01


chmod -R 775 /u01/


$ ./runInstaller


 



6.Set oracle Envirement


[oracle@T2VLOGAP01 ~]# cat ~/.bash_profile


ORACLE_BASE=/u01/app/oracle


export ORACLE_BASE


ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1


export ORACLE_HOME


LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/lib32:/usr/lib; export LD_LIBRARY_PATH


 


PATH=$PATH:$ORACLE_HOME/bin


 

 


參考文件


http://download.oracle.com/docs/html/B14400_01/inst_task.htm


http://download.oracle.com/docs/html/B14403_01/cli_qig.htm#BGBEAGAJ


 


Read More
Published 12月 27, 2010 by with 0 comment

Yum 架設教學






說明

自行架設Yum Server








Cacti RedHat EL 5 架設教學

OS: RedHat EL5


Step 1.設定ISO掛載安裝YUM安裝RPM檔


1. 掛載 RHEL 5.3 DVD
mkdir -p /media/RHEL5
mount /dev/hdc /media/RHEL5


Step 2. 架設FTP或WWW Server(請查看鳥哥文件,Server端安裝執行)


在RHEL Source底下,需要產生檔案下需要"repodata"資料夾,


產生方法:


先安裝"createrepo-0.4.11-3.el5"RPM File


#rpm -ivh createrepo-0.4.11-3.el5


在baseurl底下產生repodata 目錄:


#createrepo /opt/lampp/htdocs/RHEL57


執行完之後,在此目錄底下,即會多了repodata資料夾


Step 3.設定YUM安裝RPM檔(Client端)


直接修改設定檔 /etc/yum.repos.d/rhel-debuginfo.repo 當然也可新增一個  repository 檔案名稱可任意,並請以 repo 為副檔名,檔內容如下:


(http為連線路徑)



vi /etc/yum.repos.d/rhel-debuginfo.repo


[Server]
name=RHEL Server Repository
baseurl=http://10.55.78.14/RHEL54
enabled=1
gpgcheck=0


[rhel-Server]
name=Red Hat Enterprise Linux $releasever - $basearch - Debug
baseurl=http://10.55.78.14/RHEL54/Server
enabled=1
gpgcheck=0


[rhel-VT]
name=Red Hat Enterprise Linux $releasever - $basearch - Debug
baseurl=http://10.55.78.14/RHEL54/VT
enabled=1
gpgcheck=0


[rhel-Cluster]
name=Red Hat Enterprise Linux $releasever - $basearch - Debug
baseurl=http://10.55.78.14/RHEL54/ClusterStorage
enabled=1
gpgcheck=0



 



 









 



參考資料

RHEL5 - system-config-packages


http://benjr.tw/?q=node/547#comment-259


http://www.babyface2.com/NetAdmin/21200710yum/
 





Error Message

 


[root@server /]# yum update    OR     yum list all
Loaded plugins: refresh-packagekit, rhnplugin
This system is not registered with RHN.
RHN support will be disabled.
ftp://192.168.24.145/pub/Packages/repodata/repomd.xml: [Errno 14] PYCURL ERROR 7 - ""
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) for repository: server. Please verify its path and try again



原因:因為在Server端無產生repodata資料夾,找不到repository metadata


Read More

2010/12/07

Published 12月 07, 2010 by with 0 comment

如何申請國賠

我們常聽到民眾忿忿不平的說我要申請國賠!但究竟什麼是國賠?什麼樣的狀況才可以申請國賠?國賠又要如何申請呢?
國家賠償法第3條第1項規定:「公有公共設施因設置或管理有欠缺,致人民生命、身體或財產受損害者,國家應負損害賠償責任。」

構成要件:

‧須為公有之公共設施
‧須公共設施之設置或管理有欠缺
‧須人民生命、身體或財產受損害

當一事實發生,須符合國家賠償的構成要件,人民才有可能進一步向國家申請國家賠償,舉個例子來說:

林阿明某天晚上下班後,騎乘機車行經台北縣福和橋時,因橋面坑洞未填補,也未設置警告標示,阿明當場翻車摔倒,造成身體多處擦傷,送醫治療,機車也嚴重受損。阿明事後越想越不服氣,覺得自己的權益受損,他認為政府單位應該把道路橋樑的路面鋪設平整,怎可不顧人民的生命安全,因此打算向政府單位請求賠償,此時的阿明應該怎麼做呢?

要請求國家賠償,首先得找出誰是管理機關,依國家賠償法第9條第2項規定:「依第3條第1項請求賠償者,以該公共設施之設置或管理機關為賠償義務機關。」因國賠法第3條係採無過失責任主義,因此不管是誰的疏失,橋面坑洞未填補造成人民生命、身體或財產受損害,國家都應負損害賠償責任。

以本案來說,福和橋的管理機關是台北縣永和市公所,所以阿明應向永和市公所請求賠償。找到賠償義務機關後又該怎麼請求呢?依國家賠償法第10條第1項規定:「依本法請求損害賠償時,應先以書面向賠償義務機關提出請求之。」因此,若阿明跑到市公所抱怨,口頭說要請求國家賠償,是沒有用的,他應該要用書面的方式提出請求。而國家賠償請求書,一般民眾可在我的E政府申辦表單>公共資訊>法律服務,找到國家賠償請求書的格式下載,也有範例供參考。

簡單來說,請求權人的姓名(例如:林阿明)、事實(例如:○年○月○日○時騎車經過福和橋,因為橋面坑洞所以跌倒受傷)、損害(例如:醫療費○○元、修車費○○元、休養在家○天減少收入○○元)還有證據(例如:醫療單據、修車單據)等,須記載清楚。如果是道路交通事故事件,一定要找警察作成筆錄,日後請求國家賠償時,才能有足夠的證明。

最後,一定要記得的是時效問題,千萬不要損害發生後,就把它拋在腦後,過了十年、二十年才提出賠償請求,這樣請求權是會消滅的,依國家賠償法第8條第1項規定:「賠償請求權,自請求權人知有損害時起,2年間不行使而消滅;自損害發生時起,逾5年者亦同。」所以保障自己權利的同時,也要注意時效喔!
Read More