1   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。    また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことは    できません。以下の事項は、マテリアルやコード、機能を提供することをコミットメント ...
サービス実行を超えた新たなサービス管理アーキテクチャService Management FacilityPart I     システム事業統括 ソリューション統括本部     野崎 宏明 3   Copyright © 2012, Oracl...
スピーカー自己紹介     学生時代         – JDK 1.1でPrologの推論機構を実装し検索エンジンの真似ごと     1998年4月(日本)サン・マイクロシステムズ新卒入社         – ふと気づけば社会人15年目 ...
Program Agenda     Solaris における予測的自己修復機能     Service Management Facility         – Solaris 10 での実装                   (S...
予測的自己修復とは     システムの可用性を大幅に向上させる機能         – 問題検出                   状態監視と情報収集体系の強化・標準化         – 問題点分析                  ...
Service Management Facility~Solaris 10 での実装内容~(Solaris 11 での実装はSolaris 10 での実装をベースにしています)  7   Copyright © 2012, Oracle an...
Solaris 9までのサービス管理(1)     「サービス」の明確な定義無し        – 1つまたは複数のdaemonプロセス..?     システム起動時、停止時        – initがランレベルに応じて/sbin/rc<...
Solaris 9までのサービス管理(2)     あるdaemonが落ちたとき        – daemon再起動だけでよいと判断できたら                  そのdaemonの起動手順に従って起動            ...
SMF開発目的     真のセルフヒーリングの実現      主にソフトウェアの可用性向上         – SMF前                   サービスは落ちたら落ちっぱなし                   サービス間依...
SMFとは       サービスの起動、停止、状態表示などの統一的な管理機能を提供。       ハードウェア・ソフトウェア障害時に、自動的にサービスを再起動。      サービスをオブジェクトとして監視・管理         – /etc/...
SMFの構造管理エージェント・                                     監視エージェント・                          inetd 配下の        サービス群コマンド         ...
SMFサービスを構成するパーツ      例: Solaris 10 のApache2          – FMRI (Fault-Management Resource Identifier)                    sv...
サービス構成パーツの置き場     Solaris 10 の場合      Profile          – システム全般のサービス設定          – /var/svc/profile      Manifest        ...
サービスカテゴリ     Solaris 10 の場合      application:アプリケーション      milestones: サービス集合      platform: プラットフォーム固有      system: シ...
milestoneとランレベル      single-user.xml          – ランレベルS (シングルユーザーモード)      multi-user.xml          – ランレベル2 (マルチユーザーモード) ...
FMRI      サービスを表す名称      ホスト内で一意であれば指定時に省略可能          – 省略例 (重複が無ければコマンド引数等以下どれでもよい)                    svc://localhost...
SMFコマンド      svcs          – サービスの状態を報告      svcadm          – サービスインスタンスの操作      svccfg          – サービス構成の操作      svc...
svcsコマンド      svcs :サービス状態の表示      svcs -a :全てのサービス状態の表示      svcs -l <FMRI>:サービス詳細情報の表示      svcs -d <FMRI>:依存するサービスの...
デモ1      svcsコマンドによるサービス状態表示         – 状態表示内容の確認         – -a の有無による違い         – サービスの詳細表示         – 依存しているサービスの表示       ...
SMF - サービスの一覧表示(1)       Solaris 10 での例root@host1# svcs -aSTATE          STIME                                          FM...
SMF - サービスの一覧表示(2)      状態表示         – legacy_run                   旧来のrcスクリプトによるサービスでSMF管理外         – online           ...
SMF - サービスの詳細情報表示        Solaris 10 での例root@host1# svcs -l apache2fmri         svc:/network/http:apache2name         Apach...
SMF -サービスの依存関係      依存関係         – require_all が全てonline/degradedのとき         – require_any のどれかがonline/degraded のとき      ...
SMF - サービスの依存関係表示     Solaris 10 での例      依存しているサービスの表示     root@host1# svcs -d apache2     STATE          STIME    FMRI ...
svcadmコマンド      svcadm enable <FMRI>          – サービスの有効化と起動      svcadm disable <FMRI>          – サービスの無効化と停止          –...
デモ2      svcadmコマンドによるサービスの起動と停止         – サービスの状態確認         – 別ウィンドウでログを表示         – サービスの有効化と起動         – サービスの再起動     ...
SMF - サービスの起動・停止(1)       Solaris 10 での例        サービス状態の確認root@host1# svcs -a | grep apachelegacy_run       4月_01 lrc:/etc...
SMF - サービスの起動・停止(2)     Solaris 10 での例   ログにより起動を確認root@host1# tail -f /var/svc/log/network-http:apache2.log[ Apr 25 20:1...
SMF - サービスの起動・停止(3)        Solaris 10 での例         サービスの再起動root@host1# svcadm restart apache2root@host1# svcs -v apache2ST...
SMF - サービスの起動・停止(4)     Solaris 10 での例      自動再起動        root@host1# kill 7425        root@host1# svcs -p apache2        ...
SMF - サービスの起動・停止(5)        Solaris 10 での例         自動再起動をログで確認root@host1# tail -f /var/svc/log/network-http:apache2.log[ A...
トラブル対応      svcs -xv でサービスの状態を確認          – http://www.sun.com/msg/<MSG-ID> を確認                    My Oracle Support へのア...
svcprop / svccfgコマンド      svcprop <FMRI>          – プロパティ値の表示      svccfg list          – サービスリスト表示      svccfg        ...
デモ3      svccfg コマンドによるサービスの設定変更         – サービスリポジトリの特定         – リポジトリ情報の表示         – 設定されているサービスのリスト表示         – サービスのパ...
SMF - サービスリポジトリ       Solaris 10 での例     リポジトリの実体(SQLite形式)root@host1# cd /etc/svcroot@host1# ls -l repository.db-rw-----...
SMF - 既存サービスの設定変更     Solaris 10 での例      設定されているサービスのリスト表示               root@host1# svccfg list               system/co...
SMF - リスタータがinetdのサービス      inetadm          – リスト表示      inetadm -e <FMRI>          – 有効化して起動      inetadm -d <FMRI>  ...
SMF - rcスクリプトなどから新規サービスの作成         Solaris 10 での例         1.        類似サービスのエクスポート     root@host1# svccfg export network/ht...
デモ4      inetd 管理下サービスの操作         – リスト表示         – 詳細表示         – 無効化         – 有効化         – 既存サービスの取り込み      Solaris ...
Solaris 9 までのサービス管理との違いのまとめ      サービスの無効化         – 従来: mv /etc/rc2.d/S75cron /etc/rc2.d/x.S75.cron         – SMF: svcadm...
最近のOS内サービスの依存関係はここまで複雑     もはやスクリプトで手動で管理するのは限界42   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
SMFまとめ      サービス開発者、システム開発者         – 依存関係やサービス定義を明確に行う必要あり                   サービスの可用性向上につながる      サービス監視モジュール不要      ...
参考情報 Oracle Solaris 11 マニュアル (日本語) 「Oracle Solaris の管理: 一般的なタスク」  – http://docs.oracle.com/cd/E26924_01/html/E25810/index...
45   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
46   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Upcoming SlideShare
Loading in …5
×

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

1,108 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,108
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
21
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

  1. 1. 1 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  2. 2. 以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。 また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことは できません。以下の事項は、マテリアルやコード、機能を提供することをコミットメント (確約)するものではないため、購買決定を行う際の判断材料になさらないで下さい。 オラクル製品に関して記載されている機能の開発、リリースおよび時期については、 弊社の裁量により決定されます。 OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。 文中の社名、商品名等は各社の商標または登録商標である場合があります。2 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  3. 3. サービス実行を超えた新たなサービス管理アーキテクチャService Management FacilityPart I システム事業統括 ソリューション統括本部 野崎 宏明 3 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  4. 4. スピーカー自己紹介  学生時代 – JDK 1.1でPrologの推論機構を実装し検索エンジンの真似ごと  1998年4月(日本)サン・マイクロシステムズ新卒入社 – ふと気づけば社会人15年目  ほぼずっとSE (Sはシステム?セールス?) – 主にSolaris、開発環境、Sun Rayシンクライアント – 今は主に通信系のお客様担当 – Oracle では SC (Sales Consultant) と呼ばれます  1年だけサポートエンジニア – Java VMの解析  Solarisエバンジェリスト(宣教師?!) – 最近は特にZFSの宣伝係としての出番増4 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  5. 5. Program Agenda  Solaris における予測的自己修復機能  Service Management Facility – Solaris 10 での実装  (Solaris 11 での実装はSolaris 10 での実装をベースにしています)  まとめと参考情報5 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  6. 6. 予測的自己修復とは  システムの可用性を大幅に向上させる機能 – 問題検出  状態監視と情報収集体系の強化・標準化 – 問題点分析  診断エンジンによる分析・診断 – 自動対応  障害部切り離し、プロセス再起動等  システムの継続運用  Fault Management Architecture (FMA) – 主にハードウェア Solaris 11 では  Service Management Facility (SMF) SMFとFMAの – 主にソフトウェア 連携・網羅性が向上6 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  7. 7. Service Management Facility~Solaris 10 での実装内容~(Solaris 11 での実装はSolaris 10 での実装をベースにしています) 7 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  8. 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個の列8 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  9. 9. Solaris 9までのサービス管理(2)  あるdaemonが落ちたとき – daemon再起動だけでよいと判断できたら  そのdaemonの起動手順に従って起動 – /etc/init.d以下のスクリプトがよく使われる » /etc/rc<r>.d以下のコピーかsymlinkが多い – 他の複数daemon等への依存が判断できたら  各daemonを依存関係に従い1個1個起動・停止 – S??やK??の順序を参考に..? – どのdaemon等まで依存するかわからない場合  システムの再起動??  あるdaemonを落としたいときも 専門知識無しでは かなり難しそう – 依存関係で同様の問題9 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  10. 10. SMF開発目的 真のセルフヒーリングの実現  主にソフトウェアの可用性向上 – SMF前  サービスは落ちたら落ちっぱなし  サービス間依存関係が曖昧もしくは不明 – 判断や対処の妨げになる – (rcでは1シーケンスの起動順のみ記述)  監視モジュールを作り込むか、クラスタリングによる対処が必要 – SMFにて  落ちたサービスは自動で復旧 – 管理者の介在不要  サービス単位での起動・停止が可能に  監視モジュール不要、クラスタリングの必然性は少なくなる10 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  11. 11. SMFとは サービスの起動、停止、状態表示などの統一的な管理機能を提供。 ハードウェア・ソフトウェア障害時に、自動的にサービスを再起動。  サービスをオブジェクトとして監視・管理 – /etc/init.d/*, /etc/rc*や/etc/inet/inetd.conf などの後継 – 従来のrcスクリプトも使用可能  ただしSMFの利便性が享受できない  サービス障害の検知、自動リスタート – 管理上、ソフトウェアのバグ、訂正できないハードウェアエラー  サービス構成情報(依存関係など)のチェック機能  ブート時の詳細表示オプションによるサービス起動確認  サービス並列起動による boot 時間の短縮  root 以外のユーザへの安全な権限委譲 – サービスベースのリソース管理が可能11 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  12. 12. SMFの構造管理エージェント・ 監視エージェント・ inetd 配下の サービス群コマンド コマンド サービス群 libscf(3LIB) レポジトリAPI Delegated restarter svc.configd(1M) inetd(1M) svc.startd(1M) init(1M) プロセス リポジトリ 起動 クライアント Solaris カーネル12 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  13. 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 で提供。13 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  14. 14. サービス構成パーツの置き場 Solaris 10 の場合  Profile – システム全般のサービス設定 – /var/svc/profile  Manifest – 個々のサービスの詳細定義 – /var/svc/manifest  Exec Method – サービス起動・停止用実行ファイル(スクリプト) – /lib/svc/method  Log File – /var/svc/log14 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  15. 15. サービスカテゴリ Solaris 10 の場合  application:アプリケーション  milestones: サービス集合  platform: プラットフォーム固有  system: システムサービス – system/filesystem/*.xml  ポイント: 「ファイルシステムがマウントされ使用可能」というサービス  device: デバイス固有  network: ネットワーク・インターネット – network-physical.xml  ポイント: 「NICが使用可能」というサービス  site: サイト固有15 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  16. 16. milestoneとランレベル  single-user.xml – ランレベルS (シングルユーザーモード)  multi-user.xml – ランレベル2 (マルチユーザーモード)  multi-user-server.xml – ランレベル3 (NFSを共有したマルチユーザーモード)16 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  17. 17. FMRI  サービスを表す名称  ホスト内で一意であれば指定時に省略可能 – 省略例 (重複が無ければコマンド引数等以下どれでもよい)  svc://localhost/network/http:apache2  svc:/network/http:apache2  network/http:apache2  http:apache2  apache217 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  18. 18. SMFコマンド  svcs – サービスの状態を報告  svcadm – サービスインスタンスの操作  svccfg – サービス構成の操作  svcprop – サービス設定プロパティ値の取得18 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  19. 19. svcsコマンド  svcs :サービス状態の表示  svcs -a :全てのサービス状態の表示  svcs -l <FMRI>:サービス詳細情報の表示  svcs -d <FMRI>:依存するサービスの表示  svcs -D <FMRI>: 依存されるサービスの表示  svcs -x :不具合のあるサービスの情報表示  各 -v : 詳細表示19 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  20. 20. デモ1  svcsコマンドによるサービス状態表示 – 状態表示内容の確認 – -a の有無による違い – サービスの詳細表示 – 依存しているサービスの表示 – 依存されているサービスの表示20 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  21. 21. SMF - サービスの一覧表示(1) Solaris 10 での例root@host1# svcs -aSTATE STIME FMRIlegacy_run 4月_01 lrc:/etc/rc2_d/S10lulegacy_run 4月_01 lrc:/etc/rc2_d/S20sysetup...disabled 4月_01 svc:/system/metainit:defaultdisabled 4月_01 svc:/platform/sun4u/mpxio-upgrade:default...online 4月_01 svc:/system/svc/restarter:defaultonline 4月_01 svc:/network/pfil:default...offline 4月_01 svc:/application/print/ipp-listener:defaultoffline 4月_01 svc:/application/print/rfc1179:default 21 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  22. 22. SMF - サービスの一覧表示(2)  状態表示 – legacy_run  旧来のrcスクリプトによるサービスでSMF管理外 – online  サービスが有効で動作中 – offline  サービスは有効だが停止している – degraded  サービスが有効で動作中だが一部機能が制限 – disable  サービスが管理者によって無効とされている – maintenance  サービスは有効だが問題があり動作していない – uninitialized  サービスの構成が読み込まれる前22 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  23. 23. SMF - サービスの詳細情報表示 Solaris 10 での例root@host1# svcs -l apache2fmri svc:/network/http:apache2name Apache 2 HTTP server有効 true状態 onlinenext_state nonestate_time 2007年08月28日 (火) 20時21分25秒logfile /var/svc/log/network-http:apache2.logリスタータ svc:/system/svc/restarter:defaultcontract_id 2865dependency require_all/error svc:/network/loopback:default (online)dependency optional_all/error svc:/network/physical:default (online) 23 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  24. 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 +更新時も停止24 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  25. 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 FMRI25 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  26. 26. svcadmコマンド  svcadm enable <FMRI> – サービスの有効化と起動  svcadm disable <FMRI> – サービスの無効化と停止 – リブート後も保持される  svcadm clear <FMRI> – maintenance状態からの復帰  svcadm restart <FMRI> – サービスの再起動  svcadm refresh <FMRI> – サービス構成の再読込  各 -t : 一時的な変更26 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  27. 27. デモ2  svcadmコマンドによるサービスの起動と停止 – サービスの状態確認 – 別ウィンドウでログを表示 – サービスの有効化と起動 – サービスの再起動 – サービスの無効化と停止 – 自動再起動 – 起動しない場合のトラブル対応27 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  28. 28. SMF - サービスの起動・停止(1) Solaris 10 での例  サービス状態の確認root@host1# svcs -a | grep apachelegacy_run 4月_01 lrc:/etc/rc3_d/S50apachedisabled 20:04:30 svc:/network/http:apache2root@host1# svcs -v apache2STATE NSTATE STIME CTID FMRIdisabled - 20:04:30 - svc:/network/http:apache2 – サービスは停止している  サービスを有効化し起動root@host1# svcadm enable apache2root@host1# svcs -v apache2STATE NSTATE STIME CTID FMRIonline - 20:10:51 2861 svc:/network/http:apache2 28 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  29. 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 apache2STATE STIME FMRIonline 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 httpd29 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  30. 30. SMF - サービスの起動・停止(3) Solaris 10 での例  サービスの再起動root@host1# svcadm restart apache2root@host1# svcs -v apache2STATE NSTATE STIME CTID FMRIonline - 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 ] 30 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  31. 31. SMF - サービスの起動・停止(4) 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  プロセスIDが新しくなっている31 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  32. 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 ] 32 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  33. 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でシステムの状況を調査33 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  34. 34. svcprop / svccfgコマンド  svcprop <FMRI> – プロパティ値の表示  svccfg list – サービスリスト表示  svccfg – サービスパラメータ設定  svccfg export <FMRI> – サービスのmanifest を標準出力に出力  svccfg import <manifest_file> – manifest_file をリポジトリに取り込む34 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  35. 35. デモ3  svccfg コマンドによるサービスの設定変更 – サービスリポジトリの特定 – リポジトリ情報の表示 – 設定されているサービスのリスト表示 – サービスのパラメータ設定35 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  36. 36. SMF - サービスリポジトリ Solaris 10 での例  リポジトリの実体(SQLite形式)root@host1# cd /etc/svcroot@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 : 36 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  37. 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> exit37 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  38. 38. SMF - リスタータがinetdのサービス  inetadm – リスト表示  inetadm -e <FMRI> – 有効化して起動  inetadm -d <FMRI> – 無効化して停止  inetadm -l <FMRI> – サービスの詳細表示  inetconv – 既存 inetd サービスの取り込みや inted.conf 形式から manifest 形式への変換38 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  39. 39. SMF - rcスクリプトなどから新規サービスの作成 Solaris 10 での例 1. 類似サービスのエクスポート root@host1# svccfg export network/http > apache.xml root@host1# cat apache.xml (/var/svc/manifest/network/http-apache.xml同様の内容) 2. manifestの編集 3. 必要ファイルの配備 4. サービスのインポート (Solaris 11 ではsvcadm restart manifest-import) 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 39 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  40. 40. デモ4  inetd 管理下サービスの操作 – リスト表示 – 詳細表示 – 無効化 – 有効化 – 既存サービスの取り込み  Solaris 10 にて新規サービスの作成 – lrc:/etc/rc3_d/S50apache を SMF 管理下に – apache2 をベースに apache サービスを構成40 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  41. 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:default41 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  42. 42. 最近のOS内サービスの依存関係はここまで複雑 もはやスクリプトで手動で管理するのは限界42 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  43. 43. SMFまとめ  サービス開発者、システム開発者 – 依存関係やサービス定義を明確に行う必要あり  サービスの可用性向上につながる  サービス監視モジュール不要  クラスタリングの必然性は少なくなる – 可用性要件に基づいて検討  システム管理者 – 落ちたサービスは基本的に自動で復旧  管理者介在不要 – 自動復旧しないサービス  統一的な手順で調査と対処が可能43 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  44. 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/ 44 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  45. 45. 45 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  46. 46. 46 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

×