KVM에서 사용하는 브리지를 OpenvSwitch로 사용해 보았습니다.

3768 단어 KVMOpenVSwitchCentOS
KVM에서 사용하는 스위치를 Linux 표준 브리지에서 OpenvSwitch로 변경하여 외부와 연결해 보았습니다.
그 절차를 비망록으로 적는다.
또한 KVM 환경에서 하나 이상의 VM이 있다고 가정하고 VM 생성에 대한 설명은 생략합니다. VM의 작성 방법을 모르는 분은 이쪽→ CentOS7에서 KVM을 사용하여 가상 머신을 만들었습니다. 를 참고로 해 보세요.

완성 이미지





환경


  • Host CentOS 7.5
  • openvswitch 2.0.0

  • 절차



    패키지 설치 및 시작



    먼저 OpenvSwtich를 설치하고 데몬을 시작합시다.
    최신 버전의 것을 터치했다면 소스에서 설치하는 것이 좋습니다. 방법은 그물에 굴러 있다고 생각하므로 여기에서는 설명하지 않습니다.
    # yum install -y openvswitch python-openvswitch
    # systemctl start openvswitch
    # systemctl enable openvswitch
    

    브리지 만들기



    브리지 작성은 ovs-vsctl add-br 명령으로도 가능하지만 여기에서는 스크립트에 직접 씁니다.
    xx의 부분은 자신의 환경에 맞추어 주세요.
    # vi /etc/sysconfig/network-scripts/ifcfg-ovsbr0  // 以下のように書き込みます
    
    DEVICE=ovsbr0
    NAME=ovsbr0
    ONBOOT=yes
    BOOTPROTO=none
    DEVICETYPE=ovs
    TYPE=OVSBridge
    IPADDR=192.168.0.1
    NETMASK=255.255.255.0
    GATEWAY=xx.xx.xx.xx
    DNS1=xx.xx.xx.xx
    
    # systemctl restart network  // 設定を反映させる
    

    브리지와 호스트의 인터페이스를 연결


    # ovs-vsctl add-port ovsbr0 eno1
    

    브리지와 호스트의 인터페이스가 제대로 연결되어 있으면 다음과 같은 출력을 얻을 수 있습니다.
    # ovs-vsctl show
    2dc06fcd-3735-4498-a963-3642d7e662d4
        Bridge "ovsbr0"
            Port "ovsbr0"
                Interface "ovsbr0"
                    type: internal
            Port "eno1"
                Interface "eno1"
        ovs_version: "2.0.0"
    

    VM의 네트워크 설정 편집



    기존 VM의 네트워크 설정을 변경하여 ovsbr0에 연결하여 외부와 통신할 수 있습니다.
    편집하는 부분은, 선두에 「+」가 붙어 있는 부분입니다.
    덧붙여서 vi 이나 nano 로 직접 파일을 편집해도 변경은 반영되지 않습니다.
    # virsh edit vm
    + <interface type='bridge'>
         <mac address='52:54:00:6c:4a:50'/>
    +    <source bridge='ovsbr0'/>
    +    <virtualport type='openvswitch'>
         <model type='virtio'/>
         <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> 
     </interface>
    

    일단 저장이 끝난 후 다시 열면 다음과 같이 파라미터가 추가됩니다.
     <interface type='bridge'>
         <mac address='52:54:00:6c:4a:50'/>
         <source bridge='ovsbr0'/>
         <virtualport type='openvswitch'>
    +       <parameters interfaceid='97233b2f-b55a-4a48-b6f0-cb254854ed39'/>
    +     </virtualport>
         <model type='virtio'/>
         <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> 
     </interface>
    

    확인



    이상으로 설정이 끝났으므로, vm가 ovsbr0 와 접속되어 있는지 확인해 봅시다.
    # virsh start vm  // vmの起動
    # ovs-vsctl show
    2dc06fcd-3735-4498-a963-3642d7e662d4
        Bridge "ovsbr0"
            Port "ovsbr0"
                Interface "ovsbr0"
                    type: internal
            Port "eno1"
                Interface "eno1"
            Port "vnet0"             // ←が追加されているので成功!
                Interface "vnet0"
        ovs_version: "2.0.0"
    

    참고


  • KVM 환경에서 OpenvSwitch에서 게스트 VM을 외부 네트워크에 연결하는 방법
  • 좋은 웹페이지 즐겨찾기