Xen 설치 · 8 min read · Dec 06, 2025

Debian Wheezy (7.0.2)에서 Xen 4.3 설정 후 Jessie로 업그레이드하는 방법

Debian Wheezy (7.0.2)에서 Xen 4.3 설정 후 Jessie로 업그레이드하는 방법

버전 1.0
저자: Peter Okupski

이것은 XEN(dom0-hypervisor)과 하나의 가상 시스템(domU-guest)의 빠르고 쉬운 설정이 될 것입니다. 저는 VMware 이후 두 번째 경험으로 XEN을 테스트하고 싶었고, 많은 웹 페이지들이 오래되어 많은 오래된 버그와 오류가 있기 때문에 XEN을 사용해 보기로 결정했습니다.

중요한 노트:

이 튜토리얼의 혜택을 받을 사람: 실제 클라우드 장치 없이 간단한 가상 머신을 테스트하고 싶은 초보자들만 해당됩니다. XenOrchestra, Cloudstack, Opencloud 및 Xen Cloud Platform(XCP)을 위한 XAPI를 사용하는 모든 것과 같은 실제 클라우드 장치가 필요하신 분들에게는 도움이 되지 않을 것입니다. 이 튜토리얼이 웹 GUI와 저장소/메모리/CPU 할당을 위한 몇 가지 기능이 있는 실제 클라우드 장치가 필요한 모든 분들에게 시간을 절약할 수 있기를 바랍니다. 현재 간단한 Xen Xypervisor에 적용할 수 없습니다.(또는 너무 많은 작업입니다:)

대상자가 아닌 사람: 고가용성 및 실제 클라우드 장치가 필요한 모든 사용자/회사

모든 Xen 초보자 여러분께 이 비디오를 시청하여 Xen에 대한 느낌과 이해를 얻기를 권장합니다.

튜토리얼은 다음 섹션으로 나뉩니다:

  1. 빠르고 간단한 LVM 설정을 통한 Debian 설치
  2. Jessie로 업그레이드하여 최신 XEN 수정 사항을 반영
  3. XEN 4.3 설치
  4. XEN 몇 가지 조정 팁
  5. XEN 간단한 브리지 설정
  6. 호스트 생성을 위한 템플릿 사용 설정
  7. 첫 번째 domU 게스트 시스템 생성

1. LVM 설정을 통한 간단한 Debian 설치

Broadcom 네트워크 카드 및 기타에 필요한 비공식(하지만 Debian의) ISO를 사용하는 것을 제안합니다. 이들은 이 멋지고 쉬운 프로세스를 방해할 수 있습니다.

Debian 비공식 ISO

Debian 설치 프로그램의 초기 설정 후 아래와 같이 사용자 정의 파티션 설정을 선택하십시오: 다음과 같은 파티션을 생성했습니다:

마운트 지점크기주석
/boot200 MB(기본) (새 파티션의 위치: 시작) (ext3) (부팅 플래그: 켜기 <– 중요, 그렇지 않으면 시스템이 부팅되지 않습니다!)
swap1GB(논리적) (새 파티션의 위치: 시작) (dom0 메모리는 512M로 줄어듭니다)
/6GB(논리적) (새 파티션의 위치: 시작) (ext3)

나머지 디스크는 LVM으로 설정할 수 있습니다. 변경 사항을 수락하고 디스크에 기록해야 합니다.

설치가 완료되면 grub을 디스크에 기록해야 합니다. 그 후 설치가 재부팅됩니다.

설치 후 파티션은 다음과 같이 보여야 합니다:

root@xen-dom0:~# df -h   
파일 시스템 크기 사용 가능 사용% 마운트 지점  
/dev/sda6 6.0G 2.0G 2.4G 30% /  
udev 10M 0 10M 0% /dev  
tmpfs 38M 268K 38M 1% /run  
tmpfs 5.0M 0 5.0M 0% /run/lock  
tmpfs 266M 0 266M 0% /run/shm  
/dev/sda1 180M 28M 140M 17% /boot

이제 lvm을 설치하고 첫 번째 물리적 볼륨을 생성합니다.

apt-get install lvm2
pvcreate /dev/sda7

| 물리적 볼륨 "/dev/sda7"가 성공적으로 생성되었습니다. root@xen-dom0:/etc/xen-tools# pvscan PV /dev/sda7 lvm2 [273.51 GiB] 총: 1 [273.51 GiB] / 사용 중: 0 [0 ] / VG 없음: 1 [273.51 GiB] root@xen-dom0:/etc/xen-tools# pvdisplay "/dev/sda7"는 "273.51 GiB"의 새로운 물리적 볼륨입니다. --- 새로운 물리적 볼륨 --- PV 이름 /dev/sda7 VG 이름 PV 크기 273.51 GiB 할당 가능 아니오 PE 크기 0 총 PE 0 무료 PE 0 할당된 PE 0 PV UUID 1vKp2c-KbmM-w8Ql-noOe-U00J-hlr0-FsKwOM |

이제 볼륨 그룹(vg0)을 생성할 시간입니다(생성하기 전에 p/v의 변경 사항에 유의하십시오).

vgcreate vg0 /dev/sda7

| 볼륨 그룹 "vg0"가 성공적으로 생성되었습니다. |

모든 것이 잘 진행되었는지 확인해 봅시다.

vgdisplay

| --- 볼륨 그룹 --- VG 이름 vg0 시스템 ID 형식 lvm2 메타데이터 영역 1 메타데이터 시퀀스 번호 1 VG 접근 읽기/쓰기 VG 상태 크기 조정 가능 최대 LV 0 현재 LV 0 열린 LV 0 최대 PV 0 현재 PV 1 활성 PV 1 VG 크기 273.51 GiB PE 크기 4.00 MiB 총 PE 70018 할당 PE / 크기 0 / 0 무료 PE / 크기 70018 / 273.51 GiB VG UUID 2a3kn9-DvVA-3Qac-g4Wz-f2Xo-s5hk-Yh5fBc |

LVM 설정 후, 불필요한 패키지로 dom0를 정리할 수 있습니다:

apt-get remove bsd-mailx exim4 exim4-base exim4-daemon-light nfs-common

그리고 필요한/필요할 수 있는 몇 가지를 설치할 수 있습니다:

apt-get install mc screen ssh debootstrap python iproute bridge-utils libcurl3-dev

순수 Debian 7.0.2 설치 후 약 760MB가 소요됩니다.

| rootfs 4.6G 764M 3.7G 18% / |

2. Debian Jessie로 업그레이드

이제 XEN을 가능한 한 최신 상태로 유지하기 위해 테스트(Jessie)로 업그레이드할 수 있습니다.

이 생성기를 사용하세요 - 시간이 절약됩니다:) 그리고 몇 가지 오류를 방지할 수 있습니다. 또는 /etc/apt/sources.list에서 “wheezy”를 “jessie”로, “stable”을 “testing”으로 변경하세요.

/etc/apt/sources.list

| deb http://ftp.pl.debian.org/debian testing main contrib non-free deb-src http://ftp.pl.debian.org/debian testing main contrib non-free deb http://ftp.debian.org/debian/ jessie-updates main contrib non-free deb-src http://ftp.debian.org/debian/ jessie-updates main contrib non-free deb http://security.debian.org/ jessie/updates main contrib non-free deb-src http://security.debian.org/ jessie/updates main contrib non-free |

첫 번째:

apt-get update; apt-get -y upgrade

업데이트 중에 서비스 재시작을 요청받으면 - 예를 선택하세요. 다음으로 필요한 모든 .deb 파일을 다운로드합니다(안전상의 이유로):

apt-get -y --download-only dist-upgrade

그런 다음 실제 업데이트로 진행할 수 있습니다. 이 후 재부팅하는 것이 가장 좋습니다. 그래서 커널이 3.2에서 3.11로 변경됩니다.

apt-get -y dist-upgrade

정리:

apt-get clean; apt-get autoclean;apt-get autoremove

3. XEN 4.3 설치

먼저 CPU가 하드웨어 가상화를 지원하는지 확인해야 합니다.

egrep '(vmx|svm)' --color=always /proc/cpuinfo

출력은 다음과 같아야 합니다.

root@xxxx:~# egrep '(vmx|svm)' --color=always /proc/cpuinfo  
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 lahf_lm tpr_shadow vnmi flexpriority  
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 lahf_lm tpr_shadow vnmi flexpriority

그런 다음 XEN을 설치할 수 있습니다: 하이퍼바이저, xen 인식 커널 및 xen 도구. 이는 메타 패키지를 통해 수행할 수 있습니다:

apt-get install xen-linux-system xen-tools

Debian Wheezy는 Grub 2를 사용하며 기본적으로 일반 커널을 먼저 나열하고 그 다음에 Xen 하이퍼바이저와 그 커널을 나열합니다. Grub 2가 Xen 부팅을 선호하도록 하려면 Grub의 Xen 구성 스크립트(20_linux_xen)의 우선 순위를 표준 Linux 구성(10_linux)보다 높게 변경해야 합니다. 이는 dpkg-divert를 사용하여 가장 쉽게 수행할 수 있습니다:

dpkg-divert --divert /etc/grub.d/08_linux_xen --rename /etc/grub.d/20_linux_xen

Grub 구성에 대한 업데이트 후에는 다음을 실행하여 구성을 적용해야 합니다:

update-grub

4. Xen 조정

  1. Dom0 메모리를 512Mb로 설정하고 Ballooning을 비활성화하여 DomUs가 Dom0의 메모리를 사용하지 않도록 합니다.
  2. 부팅 메뉴에 논리 볼륨의 가상 머신이 나타나지 않도록 합니다.
  3. Xendomains 저장 및 복원을 비활성화합니다.
  4. dom0에 첫 번째 CPU만 설정합니다.

1. Dom0 메모리를 512Mb로 설정하고 Ballooning 비활성화

/etc/xen/xend-config.sxp

| (dom0-min-mem 512) (enable-dom0-ballooning no) |

2. 논리 볼륨의 가상 머신이 부팅 메뉴에 나타나지 않도록 방지

Grub 수정:

/etc/default/grub

| #dom0에 메모리 할당 GRUB_CMDLINE_XEN="dom0_mem=512M" # OS 프로버 비활성화 GRUB_DISABLE_OS_PROBER=true |

update-grub;reboot

3. Xendomains 저장 및 복원 비활성화

/etc/default/xendomains

| #XENDOMAINS_SAVE=/var/lib/xen/save XENDOMAINS_SAVE= #XENDOMAINS_RESTORE=true XENDOMAINS_RESTORE=false |

4. dom0를 첫 번째 CPU로 제한

기본적으로 모든 CPU는 dom0와 모든 domU(게스트) 간에 공유됩니다. 게스트가 너무 많은 CPU 시간을 소비하면 dom0의 책임이 깨질 수 있습니다. 이를 피하기 위해 dom0에 하나(또는 그 이상)의 프로세서 코어를 부여하고 이를 dom0에 고정할 수 있습니다.

다음 옵션을 /etc/default/grub에 추가하여 dom0에 하나의 CPU 코어를 할당합니다:

/etc/default/grub

| # 모든 Xen 부팅을 위한 Xen 부팅 매개변수 GRUB_CMDLINE_XEN="dom0_mem=512M dom0_max_vcpus=1 dom0_vcpus_pin" # OS 프로버 비활성화 GRUB_DISABLE_OS_PROBER=true |

변경 후 update-grub를 실행하는 것을 잊지 마세요!

update-grub

또한 /etc/xen/xend-config.sxp에서 다음과 같은 변경을 하세요:

/etc/xen/xend-config.sxp

| (dom0-cpus 1) |

!! 재부팅하기 전에 update-grub를 실행했는지 확인한 후 서버를 재부팅하세요 !!

5. XEN 간단한 브리지 설정

대부분의 설정은 BRIDGEed 구성을 사용할 것이며, 이는 간단한 환경을 계획하는 경우 충분합니다. 그러나 VLAN이나 ACL 등이 필요한 경우 OpenVSwitch를 사용하는 것을 강력히 권장합니다.

간단한 브리지를 위한 쉬운 버전은 다음과 같습니다:

apt-get install bridge-utils

다음 파일을 편집해야 합니다: /etc/network/interfaces

/etc/network/interfaces

| ##루프백 네트워크 인터페이스 auto lo iface lo inet loopback iface eth0 inet manual auto xenbr0 iface xenbr0 inet static address 10.0.9.100 netmask 255.255.255.0 network 10.0.9.0 broadcast 10.0.9.255 gateway 10.0.9.1 # dns-* 옵션은 설치된 경우 resolvconf 패키지에 의해 구현됩니다. dns-nameservers 10.0.9.2 dns-search yourdomain.net bridge_ports eth0 #가상화된 환경에서 유용할 수 있는 기타 옵션들 bridge_stp off # 스패닝 트리 프로토콜 비활성화 bridge_waitport 0 # 포트가 사용 가능해지기 전 지연 없음 bridge_fd 0 # 전달 지연 없음 |

그 후 다음 명령으로 네트워킹을 재시작해야 합니다:

/etc/init.d/networking restart

그리고 브리지가 올라왔는지 확인합니다:

brctl show

| 브리지 이름 브리지 ID STP 활성화 인터페이스 xenbr0 8000.001a6479cd8c 아니오 eth0 |

6. XEN-Tools 설정하여 가상 머신(게스트-domU)에 대한 템플릿 사용

이제 템플릿으로 새로운 domU의 첫 번째 이미지를 생성해 보겠습니다. 파일을 편집해야 합니다:

/etc/xen-tools/xen-tools.conf

| lvm = vg0 # 이전에 생성한 볼륨 그룹 install-method = debootstrap # Debian 설치 프로그램을 시작합니다. size = 10Gb # 디스크 이미지 크기. memory = 512Mb # 메모리 크기 swap = 2Gb # 스왑 크기 noswap = 1 # 새 시스템에 대해 스왑을 전혀 사용하지 않습니다. fs = ext4 # 디스크 이미지에 EXT3 파일 시스템 사용. dist = `xt-guess-suite-and-mirror --suite` # 설치할 기본 배포판. image = sparse # 희소 이미지와 전체 디스크 이미지 지정. gateway = 10.0.9.1 # dom0가 브리지를 사용하여 사용하는 게이트웨이 netmask = 255.255.255.0 # 주석 필요 없음;) broadcast = 10.0.9.255 # 브로드캐스트 bridge = xenbr0 # 여기서 생성한 브리지를 사용해야 합니다. xen은 domU에서 eth0로 만듭니다. cachedir = /var/cache/xen-tools/archives/ # 향후 사용을 위한 *.debs의 위치 passwd = 1 # 새 머신에 생성할 루트 비밀번호를 요청합니다. kernel = /boot/vmlinuz-`uname -r` # dom0가 사용하는 것과 동일한 커널을 사용합니다(문제를 피하기 위해 중요합니다). initrd = /boot/initrd.img-`uname -r` # initrd에 대해서도 동일합니다. mirror = `xt-guess-suite-and-mirror --mirror` mirror = ftp://ftp.pl.debian.org/debian/ # Debian 미러 입력 ext3_options = noatime,nodiratime,errors=remount-ro # 새 머신에 적용할 간단한 옵션 ext2_options = noatime,nodiratime,errors=remount-ro xfs_options = defaults reiserfs_options = defaults btrfs_options = defaults boot = 1 # 새 머신을 생성한 후 부팅할 것인지 여부. 물론 부팅합니다! |

7. 첫 번째 domU 게스트 생성

이제 첫 번째 domU 호스트를 생성할 수 있습니다:

xen-create-image --hostname domU-test --dist=jessie --vcpus=4 --ip=10.0.9.101

이 작업은 연결 속도, CPU 및 디스크 속도에 따라 약 3-4분이 소요됩니다. 완료되면 작동하는지 확인할 수 있습니다.

xm list

| 이름 ID 메모리 VCPUs 상태 시간(s) Domain-0 0 512 1 r----- 93.8 domU-test 1 512 4 -b---- 23.9 |

xen-create-image –help를 읽어보는 것을 추천합니다. 이 명령은 옵션을 제공하여 어떤 배포판을 생성할 수 있는지에 대한 아이디어를 제공합니다. 예를 들어, 명령을 실행한 후 및 필요할 수 있는 모든 다른 작업을 수행할 수 있습니다. 또한 이미지를 생성하고 이를 즉시 실행할 시스템 템플릿으로 사용할 수 있는 옵션도 있습니다. 매번 설치 프로그램을 3분 동안 실행할 필요가 없습니다.

이제 SSH를 통해 새 호스트에 로그인할 수 있습니다.

아래는 이 튜토리얼에서 사용한 링크입니다:

  1. Debian Wiki의 Xen
  2. OpenVSwitch
  3. Debian Wheezy의 Xen 4
  4. XEN 조정 - XEN 위키
  5. Apt 소스 생성기
  6. Xen 모범 사례
  7. LVM 사용 방법
Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.