banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận hệ điều hành *nix Config Network Loadbalacing  XML
  [Question]   Config Network Loadbalacing 09/01/2007 05:24:42 (+0700) | #1 | 35110
[Avatar]
PureMoon
Member

[Minus]    0    [Plus]
Joined: 21/07/2006 12:16:07
Messages: 41
Location: FullMoon
Offline
[Profile] [PM] [Yahoo!] [MSN]
Chào các bạn !

Mình đang có 1 Server chạy Linux Red Hat Ent 3 . Có 2 NIC giống hệt nhau .

Mình muốn config để loadbalance cho 2 cái NIC này . ( Server đang chạy rút 1 sợi ra vẫn chạy tốt , cắm vào rồi rút sợi kia ra vẫn chạy tốt _có thể có timeout chút xíu. Không yêu cầu 100% No downtime . )

Bạn nào đã config trường hợp này chỉ dùm mình chút . ( Có google key cũng đc ).

Cảm ơn các bạn!

[Up] [Print Copy]
  [Question]   Config Network Loadbalacing 09/01/2007 06:08:24 (+0700) | #2 | 35117
[Avatar]
tranvanminh
HVA Friend

Joined: 04/06/2003 06:36:35
Messages: 516
Location: West coast
Offline
[Profile] [PM]

PureMoon wrote:
Chào các bạn !

Mình đang có 1 Server chạy Linux Red Hat Ent 3 . Có 2 NIC giống hệt nhau .

Mình muốn config để loadbalance cho 2 cái NIC này . ( Server đang chạy rút 1 sợi ra vẫn chạy tốt , cắm vào rồi rút sợi kia ra vẫn chạy tốt _có thể có timeout chút xíu. Không yêu cầu 100% No downtime . )

Bạn nào đã config trường hợp này chỉ dùm mình chút . ( Có google key cũng đc ).

Cảm ơn các bạn!

 


Chào bạn

Để tránh sự cố của các cạc mạng, thông thường các kernel có cung cấp module thực hiện bonding , kĩ thuật này rất có thể thỏa mãn được yêu cầu của bạn.

Tham khảo cách làm tại link dưới
http://www.kernel.org/pub/linux/kernel/people/marcelo/linux-2.4/Documentation/networking/bonding.txt


Thân
[Up] [Print Copy]
  [Question]   Config Network Loadbalacing 09/01/2007 12:52:50 (+0700) | #3 | 35193
PXMMRF
Administrator

Joined: 26/09/2002 07:17:55
Messages: 946
Offline
[Profile] [PM]

PureMoon wrote:
Chào các bạn !

Mình đang có 1 Server chạy Linux Red Hat Ent 3 . Có 2 NIC giống hệt nhau .

Mình muốn config để loadbalance cho 2 cái NIC này . ( Server đang chạy rút 1 sợi ra vẫn chạy tốt , cắm vào rồi rút sợi kia ra vẫn chạy tốt _có thể có timeout chút xíu. Không yêu cầu 100% No downtime . )

Bạn nào đã config trường hợp này chỉ dùm mình chút . ( Có google key cũng đc ).

Cảm ơn các bạn!

 


Không rõ bạn đang chạy Linux dítribution nào Fedora 5 hay Fedora 6?
Vì Ent 3 chỉ là hệ thống file ( file system ) áp dụng cho LInux, Ent 3 là Ent2+lớp ghi nhật ký riêng , không phải là một distribution

Tôi thì không balancing hệ thống bằng hai NIC mà dùng một Advanced Security Router. Với router này tôi có thể balancing đến 3 WAN source và có điểm thuận lợi là nó có thể áp dụng cho Linux system hoă.c Windows. Vì vậy tôi chưa thủ trường hợp của bạn trong thưc tế.

Nhưng theo tôi nghĩ có những nguyên tắc sau cần phải thực hiện theo một trình tự. Tôi nêu ra chỉ là để bạn tham khảo .

- Nếu hệ thống của bạn có hai NIC thì một cái sẽ đựoc Linux ghi nhận là eth0 còn cái kia là eth1
- Bạn mờ " Network" kiểm tra tình trạng active hay inactive của cả hai NIC
( System----> Admistration---->Network ( nếu bạn đang chay hệ thống với User không có quyền root thì tại đây Linux đòi hỏi root password - Tôi đang giả dụ khi hệ thống cài Fedora 5 hoặc 6), cừa sổ "Network configuration "sẽ hện ra.
- Bạn có thể xác định là NIC nào là đã active , NIC nào còn inactive ( eth0 hay eth1). Thừong thì chỉ có NIC eth0 là active.Kiểm tra thêm Hardware model của các NIC cho rõ..( nhấn Hardware). Dù chỉ một NIC đã active , nhưng status của cả hai phải là OK ( có nghĩa là chúng phải tốt về mặt ... hardware ).Nhưng từ đây bạn thường không thể active ngay NIC vẫn còn inactive.
Tuy nhiên hệ thống sẽ cung cấp cho bạn một vài thông tin quan trọng , thí dụ module tương ứng với NIC nói trên (inactive)
- Cũng từ cửa sổ "Network configuration " nhấp New ---> chọn Ethernet---OK--> ở " Device " chọn eth 1----" OK . Lúc này Linux thông báo môt lỗi FATAL vì NIC module không tìm thấy ( không thấy ở file /etc/module.config hay /etc/config.modules- bạn cũng có thề mở /etc ra kiểm tra lại -/etc chứa các file cấu hình của toàn bộ hệ thống )
- Từ Terminal dùng command : cd /lib/modules/2.2.5-15/net/
Ở đây thí dụ 2.2.5-15 là kernel version của Linux dítribution bạn đang cài . Bạn phải xác định đúng kernel version của mình
Bạn sẽ tìm ra module của NIC inactive , thí dụ nó là alias eth1 3c59x ( Bạn so sánh vói module mà Linux thông báo nói ở trên- khi mở network configuration.)
- Sau đó bạn dùng lệnh : /sbin/insmod -v 3c59x để đưa module vào.
- Dùng lệnh ifconfig ... hay mở network configuration để active eth1

Trên đây tôi giả dụ bạn dùng hai NIC khác nhau và một cái không active đựoc.
Bạn nên dùng hai NIC khác nhau cho dể xác dịnh lỗi, ít nhất lúc thử nghiệm

Còn khi dùng hai NIC hoàn toàn giống nhau mà không active môt NIC đưôc thì có thể bạn phải config lại trên cửa sổ Network configuration nói trên phần DNS.
Nếu Primary DNS của eth0 thí dụ là 192.168.1.1 ( đây là Default private IP cũa ADSL modem thứ nhất ) thì bạn phãi config lại ADSL modem thứ hai để nó có môt Default Private IP khác , không trùng với IP riêng mặc định của ADSL modem thứ nhất nói trên , bằng cách vào modem control panel (web) và sử dụng Advanced setup.
Tôi chỉ nói vài điểm thô thiển để bạn tham khảo thêm mà thôi .

Ngoài ra bạn nên tham khảo bài ở link mà 777-thanbai-tranvanminh hướng dẫn.
The absence of disagreement is not harmony, it's apathy.
(Socrates)
Honest disagreement is often a good sign of progress.
(Mahatma Gandhi)
[Up] [Print Copy]
  [Question]   Config Network Loadbalacing 09/01/2007 13:57:18 (+0700) | #4 | 35207
subnetwork
Member

[Minus]    0    [Plus]
Joined: 05/09/2004 06:08:09
Messages: 1666
Offline
[Profile] [PM] [WWW] [Yahoo!]
Không rõ bạn đang chạy Linux dítribution nào Fedora 5 hay Fedora 6?
 


Đó là Red Hat Enterprise, phiên bản này mục đích thương mại giá bán hơn 2.000 USD

Người này ghi tắt cho nên anh hiểu nhầm sang Fedora Core . Có thể là người này đang sử dụng Red Hat Enterprise Linux AS

Quản lý máy chủ, cài đặt, tư vấn, thiết kế, bảo mật hệ thống máy chủ dùng *nix
http://chamsocmaychu.com
[Up] [Print Copy]
  [Question]   Config Network Loadbalacing 09/01/2007 14:00:19 (+0700) | #5 | 35209
[Avatar]
YHT
Member

[Minus]    0    [Plus]
Joined: 21/04/2006 13:29:33
Messages: 173
Location: HCM
Offline
[Profile] [PM] [WWW] [Yahoo!]
Em xin được góp ý bác PXM tí xíu đó là bác đọc hơi nhằm một tí. Bản Linux này là Red Hat Enterprise Linux version 3 (https://www.redhat.com/rhel/) (mới nhất hiện nay là ver 5 beta2), đây là dòng Linux được RedHat thương mại hoá (giá bản AS cũng khá đắt cho 1 year support). Chắc bác nhìn nhằm Ent3 thành ext3.
Em cũng đang gặp trường hợp tương tự mà chưa biết phải config thế nào, tuy nhiên yêu cầu của em có tí khác:
- Server có 2 NIC là eth0 và eth1 được connect tới 2 line Internet.
Yêu cầu là hệ thống có thể phân chia các packet theo hai hướng khác nhau (có thể nhanh hơn chăng?). Theo như kết quả Ethereal monitor được thì có một số packet đi qua eth1 (một số rất ít) còn lại đều đi qua eth0, đáng chú ý là toàn bộ packet đi qua eth1 đều thuộc cùng 1 ứng dụng (ví dụ của GAIM) và các packet dạng này không hề thấy bên eth0. Em không biết mình có thể thêm thắt một layer cho phép phân chia các packet này sang 2 hướng khác nhau không? Và ai sẽ đảm nhiệm việc phân chia này? Liệu có làm giảm hiệu suất không thay vì tăng lên theo như suy nghĩ?
Mong các đàn anh nhiều kinh nghiệm có thể chia sẻ.

Edit: Thông tin thêm: Hiện tại với cấu hình đang hoạt động (không config gì đặc biệt) vẫn có thể rút 1 cáp mạng bất kỳ ra và mạng vẫn hoạt động bình thường (có config default gateway cho 2 card - không rõ 1 máy mà config 2 default gateway có ảnh hưởng gì không?), tự động các packet sẽ đi theo đường còn lại (theo kết quả monitor được)
--YHT
[Up] [Print Copy]
  [Question]   Config Network Loadbalacing 09/01/2007 19:03:11 (+0700) | #6 | 35242
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]
Rất lý thú smilie).

YHT wrote:

- Server có 2 NIC là eth0 và eth1 được connect tới 2 line Internet.
Yêu cầu là hệ thống có thể phân chia các packet theo hai hướng khác nhau (có thể nhanh hơn chăng?). Theo như kết quả Ethereal monitor được thì có một số packet đi qua eth1 (một số rất ít) còn lại đều đi qua eth0, đáng chú ý là toàn bộ packet đi qua eth1 đều thuộc cùng 1 ứng dụng (ví dụ của GAIM) và các packet dạng này không hề thấy bên eth0.
 

Khi một socket được tạo ra và bind trên một interface, trọn bộ "xuất" chuyển tải đi xuyên qua interface đó bởi vì trước khi lên đến tầng ứng dụng, chúng được "ghép" lại hoàn chỉnh. Nếu một số gói tin đi xuyên qua interface khác, kernel không thể theo dõi state của chúng (ngoại trừ có ứng dụng cụ thể trên kernel cho công tác này).

YHT wrote:

Em không biết mình có thể thêm thắt một layer cho phép phân chia các packet này sang 2 hướng khác nhau không? Và ai sẽ đảm nhiệm việc phân chia này? Liệu có làm giảm hiệu suất không thay vì tăng lên theo như suy nghĩ?
Mong các đàn anh nhiều kinh nghiệm có thể chia sẻ.
 

Nếu bồ phân chia theo session / services đi xuyên qua mỗi interface thì hiệu suất vì nó phân bố I/O (input / output) xuyên qua các interface. Tuy nhiên, đi xuống level packet thì có lẽ kết quả đi ngược lại bởi vì cơ chế nào đó dùng để điều hợp và "ghép" các gói tin lại cho hoàn chỉnh rồi đưa lên tầng ứng dụng sẽ mất thời gian. Đó là chưa kể trường hợp các packet lost và bị "resent".

YHT wrote:

Edit: Thông tin thêm: Hiện tại với cấu hình đang hoạt động (không config gì đặc biệt) vẫn có thể rút 1 cáp mạng bất kỳ ra và mạng vẫn hoạt động bình thường (có config default gateway cho 2 card - không rõ 1 máy mà config 2 default gateway có ảnh hưởng gì không?), tự động các packet sẽ đi theo đường còn lại (theo kết quả monitor được)
--YHT 

Không hẳn cấu hình này sẽ ok cho mọi trường hợp đâu, đặc biệt máy chủ đó có dịch vụ database. Nếu đang có một transaction đang xảy ra (chưa xong) đi xuyên qua một interface và database vẫn đang tiếp tục nhận dữ liệu mà rút cable ra, các packets kế tiếp (của một session) có thể không được route đúng và dẫn đến tình trạng database server treo hoặc ì ạch cho đến khi session đó bị timeout và trọn bộ thông tin cho transaction đó sẽ bị rollback (hủy và phục hồi lại ở trạng thái trước khi transaction xảy ra).

Với những máy chủ ở dạng critical, không nên dùng cấu hình kiểu này.

Thân mến.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Config Network Loadbalacing 09/01/2007 23:27:02 (+0700) | #7 | 35268
[Avatar]
YHT
Member

[Minus]    0    [Plus]
Joined: 21/04/2006 13:29:33
Messages: 173
Location: HCM
Offline
[Profile] [PM] [WWW] [Yahoo!]
Như vậy nếu như chúng ta có 2 line (hoặc cái gì đó tương tự - đại khái là có hai ngỏ ra mạng ngoài) thì có thể cấu hình như anh PXM đã trình bày?

Tôi thì không balancing hệ thống bằng hai NIC mà dùng một Advanced Security Router. Với router này tôi có thể balancing đến 3 WAN source và có điểm thuận lợi là nó có thể áp dụng cho Linux system hoă.c Windows. Vì vậy tôi chưa thủ trường hợp của bạn trong thưc tế.
 

Vậy cấu hình mạng hiện tại có switch, modem ADSL mình có thể có cách nào để thỏa mãn yêu cầu không anh, cụ thể là làm sao tận dụng được cả 2 đường đó chứ không phải hư 1 đường mới xài đường kia.

Ban đầu thì em cũng không có ý định cấu hình thế này nhưng do "hạ tầng có sẳn" (2 NIC....) nên có ý định tìm hiểu xem có giải pháp nào khả thi không?
Mong nhận thêm nhiều ý kiến của mọi người.
--YHT
[Up] [Print Copy]
  [Question]   Config Network Loadbalacing 10/01/2007 01:56:05 (+0700) | #8 | 35290
[Avatar]
PureMoon
Member

[Minus]    0    [Plus]
Joined: 21/07/2006 12:16:07
Messages: 41
Location: FullMoon
Offline
[Profile] [PM] [Yahoo!] [MSN]
Cảm ơn các Mod ( 4 Mod lận T_T) và các bạn đã trả lời dùm mình .

Trước tiên cho mình xin lỗi vì viết tắt gây nhiểu nhầm .

Golden Autumn wrote:


Đó là Red Hat Enterprise, phiên bản này mục đích thương mại giá bán hơn 2.000 USD

Người này ghi tắt cho nên anh hiểu nhầm sang Fedora Core . Có thể là người này đang sử dụng Red Hat Enterprise Linux AS

 


Câu trả lời của Mod GA chính là cái mình đang dùng tuy nhiên giá ~~ 1.800$

tranvanminh wrote:


Chào bạn

Để tránh sự cố của các cạc mạng, thông thường các kernel có cung cấp module thực hiện bonding , kĩ thuật này rất có thể thỏa mãn được yêu cầu của bạn.

Tham khảo cách làm tại link dưới
http://www.kernel.org/pub/linux/kernel/people/marcelo/linux-2.4/Documentation/networking/bonding.txt

 


Cảm ơn Mod , Cái server của mình xài Linux RedHat Enterprise 3 AS Kernel 2.4 . Mình đang tham khảo . Nhưng cái này nó sẽ gây ra Interupt chừng 30sec .

conmale wrote:


Rất lý thú

 


Cảm ơn anh conma.

Cái server của em là HP DL380G5 có 2 NIC giống hệt nhau .

Nếu Cài M$ thì HP nó support cái Network Teaming , em đã test cái Teaming này khi sử dụng FTP No Resume Support, thì thấy khi rút lần lượt 1 cáp ra nó vẫn chạy như thường . Như vậy về mặt SOCKET (hoặc transaction ) có thể ko bị ngắt giữa chừng .

Nếu cài *nix em có xem thì HP nó bảo là Support rất tốt nhưng em tìm ko thấy chỗ nào config đc như cái Teaming ở M$.

Về mặt Critical thì Server của em chạy mail và Proxy( 2 con ) nên em nghĩ ko đến nỗi Critical . Nhưng dù sao ko có timeout thì vẫn tốt T_T .

Cảm ơn mọi người đã nhiệt tình thảo luận.
[Up] [Print Copy]
  [Question]   Re: Config Network Loadbalacing 10/01/2007 05:55:31 (+0700) | #9 | 35334
KhaiTran
HVA Friend

Joined: 03/09/2003 13:08:31
Messages: 28
Offline
[Profile] [PM]
written for SUSE nhung thu coi :

First add the following entry to /etc/modules.conf:

alias bond0 bonding mode=1 use_carrier=0

Backup your current NIC configurations:

mv /etc/sysconfig/network/ifcfg-eth0 /etc/sysconfig/network/ORIG_ifcg-eth0
mv /etc/sysconfig/network/ifcfg-eth1 /etc/sysconfig/network/ORIG_ifcg-eth1

Now create the file /etc/sysconfig/network/ifcfg-bond0 with the following content:

DEVICE='bond0'
STARTMODE='onboot'
IPADDR='192.168.0.1'
NETMASK='255.255.255.0'
POST_UP_SCRIPT='ifup-bond0'

Also create the files /etc/sysconfig/network/ifcfg-eth0 and /etc/sysconfig/network/ifcfg-eth1 with the following content. For eth0:

DEVICE='eth0'
STARTMODE='onboot'
MASTER='bond0'
SLAVE='yes'

For eth1:

DEVICE='eth1'
STARTMODE='onboot'
MASTER='bond0'
SLAVE='yes'

Finally we need a small script which assigns bond0 to the virtual device. Create the file /etc/sysconfig/network/scripts/ifup-bond0 with the following content:

#!/bin/bash
/sbin/ifenslave bond0 eth0 eth1
exit 0

Make this script executable:

chmod +x /etc/sysconfig/network/scripts/ifup-bond0

and restart your network:

rcnetwork restart

Your bonding device should now be up and running!

[Up] [Print Copy]
  [Question]   Config Network Loadbalacing 11/01/2007 05:42:11 (+0700) | #10 | 35490
PXMMRF
Administrator

Joined: 26/09/2002 07:17:55
Messages: 946
Offline
[Profile] [PM]

PureMoon wrote:
Cảm ơn các Mod ( 4 Mod lận T_T) và các bạn đã trả lời dùm mình .

Trước tiên cho mình xin lỗi vì viết tắt gây nhiểu nhầm .

........................................
Cái server của em là HP DL380G5 có 2 NIC giống hệt nhau .

Nếu Cài M$ thì HP nó support cái Network Teaming , em đã test cái Teaming này khi sử dụng FTP No Resume Support, thì thấy khi rút lần lượt 1 cáp ra nó vẫn chạy như thường . Như vậy về mặt SOCKET (hoặc transaction ) có thể ko bị ngắt giữa chừng .

Nếu cài *nix em có xem thì HP nó bảo là Support rất tốt nhưng em tìm ko thấy chỗ nào config đc như cái Teaming ở M$.
Về mặt Critical thì Server của em chạy mail và Proxy( 2 con ) nên em nghĩ ko đến nỗi Critical . Nhưng dù sao ko có timeout thì vẫn tốt T_T .

Cảm ơn mọi người đã nhiệt tình thảo luận. 


Tôi cũng phải xin lỗi bạn vì đã đọc nhầm giữa Ent3 và Ext3. Trời đêm, ngồi trứoc 3, 4 con server cái thì Linux cái thì Windows, làm nhiều việc một lúc ( tìm, viết bài vụ BMT; check security website, đọc email, trả lời bài của bạn...). Ngoài ra cũng xin lỗi vì chưa biết bạn thế nào. Già cả lú lẫm, quá date là vậy - hề hề hề.
Teaming là một Advanced Networking service, vì vậy việc thực hiện và config. nó hoàn toàn không dễ. Tôi vừa đang thư nghiệm Teaming trên một DELL server dùng hai Intel NIC khác model, nối với hai Dynamic WAN IP source ( VDC 2 và Viettel).
Bạn có viết:

Nếu cài *nix em có xem thì HP nó bảo là Support rất tốt nhưng em tìm ko thấy chỗ nào config đc như cái Teaming ở M$. 

Tôi không nghĩ là việc không phải config., thậm chí không cài thêm một Software packages, có thể thu đựoc đày đủ mọi teaming features, dù chỉ là các tính năng cần thiết nhất như Fault tolerance ( luôn hiện diện trên mang dù một IP source bị hỏng ), Load balancing, Link Aggregation.
Vậy thì bạn đã áp dụng kiểu Teaming gì ( Teaming Modes hay cũng gọi là Type of Teaming)? Automatic hay 802.3ad Dynamic Dual Channel Load balancing, 802.3ad dynamic,SLB,TLB,NFT ? ( Cách gọi Teaming mode trong Windows và Linux khác nhau)
Bạn có lắp thêm môt hardware nào không ngoài 2 NIC, có cài thênm software package nào không ?
Ngoài ra bạn đã thu đựoc các Teaming features nào?

Mong có dịp trao đổi thêm học tập lẫn nhau
The absence of disagreement is not harmony, it's apathy.
(Socrates)
Honest disagreement is often a good sign of progress.
(Mahatma Gandhi)
[Up] [Print Copy]
  [Question]   Re: Config Network Loadbalacing 11/01/2007 06:46:58 (+0700) | #11 | 35512
[Avatar]
tranvanminh
HVA Friend

Joined: 04/06/2003 06:36:35
Messages: 516
Location: West coast
Offline
[Profile] [PM]


Cảm ơn Mod , Cái server của mình xài Linux RedHat Enterprise 3 AS Kernel 2.4 . Mình đang tham khảo . Nhưng cái này nó sẽ gây ra Interupt chừng 30sec .
 



Ngộ nhỉ , nghe nói bị interrput 30 giây nên tôi cũng tò mò đi đọc thêm tài liệu khác nhưng không thấy nhắc đến vụ này smilie)
[Up] [Print Copy]
  [Question]   Re: Config Network Loadbalacing 11/01/2007 15:22:21 (+0700) | #12 | 35595
[Avatar]
YHT
Member

[Minus]    0    [Plus]
Joined: 21/04/2006 13:29:33
Messages: 173
Location: HCM
Offline
[Profile] [PM] [WWW] [Yahoo!]
Cám ơn KhaiTran đã cho ý kiến, YHT đã xem qua và thử cấu hình trên RHELv4
Một số thay đổi so với trên SuSE
File /etc/modules.conf trên RHEL là /etc/modprobe.conf
Các file /etc/sysconfig/network/ifcfg-eth0 eth1nằm ở /etc/sysconfig/network-scripts/ifcfg-eth0 eth1

Tạo file fcfg-bond0, ifup-bond0 trong thư mục /etc/sysconfig/network-scripts/ luôn

==>Restart network: # /sbin/sevice network restart

Và kết quả như sau:
- Khi monitor traffic bằng ethereal nhận thấy một điều lạ là các packet chuyển vào loopback ngày càng nhiều với dạng sau, Ai có địa chỉ 192.168.9.195 nói 192.168.9.195 biết coi smilie (địa chỉ 192.168.9.195 là địa chỉ của bond0)
- Monitor trên bond0 thì thấy toàn các ARP với các thông điệp
+ Ai có địa chỉ 192.168.9.3 nói 192.168.9.195 biết với (.3 là địa chỉ gateway)
+ Ai có địa chỉ 192.168.9.250 nói 192.168.9.195 biết với (.250 là địa chỉ trước đây của eth1
Không biết phần cấu hình bond0 này còn thiếu sót gì không mà bị như vậy, hiện tại đã restore lại như cũ để gởi bài này, chắc sẽ nghiên cứu lại xem có sai sót gì không?
Không biết có ai đã từng làm cái nào như vậy chưa, có thể cho anh em một ít kinh nghiệm.

--YHT
[Up] [Print Copy]
  [Question]   Config Network Loadbalacing 12/01/2007 05:53:49 (+0700) | #13 | 35752
[Avatar]
PureMoon
Member

[Minus]    0    [Plus]
Joined: 21/07/2006 12:16:07
Messages: 41
Location: FullMoon
Offline
[Profile] [PM] [Yahoo!] [MSN]

PXMMRF wrote:

Tôi không nghĩ là việc không phải config., thậm chí không cài thêm một Software packages, có thể thu đựoc đày đủ mọi teaming features, dù chỉ là các tính năng cần thiết nhất như Fault tolerance ( luôn hiện diện trên mang dù một IP source bị hỏng ), Load balancing, Link Aggregation.
Vậy thì bạn đã áp dụng kiểu Teaming gì ( Teaming Modes hay cũng gọi là Type of Teaming)? Automatic hay 802.3ad Dynamic Dual Channel Load balancing, 802.3ad dynamic,SLB,TLB,NFT ? ( Cách gọi Teaming mode trong Windows và Linux khác nhau)
Bạn có lắp thêm môt hardware nào không ngoài 2 NIC, có cài thênm software package nào không ?
Ngoài ra bạn đã thu đựoc các Teaming features nào?

Mong có dịp trao đổi thêm học tập lẫn nhau
 


Sorry mình hơi nhầm chút .

Trên M$ phải cài thêm 1 gói để cấu hình Teaming tải trực tiếp từ HP và cũng phải cấu hình đôi chút. ( Tuy nhiên đây là box *nix nên tạm bỏ qua M$,).

Mình chọn cấu hình là Automatic . Cấu hình này support khá nhiều thứ và dễ dàng:
Active path failover , Fast path failover, Fault tolerance, Tx/Rx load balancing, Có thể cắm cùng 1 Broadcastdomain, không yêu cầu switch support, Có thể support Teaming các NIC khác nhau, Load balance TCP/IP, ...

Tuy nhiên Automatic chỉ hỗ trợ trên M$ ( thấy bọn HP bảo thế_ vì cái Server của mình xài là HP Series NIC cũng của HP nên mình check của nó). Trên *nix thấy nó bảo ko hỗ trợ : Active Path Failover, Fast Path Failover.

Trên Nix chỉ hỗ trợ : 802.3ad Dynamic Dual Channel LB, SLB(Dual Channel Teaming, cái này cần Sw hỗ trợ) , TLB( Transmit LoadBalancing), NFT(Network Fault Tolerance).

Cái bond có lẽ là TLB ( trên *nix mình cũng mới làm đọc cái này vài hôm và cũng chưa rành lắm) . Trafic chỉ đến 1 Interface ( No Recieve LoadBalancing) . Nên khi ping từ Client vào sẽ có 1 thời gian timeout ngăn ngắn .

Cảm ơn các bạn đã quan tâm !
[Up] [Print Copy]
  [Question]   Config Network Loadbalacing 12/01/2007 07:10:27 (+0700) | #14 | 35764
PXMMRF
Administrator

Joined: 26/09/2002 07:17:55
Messages: 946
Offline
[Profile] [PM]

PureMoon wrote:

Sorry mình hơi nhầm chút .

Trên M$ phải cài thêm 1 gói để cấu hình Teaming tải trực tiếp từ HP và cũng phải cấu hình đôi chút. ( Tuy nhiên đây là box *nix nên tạm bỏ qua M$,).

Mình chọn cấu hình là Automatic . Cấu hình này support khá nhiều thứ và dễ dàng:
Active path failover , Fast path failover, Fault tolerance, Tx/Rx load balancing, Có thể cắm cùng 1 Broadcastdomain, không yêu cầu switch support, Có thể support Teaming các NIC khác nhau, Load balance TCP/IP, ...

Tuy nhiên Automatic chỉ hỗ trợ trên M$ ( thấy bọn HP bảo thế_ vì cái Server của mình xài là HP Series NIC cũng của HP nên mình check của nó). Trên *nix thấy nó bảo ko hỗ trợ : Active Path Failover, Fast Path Failover.

Trên Nix chỉ hỗ trợ : 802.3ad Dynamic Dual Channel LB, SLB(Dual Channel Teaming, cái này cần Sw hỗ trợ) , TLB( Transmit LoadBalancing), NFT(Network Fault Tolerance).

Cái bond có lẽ là TLB ( trên *nix mình cũng mới làm đọc cái này vài hôm và cũng chưa rành lắm) . Trafic chỉ đến 1 Interface ( No Recieve LoadBalancing) . Nên khi ping từ Client vào sẽ có 1 thời gian timeout ngăn ngắn .

Cảm ơn các bạn đã quan tâm !
 

Sorry mình hơi nhầm chút . 

Vâng, bạn không thể chỉ dùng hai NIC và rồi cố config. trên nền của Windows hay kể cả Linux Platforms ( không cài thêm bất cứ third party software[s] nào) mà đạt đựoc hiệu quả mong muốn từ việc Teaming. Ngoài ra nếu bạn muốn có Teaming features đầy đủ khi áp dụng một Teaming mode nào đó, thí dụ Automatic mode, thì có khi bạn phải có thêm các Active switch cho mỗi NIC, tôi xin nhấn mạnh cho mỗi NIC.
Tuy nhiên một vài Teaming mode lại không cần các active switches.

Tôi đang Teaming hai Intel NIC trên nền Linux, sử dụng DELL sever, tôi đã phải cài thêm Broadcom® Advanced Server Program (BASP) và Advanced Network Services (ANS) software và đang cố gắng biến cái switch của mình hiện có thành môt Active switch. Nếu không làm như vậy ngay cả những features cơ bãn, thông dụng của Teaming như Fault tolerance và Load balancing cũng không hoàn chỉnh hay gặp rất nhiều trục chặc.

Tuy nhiên Automatic chỉ hỗ trợ trên M$ ( thấy bọn HP bảo thế_ vì cái Server của mình xài là HP Series NIC cũng của HP nên mình check của nó). Trên *nix thấy nó bảo ko hỗ trợ : Active Path Failover, Fast Path Failover. 


Automatic là một Teaming mode cơ bản, tiện dụng của Teaming . Linux và Windows đều hỗ trợ Teaming Automatic mode, sau khi nó đựoc cài thêm các software cần thiết, phù hợp như tôi đã nói ở trên.

Tuy nhiên phải thấy rằng TEAMING liên quan chặt chẽ đến kết cấu và tính năng, tức là model cùa NIC, vì teaming ở đây chính là combine ( kết nối) hai NIC để có đựoc các hiệu quà mong muốn. Vì vậy chỉ có một số model (kiểu, loại ) của NIC trong tổng số các NIC models do môt công ty nào đó sản xuất (như Intel, 3Com, HP ...) là hỗ trợ TEAMING. Không phải NIC nào cũng teaming đựoc, cũng như ngay cả các NIC có thể teaming nhưng thưc tế chúng chỉ hỗ trợ một số Teaming modes và vì vậy trong trừong hợp này ta chỉ thu đựoc môt số Teaming features nào đó.

Trong trưong hợp của bạn thì vấn đề không phải từ HP server hay cơ bản không từ LINUX, mà vấn đề có thể là từ cấu hình ( model ) của HP NIC đang lắp trên server, chúng không hỗ trợ mọi kiểu Teaming, trong đó có Automatic mode. Cũng có thể HP chưa "tìm thấy" một software nào hổ trợ việc Teaming HP NICs của bạn trong nền Linux. Bạn thử thay bằng các INTEL NIC hỗ trợ Teaming, trong đó hỗ trợ cả Automatic mode xem sao?

Cái bond có lẽ là TLB ( trên *nix mình cũng mới làm đọc cái này vài hôm và cũng chưa rành lắm) . Trafic chỉ đến 1 Interface ( No Recieve LoadBalancing) . Nên khi ping từ Client vào sẽ có 1 thời gian timeout ngăn ngắn . 


Hiện tựong trên chứng tỏ là quá trình Teaming chưa được hoàn tất, các teaming features cơ bản chưa thu đựoc.

Thanks for your recent comments
The absence of disagreement is not harmony, it's apathy.
(Socrates)
Honest disagreement is often a good sign of progress.
(Mahatma Gandhi)
[Up] [Print Copy]
  [Question]   Re: Config Network Loadbalacing 14/01/2007 03:59:42 (+0700) | #15 | 36062
[Avatar]
YHT
Member

[Minus]    0    [Plus]
Joined: 21/04/2006 13:29:33
Messages: 173
Location: HCM
Offline
[Profile] [PM] [WWW] [Yahoo!]
Hôm nay tình cờ đọc được bài viết này ( http://www.linuxquestions.org/linux/answers/Networking/Spanning_Multiple_DSLs) rất hay, có cùng chung một ý tưởng với mình. YHT đã cấu hình thử như vậy và kết quả ok, đúng như những gì trong bài viết đã đề cập. Chuyện test kỹ càng nữa thì chưa thực hiện được nhưng nhìn chung là tốt.
Ai lười qua trang kia thì đọc tạm ở đây cũng được smilie

Spanning Multiple DSLs
Written by michaelsanford - 2005-06-01 13:57

Noticing that I wasn't the only person wanting to take advantage of multiple IP gateways on my system, I thought I'd post our findings. This is the result of many headaches on the part of myself and my colleague Mr. Mirotchnick.

Our equipment--and this Answer--are arranged thusly:
- 2 Cisco DSL modems each connected to separate ISPs, First_ISP and Second_ISP
- A Cisco 24-port unmanaged switch, though any switch or no switch at all will do.
- A RHEL9 linux box (kernel 2.6.5-1.358) but any Linux above kernel 2.6 should be OK.

There is no reason you need the switch in your setup though, since you can just as easily have PCI DSL modems in your gateway or have external modems connect directly to your NICs; our office setup, however, requires it for reasons not relevant here.

If you have directly-connected modems you will need to adjust the numbers here to reflect that, since a directly-connected DSL modem won't have a LAN IP address--you would have to replace 192.168.0.1 and 192.168.1.1 by their WAN equivalents. To keep the Tylenol bill down, you would also need static IP addressing from your ISP smilie

The Commands
The two Cisco modems have LAN ip addresses of 192.168.0.1 and 192.168.1.1 and subnet masks of 255.255.255.0. The two (Linux gateway) ethernet interfaces are configured thusly:
Code:
eth0 Link encap:Ethernet HWaddr 00:0A:E6:77:50:C0
inet addr:192.168.1.200 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::20a:e6ff:fe77:50c0/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

eth2 Link encap:Ethernet HWaddr 00:40:F4:6B:70:5C
inet addr:192.168.0.200 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::240:f4ff:fe6b:705c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:
1

I recommend using two physical interfaces instead of interface aliases for two reasons. Firstly, you have the redundancy of having two devices, so if one of your NICs gets fried you won't lose your connection. Secondly, in our situation, we could not get device aliases to bind properly for routing.

Now, we need to create two new routing tables:
Code:
echo "1 First_ISP" >> /etc/iproute2/rt_tables
echo "2 Second_ISP" >> /etc/iproute2/rt_tables


That has created two new routing tables, now we have to add something to them:
Code:
ip route add 192.168.1.0/24 dev eth0 src 192.168.1.200 table First_ISP
ip route add default via 192.168.1.1 table First_ISP
ip route add 192.168.0.0/24 dev eth2 src 192.168.0.200 table Second_ISP
ip route add default via 192.168.0.1 table Second_ISP


Now we add the rules that allow us to use the two routes from the two interfaces
Code:
ip rule add from 192.168.1.200 table First_ISP
ip rule add from 192.168.0.200 table Second_ISP


This last bit of network magic is the keystone of this setup; it directs the kernel to use the routing tables in a round-robin, each with a certain weight (preference) that you can alter to prefer one route (i.e., ISP) over the other. You can also reduce the weight to 0 if that ISP goes down.
ip route add default scope global nexthop via 192.168.1.1 dev eth0 weight 1 \
nexthop via 192.168.0.1 dev eth2 weight 1

To test, traceroute two different domains (IPs)--you should see them going out the different interfaces. However. since routes are cached by the kernel, when you test it you will see that, for a short period (the route caching period) a domain will use the same route. This is normal; once the route cache expires it will be free to use whichever route is next in the round-robin.

What this will do
We use this type of multiplexing in a wireless ISP environment to break up traffic of our users across multiple lines both for redundancy and for bandwidth conservation. It was never designed to increase transfer speed (beyond what is not lost by having all our users on a single line).

What this will not do
This type of spanning will not aggregate bandwidth for a single user. By this I mean that if you have two 5 meg DSLs you won't magically have a single 10 meg connection. This is because it routes destination IPs via one of the two ISP connections, so if you're downloading a single file from freshmeat.com all requests for freshmeat.com will go in and out one of the two interfaces (until the kernel's routing cache expires). It will not try to open two connections to the IP using both lines at the same time.

N.B.,
A primary reference for this Answer is the Linux Advanced Routing & Traffic Control Howto by messers Graf, Maxwell, von Mook, van Oosterhout, Spaans, Schroeder and Larroy found at http://lartc.org/howto/ ; I recommend anyone interested in serious traffic routing read this.

--YHT
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|