RHEL 7は2024年までサポート、Dockerコンテナもメリット
RHEL 4やRHEL 5からバージョンアップするなら、RHEL 6ではなくRHEL 7が望ましい。第1の理由は、通常サポートの期間が長く残っていることだ。RHEL 6は2020年11月30日まで、RHEL 7は2024年6月30日までサポートする。また、新機能やハードウェアが追加されるProduction 1フェーズは現在RHEL 7だけで、RHEL 6は5月10日にProduction 1フェーズが終了している。
RHEL 7は、対応ハードウェアや性能、機能においてもメリットが多い。まず、現行のサーバ製品はRHEL 6とRHEL 7しかサポートしていない。このため、ハードウェアをリプレースするのであれば、必然的にOSもバージョンアップしなければ動作保証外となってしまう。
機能面では、例えばコンテナ機能のDockerは、RHEL 7で初めて標準で搭載した。また、RHELではlibcontainerと呼ぶコンテナ管理機構を使ってDockerを利用できる。「基盤となる機能はRHEL 6にも存在するが、コンテナを利用するのであればRHEL 7が望ましい」(森若氏)という。
コンテナの利用例の1つとして、ウェブサーバのApache HTTP Serverを挙げる。コンテナで複数のApacheを動作させれば、複数のウェブサーバとして振る舞わせるVirtualHostの設定が要らなくなる。
システム運用管理者にとっての大きな変更点は、OS起動時のプログラム起動などに使うsysvinitがsystemdに切り替わったことだ。また、時刻同期のntpdの代わりにchronyが搭載されている。元々はデスクトップ用途で導入したプロセス間通信基盤のD-Bus(Desktop Bus)の利用範囲が、RHEL 7ではシステム基盤に大きく拡大した。
アイドル時のCPU負荷を軽減
性能面では、アイドル時のCPU負荷が下がったという。以前は、タイマー割り込みで1秒に1000回、「何かやることはないか」をチェックしていた。RHEL 6からは、このチェックの間隔を動的に調整するDynamic Ticks機能を追加した。これによりアイドル時のCPU負荷が下がった。この機能は、特に多数の仮想マシンを集約した仮想化環境で効果が大きいという。
また、NUMA(Non-Uniform Memory Access)型のマルチプロセッシング処理の性能を向上させる工夫や大容量メモリーへの対応を施した。仮想環境におけるネットワークI/O処理やストレージI/O処理も改善しており、メモリからメモリへの無駄なデータコピーの削減機能などを実装した。