CentOS 7のシステム管理「systemd」をイチから理解する:CentOS 7で始める最新Linux管理入門(2)(1/4 ページ)
「systemd」は、Linuxの起動処理やシステム管理を行う仕組みです。systemdはinitの限界を克服するために作られた新しいシステム管理アーキテクチャで、CentOS 7でも用います。では、何が違うのでしょう。これまで使われてきた「init」と比較しながら、基礎と課題を解説します。
前回解説した「ここが変わった、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」とは、起動時は最低限のサービスのみを起動し、必要になったときに必要になったものを起動する仕組みとするものです。
特徴2「And to start more in parallel」
「And to start more in parallel」とは、起動時に必要な要素を並列に起動し、システムのCPUやI/Oの帯域を最大限活用することで起動時間の短縮を図る考え方です。
このように、systemdはこれまでinitで課題になっていた部分を改善し、システムの性能を最大限活用できるアーキテクチャとして設計、実装されています。
関連記事
- Linux起動の仕組みを理解しよう[init/inittab編]
カーネルが呼び出されてからログインプロンプトが表示されるまでの間に、一体どのような処理が行われているのか。これを理解するには、この部分の全般をつかさどるinitとその設定ファイルであるinittabがカギとなる。 - エンタープライズでもInfrastructure as Code――Chef 12/Chef-Zero/Knife-Zeroの基礎知識とインストール
エンタープライズ向け機能が充実してきたChefを使って高速かつ精度の高いサーバーインフラを構築/管理する方法について解説する連載。初回は、Chef 12、Chef Solo、Chef Server、Chef-Zero、Knife-Solo、Knife-Zeroの概要と、Chef-ZeroをKnife-Zero経由で利用するCookbook開発環境の構築について解説します。 - Linuxで作るファイアウォール[パケットフィルタリング設定編]
いよいよパケットフィルタリングの設定を始める。しっかりと不要なパケットをブロックできれば、ファイアウォールの内側の安全度はより向上する。パケットの性質やiptablesの動作をここでマスターしてほしい。 - アクセス制限の設定とCentOSのアップデート
前回はsshでVPSにログインして、一般ユーザーを作成しました。今回は、アクセス制限、パケットフィルタリングといった不正アクセス対策の設定をしてから、CentOSをアップデートします(編集部) - 環境構築自動化の手順と評価検証、Puppetの基礎知識
サーバー構築の自動化で利用される技術、自動化ツールとして「Kickstart」「Puppet」を紹介し、構築から運用まで、システムライフサイクル全体にわたる運用管理の自動化についても解説する連載。 - 無線LAN接続の設定を操作するには? iwconfigコマンドの使い方
無線LANインターフェースがカーネルまたはモジュールでサポートされていれば、アクセスポイントとIPアドレスを設定する程度で接続できます。「iwconfig」は、アクセスポイントへの接続に必要なESSIDおよび暗号化キーを登録するときに利用するコマンドです。 - NginxをWebサーバー“以外”でも徹底活用する
Nginxは高速化だけではありません。Webサーバー以外への応用事例として、ロードバランサー、HTTPS対応、WAFとしての利用を紹介します。
Copyright © ITmedia, Inc. All Rights Reserved.