特集
2003/07/29 17:53 更新

UNIX USER03年8月号特別企画より転載:
FreeBSD 5.1-RELEASEにおける新機能の概要と活用例 (3/6)


UNIX USER 2003年8月号より転載

 jailは、FreeBSDにおけるchroot(2)の拡張的な機能であり、特定のサブディレクトリ下に完全なFreeBSDのバイナリツリーを作成し、独立したIPアドレスを持つ一種の仮想マシンとして利用するものだ。
 ただし、いままで複数のjailを起動した場合、親ホストからそれらの区別をつけることが困難であり、また親ホストからjail内へプロセスを送り込めなかった(注3)。

注3 jailは/etc/rcから順番に通常のマシンのように起動するため、外部からコマンドを送り込むようなことを想定していなかった。

 5.1-RELEASEでは、複数のjailを管理するサポート機構、および親ホストからのプロセス送信機能が追加された。
 実際に、追加された機能を試してみよう。ここでは、2つのjail環境(/usr/jail/jail1と/usr/jail/jail2をルートとする)があると想定する。
 現在稼働しているjailのリストは、今回追加されたjlsコマンドによって取得できる(注4)。

# jls
  JID  IP Address      Hostname       Path
    5  192.168.0.101   testjail2      /usr/jail/jail2
    4  192.168.0.100   testjail1      /usr/jail/jail1

注4 日本語ls(ports/japanese/jls)をインストールしている場合は、コマンド名が衝突しているので注意すること。

 それぞれのjailにはJIDという番号が割り振られているので、これをベースに親ホストからjailの制御を行う。
 たとえば、killallコマンドの「-j」オプションでJIDを指定すれば、該当するjailを終了させることが可能だ。


# killall -j 5
# jls
  JID  IP Address      Hostname       Path
    4  192.168.0.100   testjail1      /usr/jail/jail1

 また、jexecコマンドを利用することで、jail内にコマンドを送信できる。たとえば、JID 4番のjail内に/bin/psコマンドのプロセスを送信するには、次のように実行すれば良い。


# jexec 4 /bin/ps aux

[UNIX USER特別企画]
FreeBSD 5.1-RELEASEにおける新機能の概要と活用例
(1) 完成度の向上した5.1-RELEASE
(2) nsdispatchのNSSモジュール対応
(3) jailに追加された機能
(4) ULEスケジューラ
(5) FireWire/DVTS〜新ブートローダー
(6) VMware 3用のports〜5.2-STABLEに向けて

関連リンク
▼UNIX USER
▼定期購読のご案内
▼バックナンバー販売協力店
▼読者モニターレポート

UNIX USER8月号表紙 FreeBSD 5.1-RELEASEを収録
UNIX USER 8月号

第1特集 Webmin解体新書
第2特集 Subversionで管理せよ
DVD-ROM/CD-ROM 2枚組み
・FreeBSD 5.1-RELEASE
・mobileimap 1.5
・Webmin 1.090 ほか

前のページ | 1 2 3 4 5 6 | 次のページ

[細川達己,UNIX USER]

Copyright © ITmedia, Inc. All Rights Reserved.