Tagged: OpenvSwitch

KVM 의 Bridege 를 OpenvSwitch 로 바꾸기.

KVM은 리눅스 커널 기반의 가상화 시스템이다. KVM 을 이용하면 네트워크도 가상화를 해주는데, 이는 KVM 의 네트워크 가상화는 Bridege 네트워크를 이용하도록 되어 있다.

Figure2. 가상화된 네트워킹 인프라
Figure1. 가상화된 네트워킹 인프라.(Ibm develop works 참조)

위 그림은 KVM 하이퍼바이저의 가상 네트워킹을 보여준다. 네트워크 가상화를 하이퍼바이저내에서 이루어지다보니 가상 시스템을 모아놓은 상태에서 전체 네트워킹을 설정하고 변경하기가 쉽지가 않게 된다. 가상 네트워킹을 관리하기 좀 더 쉽게 하이퍼바이저내에서 빼내서 가상 네트워킹을 가능하도록 한다면 어떨까. OpenvSwitch 가 이것을 가능하게 해준다.

1. 환경.

CentOS 7  의 KVM 환경이다. OpenvSwitch 는 2.0 버전이며 이는 OpenStack IceHouse 패키지 저장소에 있는 것을 이용했다.

2. KVM 가상화 구축.

다음과 같이 패키지를 설치한다.

재부팅을 하면 다음과 같이 네트워크 인터페이스들을 볼 수 있다.

virbr0 는 KVM 하이퍼바이저 생성한 인터페이스이며 기본적으로 NAT 기반의 네트워킹이다. 이는 가상화 쉘을 통해서 네트워크를 확인할 수 있다.

가상화 네트워크의 이름은 ‘default’ 이며 내용은 다음과 같이 확인할 수 있다.

보통 NAT 가상화 네트워크를 이용하지 않고 물리 네트워크 인터페이스와 Bridege 시켜서 사용을 한다.

여기서는 NAT 이던 Bridege  던지간에 KVM 하이퍼바이저의 가상 네트워크를 이용하지 않고 OpenvSwitch  를 이용할 것이다.

3. KVM 가상 네트워크 삭제.

다음과 같이 KVM 가상 네트워크를 삭제해준다.

4. OpenvSwitch 설치.

OpenvSwitch 의 RedHat 패키지는 OpenStack Rdo 프로젝트의 저장소를 이용하면 쉽게 설치할 수 있다.

그리고 다음과 같이 yum 으로 설치해 준다.

이제 systemd  에 활성화해주고 데몬을 시작해 준다.

재부팅을 한번 해준 후에 커널 모듈을 살펴보면 openvswitch 커널 모듈이 적재된 것을 볼 수 있다.

5. OpenvSwitch 설정.

OpenvSwitch 의 인터페이스와 물리적인 네트워크 인터페이스를 브릿지 해준다.

다음으로 리눅스의 네트워크 서비스를 재시작 해준다.

OpenvSwitch 상태를 살펴보면 다음과 같다.

네트워크 인터페이스 카드 상태는 다음과 같다.

이제 KVM 하이퍼바이저의 가상 네트워킹을 OpenvSwitch 를 사용하도록 해야 한다. 이전에 지웠던 기본 가상 네트워킹을 OpenvSwitch 로 사용하도록 설정해주면 되는 것이다.

ovsbr0.xml 파일을 위와 같이 만들었다면 이것을 virsh 를 이용해서 가상 네트워킹으로 인식시켜주면 된다.

6. 사용.

virt-install 이나 virt-manager 를 이용해서 Guest 만들때에 네트워크에서 ovsbr0 를 선택하면 된다.