1. トップ
  2. ConoHaのFreeBSD(ZFS)でjail環境を作る方法

だいぶ日が空きました。色々と忙しかったのです。

さて、題のとおりです。

jailの「元」の準備

作成

まずはおもむろに

アップデート

このはちゃんを疑うわけじゃないんだけど、一応、念のためアップデートを。

スナップショットの作成

写真を撮るわけじゃないけど似たようなもん。
要は「現在の状態を取っておく」ことを「スナップショットを取る」と。

んで何に使うかってーと、バックアップ用途だったりバージョン管理にだって使えちゃうナイスガイ。使い方次第。

まあ今だと「元」にするために必要。よく考えてないけどざっと考えたら用途は3つじゃないかな。
バックアップ、バージョン管理、jailの元。

 

% zfs snapshot zroot/jail/base@10.0p1

作成完了。

@の後ろはfreebsd-updateした時のOSバージョンとパッチバージョン。

jailの設定

設定ファイルの場所

まずは/etc/rc.confをチェック。
んで「jail_conf="/ほげほげ/jail.conf"」という行が見つかれば、設定ファイルはそこにある。記述が見つからなければたぶん「/etc/jail.conf」じゃないかな。わからなかったらfindしてね。

設定ファイルの内容

exec.start = "/bin/sh /etc/rc";
exec.stop = "/bin/sh /etc/rc.shutdown";
exec.clean;
mount.devfs;
interface = vtnet0;#ここはifconfigの内容により適宜変更
path = "/jail/$name";
host.hostname = $name;

base {ip4.addr = 192.168.0.10; }

こんな感じにしてます。

最後の行がみそ。

base {ip4.addr = 192.168.0.10; }
#jail名 {ip4.addr = 使用したいIPアドレス}

みたいな。

 

この記述が無いとjailの起動しないから忘れないように。

jail関連のコマンド

起動

% service jail start base

で起動

一覧

% jls

って打てば起動しているjailの一覧が見える。

停止

% service jail stop base

 

再起動

% service jail restart base

jailに入る

% jexec 1 /bin/csh
% jexec base /bin/csh

どっちか打てばjailに入れる。
jexec 1の「1」はjlsした時の左端「JID」。
jexec baseの「base」はjlsした時の左から3番目「Hostname」。

は~疲れた腰いたい。ドラクエ4でもやるかなー