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/vservers | vserversファイルのホームディレクトリ |
| /etc/vservers.conf | 基本設定ファイル(あまり見るものはありません) |
| /etc/vservers | 各仮想サーバーの設定ディレクトリを保持 |
| /usr/sbin/vserver | vserversと対話し、構築し、開始し、停止し、入るためのユーティリティ |
| /bin/vshelper | vserversの機能を制御するための別のユーティリティ |
| /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
-n
–hostname
–interface
-m debootstrap – -d
したがって、最初の仮想サーバーは次の情報を持ちます:
| VSERVER_NAME | vserver1 |
| FQDN | vserver1.mydomain.com |
| NET_DEVICE | eth0 |
| IP | 192.168.1.10 |
| CIDR | 24 (255.255.255.0) |
| DEBIAN_DISTRO | sarge |
したがって、次のコマンドで作成します:
# 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
そして私たちの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
テキサス州、アメリカ合衆国
リソース
- The Linux-vserver Project
- http://www.13thfloor.at/vserver/project
- Debian GNU Linux
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。