본문 바로가기

Xen Server

Xen Network 설정 및 domU 설치

1. dom0 network 설정 (Brdige)


(저는 1기가 NIC를 추가로 설치했기 때문에 eth0과 eth1 두개의 인터페이스가 있습니다. eth0은 사용하지 않음으로 ONBOOT=no 설정을 하여 사용하지 않습니다.)


# cd /etc/sysconfig/network-scripts

# cp ./ifcfg=eth1 ifcfg-xenbr0

# vi ifcfg-xenbr0

DEVICE=xenbr0

TYPE=Bridge            => The first letter "B" must be upper-case.

ONBOOT=yes

BOOTPROTO=static

IPADDR=xxx.xxx.xxx.xxx

GATEWAY=xxx.xxx.xxx.xxx 

NETMASK=255.255.255.0

NM_CONTROLLED=no


#vi ifcfg-eth1

DEVICE=eth1

TYPE=Ethernet

ONBOOT=yes

BOOTPROTO=none

BRIDGE=br0

NM_CONTROLLED=no


#servive network restart


#vi /etc/xen/xend-config.sxp


#(network-script network-bridge)  <- 앞에 #로 추석처리

(network-script /bin/true)             <- 아래 라인에 추가


#service xend restart


# vi /etc/sysctl.conf

 net.bridge.bridge-nf-call-ip6tables = 0

 net.bridge.bridge-nf-call-iptables = 0

 net.bridge.bridge-nf-call-arptables = 0


# sysctl -p /etc/sysctl.conf


# echo "-I FORWARD -m physdev --physdev-is-bridged -j ACCEPT" > /etc/sysconfig/iptables-forward-bridged

# lokkit --custom-rules=ipv4:filter:/etc/sysconfig/iptables-forward-bridged

# service libvirtd reload


#brctl show

bridge name     bridge id               STP enabled     interfaces

xenbr0          8000.90e2ba308a5e       no              eth1


Test

# ping google.co.kr

PING google.co.kr (74.125.128.94) 56(84) bytes of data.

64 bytes from hg-in-f94.1e100.net (74.125.128.94): icmp_seq=1 ttl=43 time=60.6 ms

64 bytes from hg-in-f94.1e100.net (74.125.128.94): icmp_seq=2 ttl=43 time=59.5 ms

64 bytes from hg-in-f94.1e100.net (74.125.128.94): icmp_seq=3 ttl=43 time=65.8 ms

64 bytes from hg-in-f94.1e100.net (74.125.128.94): icmp_seq=4 ttl=43 time=59.5 ms


2. DomU 설치


DomU OS는 설치시 패키지를 따로 연결해 주어야 한다.

방법으로는 크게 두가지로 나뉘는데 웹 사이트를 연결해 주거나 NFS을 이용하여 img 파일을 연결해준다.

웹 사이트는 시간이 걸리는 방면 NFS는 로컬에 mount 해주면 빠르다.


DomU를 위한 디렉터리 생성

# mkdir /tmp/CentOS_5.8


nfs 이용한 방법

# yum install -y nfs-utils nfs-utils-lib portmap

# service nfs start

# service portmap start


nfs 구동 확인

# rpminfo -p


nfs export 설정

# vi /etc/export

/tmp/CentOS_5.8  *(rw,no_root_squash,async)

:wq


# mount -t nfs [ip]://tmp/CentOS_5.8 /mnt/nfs

# mount -l

[ip]://tmp/CentOS_5.8 on /mnt/nfs type nfs (rw,vers=4,addr=[ip],clientaddr=[ip])

# ls /mnt/nfs

(파일이 나오면 nfs 성공)


# cd /tmp/CentOS_5.8

# wget http://vault.centos.org/5.8/isos/x86_64/CentOS-5.8-x86_64-bin-DVD-1of2.iso

# wget http://vault.centos.org/5.8/isos/x86_64/CentOS-5.8-x86_64-bin-DVD-2of2.iso



DomU Version : CentOS 5.8

Download Site : http://vault.centos.org/


Boot Image Download

# cd /tmp/CentOS_5.8

# wget http://vault.centos.org/5.8/os/x86_64/images/xen/initrd.img

# wget http://vault.centos.org/5.8/os/x86_64/images/xen/vmlinuz


Virtual Disk create (20GB)

# dd if=/dev/zero of=/tmp/CentOS_5.8/CentOS_5.8.img bs=1024k seek=20480 count=1


설치 환경 파일 

# vi CentOS_5.8.cfg


kernel = '/tmp/CentOS_5.8/vmlinuz'

ramdisk = '/tmp/CentOS_5.8/initrd.img'

bootloader = "/usr/bin/pygrub"

memory = 1024

name = 'guest1'

extra='text'

vcpus=1

audio=0

vif = ['bridge=xenbr0']

disk = ['file:/tmp/CentOS_5.8/CentOS_5.8.img,xvda,w']

vfd = ['type=vnc, vncunused=1']

on_poweroff='destroy'

on_reboot = 'restart'

on_crash = 'restart'

:wq

# xl create -c CentOS_5.8.cfg                    ( -c 옵션을 하지 않을경우 xl console [Domain Name] 으로 따로 접속해야한다.)


네트워크 설정시 메뉴얼로 설정한다.
ex)
XenServer IP : 10.0.0.2
GATEWAY : 10.0.0.1
NETMASK : 255.255.255.0 (24)

(DomU 설치시)
DomU IP : 10.0.0.3
GATEWAY : 10.0.0.1
NETMASK : 255.255.255.0 (24)


네트워크 설정이 끝나면 인스톨 이미지 설정에서 NFS  < OK

IP : 10.0.0.2 (XenServer IP)

directory : /tmp/CentOS_5.8/

OK


잠시 로딩하다가 넘어간다.

이후 설치는 OS설치 방법과 동일하다.

다만 5.8 경우 파티션 설정시 기본이 lvm으로 잡혀있는데 모두 삭제하고 swap과 / 만 남겨 놓는다.

이유는 모르겠으나 그대로 하면 설치 후 재부팅시 grub가 boot를 읽지 못한다.


설치가 끝나고 재부팅시 다른 터미널을 열어서 DomU를 종료한다.

# xl shutdown [Domain Name]            ( Domain Name 알아보는 방법은 # xl list )


끝난 후 설치파일을 수정한다.

# vi CentOS_5.8.cfg


#kernel = '/tmp/CentOS_5.8/vmlinuz'                    (주석)

#ramdisk = '/tmp/CentOS_5.8/initrd.img'                (주석)

bootloader = "/usr/bin/pygrub"

memory = 1024

name = 'guest1'

extra='text'

vcpus=1

audio=0

vif = ['bridge=xenbr0']

disk = ['file:/tmp/CentOS_5.8/CentOS_5.8.img,xvda,w']

vfd = ['type=vnc, vncunused=1']

on_poweroff='destroy'

on_reboot = 'restart'

on_crash = 'restart'

:wq

다시 부팅
# xl create -c CentOS_5.8.cfg

Grub가 뜨고 부팅할 커널을 선택한다.
부팅 후 DomU Network 설정을 한다.

DomU# vi /etc/sysconfig/network-scripts/ifcfg-eth0
# Xen Virtual Ethernet
DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
HWADDR=00:16:3E:4B:3D:6F
IPADDR=10.0.0.3
NETMASK=255.255.255.0
DNS1=168.126.63.2
:wq

DomU# service network restart
DomU# ping google.co.kr
PING google.co.kr (74.125.128.94) 56(84) bytes of data.
64 bytes from hg-in-f94.1e100.net (74.125.128.94): icmp_seq=1 ttl=43 time=65.0 ms
64 bytes from hg-in-f94.1e100.net (74.125.128.94): icmp_seq=2 ttl=43 time=64.8 ms
64 bytes from hg-in-f94.1e100.net (74.125.128.94): icmp_seq=3 ttl=43 time=64.6 ms
64 bytes from hg-in-f94.1e100.net (74.125.128.94): icmp_seq=4 ttl=43 time=64.4 ms

성공!
수고하셨습니다. 하하하하하하하하하하핳하핳ㅎㅎㅎ

p.s : 왜 그런지는 모르겠으나 putty로 젠서버 작업을 할 때 DomU를 실행시키고 다른 putty로 들어가면 기존에 연결된 putty(Xen과 연결된) 가 튕기는 현상이 발생한다. 이유는 모르겠고 추측으로는 아마 연결 세션 한계가 있나보다.

참고 사이트

(Brdige)

1. http://hyper-choi.blogspot.kr/2012/02/xen-how-to-configure-xen-network.html (해봤는데 안됐음)

2. http://wiki.libvirt.org/page/Networking (위 블로그 글쓴이가 참고한 사이트인데 이 방법대로 해서 됐음)

3. http://www.cyberciti.biz/faq/linux-kvm-disable-virbr0-nat-interface/ (젠 설치후 NAT 해제 방법)

4. http://rapperkw.tistory.com/141 (멀티 브릿지 방법)


(NAT)

1. http://uport.wo.tc/209 (그냥 링크 참고하지는 않았음)

2. https://wiki.nikhef.nl/grid/Xen_3.2,_CentOS_5.1_and_NAT_HOWTO#NAT


(Xen Network)

1. http://fif.kr/fisc2008/docs/student-3-2.pdf

2. http://relipm.tistory.com/entry/Xen-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%EA%B8%B0%EB%B3%B8-%EC%95%84%EC%9D%B4%ED%94%BC-%EB%8C%80%EC%97%AD-%EB%B0%94%EA%BE%B8%EA%B8%B0

3. http://wiki.kartbuilding.net/index.php/Xen_Networking

4. http://www.ubuntu.or.kr/viewtopic.php?f=9&t=1379


(DomU 설치)

1. http://robin2.tistory.com/120            (DomU 설치에 많음 도움이 됨)

2. http://anyx.tistory.com/64                (DomU 설치시 Package 파일이 필요한데 nfs 방법으로 해결해줌)

3. http://kezhong.wordpress.com/2010/04/14/building-a-xen-virtual-guest-using-lvm-on-centos-5-4/

'Xen Server' 카테고리의 다른 글

CentOS 6.3 Xen 설치  (1) 2013.03.04