테스트 환경 : Vmware에 설치한 RHEL 7.2 64 Bit



1. Vmware 에 NIC 를 1개를 추가해서 총 2개로 만든다.



2. NIC 정보를 확인한다. (크게 중요하지는 않다)


[root@localhost Desktop]# ip link


1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT 

    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000

    link/ether 00:0c:29:e3:bf:8b brd ff:ff:ff:ff:ff:ff

3: eno33554992: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000

    link/ether 00:0c:29:e3:bf:95 brd ff:ff:ff:ff:ff:ff

4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT 

    link/ether 52:54:00:02:80:8f brd ff:ff:ff:ff:ff:ff

5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN mode DEFAULT qlen 500

    link/ether 52:54:00:02:80:8f brd ff:ff:ff:ff:ff:ff




[root@localhost Desktop]# nmcli device status

DEVICE          TYPE       STATE            CONNECTION 

virbr0            bridge      connected      virbr0     

virbr0-nic       ethernet   connected       virbr0-nic 

eno16777736  ethernet   disconnected    --         

eno33554992  ethernet   disconnected    --         

lo                 loopback  unmanaged      --   

※ 설치 직후라서 ethernet 링크는 연결되어 있지 않다.



[root@localhost Desktop]# nmcli connection show


NAME           UUID                                                  TYPE                DEVICE     

virbr0            a4f4865d-3436-41b6-a616-9fa7d81d9d45   bridge              virbr0     

eno16777736  6e24aedb-f590-489c-a94d-7859e2cee98d   802-3-ethernet   --         

eno33554992  f7ba9499-b320-458e-856a-c1c7cc89110d   802-3-ethernet   --         

virbr0-nic       1b6751a2-bd68-4e4c-8549-4938d6c00e4b  802-3-ethernet   virbr0-nic 

※ UUID 확인방법




3. Team 장치 를 생성한다.


[root@localhost Desktop]# nmcli connection add con-name team0 type team ifname team0 config '{"runner":{"name":"activebackup"}}'


Connection 'team0' (a93a4a81-8d93-44fd-9ee7-f798e53e7e12) successfully added.

※ activebackup mode로 티밍 인터페이스를 만든다. 그리고 name을 team0 이라고 명명한다.


(* 설정할 수 있는 mode에는 activebackup , loadbalance , lacp , broadcast , roundrobin 이렇게 5가지가 있다.) 


activebackup : failover runner로 이것은 데이터 전송을 위한 링크 변경을 감시하고 active port를 선택한다.

loadbalance : 트래픽을 모니터링하고 패킷 전송에 대한 포트를 선택할 때 완변학 균형에 도달하기 위해 hash function을 사용한다.

lacp : 802.3ad 링크 aggregation control protocol을 구현한다. loadbalance runner와 동일한 전송 포트를 선택할 수 있다.

broadcast : simple한 runner로 이것은 모든 포트로 부터 각각의 패킷을 전송한다.

roundrobin : simple한 runner로 이것은 각 포트에서 라운드 로빈 방식으로 각각의 패킷을 전송한다.


위와 같은 명령어를 입력하면 /etc/sysconfig/network-scripts/ 폴더에 ifcfg-team0 파일이 생성되며, 내용은 아래와 같이 만들어진다.


DEVICE=team0

TEAM_CONFIG="{\"runner\":{\"name\":\"activebackup\"}}"

DEVICETYPE=Team

BOOTPROTO=dhcp

DEFROUTE=yes

PEERDNS=yes

PEERROUTES=yes

IPV4_FAILURE_FATAL=no

IPV6INIT=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_PEERDNS=yes

IPV6_PEERROUTES=yes

IPV6_FAILURE_FATAL=no

NAME=team0

UUID=a93a4a81-8d93-44fd-9ee7-f798e53e7e12

ONBOOT=yes



4. 2번에서 했던 NIC 정보 확인방법을 통해서 제대로 생성되었는지 확인한다.


[root@localhost Desktop]# nmcli connection show


NAME           UUID                                                  TYPE                DEVICE     

virbr0            a4f4865d-3436-41b6-a616-9fa7d81d9d45   bridge              virbr0     

eno16777736  6e24aedb-f590-489c-a94d-7859e2cee98d   802-3-ethernet    --         

eno33554992  f7ba9499-b320-458e-856a-c1c7cc89110d   802-3-ethernet    --         

team0           a93a4a81-8d93-44fd-9ee7-f798e53e7e12    team                team0      

virbr0-nic       1b6751a2-bd68-4e4c-8549-4938d6c00e4b  802-3-ethernet   virbr0-nic 

※ Team 장치가 새로 생성된것을 확인할 수 있다.



5. NIC 1을 team0의 port1번으로 , NIC2를 team0의 port 2번으로 등록한다.


[root@localhost Desktop]# nmcli connection add con-name team0-port1 type team-slave ifname eno16777736 master team0


 Connection 'team0-port1' (03b6a1b4-442d-424c-b2b5-711b812b1dba) successfully added.




[root@localhost Desktop]# nmcli connection add con-name team0-port2 type team-slave ifname eno33554992 master team0

 Connection 'team0-port2' (d18636ba-fe4b-4742-aa27-fd08f1d3ad02) successfully added.




여기가지 하면 /etc/sysconfig/network-scripts/ 에 ifcfg-team0-port1 과 ifcfg-team0-port2 파일이 생성되며 


VMware 에서 아래와 같은 메세지가 나오고



ifconfig-team0-port1 의 내용은 아래처럼 생성된다.


NAME=team0-port1

UUID=03b6a1b4-442d-424c-b2b5-711b812b1dba

DEVICE=eno16777736

ONBOOT=yes

TEAM_MASTER=team0

DEVICETYPE=TeamPort




ifconfig-team0-port2 의 내용은 아래처럼 생성된다.


NAME=team0-port2

UUID=d18636ba-fe4b-4742-aa27-fd08f1d3ad02

DEVICE=eno33554992

ONBOOT=yes

TEAM_MASTER=team0

DEVICETYPE=TeamPort



6. 2번에서 했던 NIC 정보 확인방법을 통해서 제대로 생성되었는지 확인한다.


[root@localhost Desktop]# nmcli connection show


NAME          UUID                                                   TYPE                DEVICE      

virbr0            a4f4865d-3436-41b6-a616-9fa7d81d9d45    bridge              virbr0      

eno16777736  6e24aedb-f590-489c-a94d-7859e2cee98d    802-3-ethernet   --          

eno33554992  f7ba9499-b320-458e-856a-c1c7cc89110d    802-3-ethernet   --          

team0-port2   d18636ba-fe4b-4742-aa27-fd08f1d3ad02    802-3-ethernet  eno33554992 

team0-port1   03b6a1b4-442d-424c-b2b5-711b812b1dba  802-3-ethernet  eno16777736 

team0           a93a4a81-8d93-44fd-9ee7-f798e53e7e12     team               team0       

virbr0-nic       1b6751a2-bd68-4e4c-8549-4938d6c00e4b   802-3-ethernet  virbr0-nic 



7. team0 장치에 IP주소를 입력한다.


[root@localhost Desktop]# nmcli connection modify team0 ipv4.addresses 192.168.247.136/24 ipv4.method manual


위와 같이 입력하면 3번에서 생성한 ifconfig-team0 파일이 아래와 같이 변경된다.


DEVICE=team0

TEAM_CONFIG="{\"runner\":{\"name\":\"activebackup\"}}"

DEVICETYPE=Team

BOOTPROTO=dhcp

DEFROUTE=yes

PEERDNS=yes

PEERROUTES=yes

IPV4_FAILURE_FATAL=no

IPV6INIT=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_PEERDNS=yes

IPV6_PEERROUTES=yes

IPV6_FAILURE_FATAL=no

NAME=team0

UUID=a93a4a81-8d93-44fd-9ee7-f798e53e7e12

ONBOOT=yes

 →

DEVICE=team0

TEAM_CONFIG="{\"runner\":{\"name\":\"activebackup\"}}"

DEVICETYPE=Team

BOOTPROTO=none

DEFROUTE=yes

IPV4_FAILURE_FATAL=no

IPV6INIT=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_PEERDNS=yes

IPV6_PEERROUTES=yes

IPV6_FAILURE_FATAL=no

NAME=team0

UUID=a93a4a81-8d93-44fd-9ee7-f798e53e7e12

ONBOOT=yes

IPADDR=192.168.247.136

PREFIX=24



8. Team 에서 현재 사용하고있는 장치를 확인한다.

[root@localhost Desktop]# teamdctl team0 state

setup:

  runner: activebackup

ports:

  eno16777736

    link watches:

      link summary: up

      instance[link_watch_0]:

        name: ethtool

        link: up

        down count: 0

  eno33554992

    link watches:

      link summary: up

      instance[link_watch_0]:

        name: ethtool

        link: up

        down count: 0

runner:

  active port: eno16777736


※ 현재 eno16777736 장치가 사용중인것을 알 수 있다.




[root@localhost Desktop]# teamnl team0 ports


 3: eno33554992: up 1000Mbit FD 

 2: eno16777736: up 1000Mbit FD


※ team0에 설정되어 있는 port를 확인할 수 있다.




[root@localhost Desktop]# teamnl team0 getoption activeport


 2


※ 현재 사용중인 장치의 port를 확인 할 수 있다. 결국 위에서 봤던 eno16777736 장치를 가리키는것을 알 수 있다.




9. 제대로 작동하는지 테스트


[root@localhost Desktop]# nmcli dev con eno16777736


 Device 'eno16777736' successfully activated with '03b6a1b4-442d-424c-b2b5-711b812b1dba'.

※ eno16777736 장치를 중지 시켰다.


[root@localhost Desktop]# teamdctl team0 state


setup:

  runner: activebackup

ports:

  eno16777736

    link watches:

      link summary: up

      instance[link_watch_0]:

        name: ethtool

        link: up

        down count: 0

  eno33554992

    link watches:

      link summary: up

      instance[link_watch_0]:

        name: ethtool

        link: up

        down count: 0

runner:

  active port: eno33554992


※ eno16777736 이었던것이 eno33554992 로 변경되었다.




[root@localhost Desktop]# nmcli dev con eno16777736


 Device 'eno16777736' successfully activated with '03b6a1b4-442d-424c-b2b5-711b812b1dba'.

※ eno16777736 장치를 다시 활성화 시켜서 stanby 상태로 만들어준다.




=====================================================================================================


여기까지 하면 GUI 상태에선 아래와 같이 나오게 된다.





반응형
Posted by 미니도라
,