第1回 Red Hat Enterprise Linux 7の新機能
コラム/第1回 Red Hat Enterprise Linux 7の新機能
Red Hat
2013年5月10日
第1回 Red Hat Enterprise Linux 7の新機能
Red Hat Enterprise Linux(以降、RHEL)の次期バージョンであるRHEL7では、現行バージョンであるRHEL 6だけではなく、UNIXライクなOSとしてLinuxが誕生して以来の大きな変更が存在します。 今回、RHEL7で予定されている新機能の中から重要なものをいくつか紹介します。
RHEL7における変更点と機能強化点
Red Hat Enterprise Linux(以降、RHEL)の次期バージョンであるRHEL 7における変更や機能強化点を理解するには、RHELの開発モデルを理解するのが近道です。
RHEL 2.1はRed Hat Linuxをベースとしていますが、RHEL 3以降はFedora (Core)をベースに開発されています。従ってFedoraとRHELのリリースサイクルから「差分」を抽出すれば、それがすなわちRHELの変更・機能強化点となるわけです。
図 1 RHELの歴史 を見ると分かる通り、RHEL 6はFedora 12及び13をベースに開発されたため、Fedora 14以降の変更・機能強化点のうち、RHEL 6にバックポートされなかったものがRHEL 7における「新機能」となります。
図 1 RHELの歴史
RHEL 7の重要な新機能
数多くあるRHEL 7の新機能のうち、特に重要なものを取り上げて紹介しましょう。
RHEL 7では、現行バージョンであるRHEL 6だけではなく、UNIXライクなOSとしてLinuxが誕生して以来の大きな変更が存在します。
従来RHELでは、sysV initと呼ばれるSystem V系のUNIXに由来するプログラムが最初に起動し、他の全てのプロセスを起動することでシステム全体を起動していました。RHEL 6ではUpstartという仕組みに切り替わりましたが、本質的にはsysV initと変化は有りませんでした。
RHEL 7ではsystemdというプログラムがinitだけでなく、システム全体を管理する仕組みに変更されます。この変更は、システムの設計、構築、運用に携わるエンジニアだけではなく、RHEL 7の上で動作するアプリケーションプログラムの実装に携わるエンジニアにも影響する大がかりなものです。従来用いられてきたchkconfig / serviceコマンドはシンボリックリンクとして残してあるものの、systemctlコマンドを用いてサービスの制御をすることになります。
またchkconfig / serviceコマンド同様、互換性のためにinitコマンドが残してあるものの「ランレベル」という概念は無くなり、ほぼ同等の「ターゲット」に切り替えるという実装になっています。systemdについては各種ウェブページの他、『日経Linux 2013年3月号』100ページ以降でも触れていますので、是非、ご一読ください。
強化されたリソース制御機能
エンタープライズで利用されるOSとして重要なリソース制御機能についても、RHELはバージョンを重ねるごとに強化されています。
RHEL 6で導入されたcgroup(Control Group)によるリソース制御は、RHEL 7ではsystemdと密接に連携動作することで、全てのプロセスを制御下に置くことが可能になります。
RHEL 7では特に設定をしなくても全てのプロセスがcgroupにおける「グループ」としてまとめられており、グループ毎にリソース制御の設定を行うことが可能になります。制御可能なリソースは、CPUやメモリの利用率といったものから、ネットワーク帯域やブロックデバイスのI/O帯域といったものも含まれるため、あるプロセスがリソースを使い切ってしまい他のプロセスに与える影響を最小限にすることが出来ます。
さらにRHEL 5.4から導入された仮想化ハイパーバイザであるKVM/QEMUでは、仮想マシンは「プロセス」であるため、ある仮想マシンが利用出来るリソースも制御の対象とすることが可能となります。
セキュリティ関連について
サーバの構築・運用にあたるエンジニアであればセキュリティ関連についても気になるところでしょう。
長年、iptables / lokkit(ベテランの方であればipchainsかもしれません)というツールを用いてホストレベルのファイアウォールの設定を行ってきましたが、RHEL 7ではfirewalldというサービスが導入され、firewall-cmdというコマンドで確立されたネットワーク接続を中断することなくダイナミックにファイアウォールのルールを変更することが可能になります。
仮想化を用いている場合であれば、仮想マシン上のゲストOSが必要とするネットワーク通信をダイナミックに許可する、といった場合において、最もその威力を発揮することになると考えられます。ファイアウォールの実体はカーネルモジュールであるnetfilterであることは変わらないので、実績や性能といった点で不安はありませんが、iptablesなど従来の実装にはなかった「ゾーン」という概念が導入されることもあり、セキュリティの設定に携わるエンジニアは早めに慣れておく必要がありそうです。
firewalldについても前述の『日経Linux 2013年3月号』で触れておりますので、こちらも一読いただけると幸いです。
著者紹介
レッドハット株式会社
グローバルサービス本部プラットフォームソリューション統括部
ソリューションアーキテクト部長 藤田 稜 様
塾講師を3年、SIerを通算6年経験した後、レッドハットに8年在籍。主にパートナーを担当するSolution Architect、いわゆるプリセールスエンジニアとして、Red Hat Enterprise Linuxを中心としたオープンソースソフトウェアの普及に努める毎日を送る。
もっと知る
「Red Hat ソリューション」についてのお問い合わせやお見積もりなど、
お気軽にご連絡ください。