機械翻訳について

第3章 既知の問題

この章では、この更新の既知の問題について説明します。

3.1 btrfs、ext4およびxfs: 凍結および凍結解除操作が複数のスレッドで実行された場合にカーネル・パニックが発生する

サポートされているファイルシステム上の複数のスレッドにわたって実行される操作をフリーズおよびアン・フリーズすると、システムがハングアップし、カーネルがパニックに陥ります。 この問題は、フリーズ操作が実際にフリーズされる前にトリガーされたときに発生する競合状態の結果です。 生成されたロック解除操作は、存在しないロックに対して書き込み操作を試み、カーネルがパニックに陥ります。 (バグID 25321899)

3.2 btrfs

以下は、btrfsの既知の問題です:

  • 「送信操作により、大きな重複除外ファイルに対してソフト・ロック・アップが発生します。」 btrfs sendを大規模な重複除外ファイルで使用すると、ソフト・ロック・アップまたはメモリー不足の問題が発生します。 この問題は、btrfs send操作が、1エクステントを指しているファイル・エクステントを含む大きな重複除外ファイルを処理できないために発生します。これらのタイプのファイル構造はbtrfs send操作に大きな圧力をかけます。

    この問題が発生しないようにするには、4 GB未満のメモリーを搭載したシステムではbtrfs sendを使用しないでください。 (Bug ID 25306023)

  • 割り当ての再スキャンをトリガーしたり、マウントされたファイルシステムの割り当て制限を無効にしたりする「クォータの再スキャン中またはアンインストール中にアンマウントすると、カーネルがうまく動作しません。」操作によって、ファイルシステムをアンマウントしようとしたときにカーネルoopsメッセージが表示されます。 これにより、システムがハングする場合があります。 (バグID 22377928)

  • 「qgroupアカウンティングを使用して共有エクステントを削除すると、カーネルがうんざりします。」割当て制限グループ(qgroup)アカウンティングが使用されている共有エクステントを削除すると、カーネルoopsメッセージが表示される可能性があります。 これは、遅れ参照を追加するときにレコードが欠落しているため、バック・リファレンス・ウォーク中に不正確な結果が得られるという問題に関連しています。 (Bug ID 21554517)

  • 「ファイルシステムとRAIDのバランスをとるときに警告は表示されません。」 btrfs filesystem balanceコマンドでは、特定の状況下でRAIDレベルを変更できることは警告されず、操作を取り消すこともできません。 (バグID 16472824)

  • 「すべてのbtrfs操作を実行するためのディスク容量要件。」 btrfsのコピー・オン・ライト特性は、ファイル・システム上のすべての操作に最初にディスク領域が必要であることを意味します。 スペースが残っていないディスクでは操作を実行できず、ファイルを削除することもできない可能性があります。 メタデータを格納するスペースがない場合、ENOSPCエラーが返されます。 この状況では、操作を再試行する前にsyncを実行してください。これにより、メタデータ領域を予約している可能性のあるバックグラウンド・ライトバックがクリアされる可能性があります。 別の回避策は、btrfs device addコマンドを使用して、ディスクまたはファイル・バックエンド・ループ・デバイスを追加することです。 データおよびメタデータの格納に使用されるメカニズムにより、dfなどのツールによって返される情報が混乱する可能性があります。 場合によっては、データに使用可能なスペースがある場合でも、この目的のために割り当てられたすべてのディスク・スペースがメタデータによって満たされることがあります。 この場合は、ファイル・システムが不均衡になっているため、btrfs fi balance操作を実行することで問題を解決できます。 https://btrfs.wiki.kernel.org/index.php/Problem_FAQ#I_get_.22No_space_left_on_device.22_errors.2C_but_df_says_I.27ve_got_lots_of_spaceを参照してください。

  • 「qgroup showの上書きされたスペースの二重カウント。」ファイルの中央のどこかからファイル内のデータを上書きすると、上書きされた領域は、btrfs qgroup showに表示される領域使用量の数値で2回カウントされます。 btrfs quota rescanを使用しても、この問題の解決の役には立ちません。 (バグID 16609467)

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

  • btrfs-progsおよびbtrfs-progs-develパッケージのロケーション。」 UEK R4で使用するbtrfs-progsおよびbtrfs-progs-develパッケージは、Oracle Linux Yumサーバー上のol6_x86_64_UEKR4およびol7_x86_64_UEKR4 ULNチャネルとol6_UEKR4およびol7_UEKR4チャネルで使用可能になります。 UEK R3では、これらのパッケージは、ol6_x86_64_latestおよびol7_x86_64_latest ULNチャネル、Oracle Linux Yum Server上のol6_latestおよびol7_latestチャネルで入手可能でした。

3.3 ext4

以下は、ext4の既知の問題です:

  • 「孤立した孤立したinodeリストを処理すると、システムがハングします。」孤立iノード・リストが破損している場合、iノードが繰り返し処理され、システムがハングアップする可能性があります。 たとえば、孤立したiノード・リストにブート・ローダーのinode(ext4_iget())への参照が含まれている場合、不正なiノードが返された場合、システムがハングアップする処理ループが発生する可能性があります。 (バグID 24433290)

  • 「負のi_sizeを持つファイルに追加した後、システムがアンマウントするとハングします。」ファイル・システムで負のi_sizeを使用してiノードをロードすることは無効ですが、このようなファイルを作成して追加することもできます。 しかし、そのようにすると、ライトバックの基礎となるルーチンに整数オーバーフローが発生し、カーネルがロック・アップします。 (バグID 25565527)

3.4 xfs

以下は、xfsの既知の問題です:

  • 「ファイル・システムの破損は、直接I/O書込みの後に発生します。」直接I/O書込みにeof後ブロックが使用される競合状態により、ファイル・システムが破損します。 ダイレクトI/O writeを拡張しているファイル中にファイルの解放が発生した場合、post-eofブロックを間違った事前割り当てに間違えて、inodeから誤って切り捨てる可能性があります。 この問題は、実際の作業負荷では再現されない可能性があります。 (バグID 26128822)

  • 「v5スーパー・ブロックのログ・リカバリに問題があるため、無効なファイルシステム・エラーが無効です。」 v5スーパー・ブロックでのログ・リカバリの問題により、メタデータLSNが書き出すバッファに対して更新されない場合、次のような破損エラーが発生する可能性があります:

    [1044224.901444] XFS (sdc1): Metadata corruption detected at
    xfs_dir3_block_write_verify+0xfd/0x110 [xfs], block 0x1004e90
    [1044224.901446] XFS (sdc1): Unmount and run xfs_repair
    ...
    [1044224.901460] XFS (sdc1): xfs_do_force_shutdown(0x8) called from line 1249
    of file fs/xfs/xfs_buf.c.  Return address = 0xffffffffa07a8910
    [1044224.901462] XFS (sdc1): Corruption of in-memory data detected.  Shutting
    down filesystem
    [1044224.901463] XFS (sdc1): Please umount the filesystem and rectify the
    problem(s)
    [1044224.904207] XFS (sdc1): log mount/recovery failed: error -117
    [1044224.904456] XFS (sdc1): log mount failed"

    この問題は、後で更新された更新によって有効ではなくなったバッファ更新をログが再生しようとするために発生します。 実際にファイルシステムが正常な場合、結果は破損エラーになります。 (バグID 25380003)

  • 「負のi_sizeを持つファイルをバッファリングした後、システムはアンマウントしてハングします。」負のi_sizeを使用してiノードをロードすることはファイルシステムでは無効ですが、このようなファイルを作成することもできます。バッファが追加された場合は、ライトバックの基礎となるルーチンで整数オーバーフローが発生するとカーネルがロックされます。 直接追加ではこの動作は発生しません。 (バグID 25565490)

  • 「投機的な事前割り振りを持つ2つのエクステント・ファイルに対して、xfs_fsrの実行中にシステムがハングします。」投機的事前割当てによって生成されるエクステントのxfs_fsrプロセスでは、使用されるdi_nextentsコールでこれらのエクステントが考慮されないため、すべてのエクステントがインラインで適合するかどうかを判断するコードが正しく計算されません。 その結果、メモリー内のinodeが破損し、最終的に不正確に計算された範囲を使用してメモリー構造を移動しようとします。 このことによってカーネル・パニックが発生します。 (バグID 25333211)

  • Oracle Linux 6で読取り専用権限でファイル・システムを再マウントすると、XFSで「Oracle Linux 6の読み取り専用再マウント後にXFSクォータが無効になります。」割当てが無効になります。 (バグID 22908906)

  • 「オーバーレイ・ファイル・システムは、d_typeがサポートされていないXFSにはマウントできません。」 Overlayファイルシステムは、d_typeサポートと呼ばれる機能に依存します。 この機能は、基本ファイルシステム内のディレクトリ・エントリ内のファイルに関するメタデータを提供するデータ構造内のフィールドです。 オーバーレイ・ファイル・システムは、このフィールドを使用して、ファイルの所有権の変更やホワイト・アウトなどの多くのファイル操作を追跡します。d_typeオプションを使用して、ファイルシステムの作成時にd_typeサポートをXFSで有効にすることができます。 d_typeサポートが有効になっていないと、オーバーレイ・ファイル・システムが破損し、予期しない動作をする可能性があります。 このため、UEK R4のこの更新リリースでは、d_typeサポートが有効になっていないXFSベースにオーバーレイ・ファイル・システムをマウントすることができません。

    Oracle Linuxのrootパーティションは、自動的に-n ftype=0でフォーマットされます。ここでは、XFSがファイルシステムとして選択されています。 したがって、下位互換性の理由から、オーバーレイ・ファイル・システムが既に存在し、これらが代替記憶域にホストされていない場合は、d_typeサポートを有効にしてフォーマットされたファイルシステムに移行する必要があります。

    XFSファイルシステムが正しくフォーマットされていることを確認するには:

    # xfs_info /dev/sdb1 |grep ftype

    /dev/sdb1を正しい記憶域デバイスのパスに置き換えます。 このコマンドで返される情報にftype=0が含まれている場合は、このディレクトリに保存されているオーバーレイ・データを、正しくフォーマットされた記憶域に移行する必要があります。

    オーバーレイ・ファイル・システムをサポートするXFSファイルシステムで新しいブロック・デバイスを正しくフォーマットするには、次のようにします:

    # mkfs -t xfs -n ftype=1 /dev/sdb1

    /dev/sdb1を正しい記憶域デバイスのパスに置き換えます。 ファイルシステムを作成するときは、-n ftype=1オプションを使用することが不可欠です。

    追加のブロック記憶域を使用できない場合は、マウント可能なXFSファイルシステム・イメージとループバックを作成することができます。 たとえば、rootディレクトリに5 GBのイメージ・ファイルを作成するには、次のコマンドを使用します:

    # mkfs.xfs -d file=1,name=/OverlayStorage,size=5g -n ftype=1

    このファイルを一時的にマウントするには、次のように入力します:

    # mount -o loop -t xfs /OverlayStorage /mnt

    /etc/fstabにエントリを追加して、この記憶域の永続マウントを行うと、次のようになります:

    /OverlayStorage    /mnt        xfs     loop            0 0 

    この構成は、アップグレードの問題を解決するための一時的な解決策として役立ちます。 ただし、ループバック・マウントされたファイルシステム・イメージを永続記憶域の形式として使用することは、本番環境では推奨されません。 (バグID 26165630)

3.5 DIF/DIXはextファイルシステムではサポートされていません

SCSI規格に追加されたDIF (Data Integrity Field)およびDIX (Data Integrity Extension)機能は、メモリー管理システムによるバッファ内のデータの変更試行を正しく処理できるファイルシステムに依存しています書き込みのためにキューに入れられます。

ext2、ext3、およびext4ファイルシステム・ドライバは、チェックサムの失敗や論理ブロック・ガードのチェックに失敗しましたというエラーを引き起こすI/Oの間にページが変更されるのを防ぎません。 XFSなどの他のファイルシステムもサポートされています。 (バグID 24361968)

3.6 起動時にコンソールがハングしているように見える

ASPEEDグラフィックス・コントローラを搭載したハードウェアでOracle Linux 6を起動すると、udevを起動した後に起動プロセス中にコンソールがハングアップしているように見えることがあります。 ただし、システムは正常に起動しており、アクセス可能です。 回避策は、nomodeset/etc/grub.confのカーネル・ブート・パラメータとして追加します。 (バグID 22389972)

3.7 Docker

以下は、Dockerの既知の問題です:

  • yum installをoverlayfsファイル・システム上のコンテナ内で実行すると、次のエラーが発生して失敗します: 

    Rpmdb checksum is invalid: dCDPT(pkg checksums): package_name

    このエラーは、Dockerfileビルドを破壊する可能性がありますが、カーネルからの予期された動作であり、upstreamの既知の問題です(https://github.com/docker/docker/issues/10180を参照)

    回避策は、パッケージのインストールの前に、touch /var/lib/rpm/*を実行します。

    この問題は、Docker HubまたはOracle Container Registryで入手できるOracle Linuxイメージでは修正されていますが、サード・パーティのイメージに基づくコンテナを実行する場合にはまだ発生する可能性があります。 (バグID 21804564)

  • 「Dockerは、XFS形式の記憶域でoverlay2記憶域ドライバを使用する場所で失敗する可能性があります。」 ftypeが1に設定されていない場合、XFSでのオーバーレイ・マウントを防ぐためにカーネル・パッチが適用されています。 この修正により、d_typeサポートが有効になっていないと、XFSがオーバーレイ・ファイル・システムのホワイト・アウト機能を正しくサポートしないという問題が解決されます。 Dockerエンジンがすでにoverlay2記憶域ドライバでXFSフォーマットの記憶域を使用している場合、-n ftype=1オプションを有効にして、基盤となるXFSファイルシステムが作成されていないと、カーネルをアップグレードするとDockerが失敗する可能性があります。 Oracle Linux 7のルート・パーティションは自動的に-n ftype=0でフォーマットされ、XFSがファイルシステムとして選択されます。 したがって、この環境でoverlay2記憶域ドライバを使用する場合は、この目的のために別のデバイスをフォーマットする必要があります。 (Bug ID 25995797)

  • 「Dockerはoverlay2記憶域ドライバを使用し、SELinuxが有効な場所では失敗する可能性があります。」 Docker Engineがoverlay2ストレージ・ドライバを使用するように構成されており、SELinuxが有効化されて強制モードに設定されている場合、Dockerコンテナは正しく機能せず、権限エラーが発生します。 overlay2記憶域ドライバでDockerを使用する場合は、SELinuxをPermissiveモードに設定する必要があります。 (Bug ID 25684456)

3.8 DTrace

以下はDTraceの既知の問題です:

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

  • 次のコンパイラの警告は、string型のUSDTプローブ定義引数(C型ではなくD型)の場合、無視できます。

    provider_def.h:line#: warning: parameter names (without types) in function declaration
  • 最初のスレッド以外のスレッドでdlopen()を実行するustack()usym()uaddr()umod()のマルチスレッド・プロセスでは、dlopen()によって導入されたシンボルの正確なシンボル解決が得られない可能性があります。 (バグID 20045149)

3.9 エラー、他のホストがすでにアドレス xxx.xxx.xxx.xxxを使用しています

特定のインスタンスでは、次のエラー・メッセージが表示されることがあります:

Error, some other host already uses address  xxx.xxx.xxx.xxx

このエラー・メッセージがトリガーされる可能性のある2つのインスタンスは、次のとおりです:

  • アクティブ・ボンディングが使用可能になり、ifup ib-interfaceコマンドを実行すると、。

  • service rdma startコマンドを実行するとき。

どちらの場合も、InfiniBandインタフェースが正常に起動されるため、このメッセージは無視できます。 (Bug IDs 21052903, 26639723)

3.10 ifup-ib: line 357: /sys/class/net/ib0/acl_enabled: 権限が拒否されましたエラー

ifup ib-interfaceまたはservice network restartを実行すると、次のエラーが報告されます:

/etc/sysconfig/network-scripts/ifup-ib: line 357: /sys/class/net/ib0/acl_enabled: Permission denied

このエラーは、InfiniBandインタフェースが正常に起動した場合でも報告されます。

この問題の回避策は、sysfsファイルを操作する古い構成メソッドを使用しないで、提供されている新しいibaclツールに変更することです。 (バグID 26197105)

3.11 Oracle VM Server上でのMellanox® HCA使用時のdom0メモリー要件の増加

Oracle VM Servers UEKR4u2を実行し、dom0を上向きにすると、Mellanox®ドライバを使用するために少なくとも400MB以上のメモリーが必要です。 このメモリー要件は、SRQカウントのデフォルト・サイズがカーネルのそれ以降のバージョンで64Kから256Kに増加し、scale_profileオプションがデフォルトでmlx_coreモジュールで有効になったためです。

dom0にメモリー不足エラーが発生した場合、最大dom0メモリー・サイズを増やす必要があります。 代わりの回避策には、mlx4_coreドライバのモジュール・パラメータを手動で設定する必要があります。 これらのパラメータを設定するには、/etc/modprobe.d/mlx4_core.confを編集し、scale_profile0に設定します。 または、log_num_srq16に設定します。 この問題に対する優先解決策は、Oracle VM Server上のdom0に割り当てられたメモリーを増やすことです。 (バグID 23581534)

3.12 LXC

LXCの既知の問題は次のとおりです:

  • lxc-netサービスがOracle Linux 6でのインストール直後に起動しないことがあります。 lxc-netサービスは、Oracle Linux 6でのインストール直後に起動するというアクションがRPMインストール後スクリプトの一部として指定されている場合でも、起動しないことがあります。 これにより、lxcbr0インタフェースが表示されなくなります。 インストール後、このインタフェースが動作しない場合は、service lxc-net startを実行して手動で起動することができます。 (バグID 23177405)

  • LXCの読取り専用パラメータip_local_port_range。 lxc-1.1以降およびUEK R4では、ip_local_port_rangeは、読取り専用ではなく、Oracle Linuxコンテナの/proc/sys/net/ipv4下の読取り/書込み可能パラメータです。 (バグID 21880467)

3.13 ixgbe/ixgbevf仮想関数作成の最大数の間にMSI-X割り込み割り付けが失敗

Intel ixgbe/ixgbevfおよびQlogic qla2xxxドライバは、MSI-Xリソースを競合します。 その結果、両方のドライバがシステムで使用され、ixgbe/ixgbevfドライバに許可される仮想関数(VF)デバイスの最大数を作成しようとすると、割り込み割り当ての失敗が発生します。最後のVFデバイス。

この問題が発生することなく、ixgbe/ixgbevfに許可されているVFデバイスの最大数を作成して使用することができますが、これを含めることはできません。 (バグID 25952728)

3.14 PCI再スキャン後に/devディレクトリにNVMeデバイスが見つかりません

NVM Express(NVMe)アダプタ・カード・デバイスのPCIバスを取り外し、PCIバスの再スキャンを実行すると、/devディレクトリの下にNVMeアダプタ・カード・デバイスが見つかりません。

この問題の回避策は、PCIバスの再スキャンを実行する前に、NVMeアダプタ・カード・デバイスが接続されているPCIスロットも削除することです。 (バグID 26610285)

3.15 Oracle Linux 6でイニシエータからOFED iSERターゲット・ログインが失敗する

oracle-ofed-releaseパッケージがインストールされ、iSER (RDMA用のiSCSI拡張機能)ターゲットが構成されているOracle Linux 6システムでは、イニシエータとしてのiSERターゲットへのログインが失敗します。 Oracle Linux 6イニシエータ・マシンでは、次の動作が一般的です。

# iscsiadm -m node -T iqn.iser-target.t1 -p 10.196.100.134 --login
Logging in to [iface: default, target: iqn.iser-target.t1, portal:
10.196.100.134,3260] (multiple)
iscsiadm: Could not login to [iface: default, target: iqn.iser-target.t1,
portal: 10.196.100.134,3260].
iscsiadm: initiator reported error (8 - connection timed out)
iscsiadm: Could not log into all portals

これは予期された動作であり、無効なコンテキストからの書込みに対して保護するためのCVE-2016-4564の更新情報修正によるものです。

(バグID 23615903)

3.16 オープン・ファイル記述(OFD)のロックがNFSv4マウントでサポートされていない

NFSは、OFDロックを処理するように設計されていません。 (バグID 22948696)。

3.17 SDPのパフォーマンスの低下

InfiniBandネットワーク上のTCPに代わるRDMAを提供するために設計されたSockets Direct Protocol(SDP)は、UEK R4u2以降のような最新のカーネルでパフォーマンスが低下することが知られています。 このプロトコルに関して実施している開発はありません。

このプロトコルのライブラリはまだこのカーネルに使用可能ですが、サポートは限定されています。 より安定した代替案として、InfiniBand上でIPに加えてTCPを使用することを検討する必要があります。 (バグID 22354885)

3.18 共有受信キュー(SRQ)はRDSの実験的な機能であり、既定では無効になっています

rds_rdmaモジュール内のリソース使用量を最適化するSRQ関数は、試験的なものであり、デフォルトでは無効になっています。 rds_ib_srq_enabledフラグを設定することでこの機能を有効にすると、警告メッセージが表示されます。 (バグID 23523586)

3.19 rds_rdmaモジュールのアンロードまたは削除がサポートされていない

rds_rdmaモジュールをロードした後は、rmmodまたはmodprobe -rを使用してそのモジュールを削除できません。 rds_rdmaモジュールのアンロードはサポートされておらず、カーネル・パニックを引き起こす可能性があります。 このモジュールに対してmodule_unload_allowedフラグを設定しないでください。 (バグID 23580850)