Go to TOP Page
Google:


□コンテナで Whole Root Zone


○Sparse Zone と Whole Root Zone の違い

Solaris 10 でつくれる zone は 2 種類ありまつ。

でつ。

□Sparse Zone(疎ルートゾーン)

大部分のファイルシステムを global zone のファイルシステムから Read Onlyで loopback mount しまつ。
なので、ファイルを書き込めるレポジトリがカナリ限定されまつ。
デフォルトの状態で Sparse Zone を構成すると、


Read Only なとこと Write OK なとこ
Read Only Write OK
  • /lib
  • /platform
  • /sbin
  • /usr
  • /
  • /var
  • /opt
  • /export

なにがマヅイのっ?っつー話でつが、早いハナシが、

/usr/local が Write
できないのよ☆-Σ(゚∀゚)
ドオオオオオオオン(i||;^∀^)o_彡☆あははっ

こりゃ、イタイ。
回避策としては、 /opt アタリを有効活用するしかなさそーでつ。
Sparse Zone のメリットは、

ってなとこでしょうか?
他にもあると思うけど思いあたらづヽ(´▽`)丿
外部からクラックされた場合、 Read Only なのでミョーなファイルを 書き込まれにくいっつーのもあるカモしれませんね。

でつが、 global zone で /usr/local に書き込んでおいて zone で NFS mount でもすれば?ミタイな手も使えまつ。
直接 ufs mount できそーなオプションを見たよーな気もしまつが、 調べてマセン。このアタリの事は coming soon ってことで。


□Whole Root Zone(完全ルートゾーン)

Whole Root Zone は global zone のファイルシステムを全てコピーして 自前で独立したファイルを持ちます。なので、

/usr/local が Write
できるよっ 彡☆-d('-^o)
ドオオオオオオオン(〃^∇^)o_彡☆あははっ

オイラ的にはこれが最大のメリット。
パッチもぱちらないとダメっつのもありますが、そこは目をつむっておきまつ。 必要な disk 容量でつが、

約4.3G Byte

必要でつ。ヽ(´▽`)丿
global zone の /usr を全て cp しているのでしょーがないのでつが、 Whole Root Zone の構成後、不要な pkg を pkgrm するとかしても良い のでわないかなぁ?

今回は、Whole Root Zone を構成してみまつ。


□ハード的なコト


○事前準備

今回、 zone を構成する SMCC は、

ってなとこで。 disk は 最低でも 4.3G Byte 食っちゃうってコトで、

Seagate 400G Byte IDE + SCSI Bridge で zfs

したドライブに zone の各種ファイルを収めるようにしていまつ。
qfe0 は global zone でちゃんと使えるようにしておいてね。

それと、 zone の構成ファイルを収めるディレクトリが必要でつ。 今回は /zone にしていまつ。予め作っておいてくらさい。


□Whole Root Zone を構成


○コマンドとか

基本的には、 Sparse Zone の構成と同じでつ。
異なる部分は、 loopback mount されるファイルシステムを loopback mount されないように定義するだけでつ。
今回、Name Server を構築しよーと思いまつたので hostname は ns にしていまつ。
Whole Root Zone の構成ファイルを収めるレポジトリは、/zone にしていまつ。


Whole Root Zone の構築コマンド
# zonecfg -z ns
zonecfg:ns> create
zonecfg:ns> set zonepath=/zone/ns
zonecfg:ns> set autoboot=true
zonecfg:ns> remove inherit-pkg-dir dir=/lib ← loopback mount させない設定
zonecfg:ns> remove inherit-pkg-dir dir=/platform ← loopback mount させない設定
zonecfg:ns> remove inherit-pkg-dir dir=/sbin ← loopback mount させない設定
zonecfg:ns> remove inherit-pkg-dir dir=/usr ← loopback mount させない設定
zonecfg:ns> add net
zonecfg:ns:net> set address=192.168.126.1
zonecfg:ns:net> set physical=qfe0
zonecfg:ns:net> end
zonecfg:ns> verify
zonecfg:ns> commit
zonecfg:ns> exit
# zoneadm -z ns install
# zoneadm -z ns boot

loopback mount させない設定しただけで、後は Sparse Zone の構築と全く同じでつ。 ファイルの実体を cp しているだけあって構築にはカナリ時間を要しまつ。
気長に待って下さい。


□zone へ login


○初回ログイン

zone の構成後、初回 login は、


login コマンド
# zlogin -C ns

のように -C オプションを付けまつ。
初回 login 時は、 SMF を構成し、その後 sys-unconfig した時の画面が 表示されまつ。
ここで zone の host の構成情報を入力して host の設定をしてくらさい。

zlogin の session を dis-connect するときは、


dis-connect キャラクタ
 ~. 

でつ。
初回ログイン後は、ふつーに


zlogin
# zlogin ns

でおっけ。
不要な pkg を pkgrm するなり、ソフトをインストールするなり してみてください。


□zone メンテナンス


○zone 削除

zone を綺麗さっぱり削除する場合は、

削除 コマンド
global# zoneadm -z zone-name halt
global# zoneadm -z zone-name uninstall -F
global# zonecfg -z zone-name delete -F

稼動中の zone を halt で停止して削除。
綺麗さっぱり無くなるぞ。


○zone 起動・停止

zone 起動・停止 コマンド
global# zoneadm -z zone-name boot(起動)
global# zoneadm -z zone-name halt(停止)

○zone の shutdown /

zone のshutdown / Failsafe Mode コマンド
global# zlogin zone-name shutdown -i 0(shutdown)
global# zlogin -S zone-name(Failsafe Mode)

○zone の sys-unconfig

zone の sys-unconfig コマンド
global# zlogin -S zone-name /usr/sbin/sys-unconfig

○zone の /etc/sysidcfg

なんの定義なのかわ、

感じ取ってくらさい

このファイルのレポジトリは、

なのら。



shared-IP zone の sysidcfg 一例
system_locale=C
terminal=dtterm
network_interface=primary {
    hostname=my-zone
}
security_policy=NONE
name_service=NIS {
    domain_name=special.example.com
name_server=bird(xxx.xxx.xxx.xxx)←IP アドレス
}
timezone=US/Central
root_password=*******


exclusive-IP zone with a static IP sysidcfg 一例
system_locale=C
terminal=dtterm
network_interface=primary {
    hostname=my-zone
    default_route=10.10.10.1
    ip_address=10.10.10.13
    netmask=255.255.255.0
}
timezone=US/Central
root_password=********


exclusive-IP zone with DHCP and IPv6 option sysidcfg 一例
system_locale=C
terminal=dtterm
network_interface=primary {
    dhcp protocol_ipv6=yes
}
security_policy=NONE
name_service=DNS {
    domain_name=example.net
    name_server=xxx.xxx.xxx.xxx,yyy.yyy.yyy.yyy←IP アドレス
}
timezone=US/Central
root_password=**********

○zone の NFSv4 ドメイン設定

して open してもらって・・・

exclusive-IP zone with DHCP and IPv6 option sysidcfg 一例
        ・
        ・
        ・
    - snip -
        ・
        ・
        ・
NFSMAPID_DOMAIN=domain

んで、


○zone の move

zone の move コマンド
global# zoneadm -z db-zone halt
global# zoneadm -z db-zone move /foo/bar/db-zone

移動が終わったら、

とかして、 zone path を確認してみてくらさい。




go back    next
Copyright(c) ORATORIO-TANGRAM.com 2001-2007 All Rights Reserved.
Total:counter