by Joseph Wu
17. January 2011 21:03
這陣子在有NLB(Network Load Balace)服務的機器上架設hyper-v,剛好有遇到此問題,所以寫出來和大家分享。(註:一般來說,如果只有一條網路線,接上switch,switch裡有接上外網router的線 + 內網電腦的線時,會需要使用到此技巧)
接下來以192.168.1.0 和192.168.2.0兩個網段進行範例,流程如下:
1、在IPv4的內容中點選「進階」
2、在IP位址中點選「新增」,接著輸入不同網段的IP與submask
3、在預設閘道點選新增,接著輸入另一個閘道位址(註:自動計量核取方魂的意思是路由順序的優先權,在此範例中勾選自動計量即可
剛開始我認為,如上述的設定完成後應該就大功告成了,可是作業系統沒有人這麼聰明,作業系統不會將192.168.1.x 的IP位址送給192.168.1.254 的閘道位址,另一個網段也一樣。所以,我們必須手動設定路由表(Route Table)。
4、打開cmd (命令提示字元),輸入如下指令
route add –p 192.168.1.0 mask 255.255.255.0 192.168.1.254
route add –p 192.168.2.0 mask 255.255.255.0 192.168.2.254
5、最後,輸入如下指令,檢查剛才新增路由表
route print
大致就是這樣囉。
by Joseph Wu
17. January 2011 01:46
之前接到一道命令,原來放置VM的實體機要重灌,所以我必須要找一台伺服器讓我的VM 可以轉移,而且原來要重灌的伺服器上的所有資料也都一併轉移至另一個新建的VM中。所以我在找不到合適的伺服器作為新的VM 擺放點之下,選擇了有架設NLB的機台上。(這是一連串錯誤的開始,當然也是因為我之前沒試過此種方法)
1、建立hyper-v 時所產生的問題
在有架設NLB功能上的SERVER通常要有2張網卡,一張是跑NLB服務所需要讓CLIENT端連結時的IP,一張是2台NLB之間互相要傳Heartbeat的。而hyper-v在虛擬網路管理中選擇後者網卡作為external 網路時,暫時不會對NLB產生影響;一旦選擇了跑NLB服務的IP時,NLB的服務就無法work了。 而我想,可能是hyper-v 設定時把NLB的設定給打亂了 (NLB除了本機IP之外,還需要設定一個NLB的IP),但是虛擬網卡在建立時不會考慮此點。
當然碰到此問題讓我的NLB服務掛點,我當然是很著急的想把HYPER-V移除,重新讓NLB上線。
2、移除HYPER-V時會發生的問題
移除HYPER-V的 EXTERNAL 虛擬網路之後,讓我的NLB服務不僅無法看見另外一個節點,還讓我多增加了0.0.0.0 的NLB IP,我完全不知道這個IP是哪裡來的,即使刪除此NLB IP,NLB依然不work。
最後,將NLB服務重新架設,並向IDC更正NLB IP 對應 MAC 位址後,我的服務又可以正常運作了。這個經驗讓也分享給大家,以後別再把NLB 和 HYPER-V弄在同一台SERVER 上了...