機械翻訳について

第2章 既知の問題

この章では、Unbreakable Enterprise Kernelリリース3の既知の問題について説明します。

kernel-uekパッケージを更新できない場合にOracle Linuxの更新が失敗する

デフォルトで、Oracle Linuxのインストールには、UEK R3のdtrace-modulesパッケージが含まれています。 このパッケージでは、特定のkernel-uekバージョンが必要です。 ただし、dtrace-modulesパッケージが既存のkernel-uekパッケージを削除できないため、3つの更新のinstallonly_limitに達したとき、kernel-uekパッケージを更新できない場合、yum updateは失敗します。yumは、次の例のようなエラー・メッセージを表示します。

--> Finished Dependency Resolution
Error: Package: kernel-uek-debug-3.8.13-55.1.1.el6uek.x86_64 (public_ol6_UEKR3_latest)
          Requires: kernel-firmware = 3.8.13-55.1.1.el6uek

回避策として、たとえば次のように、kernel-uekパッケージの更新前に、既存のdtrace-modulesパッケージを削除します。

# for package in `rpm -qa | grep dtrace-modules`; do yum remove -y $package; done

すべてのdtrace-modulesパッケージを削除すると、UEK R3カーネルを含むOracle Linuxを更新できます。 UEK R3でDTraceを使用する場合、現在のカーネルのdtrace-modulesパッケージを再インストールします。

# yum install dtrace-modules-`uname -r`

(バグID 21669543)

ACFS

Oracle ASMクラスタ・ファイル・システム(ACFS)は現在、UEK R3での使用はサポートされていません。 (バグID 16318126)

ACPI

  • 一部のシステムでは、dmesgで次のようなACPI関連のエラー・メッセージが表示される場合があります。

    ACPI Error: [CDW1] Namespace lookup failure, AE_NOT_FOUND
    ACPI Error: Method parse/execution failed [_SB_._OSC||\||]
    ACPI Error: Field [CDW3] at 96 exceeds Buffer [NULL] size 64 (bits)]]>

    これらのメッセージは、致命的ではありませんが、BIOSでのバグが原因です。 システム・ベンダーにBIOS更新についてお問合せください。 (バグID 13100702)

  • 次のメッセージは、acpi-cpufreqモジュールで必要とされる適切なインタフェース(_PSS_PPCなど)がBIOSで提供されていないことを示します。

    kernel: powernow-k8: this CPU is not supported anymore, using acpi-cpufreq instead.
    modprobe: FATAL: Error inserting acpi_cpufreq 

    このエラーに有効な回避策はありません。 (バグID 17034535)

ASM

oracleasm initスクリプト、/etc/init.d/oracleasmをパラメータscandisksを指定して呼び出すと、次のようなデバイス欠落についてのエラー・メッセージが表示される可能性があります。

oracleasm-read-label: Unable to open device "device": No such file or directory

ただし、デバイスは実際には存在します。 このエラー・メッセージはタイミングの問題でトリガーされるもので、無視してもかまいません。 oracleasmサービスの開始および停止には、initスクリプトのみを使用してください。 その他のオプション(スキャンディスク、listdiskおよびcreatediskなど)はすべて非推奨です。 これらやその他の管理タスクについては、かわりに/usr/sbin/oracleasmを使用してください。 (バグID 13639337)

bnx2xドライバ

ブリッジでbnx2xドライバを使用しているときは、/etc/modprobe.confoptions bnx2x disable_tpa=1文を含めることで、透過的パケット・アグリゲーション(TPA)を無効にしてください。 (バグID 14626070)

btrfs

  • --alloc-startオプションをmkfs.btrfsで使用して、ファイル・システムの開始のオフセットを指定すると、ファイル・システムのサイズが小さくなる必要がありますが、そのようにはなりません。 また、デバイス・サイズよりも大きなオフセットを指定することも可能です。 (バグID 16946255)

  • mkfs.btrfsの使用方法に、raid5およびraid6がデータとメタデータの両方に可能なプロファイルとして表示されます。 しかし、これらの機能はカーネルでサポートされておらず、それらを使用するファイル・システムはマウントできません。 (バグID 16946303)

  • btrfs filesystem balanceコマンドでは、特定の状況でRAIDレベルの変更が可能であることが警告されず、操作を取り消す選択肢が表示されません。 (バグID 16472824)

  • 既存のext2、ext3またはext4ルート・ファイル・システムをbtrfsに変換すると、ファイルの拡張属性の一部として格納されている関連のセキュリティ・コンテキストが引き継がれません。 SELinuxを有効にして強制モードに設定すると、再起動後に多数の権限拒否エラーが発生し、システムが起動できなくなる場合があります。 この問題を回避するには、自動ファイル・システムの名前変更が起動時に実行されるようにします。 自動名前変更をトリガーするには、最初の変換後のシステム再起動の前に、ファイル・システムのrootディレクトリに.autorelabelという名前の空のファイルを(たとえば、touchを使用して)作成します。 このファイルの存在が、SELinuxにファイル・システム上のすべてのファイルに対するセキュリティ属性の再作成を指示します。 これを実行せずに再起動に失敗した場合、カーネル起動パラメータにselinux=0を追加して一時的にSELinuxを完全に無効にするか、enforcing=0を追加してSELinuxポリシーの実行を無効にします。 (バグID 13806043)

  • duなどのコマンドで、遅延割当てでのバイト数が変化しているときに、btrfsファイル・システムのファイル・サイズに整合性のない結果が表示される場合があります。 (バグID 13096268)

  • btrfsがコピーオンライトであるということは、ファイル・システム上のすべての操作で、最初にディスク・スペースが必要になるということです。 スペースが残っていないディスクでは、すべての操作を実行できず、ファイルの削除もできない場合があります。 回避策として、操作を再試行する前にsyncを実行します。 これでもうまくいかない場合は、-o nodatacowオプションを指定してファイル・システムを再マウントし、ファイルを削除してスペースを解放してください。 https://btrfs.wiki.kernel.org/index.php/ENOSPCを参照してください。

  • Btrfsには、1つのディレクトリから1つのファイルへのハード・リンクの数が237以下であるという制限があります。 正確な制限はファイル名の文字数によって異なります。 ファイル名が最大8文字までのファイルに対する制限は237ですが、ファイル名が長くなると制限数はさらに小さくなります。 この数を超えるリンクを作成しようとすると、「Too many links」のエラーが発生します。 別のディレクトリからは、同じファイルへのハード・リンクをさらに作成できます。 1つのディレクトリ内のハード・リンク数の制限は65535に増加されましたが、btrfs-progsパッケージで提供されるmkfs.btrfsのバージョンでは、この機能の互換性フラグがまだサポートされていません。 (バグID 16278563)

  • 圧縮後には常に割当て制限が強制適用されるため、btrfs qgroup limitコマンドの-cオプションは冗長です。 (バグID 16557528)

  • btrfs quota enableコマンドを、空ではないファイル・システムで実行すると、既存のファイルがスペース使用に対してカウントされません。 これらのファイルを削除すると、使用レポートにマイナスの数字が表示される場合があり、ファイル・システムにアクセスできなくなります。 回避策として、ファイル・システムの作成直後にquotaを有効にします。 ファイル・システムにすでにデータを書き込んだ場合は、もうquotaを有効にできません。 (バグID 16569350)

  • btrfs quota rescanコマンドは現在実装されていません。 このコマンドは再スキャンを実行せず、メッセージも表示せずに戻ります。 (バグID 16569350)

  • ファイル内のデータを上書きするときに、ファイルの途中から始めると、btrfs qgroup showによって表示されるスペース使用回数では、この上書きされたスペースが2回カウントされます。 (バグID 16609467)

  • ファイル・システムでbtrfsck --init-csum-treeを実行した後、同じファイル・システムで単純なbtrfsckを実行すると、このコマンドによって、以前は表示されなかったBackref不一致エラーが表示されます。 (バグID 16972799)

  • Btrfsでは、btrfsファイル・システムを作成する対象デバイスをトラッキングします。 その後、これらのデバイスをbtrfs以外のファイル・システムで再利用すると、デバイス・スキャンの実行時またはRAID-1ファイル・システムの作成時に次のようなエラー・メッセージが表示される場合があります。

    ERROR: device scan failed '/dev/cciss/c0d0p1' - Invalid argument

    これらのエラーは無視しても問題ありません。 (バグID 17087097)

  • -sオプションを使用して、セクター・サイズをページ・サイズとは異なるmkfs.btrfsに指定した場合、作成されるファイル・システムはマウントできません。 デフォルトでは、セクター・サイズは、ページ・サイズと同じになるように設定されます。 (バグID 17087232)

PVMゲストまたはPVHVMゲストでのCPUマイクロコード更新の失敗

UEK R3でOracle Linux6を実行すると、dmesgまたは/var/log/messagesで次のようなエラー・メッセージが表示される場合があります。

microcode: CPU0 update to revision 0x6b failed.

この警告は無視してかまいません。 仮想CPUのマイクロコードをゲストに提示されるとおりに更新する必要はありません。 (バグID 12576264、13782843)

DHCPリースがブート時に取得されない

ブート時のDHCPリース・ネゴシエーションが5秒よりも長くかかる場合は、次のメッセージが表示されます。

ethX: failed. No link present. Check cable?

ethtool ethXコマンドでインタフェースが存在することが確認されたら、/etc/sysconfig/network-scripts/ifcfg-ethXを編集して、LINKDELAY=N(Nは5秒より長い値(30秒など))を設定します。 別の方法として、NetworkManagerを使用してインタフェースを構成します。 (バグID 16620177)

dm-nfsの廃止

UEK R2では、dm-nfsモジュールにより、マウントされたNFSファイルまたはファイル・システムのループバック・デバイスを作成できました。 たとえば、この機能を使用すると、NFSファイル・システム上にOracle 3 VMクラスタ用の共有ストレージを作成できました。 dm-nfsモジュールは、サーバーへの直接I/Oを提供し、loopドライバを介さないことにより、追加レベルのページ・キャッシングを回避しました。 UEK R3では、dm-nfsモジュールが提供されません。 現在、loopドライバでは、直接I/Oを実行するようにAIOインタフェースを拡張することで、dm-nfsと同じI/O機能を利用できます。 ループバック・デバイスを作成するには、dmsetupではなくlosetupコマンドを使用してください。

DTrace

  • kill -9を使用してdtraceを終了すると、トレース中のプロセスでブレークポイントが未処理のままになり、そのうち強制終了される可能性があります。

  • プローブ定義の引数の宣言は、enumstructunionなどの派生型を使用して宣言できません。

  • 次のコンパイラの警告は、string型のプローブ定義の引数では無視できます(D型ですがC型ではありません)。

    provider_def.h:line#: warning: parameter names (without types) in function declaration

ERSTメッセージ

syslogまたはdmesgに表示される可能性がある次のメッセージは無視しても差し支えありません。

ERST: Failed to get Error Log Address Range.

このメッセージは、システムBIOSでError Record Serialization Table (ERST)がサポートされていないことを示します。 (バグID 17034576)

ext4インライン・データ

小さいファイルのデータをそのinode内に格納できるようにするインライン・データ機能はまだ利用できません。 mkfs.ext4コマンドおよびtune2fsコマンドの-O inline_dataオプションはサポートされていません。 (バグID 17210654)

ファームウェアの警告メッセージ

一部のSunハードウェアで表示される可能性がある次のファームウェアの警告メッセージは無視してかまいません。

[Firmware Warn]: GHES: Poll interval is 0 for generic hardware error source:
1, disabled.

(バグID 13696512)

ヒュージ・ページ

現在、1GBのヒュージ・ページは次の構成でサポートされていません。

  • HVMゲスト

  • PVゲスト

  • Oracle Database

2MBのヒュージ・ページは、これらの構成で動作することが確認されています。

(バグID 17299364、17299871、17271305)

I/Oスケジューラ

Unbreakable Enterprise Kernelでは、デフォルトのI/Oスケジューラとしてdeadlineスケジューラを使用します。 Red Hat互換カーネルの場合、デフォルトのI/Oスケジューラはcfqスケジューラです。

ioapic障害メッセージ

ioapic: probe of 0000:00:05.4 failed with error -22などのメッセージは無視しても差し支えありません。 ブート時にすでに登録されたI/O APIC PCIデバイスをioapicドライバが再度登録しようとした結果、このようなメッセージが表示されます。 (バグID 17034993)

スイッチ・ポートを無効にした際のInfiniBandの警告メッセージ

ibportstate disableコマンドを使用してスイッチ・ポートを無効にすると、次の警告メッセージが表示される場合があります。

ibwarn: [2696] _do_madrpc: recv failed: Connection timed out
ibwarn: [2696] mad_rpc: _do_madrpc failed; dport (Lid 38)
ibportstate: iberror: failed: smp set portinfo failed

これらの警告は無視してもかまいません。 (バグID 16248314)

IPoIBモードの切替え

Internet Protocol over InfiniBand (IPoIB)ドライバは、インタフェースでの接続モードまたはデータグラム・モードのいずれかの使用をサポートしますが、データグラム・モードがデフォルトのモードです。 connectedまたはdatagramのいずれかを/sys/class/net/ibN/modeにエコーすることによるInfiniBandインタフェースのモードの変更はサポートされていません。 また、InfiniBandインタフェースが有効になっているときにInfiniBandインタフェースのモードを変更することもできません。

InfiniBandインタフェースのIPoIBモードを変更するには:

  1. /etc/sysconfig/network-scripts/ifcfg-ibN構成ファイルを変更します(Nはインタフェースの数です)。

    • 接続モードを構成するには、ファイルでCONNECTED_MODE=yesを指定します。

    • データグラム・モードを構成するには、ファイルでCONNECTED_MODE=noを指定するか、またはこの設定をまったく指定しません(データグラム・モードはデフォルトで有効になります)。

    注意

    変更を保存する前に、ファイルのCONNECTED_MODEに2つ以上の設定を指定していないことを確認してください。

  2. インタフェースの指定したモードを有効にするには、次のコマンドを使用して、インタフェースを停止し、元に戻します。

    # ifdown ibN
    # ifup ibN

(バグID 17479833)

libfprint

dmesgまたは/var/log/messagesで次のメッセージが表示される場合があります。

WARNING! power/level is deprecated; use power/control instead.

UEK R3のUSBサブシステムでは、power/control属性を優先し、power/level sysfs属性は非推奨です。 libfprintフィンガープリント・ライブラリでは、最初に古い属性の使用を試みるudevルールによりこの警告がトリガーされます。 この警告は無視しても問題ありません。 適切なパワー・レベルの設定はそのまま継承されます。 (バグID 13523418)

大規模メモリー・システムのブート失敗

大規模メモリー・システムのブートに失敗した場合は、UEK R3への代替カーネルを使用してこれをブートし、kdumpサービスを無効にしてから、UEK R3カーネルをブートしてください。

# chkconfig kdump off

(バグID 16765434)

Linuxコンテナ(LXC)

  • コンテナを適切に操作するために、ホスト・システム上のSELinuxを完全に無効にすることが必要になる場合があります。 たとえば、次の条件下では、SELinuxがコンテナ操作の妨げになる場合があります。

    • コンテナ内部からhaltコマンドまたはshutdownコマンドを実行すると、コンテナがハングするか、permission deniedエラーが発生します。 (代替の回避策として、コンテナ内部からinit 0コマンドを使用してコンテナを停止します。)

    • コンテナ内部でパスワードを設定すると、rootとして実行した場合でも、permission deniedエラーが発生します。

    • コンテナへのsshログインを可能にする必要があります。

    ホスト上でSELinuxを無効にするには:

    1. SELinuxの構成ファイル/etc/selinux/configを編集し、SELINUXディレクティブの値をdisabledに設定します。

    2. ホスト・システムを停止して再起動します。

  • コンテナ内のrootユーザーは、/procエントリをいくつか設定することで、ホスト・システムの構成に影響を与えることができます。 (バグID 17190287)

  • initスクリプトを使用するコンテナ内部のパッケージをyumを使用して更新すると、Oracleテンプレートによる変更を元に戻すことができます。

  • 稼働中のコンテナ(lxc-checkpoint)の移行はまだサポートされていません。

  • Oracle Databaseは、Linuxコンテナでの使用がまだサポートされていません。 次の情報は、このような構成を試してみる方を対象としています。

    次の/procパラメータ・ファイルは、個別のコンテナではなく、ホストでのみ設定できます。

    • /proc/sys/fs/aio-max-nr

    • /proc/sys/net/core/rmem_default

    • /proc/sys/net/core/rmem_max

    • /proc/sys/net/core/wmem_default

    • /proc/sys/net/core/wmem_max

    • /proc/sys/net/ipv4/ip_local_port_range

    ホストのパラメータをOracleの推奨値に設定すると、すべてのコンテナのパラメータが設定され、Oracle Databaseをコンテナで実行できるようになります。 詳細は、「カーネル・パラメータの構成」を参照してください。 (バグID 17217854)

NUMA以外のシステム上のNUMA警告メッセージ

dmesgおよび/var/log messagesに次の警告メッセージがNUMA以外のシステムで表示された場合は無視してかまいません。

kernel: NUMA: Warning: node ids are out of bound, from=-1 to=-1 distance=10
hcid[4293]: Register path:/org/bluez fallback:1
kernel: No NUMA configuration found

(バグID 13711370)

pcspkrドライバのエラー・メッセージ

次のエラー・メッセージは無視してかまいません。

Error: Driver 'pcspkr' is already registered, aborting...

このメッセージは、snd-pcsppcspkrの間の別名の競合により表示されます。 このメッセージが表示されないようにするには、次の行を/etc/modprobe.d/blacklist.confに追加します。

blacklist snd-pcsp

(バグID 10355937)

CFSのsched_yield()設定

Unbreakable Enterprise Kernelの場合、kernel.sched_compat_yield=1がデフォルトで設定されています。 Red Hat互換カーネルの場合、デフォルトではkernel.sched_compat_yield=0が使用されます。

起動時のソフト・ロックアップ・エラー

高速ハードウェア上でUEK R3カーネルを(通常はSANストレージをアタッチして)アップグレードまたはインストールしている場合、カーネルが起動に失敗してBUG: soft lockupメッセージがコンソール・ログに表示されることがあります。 これを回避するには、ボー・レートの値をデフォルトの9600から増やすように/boot/grub/grub.confのカーネル起動行を修正して、適切なコンソール設定が含まれるようにします。例:

console=ttyS0,115200n8

115200の値は、19200など、一部のシステムでは不十分な値(たとえば、https://docs.oracle.com/cd/E19045-01/blade.x6220/820-0048-18/sp.html#0_pgfId-1002490)であることがわかっているため推奨されます。 ホストに統合システム管理インフラストラクチャ(SunおよびOracleシステム上のILOMや、HPシステム上のiLOなど)が実装されている場合は、統合コンソールのボー・レートをホスト・システムの設定に合うように構成してください。 そうしないと、統合コンソールの表示が文字化けする可能性があります。 (バグID 17064059、17252160)

透過的なヒュージ・ページ

このリリースでは、透過的なヒュージ・ページ(THP)機能が削除されました。 オラクル社では、広範なベンチマーキングとテストの後、THPが原因で一部のワークロードではパフォーマンスが5%から10%低下することが判明しました。 このパフォーマンス低下は、アプリケーションでTHPを使用していないときでも、より低速のメモリー・アロケータのコード・パスが使用された結果です。 ヒュージ・ページがスワップ不可能であることを考慮した場合、THPがもたらすプラス効果よりもマイナス効果が上回ります。

このUEKリリースをインストールした後は、(たとえば、カーネルのブート・パラメータを指定して)THPを有効にすることはできません。 また、/sys/kernel/mm/transparent_hugepageでのTHP設定も削除されました。 今後の更新には、パフォーマンスの問題を解決する、更新版のTHP実装が含まれる可能性があります。

注意

この変更は、明示的なヒュージ・ページを使用するアプリケーション(Oracle Databaseなど)のサポートに影響しません。

(バグID 16823432)

ユーザー・ネームスペース

権限のないプロセスで、内部でroot権限を持つユーザーのネームスペースを作成できるようにするカーネル機能(CONFIG_USER_NS)は、XFS実装とのクラッシュが原因で、現在実装されていません。 この機能は、主にLinuxコンテナでの使用を目的としています。 その結果、lxc-checkconfigコマンドを使用すると、User namespace: missingが表示されます。 (バグID 16656850)

仮想化

  • PVHVMゲストとしてUEK R3を起動する際、次のカーネル・メッセージは無視しても問題ありません。

    register_vcpu_info failed:
              err=-38

    (バグID 13713774)

  • Oracle VM Server 3.1.1で、UEK R3カーネルを実行しているPVHVMゲストを移行すると、datehwclockで表示される日時が一致しなくなります。 移行後の回避策としては、hwclock --hctosysコマンドをゲスト上で実行するか、ゲストをリブートします。 (バグID 16861041)

  • Oracle VM 2のすべてのリリース(2.2.2および2.2.3を含む)など、Xenバージョン3上に構築される仮想化システムでは、ext3およびext4ファイル・システムに対するディスク同期の要求により、ジャーナルが破損し、次のようなカーネル・メッセージがログに記録されます。

    blkfront: barrier: empty write xvda op failed
    blkfront: xvda: barrier or flush: disabled

    さらに、次のようなジャーナルの機能停止も報告される場合があります。

    Aborting journal on device xvda1

    回避策として、UEK R3にアップグレードする前に、ゲストVM内のすべてのext3およびext4ファイル・システムにマウント・オプションbarrier=0を追加します。 たとえば、次のようにマウント・エントリを変更します。

    UUID=4e4287b1-87dc-47a8-b69a-075c7579eaf1  /  ext3  defaults  1 1

    変更後:

    UUID=4e4287b1-87dc-47a8-b69a-075c7579eaf1  /  ext3  defaults,barrier=0  1 1

    この問題は、Oracle VM 3などのXen 4ベースのシステムには当てはまりません。 (バグID 17310816)

モジュール検証用のX.509証明書

ブート時にカーネル内X.509モジュール検証証明書の読込みで問題が発生した場合、システムで次のようなメッセージが報告されます。

Loading module verification certificates
X.509: Cert 0c21da3d73dcdbaffc799e3d26f3c846a3afdc43 is not yet valid
MODSIGN: Problem loading in-kernel X.509 certificate (-129)

このエラーは、たとえばhwclockによって示されるように、ハードウェア・クロックがシステム時間より遅れていることが原因で発生します。

# hwclock
Tue 20 Aug 2013 01:41:40 PM EDT -0.767004 seconds

解決策としては、次のコマンドを実行して、システム時間からハードウェア・クロックを設定します。

# hwclock --systohc

ハードウェア・クロックの修正後は、たとえば次のように、ブート時にエラーが表示されなくなります。

Loading module verification certificates
MODSIGN: Loaded cert 'Slarti: Josteldalsbreen signing key:
0c21da3d73dcdbaffc799e3d26f3c846a3afdc43'

(バグID 17346862)