solaris ディープダイブセミナー #4: a-2-1 サービス実行を超えた...

46
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 1

Upload: solarisjp

Post on 29-Nov-2014

1.101 views

Category:

Documents


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management Facility Part I

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 1

Page 2: Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management Facility Part I

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 2

以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。以下の事項は、マテリアルやコード、機能を提供することをコミットメント(確約)するものではないため、購買決定を行う際の判断材料になさらないで下さい。オラクル製品に関して記載されている機能の開発、リリースおよび時期については、弊社の裁量により決定されます。

OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。

文中の社名、商品名等は各社の商標または登録商標である場合があります。

Page 3: Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management Facility Part I

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 3

サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management Facility Part I

システム事業統括 ソリューション統括本部

野崎 宏明

Page 4: Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management Facility Part I

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 4

スピーカー自己紹介

学生時代

– JDK 1.1でPrologの推論機構を実装し検索エンジンの真似ごと

1998年4月(日本)サン・マイクロシステムズ新卒入社

– ふと気づけば社会人15年目

ほぼずっとSE (Sはシステム?セールス?)

– 主にSolaris、開発環境、Sun Rayシンクライアント

– 今は主に通信系のお客様担当

– Oracle では SC (Sales Consultant) と呼ばれます

1年だけサポートエンジニア

– Java VMの解析

Solarisエバンジェリスト(宣教師?!)

– 最近は特にZFSの宣伝係としての出番増

Page 5: Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management Facility Part I

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 5

Program Agenda

Solaris における予測的自己修復機能

Service Management Facility

– Solaris 10 での実装

(Solaris 11 での実装はSolaris 10 での実装をベースにしています)

まとめと参考情報

Page 6: Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management Facility Part I

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 6

予測的自己修復とは

システムの可用性を大幅に向上させる機能

– 問題検出

状態監視と情報収集体系の強化・標準化

– 問題点分析

診断エンジンによる分析・診断

– 自動対応

障害部切り離し、プロセス再起動等

システムの継続運用

Fault Management Architecture (FMA)

– 主にハードウェア

Service Management Facility (SMF)

– 主にソフトウェア

Solaris 11 では

SMFとFMAの

連携・網羅性が向上

Page 7: Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management Facility Part I

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 7

Service Management Facility ~Solaris 10 での実装内容~ (Solaris 11 での実装はSolaris 10 での実装をベースにしています)

Page 8: Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management Facility Part I

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 8

Solaris 9までのサービス管理(1)

「サービス」の明確な定義無し

– 1つまたは複数のdaemonプロセス..?

システム起動時、停止時

– initがランレベルに応じて/sbin/rc<r>を起動

<r>はランレベル(S, 1, 2, 3, 5, 6)

– rc<r>は/etc/rc<r>.d以下のスクリプト群を呼ぶ

S??<name>はstartを引数として

K??<name>はstopを引数として

– ??は数字で値の小さい順にrc<r>が実行

»起動/終了順序はただ1個の列

Page 9: Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management Facility Part I

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 9

Solaris 9までのサービス管理(2)

あるdaemonが落ちたとき

– daemon再起動だけでよいと判断できたら

そのdaemonの起動手順に従って起動

– /etc/init.d以下のスクリプトがよく使われる

» /etc/rc<r>.d以下のコピーかsymlinkが多い

– 他の複数daemon等への依存が判断できたら

各daemonを依存関係に従い1個1個起動・停止

– S??やK??の順序を参考に..?

– どのdaemon等まで依存するかわからない場合

システムの再起動??

あるdaemonを落としたいときも

– 依存関係で同様の問題

専門知識無しでは

かなり難しそう

Page 10: Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management Facility Part I

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 10

SMF開発目的

主にソフトウェアの可用性向上

– SMF前

サービスは落ちたら落ちっぱなし

サービス間依存関係が曖昧もしくは不明

– 判断や対処の妨げになる

– (rcでは1シーケンスの起動順のみ記述)

監視モジュールを作り込むか、クラスタリングによる対処が必要

– SMFにて

落ちたサービスは自動で復旧

– 管理者の介在不要

サービス単位での起動・停止が可能に

監視モジュール不要、クラスタリングの必然性は少なくなる

真のセルフヒーリングの実現

Page 11: Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management Facility Part I

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 11

SMFとは

サービスをオブジェクトとして監視・管理

– /etc/init.d/*, /etc/rc*や/etc/inet/inetd.conf などの後継

– 従来のrcスクリプトも使用可能

ただしSMFの利便性が享受できない

サービス障害の検知、自動リスタート

– 管理上、ソフトウェアのバグ、訂正できないハードウェアエラー

サービス構成情報(依存関係など)のチェック機能

ブート時の詳細表示オプションによるサービス起動確認

サービス並列起動による boot 時間の短縮

root 以外のユーザへの安全な権限委譲

– サービスベースのリソース管理が可能

サービスの起動、停止、状態表示などの統一的な管理機能を提供。

ハードウェア・ソフトウェア障害時に、自動的にサービスを再起動。

Page 12: Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management Facility Part I

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 12

SMFの構造

Solaris カーネル

init(1M)

svc.startd(1M)

監視エージェント・ コマンド

管理エージェント・ コマンド

サービス群

プロセス 起動

リポジトリ クライアント

inetd 配下の サービス群

inetd(1M) svc.configd(1M)

libscf(3LIB) レポジトリAPI Delegated restarter

Page 13: Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management Facility Part I

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 13

SMFサービスを構成するパーツ

例: Solaris 10 のApache2

– FMRI (Fault-Management Resource Identifier)

svc:/network/http:apache2

– Manifest

/var/svc/manifest/network/http-apache2.xml

– Daemon

/usr/apache2/bin/httpd

– Exec Method

/lib/svc/method/http-apache2

– Log File

/var/svc/log/network-http:apache2.log

注: Solaris 10 では Apache 1.3 を rc スクリプト、Apache 2.0 を SMF で提供。

Solaris 11 では Apache 2.2 を SMF で提供。

Page 14: Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management Facility Part I

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 14

サービス構成パーツの置き場

Profile

– システム全般のサービス設定

– /var/svc/profile

Manifest

– 個々のサービスの詳細定義

– /var/svc/manifest

Exec Method

– サービス起動・停止用実行ファイル(スクリプト)

– /lib/svc/method

Log File

– /var/svc/log

Solaris 10 の場合

Page 15: Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management Facility Part I

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 15

サービスカテゴリ

application:アプリケーション

milestones: サービス集合

platform: プラットフォーム固有

system: システムサービス

– system/filesystem/*.xml

ポイント: 「ファイルシステムがマウントされ使用可能」というサービス

device: デバイス固有

network: ネットワーク・インターネット

– network-physical.xml

ポイント: 「NICが使用可能」というサービス

site: サイト固有

Solaris 10 の場合

Page 16: Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management Facility Part I

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 16

milestoneとランレベル

single-user.xml

– ランレベルS (シングルユーザーモード)

multi-user.xml

– ランレベル2 (マルチユーザーモード)

multi-user-server.xml

– ランレベル3 (NFSを共有したマルチユーザーモード)

Page 17: Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management Facility Part I

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 17

FMRI

サービスを表す名称

ホスト内で一意であれば指定時に省略可能

– 省略例 (重複が無ければコマンド引数等以下どれでもよい)

svc://localhost/network/http:apache2

svc:/network/http:apache2

network/http:apache2

http:apache2

apache2

Page 18: Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management Facility Part I

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 18

SMFコマンド

svcs

– サービスの状態を報告

svcadm

– サービスインスタンスの操作

svccfg

– サービス構成の操作

svcprop

– サービス設定プロパティ値の取得

Page 19: Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management Facility Part I

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 19

svcsコマンド

svcs :サービス状態の表示

svcs -a :全てのサービス状態の表示

svcs -l <FMRI>:サービス詳細情報の表示

svcs -d <FMRI>:依存するサービスの表示

svcs -D <FMRI>: 依存されるサービスの表示

svcs -x :不具合のあるサービスの情報表示

各 -v : 詳細表示

Page 20: Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management Facility Part I

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 20

デモ1

svcsコマンドによるサービス状態表示

– 状態表示内容の確認

– -a の有無による違い

– サービスの詳細表示

– 依存しているサービスの表示

– 依存されているサービスの表示

Page 21: Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management Facility Part I

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 21

SMF - サービスの一覧表示(1) Solaris 10 での例

root@host1# svcs -a

STATE STIME FMRI

legacy_run 4月_01 lrc:/etc/rc2_d/S10lu

legacy_run 4月_01 lrc:/etc/rc2_d/S20sysetup

...

disabled 4月_01 svc:/system/metainit:default

disabled 4月_01 svc:/platform/sun4u/mpxio-upgrade:default

...

online 4月_01 svc:/system/svc/restarter:default

online 4月_01 svc:/network/pfil:default

...

offline 4月_01 svc:/application/print/ipp-listener:default

offline 4月_01 svc:/application/print/rfc1179:default

Page 22: Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management Facility Part I

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 22

SMF - サービスの一覧表示(2)

状態表示

– legacy_run

旧来のrcスクリプトによるサービスでSMF管理外

– online

サービスが有効で動作中

– offline

サービスは有効だが停止している

– degraded

サービスが有効で動作中だが一部機能が制限

– disable

サービスが管理者によって無効とされている

– maintenance

サービスは有効だが問題があり動作していない

– uninitialized

サービスの構成が読み込まれる前

Page 23: Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management Facility Part I

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 23

SMF - サービスの詳細情報表示 Solaris 10 での例

root@host1# svcs -l apache2

fmri svc:/network/http:apache2

name Apache 2 HTTP server

有効 true

状態 online

next_state none

state_time 2007年08月28日 (火) 20時21分25秒

logfile /var/svc/log/network-http:apache2.log

リスタータ svc:/system/svc/restarter:default contract_id 2865

dependency require_all/error svc:/network/loopback:default (online)

dependency optional_all/error svc:/network/physical:default (online)

Page 24: Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management Facility Part I

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 24

SMF -サービスの依存関係

依存関係

– require_all が全てonline/degradedのとき

– require_any のどれかがonline/degraded のとき

– optional_all がonline/degradedか、管理待ちのとき (つまりオプション)

– exclude_all の全てがdisabled/maintenance のとき

依存するサービスが停止・更新したら

– restart_on='none' → 停止しない

– restart_on='error' → 依存するサービスがエラー停止なら停止

– restart_on='restart' → 'error' +エラー以外の停止時も停止

– restart_on='refresh' → 'restart' +更新時も停止

Page 25: Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management Facility Part I

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 25

SMF - サービスの依存関係表示

依存しているサービスの表示

依存されているサービスの表示

Solaris 10 での例

root@host1# svcs -d apache2

STATE STIME FMRI

online 18:45:18 svc:/network/loopback:default

online 18:45:21 svc:/network/physical:default

root@host1# svcs -D apache2

STATE STIME FMRI

Page 26: Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management Facility Part I

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 26

svcadmコマンド

svcadm enable <FMRI>

– サービスの有効化と起動

svcadm disable <FMRI>

– サービスの無効化と停止

– リブート後も保持される

svcadm clear <FMRI>

– maintenance状態からの復帰

svcadm restart <FMRI>

– サービスの再起動

svcadm refresh <FMRI>

– サービス構成の再読込

各 -t : 一時的な変更

Page 27: Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management Facility Part I

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 27

デモ2

svcadmコマンドによるサービスの起動と停止

– サービスの状態確認

– 別ウィンドウでログを表示

– サービスの有効化と起動

– サービスの再起動

– サービスの無効化と停止

– 自動再起動

– 起動しない場合のトラブル対応

Page 28: Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management Facility Part I

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 28

SMF - サービスの起動・停止(1)

サービス状態の確認

– サービスは停止している

サービスを有効化し起動

Solaris 10 での例

root@host1# svcs -a | grep apache

legacy_run 4月_01 lrc:/etc/rc3_d/S50apache

disabled 20:04:30 svc:/network/http:apache2

root@host1# svcs -v apache2

STATE NSTATE STIME CTID FMRI

disabled - 20:04:30 - svc:/network/http:apache2

root@host1# svcadm enable apache2

root@host1# svcs -v apache2

STATE NSTATE STIME CTID FMRI

online - 20:10:51 2861 svc:/network/http:apache2

Page 29: Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management Facility Part I

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 29

SMF - サービスの起動・停止(2)

ログにより起動を確認

プロセス情報確認

Solaris 10 での例

root@host1# tail -f /var/svc/log/network-http:apache2.log

[ Apr 25 20:10:50 Enabled. ]

[ Apr 25 20:10:50 Executing start method

("/lib/svc/method/http-apache2 start") ]

[ Apr 25 20:10:51 Method "start" exited with status 0 ]

root@host1# svcs -p apache2 STATE STIME FMRI

online 20:10:51 svc:/network/http:apache2

20:10:51 7425 httpd 20:10:52 7426 httpd

20:10:52 7427 httpd

20:10:52 7428 httpd

20:10:52 7429 httpd

20:10:52 7430 httpd

Page 30: Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management Facility Part I

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 30

SMF - サービスの起動・停止(3)

サービスの再起動

ログによる再起動の確認

Solaris 10 での例

root@host1# svcadm restart apache2 root@host1# svcs -v apache2

STATE NSTATE STIME CTID FMRI

online - 20:15:44 2863 svc:/network/http:apache2

root@host1# tail -f /var/svc/log/network-http:apache2.log

[ Apr 25 20:15:43 Stopping because service restarting. ]

[ Apr 25 20:15:43 Executing stop method

("/lib/svc/method/http-apache2 stop") ] [ Apr 25 20:15:43 Method "stop" exited with status 0 ]

[ Apr 25 20:15:43 Executing start method

("/lib/svc/method/http-apache2 start") ] [ Apr 25 20:15:44 Method "start" exited with status 0 ]

Page 31: Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management Facility Part I

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 31

SMF - サービスの起動・停止(4)

自動再起動

プロセスIDが新しくなっている

Solaris 10 での例

root@host1# kill 7425

root@host1# svcs -p apache2

STATE STIME FMRI

online 20:21:25 svc:/network/http:apache2

20:21:25 7462 httpd 20:21:26 7463 httpd

20:21:26 7464 httpd

20:21:26 7465 httpd

20:21:26 7466 httpd

20:21:26 7467 httpd

Page 32: Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management Facility Part I

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 32

SMF - サービスの起動・停止(5)

自動再起動をログで確認

Solaris 10 での例

root@host1# tail -f /var/svc/log/network-http:apache2.log

[ Apr 25 20:21:24 Stopping because all processes in service exited. ]

[ Apr 25 20:21:24 Executing stop method

("/lib/svc/method/http-apache2 stop") ] httpd (no pid file) not running [ Apr 25 20:21:24 Method "stop" exited with status 0 ]

[ Apr 25 20:21:24 Executing start method

("/lib/svc/method/http-apache2 start") ] [ Apr 25 20:21:25 Method "start" exited with status 0 ]

Page 33: Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management Facility Part I

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 33

トラブル対応

svcs -xv でサービスの状態を確認

– http://www.sun.com/msg/<MSG-ID> を確認

My Oracle Support へのアクセス権が必要

– サービスのログを確認

/var/svc/log や /etc/svc/volatile

コンソールやsyslog (/var/adm/messages)をチェック

不具合解消後はsvcadm clear <FMRI>

ブート時にシステムがハングする場合

– boot -m milestone=none

– プロンプトでログインしてsvcadm milestone all

– svcsでシステムの状況を調査

Page 34: Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management Facility Part I

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 34

svcprop / svccfgコマンド

svcprop <FMRI>

– プロパティ値の表示

svccfg list

– サービスリスト表示

svccfg

– サービスパラメータ設定

svccfg export <FMRI>

– サービスのmanifest を標準出力に出力

svccfg import <manifest_file>

– manifest_file をリポジトリに取り込む

Page 35: Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management Facility Part I

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 35

デモ3

svccfg コマンドによるサービスの設定変更

– サービスリポジトリの特定

– リポジトリ情報の表示

– 設定されているサービスのリスト表示

– サービスのパラメータ設定

Page 36: Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management Facility Part I

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 36

SMF - サービスリポジトリ

リポジトリの実体(SQLite形式)

リポジトリ情報の表示

Solaris 10 での例

root@host1# cd /etc/svc

root@host1# ls -l repository.db

-rw------- 1 root sys 2268160 4月 25日 20:10 repository.db

root@host1# svcprop apache2

httpd/ssl boolean false

httpd/stability astring Evolving

loopback/entities fmri svc:/network/loopback:default

loopback/grouping astring require_all

loopback/restart_on astring error

loopback/type astring service

physical/entities fmri svc:/network/physical:default

:

Page 37: Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management Facility Part I

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 37

SMF - 既存サービスの設定変更

設定されているサービスのリスト表示

サービスのパラメータ設定

Solaris 10 での例

root@host1# svccfg list

system/console-login

system/device/local

...

network/http

...

root@host1# svccfg

svc:> select network/http:apache2

svc:/network/http:apache2> setprop parameter=”value”

svc:/network/http:apache2> exit

Page 38: Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management Facility Part I

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 38

SMF - リスタータがinetdのサービス

inetadm

– リスト表示

inetadm -e <FMRI>

– 有効化して起動

inetadm -d <FMRI>

– 無効化して停止

inetadm -l <FMRI>

– サービスの詳細表示

inetconv

– 既存 inetd サービスの取り込みや

inted.conf 形式から manifest 形式への変換

Page 39: Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management Facility Part I

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 39

SMF - rcスクリプトなどから新規サービスの作成

1. 類似サービスのエクスポート

2. manifestの編集

3. 必要ファイルの配備

4. サービスのインポート (Solaris 11 ではsvcadm restart manifest-import)

Solaris 10 での例

root@host1# svccfg export network/http > apache.xml

root@host1# cat apache.xml

(/var/svc/manifest/network/http-apache.xml同様の内容)

root@host1# svccfg import apache.xml

詳細は下記ドキュメント参照 How to Migrate Control of System Services from Scripts to the Service Management Facility

• http://www.oracle.com/technetwork/articles/servers-storage-admin/scripts-to-smf-1641705.html

How to Create an Oracle Solaris Service Management Facility Manifest • http://www.oracle.com/technetwork/server-storage/solaris/solaris-smf-manifest-wp-167902.pdf

Page 40: Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management Facility Part I

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 40

デモ4

inetd 管理下サービスの操作

– リスト表示

– 詳細表示

– 無効化

– 有効化

– 既存サービスの取り込み

Solaris 10 にて新規サービスの作成

– lrc:/etc/rc3_d/S50apache を SMF 管理下に

– apache2 をベースに apache サービスを構成

Page 41: Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management Facility Part I

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 41

Solaris 9 までのサービス管理との違いのまとめ

サービスの無効化

– 従来: mv /etc/rc2.d/S75cron /etc/rc2.d/x.S75.cron

– SMF: svcadm disable system/cron:default

サービスの再起動

– 従来: /etc/init.d/sshd stop; /etc/init.d/sshd start

– SMF: svcadm restart network/ssh:default

ランレベルの変更

– 従来: init S

– SMF: svcadm milestone -d milestone/single-user:default

Page 42: Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management Facility Part I

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 42

最近のOS内サービスの依存関係はここまで複雑

もはやスクリプトで手動で管理するのは限界

Page 43: Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management Facility Part I

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 43

SMFまとめ

サービス開発者、システム開発者

– 依存関係やサービス定義を明確に行う必要あり

サービスの可用性向上につながる

サービス監視モジュール不要

クラスタリングの必然性は少なくなる

– 可用性要件に基づいて検討

システム管理者

– 落ちたサービスは基本的に自動で復旧

管理者介在不要

– 自動復旧しないサービス

統一的な手順で調査と対処が可能

Page 44: Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management Facility Part I

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 44

参考情報

Oracle Solaris 11 マニュアル (日本語) 「Oracle Solaris の管理: 一般的なタスク」

– http://docs.oracle.com/cd/E26924_01/html/E25810/index.html

6. サービスの管理(概要)、7. サービスの管理(手順)

(英語版)

– http://docs.oracle.com/cd/E23824_01/html/821-1451/index.html

6. Managing Services (Overview), 7. Managing Services (Tasks)

Solaris 10 マニュアル (日本語) 「Solaris のシステム管理 (基本編)」

– http://docs.oracle.com/cd/E24845_01/html/819-0378/index.html

18. サービスの管理(概要)、19. サービスの管理(手順)

Oracle University 「Solaris 8/9 管理者の為のSolaris 10 システム管理速習」 – http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getCourseDesc?dc=D66660JP10

OTN (Oracle Technology Network) Solaris SMF ページ

– http://www.oracle.com/technetwork/server-storage/solaris11/technologies/smf-1690889.html

SMF依存関係グラフ例

– http://opensolaris.org/os/community/smf/scfdot/

Page 45: Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management Facility Part I

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 45

Page 46: Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management Facility Part I

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 46