저는 Linux 클라이언트를 제공할 FreeBSD 8.1에 NFS 서버를 설정했습니다. 각 상자에는 듀얼 포트 1gig 광섬유 카드가 있으며 각 상자는 이 링크를 통해 다른 상자에 직접 연결됩니다. 관련된 스위치가 없습니다.
내 질문은 FreeBSD와 Linux가 모두 802.3ad를 지원하기 때문에 스위치를 사용하지 않을 때 다음 구성이 올바른 접근 방식입니까?입니다. 아니면 더 좋은 방법이 있나요? 아직도 지원되나요?
이 설정을 사용하면 호스트 간에 ping을 수행하고 NFS를 통해 파일을 전송할 수 있습니다.
FreeBSD em2 <-> eth2 리눅스 em3 <-> eth3
802.3ad(lacp)에 대해 em2 및 em3을 구성했습니다.
lagg0: 플래그=8843 미터법 0mtu 1500 옵션=9b 에테르00:04:23:c2:c2:e0 inet 192.168.0.1 넷마스크 0xffffffffc 브로드캐스트 192.168.0.3 미디어: 이더넷이 자동으로 선택됨 상태: 활성 라가 프리미티브 lacp 지연 포트: em3 플래그=1c laggport:em2 플래그=1c
if_lagg_load = "예" ifconfig_em2="위" ifconfig_em3="위" #ifconfig_lagg0="생성" 클론 인터페이스="lagg0" ifconfig_lagg0="laggproto lacp laggport em2 laggport em3 192.168.0.1 넷마스크 255.255.255.252"
802.3ad 바인딩의 경우 eth2 및 eth3:
[root@xbox ~]# ifconfig bond0 bond0 링크 캡슐: 이더넷 HWaddr 00:04:23:C2:C4:DA inet 주소: 192.168.0.2 브로드캐스트: 192.168.0.3 마스크: 255.255.255.252 inet6 주소: fe80::204:23ff:fec2:c4da/64 범위: 링크 업링크 브로드캐스트 작업 메인 멀티캐스트 MTU: 1500 표시기: 1 RX 패킷: 140000208 오류: 0 삭제: 0 오버플로: 0 프레임: 0 TX 패킷: 101560577 오류: 0 삭제: 0 오버플로: 0 캐리어: 0 충돌: 0 txqueuelen: 0 RX 바이트: 3281219872(3.0GiB) TX 바이트: 3609990240(3.3GiB)
[root@xbox 네트워크 스크립트]# cat ifcfg-bond0 장치=본드0 IPADDR=192.168.0.2 네트워크=192.168.0.0 넷마스크=255.255.255.252 사용자 제어 = 아니요 BOOTPROTO=없음 시작=예 [root@xbox 네트워크 스크립트]# cat ifcfg-eth2 장치=eth2 사용자 제어 = 아니요 시작=예 메인=본드0 에서 = 예 BOOTPROTO=없음 [root@xbox 네트워크 스크립트]# cat ifcfg-eth3 장치=eth3 사용자 제어 = 아니요 시작=예 메인=본드0 에서 = 예 BOOTPROTO=없음 [root@xbox 네트워크 스크립트]# tail -n2 /etc/modprobde.conf 별칭 bond0 바인딩 옵션 bond0 모드=802.3ad miimon=100
편집하다: FreeBSD 컴퓨터에서는 em2와 em3의 MAC 주소가 동일한 반면 Linux 컴퓨터에서는 eth2와 eth3의 MAC 주소가 다르다는 것을 발견했습니다.
답변1
이렇게 할 수는 있지만 원하는 효과는 없습니다. 릴레이를 통해 동일한 호스트에 전송된 패킷이 전송된 순서대로 도착해야 하는 802.11ad 표준의 난해한 요구 사항으로 인해 커널은 동일한 호스트에 대한 여러 링크를 통해 패킷을 로드 밸런싱할 수 없습니다. link 패킷을 일부 호스트로 보내고 다른 링크를 통해 다른 호스트로 보냅니다. 각 끝에 하나의 호스트만 있으므로 모든 패킷은 결국 하나의 링크를 통과하게 됩니다.
답변2
귀하의 설정을 지원하십시오. Link Aggregation을 사용하는 호스트 간 스위치가 있는 경우 해당 스위치는 LACP를 지원해야 하지만, 스위치가 없는 경우에는 문제가 없습니다.