가상화 · 4 min read · Feb 09, 2026
완벽한 Xen 3.0.3 설정을 위한 Debian Sarge - 페이지 7
5.2 가상 머신 생성 (domU)
(참고: 이미지 생성은 Xen을 소스에서 설치했는지 바이너리에서 설치했는지에 따라 다릅니다. 소스에서 Xen을 설치한 경우 4.4 장을 참조하십시오!)
다음으로 가상 머신의 이미지를 생성합니다. 기본 Debian 시스템이 될 것입니다. 이 이미지는 모든 가상 머신의 템플릿이 됩니다. 새로운 가상 머신을 만들고 싶을 때마다 이 이미지를 복사하고 새로운 Xen 구성 파일을 만들고 복사본을 부팅한 다음, 복사본을 우리의 필요에 맞게 구성할 수 있습니다(예: 메일 서버, 웹 서버, DNS 서버 등을 설치). 모든 이미지는 우리가 가진 가장 큰 /vserver 파티션에 저장됩니다.
mkdir /vserver/vm_base
mkdir /vserver/images이제 1GB 이미지 파일과 500MB 스왑 이미지를 생성합니다. 최종적으로 가상 머신은 1GB 공간과 500MB 스왑을 갖게 됩니다. 이는 예시 값일 뿐이며, 실제 환경에서는 가상 머신에 더 많은 공간을 원할 수 있습니다(예: 5GB에서 30GB 사이), 따라서 더 큰 이미지를 생성하려면 count 값을 늘리십시오.
dd if=/dev/zero of=/vserver/images/vm_base.img bs=1024k count=1000
dd if=/dev/zero of=/vserver/images/vm_base-swap.img bs=1024k count=500그런 다음 /vserver/images/vm_base.img를 ext3로 포맷하고 vm_base-swap.img를 스왑으로 포맷합니다:
mkfs.ext3 /vserver/images/vm_base.img다음과 같은 메시지가 표시되면 y로 응답하십시오:
/vserver/images/mail.img is not a block special device.
Proceed anyway? (y,n) <-- ymkswap /vserver/images/vm_base-swap.img5.2.1 이미지에 기본 Debian 설치
기본 Debian 시스템을 이미지에 설치하기 위해 이미지를 마운트하고 debootstrap 및 몇 가지 다른 명령을 실행합니다:
mount -o loop /vserver/images/vm_base.img /vserver/vm_base
debootstrap --arch i386 sarge /vserver/vm_base/ http://ftp2.de.debian.org/debianchroot /vserver/vm_base
apt-setup다음 질문이 표시됩니다:
apt의 아카이브 접근 방법: <– http
그런 다음 가까운 미러를 선택하십시오.
그 후 /etc/apt/sources.list를 편집하고 testing을 stable로 교체합니다. 내 /etc/apt/sources.list는 다음과 같습니다:
vi /etc/apt/sources.list| deb http://ftp2.de.debian.org/debian/ stable main deb-src http://ftp2.de.debian.org/debian/ stable main deb http://security.debian.org/ stable/updates main |
그런 다음 실행합니다
apt-get update이제 로케일을 설정합니다. 지금 하지 않으면 base-config 중에 다음과 같은 불쾌한 경고가 표시됩니다:
| perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = "en_DE:en_US:en_GB:en", LC_ALL = (unset), LANG = "en_US" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). locale: Cannot set LC_CTYPE to default locale: No such file or directory locale: Cannot set LC_MESSAGES to default locale: No such file or directory locale: Cannot set LC_ALL to default locale: No such file or directory |
그들은 심각하지 않지만 불쾌합니다… 그래서 우리는
apt-get install localeconf몇 가지 질문을 받게 됩니다:
생성할 로케일 선택. <– en_US ISO-8859-1
시스템 환경에서 기본으로 설정할 로케일은 무엇입니까? <– en_US
debconf로 로케일 구성 파일 관리? <– 예
기본 로케일을 재정의해야 하는 환경 설정: <– 아무것도 선택하지 않음
기존 로케일 구성 파일을 교체하시겠습니까? <– 예
기본 시스템 로케일: <– 예: en_US ISO-8859-1
다음으로 실행합니다
base-config설치 옵션이 있는 메뉴가 표시됩니다. 우리는 다음과 같이 합니다:
- 시간대 구성
- 사용자 및 비밀번호 설정
- 패키지 선택 및 설치(설치할 소프트웨어 선택 시, 원하는 것을 선택할 수 있습니다; 그러나 나는 기본 시스템을 설치하고 싶기 때문에 아무것도 선택하지 않습니다.)
- 기본 시스템 구성 완료
다른 메뉴 항목은 처리하지 마십시오. 필요하지 않습니다. 그런 다음 nfs-common을 제거하고 /etc/hostname을 삭제합니다:
apt-get remove nfs-common그런 다음 /etc/fstab을 편집합니다. 다음과 같아야 합니다:
vi /etc/fstab| /dev/hda1 / ext3 defaults 1 2 /dev/hda2 none swap sw 0 0 /dev/pts devpts gid=5,mode=620 0 0 none /dev/shm tmpfs defaults 0 0 |
그런 다음 /etc/hosts를 생성합니다:
vi /etc/hosts| 127.0.0.1 localhost.localdomain localhost # 다음 줄은 IPv6 지원 호스트에 바람직합니다 ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts |
그런 다음 이렇게 합니다:
mkdir /lib/modules/2.6.16.29-xen
depmod 2.6.16.29-xen다음으로 /etc/init.d/hwclock.sh 및 /etc/init.d/hwclockfirst.sh 스크립트를 편집하고 처음에 exit 0을 추가합니다. 그렇지 않으면 이 두 스크립트가 가상 머신의 부팅 속도를 정말 느리게 할 것입니다:
vi /etc/init.d/hwclock.sh| #!/bin/sh # hwclock.sh CMOS 시계를 UTC에 따라 설정하고 조정합니다 # /etc/default/rcS의 설정을 참조하십시오 (rcS(5)도 참조). # # 버전: @(#)hwclock.sh 2.00 14-Dec-1998 [email protected] # # 패치: # 2000-01-30 Henrique M. Holschuh <[email protected]> # - 새로운 사용자가 시작/종료 중에 시계가 변경되고 있다는 것을 알 수 있도록 # 도움을 주기 위한 사소한 미적 변경. # - hwclock 문제에 대한 사용자 경고를 알리기 위한 주석 추가 # 및 적절한 문서 읽기 없이 조작을 자제하도록 권장. # 경고: 이 파일을 변경하기 전에 /usr/share/doc/util-linux/README.Debian.hwclock을 읽으십시오. # 그렇지 않으면 심각한 시계 오작동의 위험이 있습니다. exit 0 [...] |
vi /etc/init.d/hwclockfirst.sh| #!/bin/bash # hwclockfirst.sh 시스템 시계를 하드웨어 시계에 설정합니다 # /etc/default/rcS의 설정을 참조하십시오 (rcS(5)도 참조). # # 경고: /etc에서 쓰기 권한 없이 실행되며, # 모든 파일 시스템을 마운트하기 전에 실행됩니다! 무언가를 하려면 # hwclock.sh에서 하십시오. # # 경고: 하드웨어 시계가 UTC/GMT가 아닌 경우, # 이 스크립트는 지역 시간대를 알아야 합니다. 이 정보는 # /etc/localtime에 저장됩니다. /etc/localtime이 # /usr/share/zoneinfo의 무언가에 대한 심볼릭 링크인 경우 문제가 될 수 있습니다 # 그리고 /usr가 루트 파티션에 없을 경우! 해결 방법은 TZ를 정의하는 것입니다. # /etc/default/rcS에서 또는 아래의 적절한 위치에서. # # hwclock.sh도 편집하는 것을 잊지 마십시오! # hwclock에 제공해야 할 수 있는 모든 옵션을 설정합니다. # 알파의 경우 기계 하드웨어 시계 유형과 같은. exit 0 HWCLOCKPARS= [...] |
이제 chroot 환경을 나갑니다:
exit그런 다음 이미지를 마운트 해제합니다:
mv /vserver/vm_base/lib/tls /vserver/vm_base/lib/tls.disabled
fuser -k /vserver/vm_base
umount /vserver/vm_base이제 우리의 가상 머신 이미지 템플릿이 준비되었습니다!
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.