16.7. 네트워크와 가상 머신을 연결하도록 네트워크 본딩의 브리지 구성
네트워크 브리지는 호스트와 동일한 네트워크에 VM을 연결합니다. 한 호스트의 VM을 다른 호스트의 다른 호스트 또는 VM에 연결하려면 브리지가 해당 호스트 간에 통신을 설정합니다. 그러나 브릿지는 장애 조치 메커니즘을 제공하지 않습니다.
통신에서 오류를 처리하기 위해 네트워크 본딩은 네트워크 인터페이스 실패 시 통신을 처리합니다. 내결함성 및 중복성을 유지하기 위해 active-backup 본딩 메커니즘에 따라 본딩에서 하나의 포트만 활성 상태이며 스위치 구성이 필요하지 않습니다. 활성 포트가 실패하면 네트워크에 구성된 VM 간 통신을 유지하기 위해 대체 포트가 활성화됩니다.
16.7.1. nmcli를 사용하여 네트워크 본딩에서 네트워크 인터페이스 구성 링크 복사링크가 클립보드에 복사되었습니다!
명령줄에서 네트워크 본딩을 구성하려면 nmcli 유틸리티를 사용합니다.
사전 요구 사항
-
두 개 이상의 물리적 장치가 서버에 설치되고
NetworkManager연결 프로필에 구성되지 않습니다.
프로세스
본딩 인터페이스를 생성합니다.
# nmcli connection add type bond con-name bond0 ifname bond0 bond.options "mode=active-backup"이 명령은
active-backup모드를 사용하는bond0이라는 본딩을 생성합니다.본딩에 이더넷 인터페이스를 할당합니다.
# nmcli connection add type ethernet slave-type bond con-name bond0-port1 ifname enp7s0 master bond0 # nmcli connection add type ethernet slave-type bond con-name bond0-port2 ifname enp8s0 master bond0이러한 명령은
enp7s0및enp8s0에 대한 프로필을 생성하고bond0연결에 추가합니다.IPv4 설정을 구성합니다.
- DHCP를 사용하려면 작업이 필요하지 않습니다.
정적 IPv4 주소, 네트워크 마스크, 기본 게이트웨이, DNS 서버를
bond0연결로 설정하려면 다음을 입력합니다.# nmcli connection modify bond0 ipv4.addresses 192.0.2.1/24 ipv4.gateway 192.0.2.254 ipv4.dns 192.0.2.253 ipv4.dns-search example.com ipv4.method manual
IPv6 설정을 구성합니다.
- SLAAC(stateless address autoconfiguration)를 사용하려면 작업이 필요하지 않습니다.
정적 IPv6 주소, 네트워크 마스크, 기본 게이트웨이, DNS 서버를
bond0연결로 설정하려면 다음을 입력합니다.# nmcli connection modify bond0 ipv6.addresses 2001:db8:1::1/64 ipv6.gateway 2001:db8:1::fffe ipv6.dns 2001:db8:1::fffd ipv6.dns-search example.com ipv6.method manual
선택 사항: 본딩 포트에서 매개변수를 설정하려면 다음 명령을 사용합니다.
# nmcli connection modify bond0-port1 bond-port.<parameter> <value>본딩이 활성화되면 Red Hat Enterprise Linux가 모든 포트를 자동으로 사용하도록 설정합니다.
# nmcli connection modify bond0 connection.autoconnect-ports 1브리지를 활성화합니다.
# nmcli connection up bond0
검증
호스트에서 네트워크 케이블을 일시적으로 제거합니다.
소프트웨어 유틸리티를 사용하여 링크 실패 이벤트를 적절하게 테스트할 방법은 없습니다. nmcli와 같은 연결을 비활성화하는 도구는 실제 링크 실패 이벤트가 아닌 본딩 드라이버의 포트 구성 변경 사항만 표시합니다.
본딩 상태를 표시합니다.
# cat /proc/net/bonding/bond0
16.7.2. nmcli를 사용하여 네트워크 본딩의 네트워크 브리지 구성 링크 복사링크가 클립보드에 복사되었습니다!
네트워크 본딩의 네트워크 브릿지에는 트래픽 처리를 개선하기 위해 여러 네트워크 인터페이스를 결합하는 본딩 인터페이스를 구성해야 합니다. 따라서 VM은 네트워크 브리지를 사용하여 결합된 네트워크 인터페이스를 통해 네트워크에 액세스할 수 있습니다. nmcli 유틸리티는 구성에 필요한 명령줄에서 연결 파일을 생성하고 편집합니다.
프로세스
브리지 인터페이스를 만듭니다.
# nmcli connection add type bridge con-name br0 ifname br0 ipv4.method disabled ipv6.method disabledbond0본딩을br0브리지에 추가합니다.# nmcli connection modify bond0 master br0브릿지가 활성화되면 Red Hat Enterprise Linux가 모든 포트를 자동으로 사용하도록 설정합니다.
# nmcli connection modify br0 connection.autoconnect-ports 1브리지를 다시 활성화합니다.
# nmcli connection up br0
검증
ip유틸리티를 사용하여 특정 브리지의 포트인 이더넷 장치의 링크 상태를 표시합니다.# ip link show master br0 6: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue master br0 state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:38:a9:4d brd ff:ff:ff:ff:ff:ff ...bridge유틸리티를 사용하여 브리지 장치의 포트인 이더넷 장치의 상태를 표시합니다.# bridge link show 6: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 master br0 state forwarding priority 32 cost 100 ...특정 이더넷 장치의 상태를 표시하려면
bridge link show dev < ethernet_device_name> 명령을사용합니다.
16.7.3. 기존 본딩 인터페이스를 사용하여 libvirt에서 가상 네트워크 생성 링크 복사링크가 클립보드에 복사되었습니다!
VM(가상 시스템)에서 본딩과 함께 br0 브리지를 사용하려면 먼저 이 브리지를 사용하는 libvirtd 서비스에 가상 네트워크를 추가합니다.
사전 요구 사항
-
libvirt패키지를 설치했습니다. -
libvirtd서비스를 시작하고 활성화했습니다. -
Red Hat Enterprise Linux에서 본딩을 사용하여
br0장치를 구성했습니다.
프로세스
다음 콘텐츠를 사용하여
~/bond0-bridge.xml파일을 만듭니다.<network> <name>bond0-bridge</name> <forward mode="bridge" /> <bridge name="br0" /> </network>~/bond0-bridge.xml파일을 사용하여libvirt에 새 가상 네트워크를 생성합니다.# virsh net-define ~/bond0-bridge.xml~/bond0-bridge.xml파일을 제거합니다.# rm ~/bond0-bridge.xmlbond0-bridge가상 네트워크를 시작합니다.# virsh net-start bond0-bridgelibvirtd서비스가 시작될 때 자동으로 시작하도록bond0-bridge가상 네트워크를 구성합니다.# virsh net-autostart bond0-bridge
검증
가상 네트워크 목록을 표시합니다.
# virsh net-list Name State Autostart Persistent ---------------------------------------------------- bond0-bridge active yes yes ...
16.7.4. 본딩 인터페이스를 사용하도록 가상 머신 구성 링크 복사링크가 클립보드에 복사되었습니다!
호스트에서 본딩 인터페이스가 있는 브리지 장치를 사용하도록 VM을 구성하려면 bond0-bridge 가상 네트워크를 사용하는 새 VM을 생성하거나 이 네트워크를 사용하도록 기존 VM의 설정을 업데이트합니다.
RHEL 호스트에서 다음 절차를 수행합니다.
사전 요구 사항
-
libvirtd에bond0-bridge가상 네트워크를 구성했습니다.
프로세스
새 VM을 생성하고
bond0-bridge네트워크를 사용하도록 구성하려면 VM을 생성할 때--network network:bond0-bridge옵션을virt-install유틸리티에 전달합니다.# virt-install ... --network network:bond0-bridge기존 VM의 네트워크 설정을 변경하려면 다음을 수행합니다.
VM의 네트워크 인터페이스를
bond0-bridge가상 네트워크에 연결합니다.# virt-xml <example_vm> --edit --network network=bond0-bridge
VM을 종료하고 다시 시작합니다.
# virsh shutdown <example_vm> # virsh start <example_vm>
검증
호스트에 VM의 가상 네트워크 인터페이스를 표시합니다.
# virsh domiflist <example_vm> Interface Type Source Model MAC ------------------------------------------------------------------- vnet1 bridge bond0-bridge virtio 52:54:00:c5:98:1cbr0브리지에 연결된 인터페이스를 표시합니다.# ip link show master br0 18: bond0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br0 state UNKNOWN mode DEFAULT group default qlen 1000 link/ether 2a:53:bd:d5:b3:0a brd ff:ff:ff:ff:ff:ff 19: vnet1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br0 state UNKNOWN mode DEFAULT group default qlen 1000 link/ether 52:54:00:c5:98:1c brd ff:ff:ff:ff:ff:ff ...libvirtd서비스는 브리지의 구성을 동적으로 업데이트합니다.bond0-bridge네트워크를 사용하는 VM을 시작하면 호스트의 해당vnet*장치가 브리지 포트로 표시됩니다.