請問各位大大負載平衡問題(合併頻寬)

狀況描述:
Linux Server一台,主要做提供影像串流Server
已有Domain: xxx.com.tw一個
光世代100M/40M 兩條(假設有兩個固定IP)

因為串流Server需要較大的頻寬,但是機器只有一台(有多網卡) 是否有硬體或是軟體方式可以合併兩條光世代
讓使用者 request xxx.com.tw/xxx.m3u8 串流時,自動分配給這兩條光世代

QNO的雙WAN機種是不是就是解決這樣的需求的?是把兩個固定IP設定在QNO上?
然後DNS那邊又要如何設定呢?
Linux上的路由也是要設定對吧...
https://medium.com/@ln1202
2017-10-11 16:15 發佈
與其考量用兩條100M/40M光世代頻寬合併使用,倒不如先確認能否再升速到更高速率去

畢竟現在像300M/100M促銷價也才不過1299元而已,就算加總兩條100M/40M價格或頻寬,其結果也都還比300M/100M低

直接升速還比較有CP值許多
FortiWan
😀😀😀😀😀😀😀😀😀😀😀😀
最簡單作法是:DNS 輪流跳號

安裝 DNS Server(bind9)自管 Domain Name

對外正解檔,www 用兩行,指向兩個不同 IP
舉例:
www in A 11.22.33.44
www in A 55.66.77.88

或者
video in A 11.22.33.44 之類的
反正就是同一個主機名稱,指定多個 A紀錄,指向不同 IP

這樣當外部和你的 DNS Server 查詢正解資料時,會輪流回報那兩個 IP,而達到不同訪問者來瀏覽,會從不同 IP 進入,也就是分流效果。

可用 nslookup 之類的指令,對自己的 DNS Server 查詢主機域名正解,確認效果,是會輪流跳號的。

這方法是最簡單的,不過效果也最差,因為 DNS 有快取機制,別台 DNS Server,比如 8.8.8.8 或 168.95.1.1 之類的,會有 1~24H 不同時間的快取壽命,當那些 DNS Serer 和你的伺服器查詢過正解檔後,就會快取,之後都不會再來詢問。也就不會跳號了。



要較精準輪流跳 IP,建議是從網頁程式碼下手

比方 PHP 之類的,給視頻連結的主機網址部份,用變數取代

設計一段程式碼,使那個連結網址變數,當每次網頁載入時,會輪流套用不同 IP。

或更進階一點,先查詢分析各線路的負載情況,把網址變數導引到負載較輕的線路 IP上。


*******************************

100M/40M ,上傳只有 40M bps(約 5MB/s)
用於視頻主機,其實服務不了多少在線播放人次

但是 100M/100M 經濟型沒有固定 IP,或者地區因素無法申請。

假設可以申請,且價錢接近,是上傳愈大愈好,其它分流負載的線路,有沒有固定IP無所謂。

因為固定 IP 只須一個就行了,網頁www主機需固定 IP,其餘 圖床、視頻主機......不必固定IP也行。透過網頁程式碼,當網頁在貼圖和貼視頻的時候,多媒體的連結都用變數,自動分配到其它線路 IP。

那些分流線路的 IP不需要固定,可以用 Linux 指令查詢後(排程每 24小時查詢一次),寫在暫存檔,讓網頁程式碼去讀取那個暫存檔,取得其餘分流線路的 IP,再用亂數輪流跳,或者進階一點先查詢哪一條負載較輕,跳那一條。

PPPoE 浮動 IP 撥接,好像是 72H 會強制更換 IP 一次。


查詢負載也可以用 Linux 的指令。

範例:

# 定義變數,www 主機的 IP 和監聽埠號
# (或透過 ifconfig 查特定網卡界面,分析結果自動取得)
www_ip="11.22.33.44:80"

# 計算連線數
wwwSession=`netstat -tn | grep "$www_ip" | wc -l`

# 計算連線人數 (同一 IP 來源有可能產生多個連線,去掉重複,得到真實線上人數)
wwwRealPerson=`netstat -tn | grep "$www_ip" | awk '{print $5}' | cut -d ':' -f 1 | sort | uniq | wc -l`

可以設兩組,再去比較哪一組人數少,即是負載較輕的那條。

寫個簡易的 shell script 類似這樣子,crond 排程每分鐘運行一次,把結果寫入到暫存檔,然後 PHP 就可以去讀取那個暫存檔,了解目前那條線路負載較輕,再應用到連結網址的變數結果。

分析線路的部份,用 PHP 去做會比較複雜,透過 Linux 本身指令去做一些分析,cron 排程每固定時間運行腳本,再把結果存成暫存檔,供 PHP 取用資料,這樣會比較簡單一點。

暫存檔最佳位置是 /dev/shm 底下(RamDisk),因為寫入太頻繁,放 RAM 比較不會去傷到 SSD 寫入壽命,若有目錄讀取問題,可以在 www 裡面開個目錄,軟連結過去。

Ln wrote:
QNO的雙WAN機種是不是就是解決這樣的需求的?是把兩個固定IP設定在QNO上?


然後DNS那邊又要如何設定呢?

DNS 請指定到 QNO 的設備上
Linux上的路由也是要設定對吧...

不用

Ln wrote:
狀況描述: Linux...(恕刪)


確定不能辦300M/100M嗎?

真的要這樣用我覺得用asus的AP來做雙網負載的功能會比較簡單
限制級
您即將進入之討論頁 需滿18歲 方可瀏覽。
根據「電腦網路內容分級處理辦法」修正條文第六條第三款規定,已於該限制級網頁,依台灣網站分級推廣基金會規定作標示。
評分
複製連結