Linux · 3 min read · Feb 09, 2026

Debian SargeのLinux-Vserver

概要

このハウツーの読みやすいバージョンは5dollarwhitebox.orgにあります。

13thfloor.at/vserver/projectからの引用:

Linux-VServerを使用すると、通常のLinuxサーバーのように動作する仮想プライベートサーバーとセキュリティコンテキストを作成できますが、1つのボックスで複数の独立したサーバーを同時にフルスピードで実行できます。ssh、メール、Web、データベースなどのすべてのサービスは、実際のサーバーと同様に、変更なしでそのようなVPS上で開始できます。各仮想サーバーには独自のユーザーアカウントデータベースとrootパスワードがあり、他の仮想サーバーに干渉しません。

Linux-vserverに関するプレゼンテーションはhttp://www.linux-vserver.orgで見つけることができます。

知っておくべき2つの主要な用語は次のとおりです:

  • ホストシステム: ゲスト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 Way」では行っていないことに注意してください。すべては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を有効にする
Procセキュリティを有効にする
ハード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

バックスラッシュ’\’は新しい行を示します… ただし、バックスラッシュを使用せずにこのすべてを1つのコマンドとして実行できます。

これで、インストールが始まり、選択したディストリビューションの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 [ 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

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。