OpenVZ 사용 · 6 min read · Jan 17, 2026

Ubuntu 13.04 (AMD64)에서 OpenVZ 설치 및 사용 - 페이지 2

3 OpenVZ 사용하기

OpenVZ로 가상 머신을 생성하기 전에, /var/lib/vz/template/cache 디렉토리에 사용할 배포판의 템플릿이 필요합니다. 가상 머신은 해당 템플릿에서 생성됩니다.

미리 생성된 템플릿 목록은 http://wiki.openvz.org/Download/template/precreated 에서 확인할 수 있습니다. 예를 들어, 최소한의 Debian Wheezy 템플릿(x86_64)을 다음과 같이 다운로드할 수 있습니다:

cd /vz/template/cache  
wget http://download.openvz.org/template/precreated/contrib/debian-7.0-amd64-minimal.tar.gz

(호스트가 i386 시스템인 경우 amd64 템플릿을 사용할 수 없습니다 - 이 경우 i386 템플릿을 사용해야 합니다!)

이제 OpenVZ 사용을 위한 기본 명령어를 보여드리겠습니다.

debian-7.0-amd64-minimal 템플릿(이를 /vz/template/cache에서 찾을 수 있습니다)에서 VPS를 설정하려면 다음을 실행하세요:

vzctl create 101 --ostemplate debian-7.0-amd64-minimal --config basic

101은 고유한 ID여야 합니다 - 각 가상 머신은 고유한 ID를 가져야 합니다. 가상 머신의 IP 주소의 마지막 부분을 사용할 수 있습니다. 예를 들어, 가상 머신의 IP 주소가 192.168.0.101인 경우 101을 ID로 사용합니다.

부팅 시 VM을 시작하려면 다음을 실행하세요:

vzctl set 101 --onboot yes --save

VM의 호스트 이름과 IP 주소를 설정하려면 다음을 실행하세요:

vzctl set 101 --hostname test.example.com --save  
vzctl set 101 --ipadd 192.168.0.101 --save

다음으로 소켓 수를 120으로 설정하고 몇 개의 네임서버를 VM에 할당합니다:

vzctl set 101 --numothersock 120 --save  
vzctl set 101 --nameserver 8.8.8.8 --nameserver 8.8.4.4 --save

(vzctl set 명령어 대신 /etc/vz/conf 디렉토리에 저장된 VM의 구성 파일을 직접 편집할 수도 있습니다. VM의 ID가 101인 경우 구성 파일은 /etc/vz/conf/101.conf입니다.)

VM을 시작하려면 다음을 실행하세요:

vzctl start 101 

VM의 루트 비밀번호를 설정하려면 다음을 실행하세요:

vzctl exec 101 passwd

이제 SSH를 통해 VM에 연결하거나 다음과 같이 입력하여 VM에 들어갈 수 있습니다:

vzctl enter 101 

VM의 콘솔을 나가려면 다음을 입력하세요:

exit

VM을 중지하려면 다음을 실행하세요:

vzctl stop 101

VM을 재시작하려면 다음을 실행하세요:

vzctl restart 101

하드 드라이브에서 VM을 삭제하려면(먼저 중지해야 합니다), 다음을 실행하세요:

vzctl destroy 101 

VM과 그 상태의 목록을 가져오려면 다음을 실행하세요:

vzlist -a
root@server1:~# vzlist -a  
CTID      NPROC STATUS    IP_ADDR         HOSTNAME  
101          8 running   192.168.0.101   test.example.com  
root@server1:~#

VM에 할당된 리소스에 대해 알아보려면 다음을 실행하세요:

vzctl exec 101 cat /proc/user_beancounters
server1:~# vzctl exec 101 cat /proc/user_beancounters  
Version: 2.5  
uid  resource           held    maxheld    barrier      limit    failcnt  
101:  kmemsize         500737     517142   11055923   11377049             0  
lockedpages           0          0        256        256             0  
privvmpages        2315       2337      65536      69632             0  
shmpages            640        640      21504      21504             0  
dummy                 0          0          0          0             0  
numproc               7          7        240        240             0  
physpages          1258       1289          0 2147483647             0  
vmguarpages           0          0      33792 2147483647             0  
oomguarpages       1258       1289      26112 2147483647             0  
numtcpsock            2          2        360        360             0  
numflock              1          1        188        206             0  
numpty                1          1         16         16             0  
numsiginfo           0          1        256        256             0  
tcpsndbuf         17856      17856    1720320    2703360             0  
tcprcvbuf         32768      32768    1720320    2703360             0  
othersockbuf       2232       2928    1126080    2097152             0  
dgramrcvbuf           0          0      262144      262144             0  
numothersock          1          3        120        120             0  
dcachesize           0          0    3409920    3624960             0  
numfile             189        189       9312       9312             0  
dummy                 0          0          0          0             0  
dummy                 0          0          0          0             0  
dummy                 0          0          0          0             0  
numiptent            10         10        128        128             0  
server1:~#

failcnt 열은 매우 중요하며, 0만 포함해야 합니다. 그렇지 않으면 VM이 현재 할당된 리소스보다 더 많은 리소스를 필요로 한다는 의미입니다. /etc/vz/conf의 VM 구성 파일을 열고 적절한 리소스를 늘린 후 VM을 재시작하세요.

vzctl 명령어에 대해 더 알아보려면 다음을 실행하세요:

man vzctl 

3.1 컨테이너 내에서 쿼터 설정하기

컨테이너 내에서 쿼터를 활성화하려면(이 예제에서는 ID가 101인 컨테이너입니다), 호스트에서 다음 명령어를 실행하세요:

vzctl stop 101  
vzctl set 101 --diskquota yes --save  
vzctl set 101 --diskspace 10G --save  
vzctl set 101 --diskinodes 200000:220000 --save  
vzctl set 101 --quotatime 0 --save  
vzctl set 101 --quotaugidlimit 1000 --save  
vzctl start 101

diskspace 및 diskinodes의 값은 필요에 따라 조정할 수 있습니다. quotaugidlimit은 컨테이너 내에서 디스크 쿼트가 계산될 최대 사용자/그룹 ID 수를 설정합니다.

컨테이너가 시작된 후, 컨테이너 내에 quota 및 quotatool 패키지를 설치해야 합니다:

apt-get install quota quotatool

그 후, 명령어…

repquota -avug

…는 현재 쿼트를 보여야 합니다:

root@test:~# repquota -avug  
* Report for user quotas on device /dev/simfs  
Block grace time: 00:00; Inode grace time: 00:00  
Block limits                File limits  
User            used    soft    hard  grace    used  soft  hard  grace  
----------------------------------------------------------------------  
root      --  325500       0       0          14301     0     0  
man       --     360       0       0             35     0     0  
libuuid   --       4       0       0             1     0     0  
messagebus --       4       0       0             1     0     0  
  
Statistics:  
Total blocks: 131590  
Data blocks: 2  
Entries: 4  
Used average: 2.000000  
  
* Report for group quotas on device /dev/simfs  
Block grace time: 00:00; Inode grace time: 00:00  
Block limits                File limits  
Group           used    soft    hard  grace    used  soft  hard  grace  
----------------------------------------------------------------------  
root      --  325112       0       0          14251     0     0  
adm       --      36       0       0             23     0     0  
tty       --      40       0       0              9     0     0  
disk      --       0       0       0             17     0     0  
mail      --       4       0       0              1     0     0  
kmem      --       0       0       0              3     0     0  
shadow    --     124       0       0              5     0     0  
utmp      --      16       0       0              4     0     0  
staff     --      68       0       0             18     0     0  
libuuid   --       4       0       0              1     0     0  
ssh       --     128       0       0              1     0     0  
messagebus --     292       0       0              2     0     0  
crontab   --      44       0       0              3     0     0  
  
Statistics:  
Total blocks: 131590  
Data blocks: 4  
Entries: 13  
Used average: 3.250000  
  
root@test:~#

3.2 ploop 컨테이너 생성하기

ploop 컨테이너를 생성하는 것은 일반 디렉토리 기반 컨테이너를 생성하는 것과 크게 다르지 않습니다 - 단지 –layout ploop 스위치를 사용하고 컨테이너를 생성할 때 diskspace(예: –diskspace 10G)를 지정해야 합니다:

vzctl create 102 --layout ploop --diskspace 10G --ostemplate debian-7.0-amd64-minimal --config basic 

모든 다른 옵션을 설정하는 것은 동일합니다:

vzctl set 102 --onboot yes --save
vzctl set 102 --hostname test2.example.com --save  
vzctl set 102 --ipadd 192.168.0.102 --save
vzctl set 102 --numothersock 120 --save  
vzctl set 102 --nameserver 8.8.8.8 --nameserver 8.8.4.4 --save
vzctl start 102
vzctl exec 102 passwd

ploop 컨테이너 내에서 쿼트를 활성화하려면, quotaugidlimit 옵션만 설정하면 됩니다:

vzctl stop 102  
vzctl set 102 --quotaugidlimit 1000 --save  
vzctl start 102

컨테이너가 시작된 후, 컨테이너 내에 quota 및 quotatool 패키지를 설치해야 합니다:

apt-get install quota quotatool

그 후, 명령어…

repquota -avug

…는 현재 쿼트를 보여야 합니다(그렇지 않으면 컨테이너를 재시작하세요):

root@test:~# repquota -avug  
* Report for user quotas on device /dev/simfs  
Block grace time: 00:00; Inode grace time: 00:00  
Block limits                File limits  
User            used    soft    hard  grace    used  soft  hard  grace  
----------------------------------------------------------------------  
root      --  325500       0       0          14301     0     0  
man       --     360       0       0             35     0     0  
libuuid   --       4       0       0             1     0     0  
messagebus --       4       0       0             1     0     0  
  
Statistics:  
Total blocks: 131590  
Data blocks: 2  
Entries: 4  
Used average: 2.000000  
  
* Report for group quotas on device /dev/simfs  
Block grace time: 00:00; Inode grace time: 00:00  
Block limits                File limits  
Group           used    soft    hard  grace    used  soft  hard  grace  
----------------------------------------------------------------------  
root      --  325112       0       0          14251     0     0  
adm       --      36       0       0             23     0     0  
tty       --      40       0       0              9     0     0  
disk      --       0       0       0             17     0     0  
mail      --       4       0       0              1     0     0  
kmem      --       0       0       0              3     0     0  
shadow    --     124       0       0              5     0     0  
utmp      --      16       0       0              4     0     0  
staff     --      68       0       0             18     0     0  
libuuid   --       4       0       0              1     0     0  
ssh       --     128       0       0              1     0     0  
messagebus --     292       0       0              2     0     0  
crontab   --      44       0       0              3     0     0  
  
Statistics:  
Total blocks: 131590  
Data blocks: 4  
Entries: 13  
Used average: 3.250000  
  
root@test:~#

4 링크

Share: X/Twitter LinkedIn

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

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