More Related Content
ODP
PPTX
Elasticsearch as a Distributed System PDF
PDF
Elasticsearchを使うときの注意点 公開用スライド PDF
PDF
PDF
PDF
What's hot
PPTX
PDF
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring) PPTX
PDF
OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月 PDF
PPTX
PDF
これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本 PPTX
PDF
PDF
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化 PDF
PPTX
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料) PDF
PDF
PDF
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy PPTX
Node.jsで使えるファイルDB"NeDB"のススメ PDF
PDF
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編) PPTX
Cephfs Snapshot Mirroring PDF
Similar to Iocage
PDF
PDF
PDF
PDF
初心者がOpenIndianaで自宅サーバを作ったよって話 PDF
PDF
余ったPCをルータに変える、ソフトウェアルータ「SEIL/x86」 PDF
PDF
PPTX
PDF
KEY
PDF
PDF
Vitochaを用いた Jail+VIMAGE Webインターフェイス PPTX
PDF
IaaSクラウドを支える基礎技術 演習編_v1_0 PPT
FreeBSDで行こう for small server PDF
PPTX
PDF
PDF
Linux Kernel Seminar in tripodworks More from Yuichiro Naito
PDF
Development of Bhyve Management Daemon on FreeBSD PDF
WireGurad in the FreeBSD kernel PDF
Install FreeBSD 14.3-RELEASE to HP Envy x360 PDF
Reporting AsiaBSDCon 2024 in Taipei for FreeBSD NetBSD PDF
PDF
Bhyve Management Daemon: Wake on LAN support ODP
ODP
ODP
PDF
Bhyve Management Daemon Version 3.0 on FreeBSD PDF
PDF
PPTX
ODP
PDF
ODP
How to use PTI & IBRS patch ODP
ODP
PDF
PDF
Iocage
- 1.
- 2.
iocage とは
●
FreeBSD の上でjail を管理するためのツール
●
役割としては ezjail などと同じ
●
開発元は FreeNAS チーム
➔ FreeNAS に入っているものが ports に登録さ
れています
●
現在も github で開発中です
➔ BSDCan 2018 でも発表がありました
- 3.
iocage を使うには
●
ZFS が必要です
–ZFS を前提にその機能をたくさん使っています
●
実装は Python3.6 のため
以下のパッケージをインストールします
– py36-iocage
●
インストールしたら次のコマンドで初期化します
– sudo iocage activate <pool 名 >
– ( 以後 iocage の実行には全て root 権限が必要です )
- 4.
iocage のデータ領域
●
activate すると<pool 名 >/iocage というファイルシステムが作成されます
●
これは /iocage にマウントされます
●
この /iocage の中には以下のファイルシステムが作られます
1.download ( リリース毎のアーカイブ base.txz などを保存 )
2.images (import/export 用の zip ファイル )
3.jails ( 各 jail のルートファイルシステム )
4.log (iocage の動作ログ )
5.releases ( リリース毎のルートファイルシステム )
6.templates ( 各テンプレートのルートファイルシステム )
- 5.
jail の作成
●
iocage create-n <jail 名 > -r < リリース名 >
– 例 : iocage create -n test10 -r 10.4-RELEASE
– < リリース名 > のアーカイブをダウンロードし、
展開した上で freebsd-update で最新のパッチを当て、
スナップショットを作成して、そのクローンから
<jail 名 > の jail を作成します
– 2回目以降はディスク内のデータが再利用されます
- 6.
jail の作成(その2)
●
iocage create-n <jail 名 > -r < リリース名 > -c < 個数 >
– <jail 名 >_1 から <jail 名 >_< 個数 > までの jail を作成しま
す
– 例 : iocage create -n test -r 10.4-RELEASE -c 5
➔ test_1, test_2, test_3, test_4, test_5 が作成されます
●
iocage create -n <jail 名 > -t < テンプレート名 >
– テンプレート(後述)から jail を作成します
– -c も同様に使用できます
- 7.
jail の一覧と削除
● iocagelist
– 作成した jail を一覧表示します
●
iocage destroy <jail 名 > [-f]
– 作成した jail を削除します
– -f をつけると何も聞かれずに強制削除します
- 8.
jail の起動・コマンド実行・終了
●
iocage start<jail 名 >
– jail を起動します
●
iocage console <jail 名 >
– jexec を実行します (root ユーザで /bin/sh が起動します )
●
iocage exec [-U <jail 内のユーザ名 >] <jail 名 > < コマンド >
– 指定したコマンドを [ 指定のユーザで ] 実行します
●
iocage stop <jail 名 >
– jail を終了します
- 9.
jail の自動起動
●
iocage setboot=on <jail 名 >
– <jai 名 > のプロパティにブートするようマー
クします
● sysrc iocage_enable=YES
– rc スクリプトを有効にします
– 先ほどの boot プロパティが on の jail を rc スク
リプトが起動・終了します
– /etc/jail.conf は使用しません
- 10.
ネットワーク
●
IPv4 アドレスの設定
– iocageset ip4=new <jail 名 >
– iocage set ip4_addr="em0|192.168.0.99/24" <jail 名 >
– iocage set defaultrouter=192.168.0.1 <jail 名 >
– iocage set allow_raw_sockets=1 <jail 名 >
➔ ping を使えるように
➔ IP アドレス、インタフェース名は適当に読み替
えてください
- 11.
ネットワーク
●
IPv6 アドレスの設定
– iocageset ip6=new <jail 名 >
– iocage set ip6_addr="em0|2001:0:1:2::f0f0" <jail 名 >
– iocage set defaultrouter6="fe80::1%em0" <jail 名 >
➔ IP アドレス、インタフェース名は適当に読み替
えてください
- 12.
- 13.
- 14.
ディスクのマウント
●
jail 起動時にマウントするディスクを指定できます
●
iocage fstab<jail 名 > -a
”/home/user_a /usr/home/user_a nullfs rw 0 0”
➔ホストの /home/user_a のディレクトリを jail 内の /usr/home/user_a に
マウントしてから起動します
➔ jail 側のプレフィックス (/iocage/jails/<jail 名 >/root) は不要です
➔エントリは iocage fstab <jail 名 > -l で表示されます
➔ iocage fstab <jail 名 > -r < 行番号 > でエントリを削除します
- 15.
スナップショット
●
iocage snapshot <jail名 > -n < スナップショット名 >
– 省略時のスナップショット名は YYYY-MM-
DD_hh:mm:ss
– 日時のタイムゾーンは UTC です
●
iocage snaplist <jail 名 > -l
– スナップショットの一覧表示(今はバグで -l が必
須)
●
iocage rollback <jail 名 > -n < スナップショット名 >
– 該当スナップショットにロールバック
●
iocage snapremove <jail 名 > -n < スナップショット名 >
– スナップショットの削除
- 16.
クローン
●
iocage clone <jail名 > -n < 新しい jail 名 >
– <jail 名 >@< 新しい jail 名 > でスナップショッ
トを作成し、 zfs clone します
– 今のところスナップショットからのクローン
はサポートされていません
- 17.
テンプレート
●
iocage set template=yes<jail 名 >
– 既にある jail をテンプレートにします
– テンプレートは起動することができません
– iocage list にも表示されなくなります
– 一覧は iocage list -t と -t オプションを指定します
●
iocage set template=no <jail 名 >
– テンプレートから戻します
– 他 jail のテンプレートとして使われていても構いません
- 18.
エクスポート
●
iocage export <jail名 >
– iocage/images/<jail 名 >_YYYY-MM-DD.zip に書き
出します
– zip ファイルの中身は 設定の json ファイルと
zfs send したファイルシステムのイメージで
す
– sha256 のチェックサムを書いたファイルも作
成されます
- 19.
インポート
●
iocage import <jail名 >_YYYY-MM-DD
– iocage/images/<jail 名 >_YYYY-MM-DD.zip をインポートします
– 設定ファイルから jail 名を復元しインポートします
– ファイル名は iocage/jails の下のファイルシステム名に使われ
ます
– ファイル名を変えて import するとファイルシステム名が重
ならない限りインポートできますが、同じ jail 名のホストが
複数できるため管理が面倒です
- 20.
- 21.
小ネタ
●
作成した jail をSeverSpec でテストするには・・・
– spec ファイルに以下を記載します
➢ set :backend, :jexec
➢ set :jail_name, ioc-<jail 名 >
●
iocage で作成した jail の name は必ず ioc- が入るた
め、 ServerSpec 側には ioc- を付けた名前を指定します
●
その他は既存の spec ファイルがそのまま利用可能です
- 22.