問題的起源:資料庫主機執行每日的完整備份時,備份過程會透過網路將檔案傳到另一部 NAS 主機。
每次備份期間都會影響 AP 端存取資料庫的效能。
主機端的網路使用兩張網卡,將備份時需要傳輸檔案的網路與服務端的網路做分流,AP 存取的網路與備份用網路避免頻寬搶占的狀況。
兩張網卡與兩個不同的子網路
ETH0)
ETH1)
NAS)
ifcfg-eth0
DEVICE=eth0 BOOTPROTO=none HWADDR=00:11:25:c4:7a:c0 IPADDR=10.14.1.33 NETMASK=255.255.248.0 ONBOOT=yes GATEWAY=10.14.0.254 TYPE=Ethernet
ifcfg-eth1
DEVICE=eth1 BOOTPROTO=none HWADDR=00:11:25:c4:7a:c1 ONBOOT=yes HOTPLUG=no TYPE=Ethernet IPADDR=10.14.25.209 NETMASK=255.255.248.0
TIP:
- eth0 第一張網卡,這個網路作為 AP 端的存取用。
- eth1 第二張網卡,這個網路只用在資料庫備份時會用到的頻寬。
- eth1 不要設定 gateway,以避免可能成為 default route 而影響整個網路,這個不會影響 static route 的作用。
- 如果其他案例,兩張卡都需要設定 gateway 時,可以使用 /etc/sysconfig/network 這個檔案來決定哪個是 default route。
就本案例而言,當傳輸備份檔到 NAS 主機時,必須透過第二張網卡傳送,期間不能占用到第一張網卡的頻寬。
解決方法只要加一條 static route ,如下
ip route add 10.10.1.115 via 10.14.24.254 dev eth1
指令說明 ip route add <NAS-IP> via <eth1-gateway> dev eth1
測試
traceroute 10.10.1.115 traceroute to 10.10.1.115 (10.10.1.115), 30 hops max, 40 byte packets 1 10.14.24.252 (10.14.24.252) 0.491 ms 0.620 ms 0.770 ms 2 192.168.253.41 (192.168.253.41) 0.552 ms 0.671 ms 0.808 ms 3 192.168.253.50 (192.168.253.50) 0.502 ms 0.640 ms 0.789 ms 4 tpeitpfs02.winfoundry.com (10.10.1.115) 0.157 ms 0.154 ms 0.147 ms
10.14.24.252 這是第二張網卡所設定網段的 switch 設備位址。這驗證了往 10.10.1.115 封包是從 eth1 出去的。
以上的 static route 在系統重開機後,這個設定會消失;要永久套用這設定,必須新增設定檔:
/etc/sysconfig/network-scripts/route-eth1
10.10.1.115 via 10.14.24.254 dev eth1
檔名說明 route-<interface>
格式說明 <target-ip> via <eth1-gateway> dev <eth1-device>
設定檔的更多說明可以參考文件檔 /usr/share/doc/initscripts-<version>/sysconfig.txt
| Images 0 | ||
|---|---|---|
| No images to display in the gallery. |