TOPサーバ構築・運用> ブートパラメータによるOSチューニング
Enterprise OS
改めて知っておきたいRed Hat Enterprise Linux 4 - 管理編

第4回:RHEL4におけるOSのチューニング
著者:日本ヒューレットパッカード  古賀 政純   2006/4/27
前のページ  1  2   3  4  次のページ
ブートパラメータによるOSチューニング

   それではRHEL4における基本的なOSのチューニングについて、設定ファイルとOSが提供するサービスレベルで解説します。

   LinuxはOS起動時にブートパラメータと呼ばれる値をカーネルに渡すことにより、OSの挙動を変化させることが可能となっています。ハードウェアの設計仕様と密接な関係を持っているため、適切な値が設定されていないと起動に失敗したり、OSの挙動が不安定になります。したがって、値を変更する前には必ずブートパラメータに設定された値を確認しなければなりません。

   ブートパラメータの確認方法を以下に示します。

# cat /proc/cmdline
ro root=LABEL=/ rhgb quiet maxcpu=4

   上記パラメータは/boot/grub/grub.confファイルでも確認することができます。

# cat /boot/grub/grub.conf
#boot=/dev/cciss/c0d0
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux AS (2.6.9-5.ELsmp)
        root (hd0,0)
        kernel /vmlinuz-2.6.9-5.ELsmp ro root=/dev/VolGroup00/LogVol00 rhgb quiet
        initrd /initrd-2.6.9-5.ELsmp.img
title Red Hat Enterprise Linux AS-up (2.6.9-5.EL)
        root (hd0,0)
        kernel /vmlinuz-2.6.9-5.EL ro root=/dev/VolGroup00/LogVol00 rhgb quiet
        initrd /initrd-2.6.9-5.EL.img


CPUのNX保護機能に関する問題と回避策

   ブートパラメータは、ハードウェアに備わっている機能とOSが持つ機能の両方に影響を与えるため、非常に重要なパラメータです。このパラメータの設定次第でOSの挙動やドライバ、アプリケーションの動作に影響を与える場合もあります。

   影響を与える典型的な例には「CPUのNX保護機能に関する問題と回避策」があります。

   Xeon CPUとOpteron CPUではNX保護機能が搭載されています。この機能はCPUレベルでバッファオーバフロー攻撃を防ぐもので、この機能が有効になっているとOS上で動作するドライバやアプリケーションに影響が発生しますので、CPUとOSのバージョンの両方に注意してください。

   NX保護機能を搭載したCPUとOSの組み合わせで正常動作しなくなる可能性があるものとして、HPでは以下の2つを確認しています。

  • hpasmドライバ
  • Java環境を使ったアプリケーション

表5:NX保護機能を搭載したCPUとOSの組み合わせで正常動作しなくなるもの

   これらの環境を使ったアプリケーションについてNX保護機能搭載のCPUとOSの組み合わせで利用する場合、カーネルパラメータを変更する必要があります。現在ではドライバやアプリケーション側でNX保護機能環境下でも動作するようにコーディングされているものがほとんどですが、もしNX保護機能に対応していないドライバやアプリケーションを利用する場合にはカーネルパラメータ変更が必要となります。

   NX保護機能をRHEL4のOSのカーネルパラメータで無効にするには、以下のように/boot/grub/grub.confファイル内のkernel行にnoexec=offを記述してシステムを再起動します。

title Red Hat Enterprise Linux AS (2.6.9-5.ELsmp)
 root (hd0,0)
 kernel /vmlinuz-2.6.9-5.ELsmp ro root=/dev/VolGroup00/LogVol00 rhgb quiet noexec=off
 initrd /initrd-2.6.9-5.ELsmp.img

   RHELではRHEL3 Update3(kernel 2.4.21-20.EL)から NX保護機能が装備されており、RHEL4以降も装備されています。OSが稼動している状態でNX保護機能が有効になっているかを確認するには、/var/log/dmesgファイルの中身にNXという文字列が存在するかを確認します。

# grep NX /var/log/dmesg
NX (Execute Disable) protection: active

   もしこの中に「NX (Execute Disable) protection: active」という文字列が存在する場合はNX保護機能が有効なことを示しています。

   このNX保護機能はCPUのリビジョン番号とOSやドライバの設計の組み合わせに依存するため、動作障害の原因を追求することが困難になりがちです。特にハードウェアの機能に関係するような問題が発生する場合は、ハードウェア側の不良を疑ってしまいますが、実はハードウェアが備えている新機能がOSやドライバ側で未対応であるという場合によく発生するケースなのです。

前のページ  1  2   3  4  次のページ


日本ヒューレット・パッカード株式会社 古賀 政純
著者プロフィール
日本ヒューレット・パッカード株式会社
古賀 政純

2000年よりUNIXベースのHAクラスタシステム及び、科学技術計算システムのプリセールスに従事。並列計算プログラミング講習会などを実施。その後、大手製造業及び官公庁系の大規模Linuxクラスタの導入、システムインテグレーションを経験。現在は、大規模エンタープライズ環境向けのLinuxブレードサーバ及びHP Serviceguard for Linux(HAクラスタソフトウェア)のプリセールスサポート、システム検証を担当している。毎日、Linuxサーバと寝食を共に(?)しています。

INDEX
第4回:RHEL4におけるOSのチューニング
  RHEL4におけるOSのチューニング
ブートパラメータによるOSチューニング
  「acpi」の設定
  不要なサービスを停止することによるOSチューニング