SolarisDemos
目次
Table of Contents |
簡単にできそうな、Soalris のデモを紹介しています。
Solaris 11.1 特集 †
Oracle VM Server for SPARC (LDom) の設定デモ †
制御ドメインを Solaris 11.1 にして LDom を使ってみる。 デモ環境は、T1000 なので、11.1 の LDom 2.2 には対応しておらず、 あえてLDom 1.2 を使ったデモになります。
Solaris 11.1 バンドルの LDom 2.2 を uninstall して LDom 1.2 をインストールする。
# pkg uninstal ldom
LDom 1.2 のインストール
# Install/install-ldm
LDom デーモンの起動
# svcadm enable ldmd
# ldm list NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME primary active ---c- SP 32 8192M 0.3% 19d 9m
Ultra-SPARC T1 (T1000) では、制御ドメインの設定が終わるまで次のメッセージが出力されます。
Notice: the LDom Manager is running in configuration mode. Any configuration changes made will only take effect after the machine configuration is downloaded to the system controller and the host is reset.
仮想ディスクサーバー (vds) を作成
# ldm add-vds primary-vds0 primary
ポートの範囲が 5000 ~ 5100 の仮想コンソール端末集配信装置サービス (primary-vcc0) を、制御ドメイン (primary) に追加
# ldm add-vcc port-range=5000-5100 primary-vcc0 primary
仮想スイッチサービス (vsw) を作成
# ldm add-vsw net-dev=bge0 primary-vsw0 primary # ldm list-services primary VCC NAME LDOM PORT-RANGE primary-vcc0 primary 5000-5100 VSW NAME LDOM MAC NET-DEV DEVICE DEFAULT-VLAN-ID PVID VID MTU MODE primary-vsw0 primary 00:14:4f:f8:82:b1 bge0 switch@0 1 1 1500 VDS NAME LDOM VOLUME OPTIONS MPGROUP DEVICE primary-vds0 primary vol1 /dev/zvol/dsk/pool/vdisk1 iso_vol /var/tmp/sol-exp.iso
制御ドメインの初期構成
# ldm list -o crypto primary
MAU の割り当てを解除
# ldm set-mau 0 primary
8つの仮想CPU を制御ドメインに割り当てる
# ldm set-vcpu 8 primary
4GB のメモリーを制御ドメインに割り当てる(残り4G をゲストドメインで使用可)
# ldm set-memory 4G primary # ldm list-domain NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME primary active -n-cv- SP 8 4G 22% 11m
initial という名前の構成をSP(サービスプロセッサ)に追加する
# ldm add-config initial
再起動後は initial 構成で起動する
# ldm list-config factory-default initial [next poweron]
再起動
# shutdown -y -g0 -i6
仮想ネットワーク端末サーバーデーモンを有効にする
# svcadm enable vntsd
# svcs -l vntsd
ゲストドメイン (ldg1) の作成
# ldm add-domain ldg1
仮想 CPU の割り当て
# ldm add-vcpu 4 ldg1
メモリーの割り当て
# ldm add-memory 2G ldg1
仮想ネットワーク(vnet1)をゲストドメインに割り当てる
# ldm add-vnet vnet1 primary-vsw0 ldg1
仮想ディスクの作成 (このデモでは物理ディスクの代わりに仮想ディスクを使う)
# zfs create -V 22g rpool/export/vdisk1
仮想ディスクをエクスポートする
# ldm add-vdsdev /dev/zvol/dsk/rpool/export/disk1 vol1@primary-vds0
仮想ディスクをゲストドメインに追加
# ldm add-vdisk vdisk1 vol1@primary-vds0 ldg1
ゲストドメインの auto-boot および boot-device 変数を設定
# ldm set-var auto-boot\?=true ldg1 # ldm set-var boot-device=vdisk1 ldg1
ゲストドメインにリソースをバインド
# ldm bind-domain ldg1 # ldm list-domain ldg1 NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME ldg1 bound ----- 5000 4 2G
ゲストドメインに Solaris をインストール
Solaris インストール用ISO image を vdisk_iso という名前の仮想ディスクとしてバインドする
# ldm add-vdsdev /var/tmp/solaris.iso iso_vol@primary-vds0 # ldm add-vdisk vdisk_iso iso_vol@primary-vds0 ldg1
DVD からインストールする場合は
# ldm add-vdsdev /dev/dsk/c2t0d0s2 dvd_vol@primary-vds0 # ldm add-vdisk vdisk_cd_media dvd_vol@primary-vds0 ldg1
# ldm list-bindings NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME primary active -n-cv SP 4 4G 0.2% 22h 45m ... VDS NAME VOLUME OPTIONS DEVICE primary-vds0 vol1 /dev/zvol/dsk/rpool/export/vdisk1 iso_vol /var/tmp/solaris.iso .... ------------------------------------------------------------------------------ NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME ldg1 inactive ----- 4 4G ... DISK NAME VOLUME TOUT DEVICE SERVER vdisk1 vol1@primary-vds0 vdisk_iso iso_vol@primary-vds0 ....
ゲストドメインのバインドとスタート
# ldm bind ldg1 # ldm start ldg1 LDom ldg1 started
ゲストドメインのコンソールに接続
# telnet localhost 5000 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. Connecting to console "ldg1" in group "ldg1" .... Press ~? for control options ..
デバイスの確認
ok devalias vdisk_iso /virtual-devices@100/channel-devices@200/disk@1 vdisk1 /virtual-devices@100/channel-devices@200/disk@0 vnet1 /virtual-devices@100/channel-devices@200/network@0 virtual-console /virtual-devices/console@1 name aliases
インストール
ok boot vdisk_iso:f
DVD からインストール場合は
ok boot vdisk_cd_media:f
あとは通常のインストールと同じ
ゲストドメインの停止
# ldm stop ldg1
全てのドメインの停止
# ldm stop-domain -a
出荷時 デフォルト構成に戻す
# ldm set-config factory-default
AI インストール †
さらに簡単になりましたね。
インストールサービスパッケージのインストール
# pkg install install/installadm
インストールサービスの作成
# installadm create-service
Warning: Service svc:/network/dns/multicast:default is not online. Installation services will not be advertised via multicast DNS. Creating service from: pkg:/install-image/solaris-auto-install OK to use subdir of /export/auto_install to store image? [y/N]: y
# svcadm refresh system/install/server:default
マルチキャストDNSの有効化(必要なのかよく解らず。。)
# svcadm enable /network/dns/multicast
インストールサーバのネットワークの構成
# svccfg -s system/install/server:default setprop all_services/networks = 192.168.10.21/24 # svcadm refresh system/install/server:default
ISOファイルを利用 SPARC インストールサービスの作成
# installadm create-service -s /var/tmp/images/sparc/sol-11_1-ai-sparc.iso -i 192.168.10.200 -c 2 -y
この例では DHCP で 192.168.10.200 番から client 2個分をアサインする。
Creating service from: /var/tmp/images/sparc/sol-11_1-ai-sparc.iso Setting up the image ... Creating sparc service: solaris11_1-sparc Image path: /export/auto_install/solaris11_1-sparc Service discovery fallback mechanism set up Creating SPARC configuration file Starting DHCP server... Adding IP range to local DHCP configuration Refreshing install services Creating default-sparc alias Service discovery fallback mechanism set up Creating SPARC configuration file Setting the default SPARC bootfile(s) in the local DHCP configuration to: http://192.168.10.21:5555/cgi-bin/wanboot-cgi Refreshing install services
# installadm list
Service Name Alias Of Status Arch Image Path ------------ -------- ------ ---- ---------- default-i386 solaris11_1_6_2_0-i386 on i386 /export/auto_install/solaris11_1_6_2_0-i386 default-sparc solaris11_1-sparc on sparc /export/auto_install/solaris11_1-sparc solaris11_1-sparc - on sparc /export/auto_install/solaris11_1-sparc solaris11_1_6_2_0-i386 - on i386 /export/auto_install/solaris11_1_6_2_0-i386
デフォルト構成でSPARC mashine からの DHCP boot と AI インストール
OK> boot net:dhcp - install
svcbundle でマニフェスト作成 †
システム管理者にはなにかと便利な、svcbundle のデモです。 内容は、Glynn が書いた記事を参考にしています。
デーモン系のサービスを SMF で管理するマニフェストを svcbundle で作成してみます。
# svcbundle -o nagios.xml -s service-name=application/nagios -s model=daemon -s start-method="/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg"
出力される nagios.xml の内容は以下のとおり
<?xml version="1.0" ?> <!DOCTYPE service_bundle SYSTEM '/usr/share/lib/xml/dtd/service_bundle.dtd.1'> <!-- Manifest created by svcbundle (2012-Nov-10 22:30:23+0900) --> <service_bundle type="manifest" name="application/nagios"> <service version="1" type="service" name="application/nagios"> <!-- The following dependency keeps us from starting until the multi-user milestone is reached. --> <dependency restart_on="none" type="service" name="multi_user_dependency" grouping="require_all"> <service_fmri value="svc:/milestone/multi-user"/> </dependency> <exec_method timeout_seconds="60" type="method" name="start" exec="/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg" /> <!-- The exec attribute below can be changed to a command that SMF should execute to stop the service. See smf_method(5) for more details. --> <exec_method timeout_seconds="60" type="method" name="stop" exec=":kill"/> <!-- The exec attribute below can be changed to a command that SMF should execute when the service is refreshed. Services are typically refreshed when their properties are changed in the SMF repository. See smf_method(5) for more details. It is common to retain the value of :true which means that SMF will take no action when the service is refreshed. Alternatively, you may wish to provide a method to reread the SMF repository and act on any configuration changes. --> <exec_method timeout_seconds="60" type="method" name="refresh" exec=":true"/> <!-- We do not need a duration property group, because contract is the default. Search for duration in svc.startd(1M). --> <instance enabled="true" name="default"/> <template> <common_name> <loctext xml:lang="C"> <!-- Replace this comment with a short name for the service. --> </loctext> </common_name> <description> <loctext xml:lang="C"> <!-- Replace this comment with a brief description of the service --> </loctext> </description> </template> </service> </service_bundle>
作成したマニフェストを有効にする
# cp nagios.xml /lib/svc/manifest/site # svcadm restart manifest-import # svcs nagios STATE STIME FMRI online 9:46:24 svc:/application/nagios:default
追加した nagios サービスをみてみる
# pgrep -l nagios 1202 nagios # ptree 1202 1202 /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
nagios サービスを disable にする
# svcadm disable nagios # ptree 1202 # pgrep -l nagios
再度有効にする
# svcadm enable nagios # pgrep -l nagios 2060 nagios # ptree 2060 2060 /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
SMF マニフェストの雛形を簡単に作ってくれるのは便利ですよね。
つづいて、svcbundle で System Profile を設定する方法。
# svcbundle -o nameserver-config.xml -s service-name=network/dns/client -s bundle-type=profile -s service-property="config:nameserver:net_address:192.168.10.254"
bundle-type は default はマニフェストなので、"profile" を指定する。
# cat nameserver-config.xml <?xml version="1.0" ?> <!DOCTYPE service_bundle SYSTEM '/usr/share/lib/xml/dtd/service_bundle.dtd.1'> <!-- Manifest created by svcbundle (2012-Nov-24 23:30:57+0900) --> <service_bundle type="profile" name="network/dns/client"> <service version="1" type="service" name="network/dns/client"> <property_group type="application" name="config"> <propval type="net_address" name="nameserver" value="192.168.10.254"/> </property_group> </service> </service_bundle>
svc に反映。
# cp nameserver-config.xml /etc/svc/profile/site # svcadm restart manifest-import # svcprop -p config/nameserver dns/client 192.168.10.254
Solaris 11.1最新デモ(Solaris 3 分クッキング 24巻) †
VNIC マイグレーション †
Solaris 11.1 で VNIC の属性が動的に変更可能になりました
$ dladm show-link LINK CLASS MTU STATE OVER net0 phys 1500 up -- net1 phys 1500 down -- myzone/net0 vnic 1500 up net0 axf0 phys 1500 up
例えば、Wiredの物理 NIC が複数ある場合、VNIC のリンク先を動的に変更可能です。
$ sudo dladm modify-vnic -l axf0 myzone/net0
$ dladm show-link LINK CLASS MTU STATE OVER net0 phys 1500 up -- net1 phys 1500 down -- myzone/net0 vnic 1500 up axf0 axf0 phys 1500 up --
データリンクレベルで動的に切り替わるので、例えば myzone 上で ftp で大きなファイルを 転送中に、より速い NIC に切り替えとかできたりします
Solaris 11 特集 †
ネットワーク設定デモ(Solaris 3 分クッキング 23巻) †
dladm(1M) データリンクの表示
% dladm show-link
dladm(1M) 物理データリンクの表示
% dladm show-phys
netadm(1M) ネットワーク構成プロファイルの表示
% netadm list
netadm(1M) 自動構成から手動構成への切り替え
% sudo netadm enable -p ncp DefaultFixed
netadm(1M) 手動構成から自動構成への切り替え
% sudo netadm enable -p ncp Automatic
手動構成での各設定方法
% sudo netadm enable -p ncp DefaultFixed % netadm list % dladm show-link % ipadm show-addr
IPアドレスの手動設定
% sudo ipadm create-ip net0 % sudo ipadm create-addr -T static -a 192.168.1.10/24 net0/v4 % ipadm show-addr
デフォルトルートの設定
% sudo route -p add default 192.168.1.1 % netstat -rn
DNSの設定
% sudo svccfg -s name-service/switch setprop config/host = astring: \"dns files\" % sudo svccfg -s name-service/switch:default refresh % sudo svcadm restart name-service/switch
DNSサーバの設定
% sudo svccfg -s dns/client setprop config/nameserver=net_address: 192.168.1.1 % sudo svccfg -s dns/client:default refresh % sudo svcadm restart dns/client
DNSネームサービスの確認
% dig % host www.oracle.com
IPMPの設定
% sudo ipadm create-ipmp ipmp0 % sudo ipadm create-ip net0 % sudo ipadm create-ip net4 % sudo ipadm create-ip net5 % sudo ipadm add-ipmp -i net0 -i net4 -i net5 ipmp0 % sudo ipadm create-addr -T static -a 192.168.1.20/24 ipmp0/v4addr1 % sudo ipadm create-addr -T static -a 192.168.1.21/24 ipmp0/v4addr2 % sudo ipadm create-addr -T static -a 192.168.1.10/24 net0/test % sudo ipadm create-addr -T static -a 192.168.1.14/24 net4/test % sudo ipadm create-addr -T static -a 192.168.1.15/24 net5/test % ipadm show-addr % ipmpstat -g % ipmpstat -t % ipmpstat -i
IPMP の設定解除
% sudo ipadm remove-ipmp -i net5 -i net4 -i net0 ipmp0 % sudo ipadm delete-ipmp ipmp0 % sudo ipadm delete-ip net5 % sudo ipadm delete-ip net4 % sudo ipadm delete-ip net0 % ipadm show-addr
リンク集約の設定
% dladm show-link % sudo dladm create-aggr -l net0 -l net4 -l net5 aggr0 % sudo ipadm create-ip aggr0 % sudo ipadm create-addr -T static -a 192.168.1.30/24 aggr0/v4 % ipadm show-addr % sudo dladm show-aggr -x
リンク集約の設定の解除
% sudo dladm remove-aggr -l net4 -l net5 aggr0 % sudo dladm show-aggr -x % sudo ipadm delete-ip aggr0 % sudo dladm delete-aggr aggr0
あと処理、元にもどす [#k65952b9]
% sudo netadm enable -p ncp Automatic % dig % host www.oracle.com
参考資料
- Oracle Solaris 管理: ネットワークインタフェースとネットワーク仮想化http://docs.oracle.com/cd/E26924_01/html/E25834/index.html
- 本日デモで使用した USB Ethernet アダプタ: Logitec LAN-TX/U2H3B(USB2.0 Ether) ドライバー axf IO DATA ETX2—US2(USB2.0 Ether) ドライバー upf
- axf, upf ドライバーは、 Murayama 氏の Free NIC driver for OpenSolaris から入手し GLDv3 対応に再コンパイルしたものです。http://homepage2.nifty.com/mrym3/taiyodo/eng/
Zone AIデモ(Solaris 3 分クッキング 22巻) †
ipfilter のデモ(Solaris 3 分クッキング 21巻) †
仮想ワイヤデモ(Solaris 3 分クッキング 20巻) の環境を をそのまま利用します。
$ sudo zlogin router ipadm show-addr
$ sudo zlogin router svcs ipfilter:default
デフォルトでは /etc/ipf/ipf.conf には何も記述されておりません。
$ sudo zlogin router cat /etc/ipf/ipf.conf
$ sudo zlogin router ipfstat -io
Router の /etc/ipf/ipf.conf に下記を追記する。
# Allow in/out Loopback pass out quick on lo0 pass in quick on lo0 # Allow port 80(http) pass out quick proto tcp from any to any port = 80 keep state pass out quick proto udp from any to any port = 80 # Deny out on vnic3 all block out log on vnic3 all #block in log on vnic3 all
$ sudo zlogin router svccfg -s ipfilter:default listprop
$ sudo zlogin router svccfg -s ipfilter:default setprop firewall_config_default/policy = astring: "custom"
$ sudo zlogin router svccfg -s ipfilter:default setprop firewall_config_default/custom_policy_file = astring: "/etc/ipf/ipf.conf"
ipfilter サービスの有効化
$ sudo zlogin router svcadm refresh ipfilter:default
$ sudo zlogin router svcadm enable ipfilter:default
$ sudo zlogin router ipfstat -io
Netperf 1.1.1.1 → 2.2.2.2 のすべてのパケットは全てブロックされますが、 http のパケット 2.2.2.2 → 1.1.1.1はパスされていること確認することができます。
仮想ワイヤデモ(Solaris 3 分クッキング 20巻) †
zfs dedup のデモ(Solaris 3 分クッキング 19巻) †
100MB の仮ディスク領域を作成
$ sudo mkfile 100m /dev/dsk/dedupdisk Password:
作成した領域から dpool という名前で zfs プールを作成
$ sudo zpool create -f dpool dedupdisk
dpool の状況表示
$ zpool status dpool pool: dpool state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM dpool ONLINE 0 0 0 dedupdisk ONLINE 0 0 0 errors: No known data errors
dpool のリスト表示
$ zpool list dpool NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT dpool 95M 119K 94.9M 0% 1.00x ONLINE - $ $ zfs list dpool NAME USED AVAIL REFER MOUNTPOINT dpool 85K 62.9M 31K /dpool
dpool dedup機能を ON にする
$ sudo zfs set dedup=on dpool
適当なサイズのファイルを dpool にコピー
$ ls -lh /usr/jdk/latest/jre/lib/rt.jar -rw-r--r-- 1 root bin 50M 10月 21日 2011年 /usr/jdk/latest/jre/lib/rt.jar $ $ sudo cp /usr/jdk/latest/jre/lib/rt.jar /dpool/. $ $ ls -lh /dpool total 101971 -rw-r--r-- 1 root root 50M 5月 7日 04:11 rt.jar $ $ zpool list dpool NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT dpool 95M 50.4M 44.6M 53% 1.00x ONLINE - $ $ zfs list dpool NAME USED AVAIL REFER MOUNTPOINT dpool 50.3M 12.7M 49.8M /dpool
同じファイルを別名でコピーする
$ sudo cp /usr/jdk/latest/jre/lib/rt.jar /dpool/rt-1.jar $ $ ls -lh /dpool total 203948 -rw-r--r-- 1 root root 50M 5月 7日 04:12 rt-1.jar -rw-r--r-- 1 root root 50M 5月 7日 04:11 rt.jar $ $ zpool list dpool NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT dpool 95M 50.6M 44.4M 53% 1.99x ONLINE - $ $ zfs list dpool NAME USED AVAIL REFER MOUNTPOINT dpool 100M 12.4M 99.9M /dpool
同じファイルをさらに別名でコピーする
$ sudo cp /usr/jdk/latest/jre/lib/rt.jar /dpool/rt-2.jar
実際の /dpool 下には3つのファイルが存在する
$ ls -lh /dpool total 306181 -rw-r--r-- 1 root root 50M 5月 7日 04:12 rt-1.jar -rw-r--r-- 1 root root 50M 5月 7日 04:12 rt-2.jar -rw-r--r-- 1 root root 50M 5月 7日 04:11 rt.jar $ $ zpool list dpool NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT dpool 95M 50.6M 44.4M 53% 2.99x ONLINE - $ $ zfs list dpool NAME USED AVAIL REFER MOUNTPOINT dpool 150M 12.3M 150M /dpool
dpool の削除
$ sudo zpool destroy dpool
仮ディスク領域の削除
$ sudo rm /dev/dsk/dedupdisk
pkg コマンドデモ (Solaris 3 分クッキング 18巻) †
pkg コマンドのマンページ表示
% man pkg
pkg コマンドのヘルプ表示
% pkg help
デフォルトのレポジトリを確認する
% pkg publisher
レポジトリに更新可能なパッケージがあるか確認する
% pkg list -u
レポジトリに更新可能なパッケージがあれば更新する
% sudo pkg update
キーワード gzip でインストールイメージを検索
% pkg search gzip
キーワード /usr/bin/gzip でインストールイメージを検索
% pkg search /usr/bin/gzip
gzip パッケージのリスト表示
% pkg list -af gzip
gzip パッケージ情報の取得
% pkg info gzip
gzip パッケージのコンテンツの表示(その1)
% pkg contents gzip
パッケージのコンテンツの表示(その2)
% pkg contents -t dir,file,link,hardlink -o action.name,mode,pkg.size,path,target gzip
gcc がインストールされてるか調べる
% which gcc
gcc をレポジトリから調べる(その1)
% pkg search -r gcc
gcc をレポジトリから調べる(その2)
% pkg search -r /usr/sfw/bin/gcc
gcc パッケージの情報をレポジトリから調べる
% pkg list -af *gcc
gcc-3 パッケージの情報をレポジトリから調べる
% pkg info -r gcc-3
レポジトリを確認する
% pkg publisher
レポジトリを変更する
% sudo pkg set-publisher -g http://localhost:80/ -G '*' solaris
検索Index を更新する
% sudo pkg rebuid-index
レポジトリをリフレッシュする
% sudo pkg refresh
パッケージをレポジトリからインストールする
% pkg install -v gcc-3");
gcc がインストールされたか確認する
% which gcc
gcc パッケージの情報をレポジトリから調べる
% pkg list -af *gcc*
gcc-3 パッケージをアンインストールする
% sudo pkg uninstall -v gcc-3
gcc が削除されているか確認する
% which gcc
レポジトリをデフォルトに戻す
% pkg set-publisher -g http://pkg.oracle.com/solaris/release -G '*' solaris
レポジトリを確認する
% pkg publisher
zone 作成デモ (自動構成を指定する方法) †
$ zfs list rpool/Zones NAME USED AVAIL REFER MOUNTPOINT rpool/Zones 2.04G 63.9G 36.5K /rpool/Zones
$ sudo zonecfg -z myzone "create;set zonepath=/rpool/Zones/myzone;commit;exit" $ sudo zoneadm -z myzone install -c /var/tmp/myzone_config.xml Progress being logged to /var/log/zones/zoneadm.20120506T215757Z.myzone.install Image: Preparing at /rpool/Zones/myzone/root. Install Log: /system/volatile/install.5619/install_log AI Manifest: /tmp/manifest.xml.wUaO8k SC Profile: /var/tmp/myzone_config.xml Zonename: myzone Installation: Starting ... Creating IPS image Installing packages from: solaris origin: http://localhost:80/ ダウンロード パッケージ ファイル 転送 (MB) Completed 167/167 32062/32062 175.8/175.8 フェーズ アクション インストールフェーズ 44313/44313 フェーズ 項目 パッケージ状態の更新フェーズ 167/167 イメージ状態の更新フェーズ 2/2 Installation: Succeeded Note: Man pages can be obtained by installing pkg:/system/manual done. Done: Installation completed in 687.311 seconds. Next Steps: Boot the zone, then log into the zone console (zlogin -C) to complete the configuration process. Log saved in non-global zone as /rpool/Zones/myzone/root/var/log/zones/zoneadm.20120506T215757Z.myzone.install
$ sudo zoneadm -z myzone ready
$ sudo zoneadm -z myzone boot
/var/tmp/myzone_config.xml の内容は以下のとおり、この例では default user は、 admin で Password は "abc123" です、network は Automatic 構成のため、起動後 DHCP で IP 接続されます。
<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1"> <service_bundle type="profile" name="sysconfig"> <service version="1" type="service" name="system/config-user"> <instance enabled="true" name="default"> <property_group type="application" name="root_account"> <propval type="astring" name="login" value="root"/> <propval type="astring" name="password" value="$5$k7T7i5qm$niM/KI.FAinEEBMNVwnL2CsSsq1aGGHaz.KvGEnNbM2"/> <propval type="astring" name="type" value="role"/> </property_group> <property_group type="application" name="user_account"> <propval type="astring" name="login" value="admin"/> <propval type="astring" name="password" value="$5$zadzZ31b$uTSjUrN4D9bBtqmq9h1NgWMDdwFHwpxtZoljL.vJox4"/> <propval type="astring" name="type" value="normal"/> <propval type="astring" name="description" value="admin"/> <propval type="count" name="gid" value="10"/> <propval type="astring" name="shell" value="/usr/bin/bash"/> <propval type="astring" name="roles" value="root"/> <propval type="astring" name="profiles" value="System Administrator"/> <propval type="astring" name="sudoers" value="ALL=(ALL) ALL"/> </property_group> </instance> </service> <service version="1" type="service" name="system/timezone"> <instance enabled="true" name="default"> <property_group type="application" name="timezone"> <propval type="astring" name="localtime" value="Japan"/> </property_group> </instance> </service> <service version="1" type="service" name="system/environment"> <instance enabled="true" name="init"> <property_group type="application" name="environment"> <propval type="astring" name="LANG" value="ja_JP.UTF-8"/> </property_group> </instance> </service> <service version="1" type="service" name="system/identity"> <instance enabled="true" name="node"> <property_group type="application" name="config"> <propval type="astring" name="nodename" value="myzone"/> </property_group> </instance> </service> <service version="1" type="service" name="system/keymap"> <instance enabled="true" name="default"> <property_group type="system" name="keymap"> <propval type="astring" name="layout" value="Japanese"/> </property_group> </instance> </service> <service version="1" type="service" name="system/console-login"> <instance enabled="true" name="default"> <property_group type="application" name="ttymon"> <propval type="astring" name="terminal_type" value="vt100"/> </property_group> </instance> </service> <service version="1" type="service" name="network/physical"> <instance enabled="true" name="default"> <property_group type="application" name="netcfg"> <propval type="astring" name="active_ncp" value="Automatic"/> </property_group> </instance> </service> </service_bundle>
# zlogin myzone [Connected to zone 'myzone' pts/3] Oracle Corporation SunOS 5.11 11.0 November 2011 root@myzone:~# ipadm show-addr ADDROBJ TYPE STATE ADDR lo0/v4 static ok 127.0.0.1/8 net0/_b dhcp ok 192.168.11.7/24 lo0/v6 static ok ::1/128 net0/_a addrconf ok fe80::8:20ff:fef7:18a4/10 net0/_a addrconf ok 240f:7:8ccd:1:8:20ff:fef7:18a4/64 root@myzone:~#
SMF のデモ †
$ svcs|more STATE STIME FMRI legacy_run 4:31:40 lrc:/etc/rc2_d/S47pppd legacy_run 4:31:41 lrc:/etc/rc2_d/S89PRESERVE disabled 4:31:28 svc:/network/ipsec/policy:default online 4:30:06 svc:/system/early-manifest-import:default online 4:30:06 svc:/system/svc/restarter:default online 4:30:09 svc:/network/tcp/congestion-control:newreno online 4:30:09 svc:/network/sctp/congestion-control:cubic online 4:30:09 svc:/network/tcp/congestion-control:cubic online 4:30:09 svc:/network/tcp/congestion-control:highspeed online 4:30:09 svc:/network/sctp/congestion-control:highspeed online 4:30:09 svc:/network/tcp/congestion-control:vegas online 4:30:09 svc:/network/sctp/congestion-control:newreno ...
$ svcs|wc -l 142
$ svcs -a|wc -l 217
$ svcs -xv
$ sudo kill `pgrep sendmail' $ svcs -l sendmail fmri svc:/network/smtp:sendmail name sendmail SMTP mail transfer agent enabled true state online next_state none state_time 2012年05月07日 07時32分08秒 logfile /var/svc/log/network-smtp:sendmail.log restarter svc:/system/svc/restarter:default contract_id 312 manifest /etc/svc/profile/generic.xml manifest /lib/svc/manifest/network/smtp-sendmail.xml dependency require_all/refresh file://localhost/etc/mail/sendmail.cf (online) dependency require_all/refresh file://localhost/etc/nsswitch.conf (online) dependency optional_all/none svc:/system/filesystem/autofs (online) dependency require_all/none svc:/system/filesystem/local (online) dependency require_all/none svc:/network/service (online) dependency require_all/refresh svc:/milestone/name-services (online) dependency optional_all/refresh svc:/system/identity:domain (online) dependency optional_all/none svc:/system/system-log (online)
$ sudo svcadm disable sendmail
$ svcs -x sendmail svc:/network/smtp:sendmail (sendmail SMTP mail transfer agent) State: disabled since 2012年05月07日 07時32分12秒 Reason: Disabled by an administrator. See: http://sun.com/msg/SMF-8000-05 See: sendmail(1M) See: /var/svc/log/network-smtp:sendmail.log Impact: This service is not running.
$ sudo svcadm enable sendmail
$ svcs -x sendmail svc:/network/smtp:sendmail (sendmail SMTP mail transfer agent) State: online since 2012年05月07日 07時32分21秒 See: sendmail(1M) See: /var/svc/log/network-smtp:sendmail.log Impact: None.