qjail

FreeBSDの仮想化環境です。
FreeBSDの中に、FreeBSDに近い環境を作成します。テスト環境として使用するのはもちろんのこと、実際にソフトウエアをインストールして運用 する事も可能です。ただ、完全なFreeBSD環境が構築出来るわけではない為、少ないながらも動かないソフトもあります。

☆ インストール

cd /usr/ports/sysutils/qjail
make install clean && rehash

☆ rc.confへの設定追加

vi /etc/rc.conf
qjail_enable="YES"

☆ bass環境の作成

qjail install

/usr/jails』以下に色々と追加される。

☆ jail環境の作成

qjail create -n re0 -4 192.168.1.57 qjail-57

-n re0』はnicの設定。
これをしておかないと、ホスト側からpingが出来ない。逆に、これをしておけば設定が即座に反映される。
私の場合は、実在するLAN側のnicを指定している。
-4 192.168.1.57』はipv4のipアドレス。
qjail-57』はjailネーム
最初のjail環境作成をすると『/etc/jail.conf』と言うファイルが作成される。
(何時からなのか不明ですが、自動で作成されなくなったようです)

☆ qjail環境の起動

qjail start

又は

qjail start qjail-57

☆ ホスト側からのアクセス(SSH)

ホスト側からのjail環境へアクセス

qjail console qjail-57
Welcome to your FreeBSD jail.
qjail-57 /root >

こんな感じに表示されれば問題ない。
最低限、rootのパスワードを設定しておく。必要ならば、リモート環境へ直接アクセスできるようにSSHの設定もする。

◆追記

qjail-4.4にバージョンアップしたら、何故か『qjail console qjail-57』のコマンドが使えなくなりました。私の環境だけなのか、他でも同様の状況になっているのか不明です。一応は『jexec qjail-57 csh』等とすれば目的のqjail環境(例では[qjail-57])にログインする事は可能ですが・・・

qjail-4.6で、consoleオプションで各qjail環境にアクセス出来るようになったようです。似たような状況になった時に困るので、一応、追記は消さずに残しておきます。

jail環境から抜けるには『exit』とコマンドを使えばいい。

☆jail環境の起動・停止・再起動

qjail [start | stop | restart] jailname….

☆ jail環境の削除

qjail stop qjail-57
qjail delete qjail-57

 

☆ jail環境の動作確認方法

qjail list

動作中のjailも、停止中のjailも表示される。
稼働してるか稼働していないかの判断は、JIDと言う項目を見るのが分かりやすい。稼働していないjailは[N/A]と表示されている。

☆ jail環境のバックアップとリストア

停止しているjail環境をバックアップすることが出来る。動作している環境はバックアップする事は出来ない。

qjail stop qjail-57
qjail archive qjail-57

作成されるバックアップファイルは『/usr/jails/archive』の中に『jail_name@年月日時.tar』と言う名前で保存される。

元の環境があるとリストア出来ないので、削除してからリストアする。

qjail stop qjail-57
qjail delete qjail-57
qjail restore qjail-57

後は元の環境のように動作させられる。

qjail start qjail-57

☆ その他

jail環境内のportsコレクション更新
portsnapの設定を元に、全てのqjail環境のportsを更新する。

qjail update -z qjail-57 -p
◆追記

qjailシステムで用意されたportsはどうしても使いづらいので、私はqjail環境ごとにports環境を構築しています。やり方としては、qjail環境下で『rm /usr/ports』でシンボリックリンクを削除してしまい『portsnap fetch extract』とするだけです。

以降の扱いはportsと全く同じです。

 

jail環境内のシステム更新
FreeBSDをメジャーアップグレードした時、qjail環境下のシステムを、それに合わせたVersionにアップグレードする。

qjail update -b

 

特定jail環境を自動起動させない
OS再起動時などに、何も設定しなければ作成した全てのjail環境が起動してしまいますが、設定をすることで自動的に起動しないようにできるそうです。

qjail config -r qjail-57

設定をもとに戻す時もコマンドで行う。

qjail config -R qjail-57

 

 

qjailのmanページ(日本語)
http://www.shutingrz.com/freebsd/qjail_man.html

 

役に立ちましたか?
  • 役に立った (0)
  • 少しだけ (0)
  • これじゃない! (0)