IT・技術研修ならCTC教育サービス

サイト内検索 企業情報 サイトマップ

研修コース検索

コラム

クラウド時代のオープンソース実践活用

CTC 教育サービス

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes 

第33回 systemd徹底入門 ~ PID1を再考しよう! (中井悦司) 2013年12月

はじめに

 今回は、「Linux女子部」の主催で行われた、「Fedora最新技術情報&Systemd勉強会」でのネタをお届けします。当日は予備椅子も含めて満席の状態で、熱気につつまれた会場となりました。Fedoraの最新機能には、来年発表予定のRed Hat Enterprise Linux 7(RHEL7)に搭載予定の物もあり、RHELユーザの注目が集まったようです。当日のTweetのまとめからも、その熱気が伝わります。
 この勉強会では、私は「systemd徹底入門!」の講師をつとめました。systemdの概要は、第29回のコラムでもお伝えしましたが、勉強会では、より詳細な資料を用意して解説を行いました(*1)。時間の制限もあり、すべてを説明することはできませんでしたが、「何のためにsystemdを開発したのか」「systemdは何を目指しているのか」と言った、本質の部分がお伝えできたと思います。

systemdが目指すものとは?

 当日、「systemdの目的」を理解する参考資料として、systemdの開発者であるLennartのブログを紹介しました(*2)。「Rethinking PID 1(PID1を再考する)」と題したこのエントリでは、Linuxで「一番最初に起動するプロセス」として、systemdに求められる役割を詳細に議論しており、彼自身のsystemdに向けた情熱を感じることができます。私の解説では、この中から、次の4つを注目ポイントとして取り上げました。

(1) システム起動時間を短縮:
シェルスクリプトはシリアルに実行されるので効率が悪かった。シェルスクリプト内の処理を個別に分割して並列実行すれば、システム起動時間が短縮できる。

(2) システム構成の動的変更に対応:
システム起動時だけではなく、システム構成の変更に応じて、動的に必要なサービスの起動・停止を行いたい。

(3) プロセス停止処理を標準機能として提供:
これまで、プロセスの停止処理はサービススクリプト内で個別に実装されており、PIDファイルやプロセス名などを用いていた。systemd自身に、フォークしたデーモンプロセスをトラッキングして、確実に停止する機能を実装したい。

(4) デーモンの実行環境を制御:
サービスごとに関連するデーモンの実行環境(cgroupsによるリソース割り当てやアクセス可能なディレクトリなど)を設定できるようにしたい。各デーモンのログ出力もまとめて管理したい。

 systemdの個別機能や設定方法は、当然ながら、従来のSysVinitとは大きく異なっており、最初はとまどう部分もあります。しかしながら、このような「systemdの目的」に照らし合わせると、「なるほど!」と納得できることがよくあります。
 また、systemdは機能が豊富でうまく使いこなすと便利なのですが、その一方で、「仕組みが複雑でUnix/Linuxらしくない」という声を聞くこともあります。この辺りは、確かに意見が分かれる部分かも知れません。今のところ、前述の「目的」に照らして考えると、個々の機能の実装方式については、過度な複雑さを避けた、バランスのとれた形に落ち着いている印象を持っています。

次回予告

 1990年代、Unixが世の中に広がりはじめた当初は、あらゆる機能が目新しく、誰もが「何のためにその機能があるのか」「この機能を作った人は何を目指しているのか」という根本を意識しながら利用していた気がします。いま、Linuxの世界でも新たに、そんな「根本原理」を考えなおすチャンスが訪れているのかも知れません。
 次回は、「libgfapi」の利用方法について、少し詳しく解説してみたいと思います。「libgfapiって何?」という方は、前回の記事で復習しておいてくださいね。

参考資料

*1)「Linux女子部 systemd徹底入門!

*2)「Rethinking PID 1

 

++ CTC教育サービスから一言 ++
このコラムでLinuxや周辺技術の技術概要や面白さが理解できたのではないかと思います。興味と面白さを仕事に変えるには、チューニングやトラブルシューティングの方法を実機を使用して多角的に学ぶことが有効であると考えます。CTC教育サービスでは、Linuxに関する実践力を鍛えられるコースを多数提供しています。興味がある方は以下のページもご覧ください。
 CTC教育サービス Linuxのページ
 http://www.school.ctc-g.co.jp/linux/
 

Linux研修トレーニングならCTC教育サービス


 

筆者書籍紹介

Software Design plusシリーズ
「独習Linux専科」サーバ構築/運用/管理
  ――あなたに伝えたい技と知恵と鉄則

本物の基礎を学ぶ!新定番のLinux独習書

中井悦司 著
B5変形判/384ページ
定価3,129円(本体2,980円)
ISBN 978-4-7741-5937-9
詳しくはこちら(出版社WEBサイト)
「独習Linux専科」サーバ構築/運用/管理

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes