連載
» 2015年12月24日 05時00分 UPDATE

CentOS 7で始める最新Linux管理入門(2):CentOS 7のシステム管理「systemd」をイチから理解する (1/4)

「systemd」は、Linuxの起動処理やシステム管理を行う仕組みです。systemdはinitの限界を克服するために作られた新しいシステム管理アーキテクチャで、CentOS 7でも用います。では、何が違うのでしょう。これまで使われてきた「init」と比較しながら、基礎と課題を解説します。

[大喜多利哉,@IT]
backn2.gif

連載バックナンバー

 前回解説した「ここが変わった、CentOS 7のポイント」に続き、今回はより実務にLinuxの起動処理やシステム管理を行う「systemd」をあらためてイチから解説します。

 CentOS 7では、これまで使われてきた「init」の限界を克服するために作られた新しいシステム管理アーキテクチャとして、このsystemdを使います。

 まずはその特徴を深く簡単に理解できるよう、これまで使われていたinitをおさらいします。

 initは、Linuxを含むUNIX系システムのプログラムの一つで、他のプロセスを起動する役目を持つプログラムです。ブートローダーがカーネルを起動し、カーネルがinitを起動し、initが他のプロセスを起動する仕組みになっています。

 2015年現在も多くのLinux系システムで使われているinitは、1983年に米AT&Tが開発し、リリースしたSystem V(システムファイブ)のinitを起源としています。

 長く使われてきたinitですが、昨今のコンピューター性能の向上に伴い、次第にボトルネックとなる面が目立つようになってきました。

  • 一つ一つのサービスを順番に起動する=並列処理ができないため、システムの起動に時間がかかる
  • サービスの起動制御をシェルスクリプトにて実装している。このシェルスクリプトは複数の処理を一つ一つのプログラムとして包含しているため、各処理は順番に実行され細分化が困難である
  • 起源は同じものの、ディストリビューションによって管理がバラバラになっている。例えば、Debian系LinuxとRed Hat系Linuxではコマンドが違う、など

 Systemdは、initの制限や課題を解消するために、レナート・ポッターリング(Lennart Poettering)氏とケイ・シェバース(Kay Sievers)氏によって開発されました。ポッターリング氏はsystemdの目的を「Rethinking PID 1」としてまとめています。このリポートでは、systemdの特徴を以下のように定義しています。

特徴1「To start Less」

 「To start Less」とは、起動時は最低限のサービスのみを起動し、必要になったときに必要になったものを起動する仕組みとするものです。

photo systemdで取り入れた「To start Less」の概念

特徴2「And to start more in parallel」

 「And to start more in parallel」とは、起動時に必要な要素を並列に起動し、システムのCPUやI/Oの帯域を最大限活用することで起動時間の短縮を図る考え方です。

photo systemdで取り入れた「And to start more in parallel」の概念

 このように、systemdはこれまでinitで課題になっていた部分を改善し、システムの性能を最大限活用できるアーキテクチャとして設計、実装されています。

       1|2|3|4 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

Focus

- PR -

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。