連載
» 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を使います。今回は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© 2015 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

@ITから「読者調査2015」のお知らせ
Loading

ホワイトペーパー(TechTargetジャパン)

注目のテーマ

転職/派遣情報を探す

【転職サーチ】SIer/Web企業/新規事業 スマホ開発で、あなたのキャリアを生かす

「派遣・フリーで働くメリット」とは? 活躍する派遣エンジニアの本音

編集部からのお知らせ

@IT編集部では現在、編集スタッフを募集しています。編集経験は不問。 ITに関する経験のある方、ご応募お待ちしています。

RSSについて

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

メールマガジン登録

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