solaris112beta
目次
Table of Contents |
Kernel Zone を作成する †
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 を作成する †
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 イメージ として保管する †
archiveadm を使えば、Kernel Zone や local zone の boot 環境ごとimage file に変換することができます。
# archiveadm create -z kzone /var/tmp/kzone.uar
保管した Unified Archive イメージから、別の Kernel Zone として展開も可能です。 具体例は、下記の "OpenStack を試してみる"でも紹介しています。
OpenStack を試してみる †
参考の記事 Getting Started with OpenStack on Oracle Solaris 11.2
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 イメージは、ここからダウンロード可能です。
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 ダッシュボードを開いてみます。
今回 Oralce Solaris 11.2 Beta 用の Unified Archive でプリセットされた環境では、User: admin Passwd: secrete でログインできます。
Glance(イメージ管理)に Unified Archive イメージを追加する †
Oracle Solaris 11.2 Beta の Unified Archive イメージは、ここ からダウンロード可能です。簡単に作ることも可能です。
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 が追加されたことが確認できます。