# zonecfg -z test_zone
test_zone: そのような構成済みゾーンはありません
'create' を使用して、新しいゾーンの構成を開始します。 |
ここでプロンプトが変わります。
3.test_zoneの作成
zonecfg:test_zone> create |
4.zone pathの設定
簡単に説明すると、どこのディレクトリ配下にインストールするかということ。ZONEを作った後でdfコマンドで比較すると、最低150Mはあったほうが良さそうです。
# df -h
ファイルシステム サイズ 使用済み 使用可能 容量 マウント先
/dev/md/dsk/d1 940M 282M 602M 32% /
/devices 0K 0K 0K 0% /devices
ctfs 0K 0K 0K 0% /system/contract
proc 0K 0K 0K 0% /proc
mnttab 0K 0K 0K 0% /etc/mnttab
swap 612M 984K 611M 1% /etc/svc/volatile
objfs 0K 0K 0K 0% /system/object
/dev/md/dsk/d3 4.8G 3.3G 1.5G 70% /usr
fd 0K 0K 0K 0% /dev/fd
/dev/md/dsk/d5 7.3G 964M 6.3G 14% /var
swap 611M 264K 611M 1% /tmp
swap 611M 56K 611M 1% /var/run
/dev/md/dsk/d4 2.1G 32M 2.0G 2% /opt
/dev/md/dsk/d6 658M 1.0M 598M 1% /export/home
なので、/optにでも作ってみる。
zonecfg:test_zone> set zonepath=/opt/test_zone
*:/opt領域が余っているのでここで作ってみる。
|
5.共有ファイルシステムの設定
デフォルトだと/lib、/platform、/sbin、/usrが大元のglobal zoneのディレクトリを共有するようです。指定はadd
inherit-pkg-dirということらしい。例えば/optのExplorerというのも共有したい場合
zonecfg:test_zone> add inherit-pkg-dir
zonecfg:test_zone:inherit-pkg-dir> set dir=/opt/SUNWexplo
zonecfg:test_zone:inherit-pkg-dir> end |
です。後で気づいたのですが、/optも共有しておりました。ということで個人的にはZONEが全て終わってから共有ファイルを検討していったほうが良さそうです。
ちなみに注意事項が書いてあって、「inherit-pkg-dir に登録された packaged
software を保持するので、zoneadm で non-global zone がインストールされた後には、これらの
packaged software を修正したり、削除することはできません」とのこと。ということはKJPなどのパッチ当てたらどうなるのだろう??という疑問が残った今日この頃。まあ、次に進む。
6.ファイルシステムの登録
ちょっと理解しにくいので、手順にある通り実行(あとで調べる)。
zonecfg:test_zone> add fs
zonecfg:test_zone:fs> set dir=/usr/local
zonecfg:test_zone:fs> set special=/opt/local
「新たに仮想ファイルシステムとしてloopback file system(lofs)を設定します。」
って書いてある。よく分からんけどやってみる。
zonecfg:test_zone:fs> set type=lofs
zonecfg:test_zone:fs> end |
7.autoboot valueの設定
global zone がブートしたら test_zoneもブートするか?の設定をする。デフォルトはfalseのよう。とりあえずtrueに設定してみる。
zonecfg:test_zone> set autoboot=true |
8.IPアドレスなどネットワークの設定
後でもできると思いますが・・・NICのLANのポートが1つしかないのだが・・・仮想IPみたいなのでいけるのかな?って思いつつやってみる!
(ちなみにglobal zoneは)
# ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 100.8.36.176 netmask ffffff00 broadcast 10.8.36.255
ether 8:0:20:a7:e8:68
zonecfg:test_zone> add net
zonecfg:test_zone:net> set address=100.8.36.173
zonecfg:test_zone:net> set physical=hme0
zonecfg:test_zone:net> end |
9.リソースプールとの関連づけ
これは難しそうなので、デフォルトで・・・
zonecfg:test_zone> set pool=pool_default |
10.Zone 環境での FSS の設定
CPU の Share 数の指定?CPU1個しかないのに設定いるのか??試しにやってみる。
zonecfg:test_zone> add rctl
zonecfg:test_zone:rctl> set name=zone.cpu-shares
zonecfg:test_zone:rctl> add value (priv=privileged,limit=3,action=none)
zonecfg:test_zone:rctl> end |
11.コメントの登録
これはいらないでしょう・・・。でもやっておくか・・・。
zonecfg:test_zone> add attr
zonecfg:test_zone:attr> set name=test_zone_comment
zonecfg:test_zone:attr> set type=string
zonecfg:test_zone:attr> set value="This System is Test Zone !!"
zonecfg:test_zone:attr> end
attr name test_zone_comment は無効です: 含めることができるのは、英数字、'-'、および '.' だけです。
zonecfg:test_zone:attr> set name=test-zone-comment
zonecfg:test_zone:attr> end |
やってみるもんですな。nameで「_」は使えないのか・・・。
12.設定内容の確認
zonecfg:test_zone> export
省略 |
13.整合性の検証、stable storage への書き込み、で終わり
zonecfg:test_zone> verify
zonecfg:MyZone:> commit
zonecfg:MyZone:> exit
|
14.設定内容の確認とインストール
さて、わくわくドキドキする瞬間ですね!!
# zoneadm list -vc
ID NAME STATUS PATH
0 global running /
- test_zone configured /opt/test_zone
いるね!!では、インストール!!
# zoneadm -z test_zone install
zoneadm: zone 'test_zone': 警告: プール機能がアクティブではありません; ゾーンはプール 'pool_default'
に結合されません。
Preparing to install zone <test_zone>.
ERROR: Read-only file system: cannot create mount point </opt/test_zone/root/usr/local>
ERROR: cannot setup zone <test_zone> inherited and configured file systems
ERROR: cannot setup zone <test_zone> file systems inherited and configured from the global zone
ERROR: cannot create zone boot environment <test_zone>
zoneadm: zone 'test_zone': '/usr/lib/lu/lucreatezone' が終了コード 74 で失敗しました。
失敗したじゃん!!
|
「cannot create mount point」がエラーなんでしょ?設定してよく分からなかったから(^^;)
ということで、設定削除します。
zonecfg:test_zone> remove fs dir=/usr/local
zonecfg:test_zone> export
zonecfg:test_zone> verify
zonecfg:test_zone> commit
zonecfg:test_zone> exit
# zoneadm -z test_zone install
zoneadm: zone 'test_zone': ゾーンは incomplete です; uninstall が必要です。
???ゴミが残っているのか??アンインストールしてから再度してみる
# zoneadm -z test_zone uninstall
ゾーン test_zone を uninstall してよろしいですか (y/[n])? y
|
# zoneadm -z test_zone install
zoneadm: zone 'test_zone': 警告: プール機能がアクティブではありません; ゾーンはプール 'pool_default'
に結合されません。
Preparing to install zone <test_zone>.
Creating list of files to copy from the global zone.
Copying <2701> files to the zone.
Initializing zone product registry.
Determining zone package initialization order.
Preparing to initialize <1020> packages on the zone.
Initializing package <647> of <1020>: percent complete: 63%
順調に行ってるよう・・・・
Zone <test_zone> is initialized.
The file </opt/test_zone/root/var/sadm/system/logs/install_log> contains a log of the zone installat
ion.
とりあえず終わったようだ。だいたい10分くらいだったかな。
# zoneadm list -vc
ID NAME STATUS PATH
0 global running /
- test_zone installed /opt/test_zone
|
15.test_zoneの起動
とりあえず動かしてみるしかないよね
# zoneadm -z test_zone boot
zoneadm: zone 'test_zone': 警告: プール機能がアクティブではありません; ゾーンはプール 'pool_default'
に結合されません。
zoneadm: zone 'test_zone': 警告: プール機能がアクティブではありません; ゾーンはプール 'pool_default'
に結合されません。
# zoneadm list -vc
ID NAME STATUS PATH
0 global running /
1 test_zone running /opt/test_zone
なんか警告(WARNING)は出たけど、起動できた。pingも通る。
|
なんか、あっけないな・・・・とりあえずtelnetでログインしてみようっか・・・ってrootユーザしかないから、/opt/test_zone/root/etc/default/loginを編集してrootがtelnetでログインできるようにする。globalで編集したが、ログインできず。なんで????pingはOKだが、ftpができん。
で、いろいろ調べてみると・・・・zlogin コマンドというを発見!tip接続イメージみたい(~.で抜けれる)
どうやら起動中のようです。
しばらくすると・・・・インストールっぽい画面が・・・
*******************************************
Select a Language
0. English
1. Japanese
Please make a choice (0 - 1), or press h or ? for help:1
*******************************************
Select a Locale
0. Japanese EUC (ja)
1. Japanese EUC (ja_JP.eucJP)
2. Japanese PC Kanji (ja_JP.PCK)
3. Japanese UTF-8 (ja_JP.UTF-8)
4. Go Back to Previous Screen
Please make a choice (0 - 4), or press h or ? for help:
*******************************************
省略
:
|
rebooting system due to change(s) in /etc/default/init
[NOTICE: Zone rebooting]
リブートしているみたいです・・・。
SunOS Release 5.10 Version Generic_118833-17 64-bit
Copyright 1983-2005 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
Hostname: test-zone
:
起動完了!!さてdf打ってみますか!
|
とりあえずdfコマンド実行
# df -h
ファイルシステム サイズ 使用済み 使用可能 容量 マウント先
/ 2.1G 164M 1.9G 8% /
/dev 2.1G 164M 1.9G 8% /dev
/lib 940M 282M 602M 32% /lib
/opt/SUNWexplo 2.1G 164M 1.9G 8% /opt/SUNWexplo
/platform 940M 282M 602M 32% /platform
/sbin 940M 282M 602M 32% /sbin
/usr 4.8G 3.3G 1.5G 70% /usr
proc 0K 0K 0K 0% /proc
ctfs 0K 0K 0K 0% /system/contract
swap 558M 248K 558M 1% /etc/svc/volatile
mnttab 0K 0K 0K 0% /etc/mnttab
fd 0K 0K 0K 0% /dev/fd
swap 558M 0K 558M 0% /tmp
swap 558M 16K 558M 1% /var/run
|
ということで、ZONE(コンテナ)のインストールは、終わった。いろいろ実験してみたい気もするが、それは次回に!!