solaris112betaのソース
#freeze
[[Solarisのページに戻る>Solaris]]
目次
#contentsx
------
** Kernel Zone を作成する [#ae0dbea2]
Kernel Zone Brand package の確認
# pkg list brand/brand-solaris-kz
NAME (PUBLISHER) VERSION IFO
system/zones/brand/brand-solaris-kz 0.5.11-0.175.2.0.0.37.1 i--
Kernel Zone が使用可能か確認する。
# virtinfo
NAME CLASS
non-global-zone supported
kernel-zone supported
Memory が小さい環境では、Kernel Zone を動作させるホスト上の ZFS ARCキャッシュサイズを小さくしておく。例) 例えば 8GB 実メモリを実装のマシンで、Kernel Zone を 2GB メモリで動作させる場合、ホストの /etc/system に下記一行を追加して、ZFS ARC キャッシュを 1GB に押さえておく。
set zfs:zfs_arc_max=0x40000000
~* /etc/system を編集したら、リブートが必要です。
Kernel Zone の構成
# zonecfg -z kzone "create -t SYSsolaris-kz;commit;exit"
あるいは、もっと簡単に
# zonecfg -z kzone create -t SYSsolaris-kz
Kernel Zone のインストール
# zonecfg -z kzone install
Kernel Zone に 物理HDD を割り当ててない場合は、ZVOL を作成して rpool を割り当てます。deaultのサイズは 16GB ですが、ZVOL のサイズを変更するには、-x install-size で指定します。
# zoneadm -z kzone install -x install-size=32G
Kernel Zone の起動
# zoneadm -z kzone ready
# zoneadm -z kzone boot
# zoneadm list -vc
0 global running / solaris shared
1 kzone running - solaris-kz excl
- myzone installed /rpool/zones/myzone solaris excl
# zlogin kzone
root@kzone:~# zfs list
NAME USED AVAIL REFER MOUNTPOINT
rpool 4.53G 10.9G 32.5K /rpool
rpool/ROOT 2.46G 10.9G 31K legacy
rpool/ROOT/solaris-1 2.46G 10.9G 2.34G /
rpool/ROOT/solaris-1/var 121M 10.9G 119M /var
rpool/VARSHARE 2.40M 10.9G 2.30M /var/share
rpool/VARSHARE/pkg 63K 10.9G 32K /var/share/pkg
rpool/VARSHARE/pkg/repositories 31K 10.9G 31K /var/share /pkg/repositories
rpool/VARSHARE/zones 31K 10.9G 31K /system/zones
rpool/dump 1.03G 10.9G 1.00G -
rpool/export 96.5K 10.9G 32K /export
rpool/export/home 64.5K 10.9G 32K /export/home
rpool/export/home/admin 32.5K 10.9G 32.5K /export/home/admin
rpool/swap 1.03G 10.9G 1.00G -
root@kzone:~#
*** Kernel Zone の中で、さらに local zone を作成する [#g36acc17]
Kernel Zone の便利そうなところといえば、Zone であっても global zone が存在し、Kernel zone の中で さらに local zone を作成/実行できるところでしょう。仮想環境としての用途/可能性がますます広がりそうです
Bare metal(global zone) <--> Kernel Zone(global zone) <--> Local zone
Kernel Zone の中で、local zone を作成する。
kzone# zonecfg -z myzone create
kzone# zoneadm -z myzone install
kzone# zoneadm -z myzone boot
kzone# zlogin -C myzone
さすがに、Kernel Zone 中の locale zone の起動は、オーバーヘッドが小さいといっても若干時間はかかります。ちょっと驚いたのは、kernel zone で、local zone をインストールしても、ほとんどdisk容量を食わないことです。
Oracle Corporation SunOS 5.11 11.2 April 2014
admin@myzone:~$ zfs list
NAME USED AVAIL REFER MOUNTPOINT
rpool 708M 5.78G 31K /rpool
rpool/ROOT 707M 5.78G 31K legacy
rpool/ROOT/solaris 707M 5.78G 660M /
rpool/ROOT/solaris/var 39.2M 5.78G 38.2M /var
rpool/VARSHARE 958K 5.78G 895K /var/share
rpool/VARSHARE/pkg 63K 5.78G 32K /var/share/pkg
rpool/VARSHARE/pkg/repositories 31K 5.78G 31K /var/share /pkg/repositories
rpool/export 96.5K 5.78G 32K /export
rpool/export/home 64.5K 5.78G 32K /export/home
rpool/export/home/admin 32.5K 5.78G 32.5K /export/home/admin
これは使えそうな。。
** archiveadm(1m)で Zone を Unified Archive イメージ として保管する [#n838f861]
archiveadm を使えば、Kernel Zone や local zone の boot 環境ごとimage file に変換することができます。
# archiveadm create -z kzone /var/tmp/kzone.uar
保管した Unified Archive イメージから、別の Kernel Zone として展開も可能です。
具体例は、下記の "OpenStack を試してみる"でも紹介しています。
** OpenStack を試してみる [#bc188f37]
参考の記事 [[Getting Started with OpenStack on Oracle Solaris 11.2>http://www.oracle.com/technetwork/articles/servers-storage-admin/getting-started-openstack-os11-2-2195380.html]]
Oracle Solaris 11.2 (Beta) では、OpenStack Grizzly 2013.1.4 リリースレベルがパッケージ化されているようです。
Openstack 環境の構築のために、手っ取り早い方法として、すでに OpenStack が pre-install された Unified Archive イメージを使って、Kernel Zone としてインストールする方法が紹介されています。
Oracle Solaris 11.2 Beta 用の Unified Archive イメージは、[[ここ>http://www.oracle.com/technetwork/server-storage/solaris11/downloads/beta-unified-archives-2190886.html]]からダウンロード可能です。
install 時に -a で、UAR イメージを指定します
# zonecfg -z openstack "create -t SYSsolaris-kz;select anet id=0;add mac; set mac-address=auto; end; end;commit;exit"
# zoneadm -z openstack install -a /export/home/user/Downloads/sol-11_2-beta-openstack-x86.uar
autoinstall でインストールと設定が始まります。
Progress being logged to /var/log/zones/zoneadm.20140512T150354Z.openstack.install
[Connected to zone 'openstack' console] done.
reading kernel file /platform/i86pc/kernel/amd64/unix...done.
SunOS Release 5.11 Version 11.2 64-bit
Copyright (c) 1983, 2014, Oracle and/or its affiliates. All rights reserved.
Remounting root read/write
Probing for device nodes ...
Preparing image for use
Done mounting image
Configuring devices.
Hostname: solaris
Using specified install manifest : /system/shared/ai.xml
solaris console login: Automated Installation started
The progress of the Automated Installation will be output to the console
Detailed logging is in the logfile at /system/volatile/install_log
Press RETURN to get a login prompt at any time.
15:06:06 Install Log: /system/volatile/install_log
15:06:06 Using XML Manifest: /system/volatile/ai.xml
15:06:06 Using profile specification: /system/volatile/profile
15:06:06 Starting installation.
15:06:06 0% Preparing for Installation
15:06:06 100% manifest-parser completed.
15:06:06 100% None
15:06:06 0% Preparing for Installation
15:06:07 1% Preparing for Installation
15:06:07 2% Preparing for Installation
<省略>
15:14:16 87% Transferring contents
15:14:24 88% Transferring contents
15:14:31 Completed transfer of stream: '659805f7-1085-e7a8-c5cc-ad9e894c83c3-0.zfs' from file:///system/shared/uafs/OVA
15:14:32 89% Transferring contents
15:14:35 Archive transfer completed
15:14:37 Destroying received snapshots under: rpool@659805f7-1085-e7a8-c5cc-ad9e894c83c3
15:14:37 cannot open 'rpool/ROOT/solaris-1@rollback': snapshot does not exist
15:14:38 90% generated-transfer-1402-1 completed.
15:14:38 90% apply-pkg-variant completed.
15:14:40 Setting boot devices in firmware
15:14:40 91% boot-configuration completed.
15:14:40 91% update-dump-adm completed.
15:14:40 92% setup-swap completed.
15:14:40 92% device-config completed.
15:14:42 92% apply-sysconfig completed.
15:14:42 93% transfer-zpool-cache completed.
15:14:55 98% boot-archive completed.
15:14:55 98% transfer-ai-files completed.
15:14:56 98% cleanup-archive-install completed.
15:14:56 100% create-snapshot completed.
15:14:56 100% None
15:14:57 Automated Installation succeeded.
15:14:57 You may wish to reboot the system at this time.
Automated Installation finished successfully
Shutdown requested. Shutting down the system
Log files will be available in /var/log/install/ after reboot
svc.startd: The system is coming down. Please wait.
svc.startd: 114 system services are now being stopped.
syncing file systems... done
[NOTICE: Zone halted]
[Connection to zone 'openstack' console closed]
Done: Installation completed in 681.965 seconds.
以上で、Unified Archive からのインストールは完了。あとは通常の Zone と同じように boot と初期設定を行う。
# zoneadm -z openstack boot
# zlogin -C openstack
必要な初期構成が終わったら、下記の Perl script を実行します。
root@openstack:~# /usr/demo/openstack/configure_evs.py
Generating public/private rsa key pair.
Your identification has been saved in /var/user/evsuser/.ssh/id_rsa.
Your public key has been saved in /var/user/evsuser/.ssh/id_rsa.pub.
The key fingerprint is:
e6:03:dc:16:1b:e5:2a:8b:c4:a1:f3:5c:a4:86:ab:05 evsuser@openstack
Generating public/private rsa key pair.
Created directory '/var/lib/neutron/.ssh'.
Your identification has been saved in /var/lib/neutron/.ssh/id_rsa.
Your public key has been saved in /var/lib/neutron/.ssh/id_rsa.pub.
The key fingerprint is:
5c:12:97:4c:64:ac:b2:ad:f8:d8:5d:c8:d0:4b:d4:f4 neutron@openstack
Oracle Corporation SunOS 5.11 11.2 April 2014
Generating public/private rsa key pair.
Created directory '/root/.ssh'.
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
29:96:7d:9f:17:fd:a3:6b:d0:2a:b6:34:7b:7b:4f:94 root@openstack
populating authorized_keys
configuring EVS
enabling Neutron
OpenStack ダッシュボードを開いてみます。
http://openstack/horizon
今回 Oralce Solaris 11.2 Beta 用の Unified Archive でプリセットされた環境では、User: admin Passwd: secrete でログインできます。
#ref(openstack-0.png)
#ref(openstack-1.png)
#ref(openstack-2.png)
#ref(openstack-3.png)
#ref(openstack-4.png)
*** Glance(イメージ管理)に Unified Archive イメージを追加する [#o908d03b]
Oracle Solaris 11.2 Beta の Unified Archive イメージは、[[ここ>http://www.oracle.com/technetwork/server-storage/solaris11/downloads/beta-unified-archives-2190886.html]] からダウンロード可能です。簡単に作ることも可能です。
openstack# achiveadm create -z myzone /var/tmp/myzone.uar
Initializing Unified Archive creation resources...
Unified Archive initialized: /var/tmp/myzone.uar
Logging to: /system/volatile/archive_log.3823
Executing dataset discovery...
Dataset discovery complete
Creating install media for zone(s)...
Media creation complete
Preparing archive system image...
Beginning archive stream creation...
Archive stream creation complete
Beginning final archive assembly...
Archive creation complete
openstack# ls -l /var/tmp/myzone.uar
-rw-r--r-- 1 root root 1259110400 5月 22日 19:29 /var/tmp/myzone.uar
今回は、ダウンロードした image を使います。
openstack# ls -l /var/tmp/sol-11_2-beta-x86.uar
-rw-r--r-- 1 root root 1295892480 5月 23日 2014年 sol-11_2-beta-x86.uar
Glance にダウンロードした image を追加します。
openstack# glance --os-username glance --os-password glance --os-tenant-name service --os-auth-url http://localhost:5000/v2.0 image-create --container-format bare --disk-format raw --is-public true --name "Oracle Solaris 11.2 NGZ" --property architecture=x86_64 --property hypervisor_type=solariszones --property vm_mode=zones < /var/tmp/sol-11_2-beta-x86.uar
+----------------------------+--------------------------------------+
| Property | Value |
+----------------------------+--------------------------------------+
| Property 'architecture' | x86_64 |
| Property 'hypervisor_type' | solariszones |
| Property 'vm_mode' | zones |
| checksum | abfa68038db5350ff42a484976e87580 |
| container_format | bare |
| created_at | 2014-05-12T03:59:54.756360 |
| deleted | False |
| deleted_at | None |
| disk_format | raw |
| id | 87fb2b70-251a-cdae-8533-ef05a9c33d6f |
| is_public | True |
| min_disk | 0 |
| min_ram | 0 |
| name | Oracle Solaris 11.2 NGZ |
| owner | 3553c6559eafcbc2bfccf03b869e1fb2 |
| protected | False |
| size | 1295892480 |
| status | active |
| updated_at | 2014-05-12T04:04:32.327361 |
+----------------------------+--------------------------------------+
horizon で image が追加されたことが確認できます。
#ref(openstack-5.png)