Search

'Hypervisor'에 해당되는 글 2건

  1. 2010.08.08 [Xen] 네트워크 기본 아이피 대역 바꾸기
  2. 2010.07.18 CentOS 에 Xen 설치 및 설정
* 이 포스팅은 CentOS 패키지 설치를 기준으로 설명하는 글 입니다. 컴파일 설치는 약간 다를 수 도 있습니다.

나는 CentOS 패키지로 설치한 것이라, 컴파일 설치로 하면 좀 틀릴지도 모르곘지만,
CentOS 에서 패키지로 Xen 을 깔면 기본 아이피 대역이 192.168.122.* 이다. 이걸 너무 바꾸고 싶어서 안달이 났지만 결국 인터넷엔 문서가 하~나~도~ 없어서 이 포스팅을 쓰게 됬다.

뭐 솔직히 어떤 큰 프로젝트에서 하이퍼바이저를 바꾼다거나 뭐 그런게 아니라면 이걸로 큰일이 생긴다거나 그런건 없겠지만, 나 같은 경우에는 10.0.0.* 이 아니면 좀 꺼림칙 한 기분이 들어서 (이게 바로 안달이 난 이유다.-_-..) 여러가지 삽질을 해 보았다. 하지만 어느 파일을 바꿔야 되는지는 찾아 내었지만 어떻게 그걸 적용 하는지를 알아내지 못하고 포기했었는데, 알고보니 쉬운 곳에 숨어 있었다.

바로 virsh 를 사용하는 것이였다.

덧붙이자면, 내가 몰랐던 이유가 libvirtd 를 끄면 네트워크 변수로 올라가 있던 데이터가 기본 네트워크 설정 파일에 Overwrite 되서 리셋해도 적용이 안됬던 것이다 -_- libvirtd 를 끄고 수정하고 다시 올렸으면 되는걸 괜히 삽질;

일단 virsh 로 들어간다
# virsh

그리고 net-edit 로 기본 네트워크 파일을 수정한다.
# net-edit <Network Name>
이 때 net-list 명령어로 어떤 네트워크 이름인지 확인 한 후에 저기에 대입해 주면 된다.
CentOS 패키지로는 default 였던걸로 기억한다. (Xen 4.* 은 틀릴지도 모름)

그럼 대충

<network>
  <name>default</name>
  <uuid>12341234</uuid>
  <forward mode='nat'/>
  <bridge name='virbr0' stp='on' forwardDelay='0' />
  <ip address='192.168.122.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.122.2' end='192.168.122.254' />
    </dhcp>
  </ip>
</network>

이런게 보일것이다.

딱 봐도 이해갈거라 생각하지만.......................
ip 태그의 address 가 게이트웨이다. 그리고 netmask 는.. 알거라 믿고 (솔직히 설명하기 귀찮다고는 말 못한다.)
그 밑에 dhcp 의 range 가 각각의 VM 에 어느 아이피들을 할당 시킬거지 정하는 부분이다.

<network>
  <name>default</name>
  <uuid>12341234</uuid>
  <forward mode='nat'/>
  <bridge name=virbr0' stp='on' forwardDelay='0' />
  <ip address='10.0.0.1' netmask='255.255.255.0'>
  </ip>
</network>

난 이렇게 바꾸어 줬다. dhcp 부분을 날려버리고 게이트웨이와 netmask 부분만 바꾸어 주었다.

저기서 dhcp 를 활성화 시키고 싶으면
ip 태그 안에
    <dhcp>
      <range start=10.0.0.2' end='10.0.0.254' />
    </dhcp>

를 추가하면 될듯하다. 테스트를 안해봐서 잘은 모르겠..

다 수정 했으면 ^X 를 하든 :wq 를 하든지 해서 에디터를 빠져나온후,

# net-destroy default
# net-create /path/to/xml/default.xml

로 다시 시작해 주면 된다.
CentOS 패키지의 경우에는
# net-create /etc/libvirt/qemu/networks/default.xml
이다.

끝.

아, 그리고 VM 들 network 도 restart 도 해 주어야 한다. (당연한건가)
PS. libvirtd + qemu 를 쓰는 모든 하이퍼바이저 (몇 개 없겠지만) 에도 다 적용될지도 모르겠다. 안써봐서 잘..... 모르겠지만.

댓글을 달아 주세요

CentOS 에 Xen 설치 및 설정

가상화/Xen 2010. 7. 18. 00:32 Posted by Relipmoc
※ 이 문서는 /hosting/xen 에 작업한다는 가정 하에 작성된 문서입니다. 유의하시기 바립니다.

.. 먼저 Xen 을 설치하기 전에 OpenVZ 를 설치할려고 했지만 꼭 Windows 를 올릴필요가 있어서 할 수 없이 Xen 을 선택했다.
Xen 은 가상화 하이퍼바이저로서 적어도 VMWare(-_-)보다는 높은 효율을 뽑아낸다. 우분투에서는 실패했지만 CentOS 에서는 강력한(?) 패키지가 있어서 컴파일 한번 없이 간단하게 설치할 수 있었다.

# yum install kernel-xen xen xen-libs xen-devel libvirt
# reboot

이 두 명령어 하나로 충분하다 -_-

리붓후 다행히 커널패닉이 안났다면 바로 VM 을 만들어 준다.
Vm 을 만들기 전에 network 부분도 설정을 해야 하지만 다른 블로그나, 웹 문서에 자세히 설명이 되어 있기 때문에, 굳이 여기서 길게 설명할 필요가 없을것 같아서 넘어가도록 하겠다.

덧. 서버 말고 노트북에 깔았을때 GRUB 의 root device 설정문제로 한번 패닉이 난적이 있었다.
일단은 제일 쉬운 CentOS 를 올려보도록 하겠다.

# wget http://centos.mirror.cdnetworks.com/5.5/os/x86_64/images/xen/initrd.img -O /hosting/xen/boot/initrd.img
# wget http://centos.mirror.cdnetworks.com/5.5/os/x86_64/images/xen/vmlinuz -O /hosting/xen/boot/vmlinuz
이 두 파일을 받은 후 에,
# dd if=/dev/zero of=xen-test.disk bs=100M count=10
dd 명령어로(↑) 디스크를 만들어준 뒤, /etc/xen/xen-test 에 아래와 같은 내용을 작성한다.

kernel = "/hosting/xen/boot/vmlinuz"
ramdisk = "/hosting/xen/boot/initrd.img"
#bootloader = "/usr/bin/pygrub"
name = "test"
memory = "256"
disk = [ 'tap:aio:/hosting/xen/xen-test.disk,xvda,w']
vif = [ 'bridge=virbr0', ]
vcpus=1
on_crash = 'destroy'

대충 읽어도 아실거라 믿지만, 혹시 모르니 설명을 하도록 하겠다.
kernel : 커널 바이너리다.
ramdisk : ... kernel 과 ramdisk 는 설치할 때만 필요하고, 설치가 끝나면 주석처리 해줘야 하는 부분이다.
bootloader : 이 부분은 설치가 끝나면 주석을 풀고 kernel, ramdisk 를 주석처리 해준다. 정확히 뭔지는 모르겠지만 아마 vm 에 설치된 커널을 올리기위한 도구 같다. 일종의 GRUB 삘.
name : 이름.
memory : RAM.
disk : dd 명령어로 만든 디스크 파일을 넣어주면 된다
vif : 네트워크.
vcpus : CPU 코어 할당 개수
on_crash : 크래쉬가 낫을때 어떻게 처리해야 하는지 명시해 주는 부분이다. 이외에 on_reboot on_shutdown 등이 있다.

다 됬으면

# xm create xen-test

로 vm 을 생성하고 바로 콘솔에 들어가서 설치를 진행한다.

# xm console xen-test

설치가 완료되면, 위에도 써놨듯이 kernel, ramdisk 부분을 주석처리하고, bootloader 를 주석해제 하면된다.
그리고 다시

# xm create xen-test
로 Vm 을 생성하여, 삽질하시면 된다.

===============================

수고 하셨습니다.



댓글을 달아 주세요