Linux · 5 min read · Feb 09, 2026

Debian Sarge에서의 Linux-Vserver

요약

이 howto의 더 읽기 쉬운 버전은 5dollarwhitebox.org에서 찾을 수 있습니다.

13thfloor.at/vserver/project에서 인용:

Linux-VServer는 가상 사설 서버와 보안 컨텍스트를 생성할 수 있게 해주며, 이는 일반 Linux 서버처럼 작동하지만 하나의 박스에서 여러 독립적인 서버를 동시에 전속력으로 실행할 수 있게 해줍니다. ssh, 메일, 웹 및 데이터베이스와 같은 모든 서비스는 수정 없이 실제 서버에서처럼 이러한 VPS에서 시작할 수 있습니다. 각 가상 서버는 자체 사용자 계정 데이터베이스와 루트 비밀번호를 가지고 있으며 다른 가상 서버와 간섭하지 않습니다.

Linux-vserver에 대한 프레젠테이션은 http://www.linux-vserver.org에서 찾을 수 있습니다.

알아야 할 두 가지 주요 용어는 다음과 같습니다:

  • 호스트 시스템: 게스트 OS(가상 서버)를 “호스팅”하는 물리적 서버입니다.
  • 게스트 시스템: 호스트 OS 위에서 실행되는 가상 서버입니다.

준비

Debian Sarge 3.1의 새 설치로 시작하십시오. 호스트 시스템을 가능한 한 최소한으로 유지하는 것이 좋습니다(나는 SSH와 iptables 이상을 실행할 이유를 거의 보지 못합니다).

설치할 패키지

소프트웨어를 설치하기 전에 항상 apt 데이터베이스를 업데이트하고 현재 패키지를 업그레이드하십시오:

# apt-get update && apt-get upgrade

그런 다음 몇 가지 기본 패키지를 설치해야 합니다:

  • util-vserver: 가상 서버를 제어하는 사용자 공간 유틸리티
  • ssh: 아마도 이미 설치되어 있어야 합니다.
  • ncurses-base 및 libncurses5-dev: 커널을 컴파일할 때 “make menuconfig”에 필요합니다.

# apt-get install util-vserver ssh ncurses-base libncurses5-dev

파일들

/var/lib/vserversvservers 파일의 홈 디렉토리
/etc/vservers.conf기본 구성 파일 (별로 볼 것이 없음)
/etc/vservers각 가상 서버의 구성 디렉토리를 보유
/usr/sbin/vservervservers와 상호작용하고, 빌드하고, 시작하고, 중지하고, 들어가고, 등을 위한 유틸리티
/bin/vshelpervservers의 기능을 제어하는 또 다른 유틸리티
/usr/lib/util-vserver주요 스크립트/함수/기타

커널

이 섹션은 “Debian 방식”으로 수행하지 않았음을 알려드립니다. 모든 것은 kernel.org의 바닐라 커널을 사용하여 수행되었습니다. 아래 사용자 댓글에서 다른 리소스에 대한 좋은 링크를 찾을 수 있습니다. 최신 커널을 가져오십시오. 현재 linux-vserver의 최신 안정 릴리스는 2.6.12.4 커널에 해당합니다.. 우리가 얻는 것입니다:

# cd /usr/src

linux-vserver.org 또는 13thfloor.at/vserver에서 최신 커널 패치를 가져오십시오:

# wget http://www.13thfloor.at/vserver/s_rel26/v2.0/patch-2.6.12.4-vs2.0.diff.gz

이미 유사한 2.6.x 커널을 실행 중이라면 빌드하기 전에 현재 구성을 복사할 수 있습니다. 그것은 “ /boot/config-2.6.x”와 같은 어딘가에 있어야 합니다.

# cp /boot/config-2.6.X /usr/src/linux-2.6.12.4/.config

마지막 명령은 기존 구성을 사용하려는 경우에만 해당됩니다… 2.4.X 구성 파일을 사용하려고 하지 마십시오… 제발.

좋습니다, 이제 이를 실행해 봅시다. 컴파일할 때 포함하고 싶은 몇 가지 사항이 있습니다. 그러나 먼저, 시스템에 대한 작동하는 컴파일이 필요합니다… 그리고 그 부분은 도와드릴 수 없습니다. 커널을 컴파일하는 데 도움이 필요하면 링크를 참조하십시오.

# make menuconfig

향후 사용을 위해 LVM(및 dev-mapper 지원)을 포함하는 것이 좋습니다… 이는 가상 서버에 유용합니다.

“Linux Vserver” 카테고리가 보입니다. 기본 선택은 멋져야 하지만, 다음과 같은 항목이 선택되어 있어야 합니다:

레거시 커널 API 활성화
프로세스 보안 활성화
하드 CPU 제한 활성화

좋습니다… 이제 구성이 완료되었습니다…. 커널을 만들어 봅시다:

# make

그런 다음 grub 구성을 업데이트해야 합니다:

‘vi’ 명령을 사용하여 /boot/grub/menu.lst를 편집하고 다음 줄을 다른 항목들 앞에 추가하십시오… 그리고 “default” 줄이 “0”으로 설정되어 있는지 확인하십시오: title Vanilla 2.6.12.4-vs2.0
root (hd0,0)
kernel /vmlinuz-2.6.12.4-vs2.0 root=/dev/hda2 ro
initrd /initrd.img-2.6.12.4-vs2.0
savedefault
boot

이제 재부팅하여 새로운 커널이 가상 서버를 준비할 수 있어야 합니다.

# reboot

부팅 후 커널을 확인하여 새로운 커널에서 실행되고 있는지 확인하십시오:

# uname -r
2.6.12.4-vs2.0

좋습니다!

가상 서버 설정

Debian 호스트에서 가상 Debian 서버를 만드는 것은 터무니없이 간단합니다. 다음은 그 방법입니다:

# vserver build \
-n \
–hostname \
–interface :/ \
-m debootstrap – -d

따라서 첫 번째 가상 서버는 다음 정보를 가집니다:

VSERVER_NAMEvserver1
FQDNvserver1.mydomain.com
NET_DEVICEeth0
IP192.168.1.10
CIDR24 (255.255.255.0)
DEBIAN_DISTROsarge

따라서 다음 명령으로 생성할 수 있습니다:

# vserver vserver1 build \
-n vserver1 \
–hostname vserver1.mydomain.com \
–interface eth0:192.168.1.10/24 \
-m debootstrap – -d sarge

백슬래시 ‘\’는 새 줄을 나타냅니다… 그러나 백슬래시 없이 이 모든 것을 하나의 명령으로 실행할 수 있습니다.

이제 설치가 시작되어 선택한 배포판의 Debian 네트 설치가 진행됩니다. 이 작업은 몇 분 이상 걸리지 않아야 합니다. 내 시스템에서는 기본 설치가 144MB만 차지합니다. 이제 우리가 가진 것을 확인해 봅시다:

total 80K
drwxr-xr-x 20 root root 4.0K Nov 10 08:17 .
drwxr-xr-x 4 root root 4.0K Nov 10 08:13 ..
drwxr-xr-x 2 root root 4.0K Nov 10 08:17 bin
drwxr-xr-x 2 root root 4.0K Dec 15 2004 boot
drwxr-xr-x 3 root root 4.0K Nov 10 08:13 dev
drwxr-xr-x 37 root root 4.0K Nov 10 08:17 etc
drwxrwsr-x 2 root staff 4.0K Dec 15 2004 home
drwxr-xr-x 2 root root 4.0K Nov 10 08:16 initrd
drwxr-xr-x 7 root root 4.0K Nov 10 08:17 lib
drwxr-xr-x 2 root root 4.0K Nov 10 08:16 media
drwxr-xr-x 2 root root 4.0K Dec 15 2004 mnt
drwxr-xr-x 2 root root 4.0K Nov 10 08:16 opt
drwxr-xr-x 2 root root 4.0K Dec 15 2004 proc
drwxr-xr-x 2 root root 4.0K Nov 10 08:16 root
drwxr-xr-x 2 root root 4.0K Nov 10 08:17 sbin
drwxr-xr-x 2 root root 4.0K Nov 10 08:16 srv
drwxr-xr-x 2 root root 4.0K May 10 2005 sys
drwxrwxrwt 2 root root 4.0K Nov 10 08:17 tmp
drwxr-xr-x 11 root root 4.0K Nov 10 08:16 usr
drwxr-xr-x 13 root root 4.0K Nov 10 08:16 var
# ls -lah /etc/vservers/vserver1 *

total 28K
drwxr-xr-x 5 root root 4.0K Nov 10 08:13 .
drwxr-xr-x 6 root root 4.0K Nov 10 08:13 ..
drwxr-xr-x 4 root root 4.0K Nov 10 08:13 apps
-rw-r–r– 1 root root 112 Nov 10 08:13 fstab
drwxr-xr-x 3 root root 4.0K Nov 10 08:13 interfaces
-rw-r–r– 1 root root 5 Nov 10 08:13 name
lrwxrwxrwx 1 root root 22 Nov 10 08:13 run -> /var/run/vservers/vserver1
drwxr-xr-x 2 root root 4.0K Nov 10 08:13 uts
lrwxrwxrwx 1 root root 37 Nov 10 08:13 vdir -> /etc/vservers/.defaults/vdirbase/vserver1*

이제 vserver가 설치되었으므로 시작해 보겠습니다. ‘vserver’ 명령의 구문은 다음과 같습니다:

# vserver [ start | stop | restart | enter ]

그리고 우리의 vserver1:

# vserver vserver1 start 시스템 로그 데몬 시작: syslogd.
커널 로그 데몬 시작: klogd.
MTA 시작: exim4.
인터넷 슈퍼서버 시작: inetd.
지연 실행 스케줄러 시작: atd.
주기적 명령 스케줄러 시작: cron.
# vserver-stat
CTX PROC VSZ RSS userTIME sysTIME UPTIME NAME
0 35 73.4M 5.4K 0m05s21 0m02s33 1m13s00 root server
49152 5 11M 967 0m00s00 0m00s00 0m30s52 vserver1

vserver1:/#

이제 가상 서버의 컨텍스트에 있습니다. 호스트 시스템으로 돌아가려면 “exit”를 입력하면 됩니다.

구성에 대한 주의 사항

먼저 “apt-setup”을 실행하고 다른 Debian 시스템과 마찬가지로 apt를 구성해야 합니다. Debian 부트스트랩 설치는 매우 최소한의 기본 설치입니다. 원하는 모든 것을 설치해야 합니다.

각 가상 서버는 자체 IP 주소를 가지고 있다는 점을 언급해야 합니다. 그러나 이러한 IP는 실제 네트 장치(즉, eth0)에 대한 별칭으로 구성되므로 모두 동일한 물리적 장치에서 수신 대기하고 있습니다. 기본 구성이 모든 인터페이스에서 “수신”하도록 지정할 때 문제가 발생할 수 있습니다. vserver 내의 모든 서비스는 수신 주소를 지정해야 합니다.

예를 들어:

SSH:

# apt-get install sshd

다음 줄을 변경하십시오:

#ListenAddress 0.0.0.0

다음으로

ListenAddress 192.168.1.10

그리고…

# /etc/init.d/ssh restart

나머지는 정말로 당신의 상상력과 문서화되지 않은 오픈 소스의 경이로움을 파악하는 데 달려 있습니다… 즐거운 시간 되세요!

BJ Dierkes, RHCE-LPIC1
wdierkes [at] 5dollarwhitebox [dot] org
텍사스, 미국

리소스

Share: X/Twitter LinkedIn

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

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