egloos

제목XEN PV(para-virtualized) guest OS 설치2023-06-16 10:50
작성자 Level 10

XEN PV(para-virtualized) guest OS 설치 XEN

Refer: http://wiki.debian.org/Xen#Dom0.28host.29

OS: Ubuntu 8.04 64bit
Kernel: 2.6.31.4

PV OS 설치

#sudo apt-get install xen-tools

# sudo xen-create-image --hostname=xpenguin --ip=143.248.140.100 --gateway=143.248.140.1 --netmask=255.255.255.0 --dir=/home/xpenguin/xen --memory=512M --size=8Gb --dist=hardy --mirror=http://archive.ubuntu.com/ubuntu/
위에서 dist는 lenny, etch 등도 성공한 적이 있다.(Ubuntu 9.04에서지만)
¨--force¨ 옵션을 주면 이미 같은 이름의 파일이 있어도 무시하고 덮어씀.
위에 껀 ip 지정해 줄 때, 밑에 껀 dhcp. 네트웍 필요 없으면 걍 ip 지정해줘야 부팅 속도가 빠름.
size는 hardisk size
dir을 지정해주면 그 밑에 domains/[hostname] 이란 디렉토리가 생기고 그 안에 disk.img와 swap.img가 생김

이러면 /etc/xen/에 [hostname].cfg 파일이 생김.
다음은 /etc/xen/xpenguin.cfg의 기본 값

  1
  2 # Configuration file for the Xen instance xpenguin, created
  3 # by xen-tools 3.8 on Tue Feb  9 23:00:04 2010.
  4 #
  5
  6 #
  7 #  Kernel + memory size
  8 #
  9 kernel      = '/boot/vmlinuz-2.6.31.4'
 10 ramdisk     = '/boot/initrd.img-2.6.31.4'
 11 memory      = '512'
 12
 13 #
 14 #  Disk device(s).
 15 #
 16 root        = '/dev/xvda2 ro'
 17 disk        = [
 18                   'file:/home/xpenguin/xen/domains/xpenguin/swap.img,xvda1,w    ',
 19                   'file:/home/xpenguin/xen/domains/xpenguin/disk.img,xvda2,w    ',
 20               ]
 21
 22
 23 #
 24 #  Hostname
 25 #
 26 name        = 'xpenguin'
 27
 28 #
 29 #  Networking
 30 #
 31 vif         = [ 'ip=143.248.140.100,mac=00:16:3E:1A:A2:0E' ]
 32
 33 #
 34 #  Behaviour
 35 #
 36 on_poweroff = 'destroy'
 37 on_reboot   = 'restart'
 38 on_crash    = 'restart'
 39
 40 extra = '2 console=xvc0'


부팅을 하려면
# xm create -c xpenguin.cfg
(¨-c¨는 command를 입력하는 terminal을 console로 사용하겠다는 옵션)

console이 안 잡힌 다면..
위 예시 중 40번째 줄을
extra='2 xencons=tty console=xvc0'
와 같이 바꾸어볼 수 있다.

DISK가 안 잡힐 때 시도해볼 수 있는 것 하나
만약 disk가 안 잡혀서 busy-box로 들어가게 된다면,
uuid를 이용하면 disk가 잡힐 수도 있다.
uuid를 알아내려면 busy-box에서
/dev/disk/by-uuid
로 가면 된다.(저 폴더가 있으면 성공이고, 없다면, 커널 버전을 바꿔보든가 해야 한다.)
이 폴더에 보면 몇 개의 파일들이 있을텐데, 그 파일 이름이 바로 디스크의 uuid이다.
swap disk도 있으므로 아마 두 개의 파일이 있을 것이다. 둘 다 해보면 된다.
uuid로 root disk를 지정하려면,
/etc/xen/[hostname].cfg에서 ¨root =¨ 부분을
root        = '/dev/disk/by-uuid/703cfc87-d739-439a-8d6d-f3e9a706cebc ro'
처럼 바꾸어 주면 된다.


user 만들기
# cd [disk.img가 있는 폴더로]
# mkdir mnt
# mount -o loop disk.img mnt/
# chroot ./
# adduser [ID]
password 입력하고 기본 정도 입력하는 일들하기
# exit
# umount mnt

*. 기본적으로는 log-in 프롬프트에 "root"라고 입력하면 비밀번호 없이 log-in이 된다.
댓글
자동등록방지
(자동등록방지 숫자를 입력해 주세요)