Solaris10 x86 6/06 にて、Solaris Container の作成をしてみました。

ファイルシステムは zfs を使ってみます。

zfs を作る

まず zfs ファイルシステムのプールを作成します。

# zpool create -f zfspool c0d0s7

zone 用のファイルシステムを割り当てる

10GB 分切り出してみます。

# zfs create zfspool/zone1
# zfs set mountpoint=/export/zone1 zfspool/zone1
# zfs set quota=10G zfspool/zone1
# zfs list
NAME                   USED  AVAIL  REFER  MOUNTPOINT
zfspool                156K  66.4G  24.5K  /zfspool
zfspool/home          35.5K  66.4G  35.5K  /export/home
zfspool/zone1         24.5K  10.0G  24.5K  /export/zone1

/export/zone1 は chmod 700 しておきます。

# chmod 700 /export/zone1

zone の定義を作成

zone1 という zone を作成してみます。
IPアドレスは 192.168.1.101 で、NIC は rtls0 を共有することにします。
ファイルシステムは上で切り出した /export/zone1 です。
自動起動も設定します。
# zonecfg -z zone1
zone1: そのような構成済みゾーンはありません
'create' を使用して、新しいゾーンの構成を開始してください。
zonecfg:zone1> create
zonecfg:zone1> set zonepath=/export/zone1
zonecfg:zone1> set autoboot=true
zonecfg:zone1> add net
zonecfg:zone1:net> set address=192.168.1.101
zonecfg:zone1:net> set physical=rtls0
zonecfg:zone1:net> end
zonecfg:zone1> verify
zonecfg:zone1> commit
zonecfg:zone1> exit

作成した定義の確認

定義が作成されたことが確認できます。中身はまだありません。

# zoneadm list -vc
  ID NAME             STATUS         PATH
   0 global           running        /
   - zone1            configured     /export/zone1

zone のインストール

global zone からパッケージをインストールしていきます。

# zoneadm -z zone1 install
Preparing to install zone <zone1>.
Creating list of files to copy from the global zone.
Copying <2471> files to the zone.
Initializing zone product registry.
Determining zone package initialization order.
Preparing to initialize <1061> packages on the zone.
Initializing package <290> of <1061>: percent complete: 27%
...
Initialized <1061> packages on zone.
Zone <zone1> is initialized.
The file </export/zone1/root/var/sadm/system/logs/install_log> contains a log of
 the zone installation.

zone の起動

# zoneadm -z zone1 boot

コンソール接続

OS としての初期設定を行うため、コンソール接続します。 言語やタイムゾーン、ホスト名などの設定をしていきます。

# zlogin -C zone1
[ゾーン 'zone1' コンソールに接続しました]
...
Select a Language

  0. English
  1. Japanese

Please make a choice (0 - 1), or press h or ? for help:
... (などなど)

全部設定が終われば、プロンプトが出てきます。 これで zone の作成は完了です。

SunOS Release 5.10 Version Generic_118855-15 32-bit
Copyright 1983-2005 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.
Hostname: zone1

zone1 console login:

このコンソールは、~^D で抜けます。

作成した zone の確認

running になっていることが確認できます。

# zoneadm list -vc
  ID NAME             STATUS         PATH                          
   0 global           running        /                             
   2 zone1            running        /export/zone1 

ネットワークの確認

ifconfig で IP アドレスなどの確認をしてみました。 ユーザを作ればここで設定した 192.168.1.101 へ SSH 接続ができるので、 リモートから他の設定もできるようになります。

global zone

# hostname
solaris10
# zonename
global
# ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000 
lo0:1: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
        zone zone1
        inet 127.0.0.1 netmask ff000000 
rtls0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        inet 192.168.1.2 netmask ffffff00 broadcast 192.168.1.255
        ether 0:7:40:xx:xx:ca 
rtls0:1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        zone zone1
        inet 192.168.1.101 netmask ffffff00 broadcast 192.168.1.255

local zone (zone1)

# zonename
zone1
# hostname
zone1
# ifconfig -a
lo0:1: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000 
rtls0:1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        inet 192.168.1.101 netmask ffffff00 broadcast 192.168.1.255


トップ   差分 履歴 リロード   一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2011-01-29 (土) 15:27:49