레드햇 계열의 리눅스는 7버전으로 넘어 오면서 많은점이 바뀌었는데 네트워크 디바이스 이름이 틀림

기존 버전과 같이 ifcfg-eth0, eth1..... 과 같은 형태가 아닌 ifcfg-enpXX 형식인데 BIOS에서 디바이스를 보는 형식으로 바뀌었음

예를 들면 아래와 같이 enp0s25와 enp4s0의 디바이스가 있는 경우 enp0s25는 pci 0번 버스의 25번째 슬롯(00:19:0 - 16진수)이며

enp4s0은 pci 4번 버스에 0번 슬롯(04:00:0 - 16진수)을 나타내는 형식

 

[root@localhost ~]# ls /etc/sysconfig/network-scripts/ifcfg-* -alrt
-rw-r--r--. 1 root root 254 Sep 16 20:51 /etc/sysconfig/network-scripts/ifcfg-lo
-rw-r--r--. 1 root root  39 Jan  4 16:33 /etc/sysconfig/network-scripts/ifcfg-enp0s25
-rw-r--r--. 1 root root 288 Jan  4 23:00 /etc/sysconfig/network-scripts/ifcfg-enp4s0

[root@localhost ~]# lspci | grep -i ether
00:19.0 Ethernet controller: Intel Corporation Ethernet Connection I217-LM (rev 05)
04:00.0 Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev 03)

 

다만 기존의 eth0, eth1으로 변경 하기 원한다면 /etc/default/grub 파일을 열어 GRUB_CMDLINE_LINUX 항목에 net.ifnames=0 biosdevname=0 항목을 추가후 저장..

grub2-mkconfig -o /boot/grub2/grub.cfg 를 통해 grub를 업데이트 하여 아래와 같이 done이 나오면 완료

 

[root@localhost ~]# vi /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/swap ...(생략)... net.ifnames=0 biosdevname=0"
GRUB_DISABLE_RECOVERY="true"

 

[root@localhost ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-123.el7.x86_64

(생략)

Found initrd image: /boot/initramfs-0-rescue-2a41b98f9b9f48428ee53544d9cf87ef.img
done
[root@localhost ~]#

 

이후 재부팅을 완료하면 네이밍 형식은 바뀌지만 /etc/sysconfig/network-scripts/ 밑에는 기존의 enp형식으로 만 있으면 네트워크를 사용 할수 없어

eth형식의 파일이 필요 하기 때문에 아래와 같이 파일의 이름을 바꿔주고 실제 그 파일 내의 Device 이름도 변경

이후 재부팅하면 모두 적용 되며 2개 이상의 device의 경우는 /etc/udev/rules.d/70-persistent-net.rules 파일을 수정해야 함

 

[root@localhost ~]# mv /etc/sysconfig/network-scripts/ifcfg-enp0s25 /etc/sysconfig/network-scripts/ifcfg-eth0

[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
HWADDR=D0:50:99:51:91:19
TYPE=Ethernet
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=enp0s25  // => eth0으로 변경
UUID=466db8ad-a566-4b5d-878c-ab442505c1d3
ONBOOT=no

가상머신에서도 VT-D를 활성화 시키기 위한 중첩가상화.. 

모듈에서 netsted 활성화 시키기

 

# vi /etc/modprobe.d/kvm-nested.conf
options kvm_intel nested=1
options kvm_intel enable_shadow_vmcs=1
options kvm_intel enable_apicv=1
options kvm_intel ept=1

 

이후에 모듈을 다시 활성화 시킨 후 활성화 되었는지 확인

# modprobe -r kvm_intel 
# modprobe kvm_intel

 

# cat /sys/module/kvm_intel/parameters/nested
Y

해당 domain의 xml 파일 수정 또는 virt-manager를 통해 vm에 가상화 지원하게 변경

 

1. cpu mode를 'host-passthrough' 또는 'host-model'로 변경

[root@localhost ~]# virsh edit test

<domain type='kvm'>
  <name>test</name>
  <uuid>458241a2-cd87-46a8-bd48-92722459d92d</uuid>
  <memory unit='KiB'>8388608</memory>
  <currentMemory unit='KiB'>8388608</currentMemory>
<중략>

 

 

  <cpu mode='host-passthrough'>        // 또는   <cpu mode='host-model'>

<중략>

 

2. cpu 항목에 vmx 또는 svm 항목을 추가 시킴

[root@localhost ~]# virsh edit test

<domain type='kvm'>
  <name>test</name>
  <uuid>458241a2-cd87-46a8-bd48-92722459d92d</uuid>
  <memory unit='KiB'>8388608</memory>
  <currentMemory unit='KiB'>8388608</currentMemory>
<중략>

  <cpu mode='custom' match='exact'>

    <feature policy='require' name='vmx'/>       // 추가

<중략>

 

 

 

참고 항목 : http://libvirt.org/format.html

 

vm을 가동후 가상머신을 지원하는지 확인, 가상화를 지원하는 경우 결과물이 core갯수만큼 출력, 지원안 할 경우 아무것도 나오지 않음

# cat /proc/cpuinfo | egrep '(vmx|svm)' 

[root@localhost /]# cat /proc/cpuinfo | egrep '(vmx|svm)'
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc rep_good unfair_spinlock pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm xsaveopt fsgsbase bmi1 avx2 smep bmi2 erms invpcid
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc rep_good unfair_spinlock pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm xsaveopt fsgsbase bmi1 avx2 smep bmi2 erms invpcid
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc rep_good unfair_spinlock pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm xsaveopt fsgsbase bmi1 avx2 smep bmi2 erms invpcid
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc rep_good unfair_spinlock pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm xsaveopt fsgsbase bmi1 avx2 smep bmi2 erms invpcid
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc rep_good unfair_spinlock pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm xsaveopt fsgsbase bmi1 avx2 smep bmi2 erms invpcid
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc rep_good unfair_spinlock pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm xsaveopt fsgsbase bmi1 avx2 smep bmi2 erms invpcid

 

'virtualization' 카테고리의 다른 글

esxi 6 드라이버 업그레이드  (0) 2016.11.30
spice 설정 자료  (0) 2016.02.01
PCI passthrough on KVM  (0) 2015.08.07
kvm 설치 centos  (0) 2015.04.03
CentOS 6, KVM에 guest OS bridge 네트워크 설정법  (0) 2015.04.03

[출처] 간단하지만 강력한 파일 편집기 'sed'|작성자 신바람형제들

1. sed란 무엇인가?

 


sed는 비 대화형 모드의 줄 단위 편집기라고 합니다. 

vi 편집기처럼 직접 파일을 열어 고치지 않고 커맨드 창 또는 스크립트에서 동작을 하여 원하는 부분만 변경해준다는 특징이 있습니다.


2. sed의 특징


sed는 쉘 또는 스크립트에서 파이프(|)와 같이 사용될 수 있는 명령어입니다.

그리고 기본적으로 정규표현식이 사용가능하기 때문에 정규표현식을 알면 더 고급지게 sed를 이용할 수 있습니다.

주의할 점은 정규표현식을 사용하기 때문에 특수문자 앞에 역 슬래시(\,\)를 붙여주어야 합니다. \를 쓰면 리눅스에서는 역슬래시로 받아들입니다.

예) sed 's/\$man/man/g' test.txt


3. sed 옵션


옵션은 sed -e 의 형식으로 사용됩니다.


e: sed를 사용하였을 때 출력되는 값을 보여줍니다. 이 옵션은 기본값으로 굳이 안 써도 되지만 다중 명령어를 쓸 때는 반드시 써야 합니다.
예) sed /man/p -e /girl/p 파일명: man과 girl이 들어있는 줄을 한번 더 출력


i: 변경되는 값을 실제로 파일에 저장하는 옵션입니다. 이 옵션은 출력되는 값이 없이 바로 실제 파일에 적용되는 것이 특징입니다.


n: 특정 값이 들어간 줄만 출력해주는 기능입니다. 주로 p 명령어와 사용된다고 합니다.


f: 스크립트를 파일로부터 읽어들이며 명령어를 지정하는 명령어라고 하는데 저는 거의 사용하지 않습니다.


4. sed 명령어


d: 줄 삭제 명령어

a\: 해당 값이 있는 줄 다음에 입력. 그냥 밑에 줄 하나 삽입되는 정도로 알고 있으면 됩니다.

i\: 줄 앞에 첨가 명령어

c\: 해당 줄을 변경하는 명령어

g: 한 줄에 해당하는 값이 여러개 있을 경우에 모두 변경하는 명령어. 이 명령어를 해당 줄의 제일 앞에 내용만 변경됩니다.

p: 조건에 부합하는 라인을 출력하는 명령어

s/orgin/change/: 앞에 것을 뒤에 것으로 변경하는 명령어


5. sed 사용방법


기본적으로 p,d,s 옵션들을 가장 많이 사용한다고 알려져있습니다. 

세가지만 예시로 들겠습니다.

궁금하신 부분은 댓글로 남겨주세요~!


기능: 출력

sed p 파일명: 파일 전체 출력 (cat과 같은 기능)

sed 3p 파일명: 3번째 줄 한번 더 출력

sed 3,4p 파일명: 3,4번째 줄 한번 더 출력

sed /man/p 파일명: man이 포함된 줄 한번 더 출력

sed -n 3p 파일명: 3번째 줄만 출력(n이 붙으면 조건에 해당하는 줄만 출력됨)


기능: 삭제

sed 3d 파일명: 3번째 줄 삭제하고 나머지 줄 출력

sed /man/d 파일명: man이 포함된 줄 삭제 나머지 줄 출력


s

기능: 치환

sed 's/man/girl/g' 파일명: man을 girl로 치환

sed -n 's/man/girl/p' 파일명: man을 girl로 치환하고 치환된 줄을 출력


6. 조금 더 유용한 sed 이용방법


공백 줄 제거하기

sed '/^$/d' 파일명


모든 줄마다 공백을 추가하기

sed 'a\\' 파일명


주석이 처리된 줄 모두 삭제

sed '/^#/d' 파일명


이 외에 리눅스 세팅 시에 스크립트에 등록하여 특정 줄을 추가하는 등의 역할을 수행하게 할 수도 있습니다.

sed -i "/HISTSIZE=1000/a\HISTTIMEFORMAT='%F %T ---'" /etc/profile 

위의 사용방법은 history 결과값에 날짜와 시간을 표현하게 해주는 방법입니다.


sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

혹은 selinux를 자동으로 꺼주는 스크립트를 만들 수도 있구요.


잘 쓰면 정말 유용하게 사용할 수 있는 sed, 간과하지 말고 자주자주 사용하도록 합시다~!

 

1.  PCI passthrough를 위한 사전 작업

BIOS에서 VT-d 활성화

Kernel에서 VT-d 활성화

kernel명령어에 'intel_iommu=on'을 추가후 grub에 업데이트(CentOS 7.0 기준)

grub 설정파일인 /etc/sysconfig/grub 의 GRUB_CMDLINE_LINUX 항목에  'intel_iommu=on' 및 grub에 업데이트 후 재부팅

[root@localhost ~]# vi /etc/sysconfig/grub

 

 

GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/swap vconsole.font=latarcyrheb-sun16 rd.lvm.lv=centos/root crashkernel=auto  vconsole.keymap=us rhgb quiet intel_iommu=on"
GRUB_DISABLE_RECOVERY="true"

 

 

[root@localhost ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-229.7.2.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-229.7.2.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-123.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-123.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-8efed03c3e3f4652b2ca66735627f062
Found initrd image: /boot/initramfs-0-rescue-8efed03c3e3f4652b2ca66735627f062.img
done

[root@localhost ~]# reboot

 

2. 가상머신에 장착할 디바이스의 pci 슬롯 확인

[root@localhost ~]#

[root@localhost ~]# lspci | grep -i ql

04:00.0 Fibre Channel: QLogic Corp. ISP2532-based 8Gb Fibre Channel to PCI Express HBA (rev 02)

04:00.1 Fibre Channel: QLogic Corp. ISP2532-based 8Gb Fibre Channel to PCI Express HBA (rev 02)

[root@localhost ~]#


3. 확인 한 PCI 슬롯 번호로 nodedev로 host에 등록된 PCI장비의 이름을 확인후 이 이름을 바탕으로 device 정보 확인

(이때 bus, slot, function 번호 확인 => virsh로 가상머신에 device 장착시 필요)

[root@localhost ~]# virsh nodedev-list | grep 04_00_

pci_0000_04_00_0

pci_0000_04_00_1

[root@localhost ~]# virsh nodedev-dumpxml pci_0000_04_00_0
<device>
  <name>pci_0000_04_00_0</name>
  <path>/sys/devices/pci0000:00/0000:00:03.0/0000:04:00.0</path>

  <parent>pci_0000_00_03_0</parent>

:

    <bus>4</bus>
    <slot>0</slot>
    <function>0</function>

    <product id='0x2532'>ISP2532-based 8Gb Fibre Channel to PCI Express HBA</product>

:

  </capability>
</device>


[root@localhost ~]# virsh nodedev-dumpxml pci_0000_04_00_1
<device>
  <name>pci_0000_04_00_1</name>

:

    <domain>0</domain>
    <bus>4</bus>
    <slot>0</slot>
    <function>1</function>

:

    </pci-express>

  </capability>
</device>

[root@localhost ~]#

 

4. 확인한 노드 이름으로 host에서 device 탈착

(Host에 부착되어 있는 nodedev는 가상머신에 장착이 불가능하여 탈착필요)

  # virsh nodedev-detach <DeviceName>

[root@localhost ~]# virsh nodedev-detach pci_0000_04_00_0
Device pci_0000_04_00_0 detached

 

[root@localhost ~]# virsh nodedev-detach pci_0000_04_00_1
Device pci_0000_04_00_1 detached


5. 가상머신에 PCI 장비 장착

(virt-manager 또는 virsh를 이용하는 2가지 방법이 있음)

  가. virt-manager를 이용한 방법

  [Menu] - [View] - [Details] - [Add Hardware]에서 해당 디바이스를 선택후 Finish

 

 

 

  나. virsh을 이용 해당 vm의 XML 파일 직접 수정

  # virsh edit <VM Name> 

[root@localhost ~]# virsh edit win2k12r2-3

:

:

    <hostdev mode='subsystem' type='pci' managed='yes'>

      <source>
        <address domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
      </source>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <source>
        <address domain='0x0000' bus='0x04' slot='0x00' function='0x1'/>
      </source>
    </hostdev>

 

6. 가상머신에 장착 확인

 

 

 

 

'virtualization' 카테고리의 다른 글

esxi 6 드라이버 업그레이드  (0) 2016.11.30
spice 설정 자료  (0) 2016.02.01
KVM nested virualization  (0) 2016.01.11
kvm 설치 centos  (0) 2015.04.03
CentOS 6, KVM에 guest OS bridge 네트워크 설정법  (0) 2015.04.03



 OpenStack

서비스프로젝트 이름기술
Dashboard Horizon 예컨대, 인스턴스를 시작 IP 주소를 할당 및 액세스 제어 구성과 같은 OpenStack은 기본 서비스와 상호 작용하는 웹 기반 셀프 서비스 포털을 제공한다.

Compute

Nova OpenStack은 환경에서 컴퓨팅 인스턴스의 수명주기를 관리합니다. 책임 산란, 예약 및 수요에 가상 머신의 해체를 포함한다.
Networking Neutron 같은 OpenStack은 계산과 같은 다른 OpenStack은 서비스를위한 서비스로 네트워크 연결을 가능하게합니다. 사용자가 그들로 네트워크 및 첨부 파일을 정의 할 API를 제공합니다. 많은 인기 네트워킹 공급 업체 및 기술을 지원하는 플러그 인 구조를 가지고 있습니다.
저장
Object Storage Swift 상점과를 통해 임의의 구조화되지 않은 데이터 객체를 검색 편안하고 , HTTP 기반 API. 그것은 매우 자사의 데이터 복제와 내결함성 및 아키텍처를 확장한다. 그것의 구현은 마운트 디렉토리와 파일 서버처럼되지 않습니다.
Block Storage Cinder 실행중인 인스턴스에 영구 블록 스토리지를 제공합니다. 드라이버, 플러그 구조는 블록 스토리지 장치의 생성 및 관리를 용이하게한다.
공유 서비스
Identity service Keystone 다른 OpenStack은 서비스에 대한 인증 및 권한 부여 서비스를 제공합니다. 모든 OpenStack은 서비스에 대한 엔드 포인트의 카탈로그를 제공합니다.
Image Service Glance 상점 및 가상 머신 디스크 이미지를 검색합니다. OpenStack은 계산은 예를 제공 동안이 사용합니다.
Telemetry Ceilometer모니터 및 미터 청구, 벤치마킹, 확장 성 및 통계 목적으로 OpenStack은 클라우드를.
높은 수준의 서비스
Orchestration Heat 기본 중 하나를 사용하여 여러 복합 클라우드 애플리케이션 지휘 HOT OpenStack은 네이티브 REST API와 CloudFormation 호환 쿼리 API 모두를 통해, 템플릿 형식 또는 AWS CloudFormation 템플릿 형식을.
Database Service

Trove

관계형 및 비 관계형 데이터베이스 엔진 모두를위한 확장 가능하고 신뢰할 수있는 클라우드 데이터베이스 서비스로서의 기능을 제공합니다.

개념적 아키텍처


  • OpenStack은 네트워킹 세 노드 아키텍처 (neutron)


최소 구성사양

  • Controller Node: 1 processor, 2 GB memory, and 5 GB storage

  • Network Node: 1 processor, 512 MB memory, and 5 GB storage

  • Compute Node: 1 processor, 2 GB memory, and 10 GB storage



□ CentOS 설정


 

o SELinux 해제

vi /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
#SELINUX=enforcing
# 아래의 내용으로 변경함
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
reboot;


 

□ 가상화 지원 여부 확인

최근에 출시하는 Intel(VT-x), AMD(AMD-v) 계열의 프로세서는 대부분 하드웨어 가상화를 지원하며, 지원되지 않은 CPU일 경우 가상화를 원활히 사용할 수 없음

# intel cpu : vmx(Intel-VT), AMD cpu : svm(AMD-V)
egrep '(vmx|svm)' --color=always /proc/cpuinfo


 

o 아래 결과 중 빨간색(vmx)로 표시되면, CPU가 가상화 지원

CPU의 가상화 지원 여부 확인



 

□ KVM 환경 구성


 

o 참고사항

CentOS 6.2 버전의 경우 커널에 KVM이 기본적으로 포함되어 배포되어 별도의 설치가 필요 없이 사용 가능함

# KVM 설치 여부 확인
lsmod | grep kvm
#아래와 같이 표시되면 KVM이 설치되어 있음
kvm_intel 50380 0
kvm 305081 1 kvm_intel


 

o KVM 관련 패키지 설치

yum groupinstall "Virtualization*"


 

o KVM 관련 패키지 설치

- qemu-kvm
- qemu-img
- libvirt Library
- virt-manager


 

o 설치 확인

- 프로그램->시스템도구->가상 머신 관리자 선택


 

가상 머신 관리자 선택 예시



 

o 설치 확인

- 가상 머신 관리자(Virt-Manager) 구동 확인

가상 머신 관리자 구동 확인 예시

※ 실제 처음 설치할 경우 등록된 가상 머신은 없음

'virtualization' 카테고리의 다른 글

esxi 6 드라이버 업그레이드  (0) 2016.11.30
spice 설정 자료  (0) 2016.02.01
KVM nested virualization  (0) 2016.01.11
PCI passthrough on KVM  (0) 2015.08.07
CentOS 6, KVM에 guest OS bridge 네트워크 설정법  (0) 2015.04.03

1. KVM 설치
CentOS를 설치할 때, 세부 설정을 선택할 수 있다.
Virtualization항목을 선택하면, KVM을 설치할 수 있다.
만약, 나중에 별도로 설치하고자 한다면,

yum groupinstall KVM

을 실행시키자.

2. bridge-utils 설치
만약, 설치가 안되어 있다면 설치하자.

yum install bridge-utils

3. network-scripts 변경 (host)
호스트가 기본적으로 사용하는 eth0의 설정을 변경하고, 브릿지로 맺어줄 설정을 추가해야 한다.
/etc/sysconfig/network-scripts/ifcfg-eth0 파일을 열어서 한 줄을 추가하고, 저장한다.

BRIDGE=br0

이제 br0의 내용을 만들자.
/etc/sysconfig/network-scripts/ifcfg-br0 파일을 만들자.

DEVICE=”br0″

BOOTPROTO=none

IPV6INIT=”yes”

IPV6_AUTOCONF=”yes”

ONBOOT=”yes”

TYPE=”Bridge”

IPADDR=192.168.1.7

GATEWAY=192.168.1.1

DEROUTE=yes

IPV4_FAILURE_FATAL=yes

DNS1=192.168.1.1

DELAY=0

 

위 내용은 직접 설정한 값이다.
이와 같이 설정을 마치면, 일단 eth0과 br0은 연결될 것이다.

이제 KVM에서 guest OS를 설치할 때, Advanced Option을 살펴보면,
네트워크 설정 옵션으로 Bridge이 선택 가능할 것이다. (기존에는 NAT만 설정 가능)

이대로 설치하면, guest OS를 bridge network로 설정한 상태가 된다.

4. NetworkManager, network 설정

chkconfig NetworkManger off
chkconfig network on
service NetworkManager stop
service network restart

5. network-scripts 변경 (guest)
이제 guest OS를 시작시키자.
마찬가지 방법으로, guest OS의 IP 등 정보를 원하는 대로 수정하자.

이렇게 설정을 하고, guest OS에 ssh 접속하였더니 내가 설정한 IP로 접속이 잘 된다.
그런데, host OS에 ssh 접속을 하였더니 갑자기 잘 안된다!

살펴보니, 나의 경우 위와 같이 설정을 하고 설치를 하지 않고, 먼저 무작정 설치를 한 까닭에
NAT로 설치가 되며 호스트 OS의 네트워크 설정에 변화가 생겨버렸다.

6. virbr0 삭제
ifconfig으로 조회해 보니, virb0이 발견되었다.

가상 네트워크 리스트를 다음과 같이 확인할 수 있다.

virsh net-list

상태에 default 네트워크라고 이름이 뜨고, 상태는 active라고 표시되어 있다.
이것을 지워주자.

virsh net-destroy default
virsh net-undefine default
service libvirtd restart

다시 virsh net-list를 실행하여, 정상적으로 작업이 적용되었는지 확인하자.
나의 경우, virbr0 삭제까지 마친 후, 정상적으로 host, guest OS를 원하는 IP로 맞춰서 쓸 수 있게 되었다.

'virtualization' 카테고리의 다른 글

esxi 6 드라이버 업그레이드  (0) 2016.11.30
spice 설정 자료  (0) 2016.02.01
KVM nested virualization  (0) 2016.01.11
PCI passthrough on KVM  (0) 2015.08.07
kvm 설치 centos  (0) 2015.04.03

+ Recent posts