第3章 既知の問題
この章では、この更新の既知の問題について説明します。
3.1 4 GB未満のメモリーを搭載したKVMゲストは、自動予約クラッシュ・カーネル・メモリーに失敗することがあります
crashkernel=auto
設定が4 GB未満の物理メモリーを持つゲストで使用されている場合、UEK R4を実行しているKVMゲストがクラッシュ・カーネルのメモリーを自動予約できないことがあります。
この問題が4 GB未満の物理メモリーを持つKVMゲストで発生しないようにするには、crashkernel=128M
などの予約サイズを明示的にリクエストすることによって、クラッシュ・カーネルのメモリーを予約できます。 (Bug ID 26933217 )
3.2 btrfs、ext4およびxfs: 凍結および凍結解除操作が複数のスレッドで実行された場合にカーネル・パニックが発生する
サポートされているファイルシステム上の複数のスレッドにわたって実行される操作をフリーズおよびアン・フリーズすると、システムがハングアップし、カーネルがパニックに陥ります。 この問題は、フリーズ操作が実際にフリーズされる前にトリガーされたときに発生する競合状態の結果です。 生成されたロック解除操作は、存在しないロックに対して書き込み操作を試み、カーネルがパニックに陥ります。 (バグID 25321899)
3.3 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)
-
「qgroup showの上書きされたスペースの二重カウント。」ファイルの中央のどこかからファイル内のデータを上書きすると、上書きされた領域は、btrfs qgroup showに表示される領域使用量の数値で2回カウントされます。 btrfs quota rescanを使用しても、この問題の解決の役には立ちません。 (バグID 16609467)
-
「
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チャネルのol6_latest
とol7_latest
チャネルで利用可能になりました。
3.4 ext4の問題
以下は、ext4
の既知の問題です:
-
「負の
i_size
を持つファイルに追加した後、システムがアンマウントするとハングします。」ファイル・システムで負のi_size
を使用してiノードをロードすることは無効ですが、このようなファイルを作成して追加することもできます。 しかし、そのようにすると、ライトバックの基礎となるルーチンに整数オーバーフローが発生し、カーネルがロック・アップします。 (バグID 25565527) -
「ハングアップは、iノード・サイズの動的拡張時に発生します。」 iノード
i_extra_size
フィールドを使用している場合、iノード・サイズの動的拡張中にext4
ファイルシステムでハングアップが発生します。 (Bug ID 25718971)
3.5 xfsの問題
以下は、xfs
の既知の問題です:
-
「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.6 DIF/DIXはextファイルシステムではサポートされていません
SCSI規格に追加されたDIF (Data Integrity Field)およびDIX (Data Integrity Extension)機能は、メモリー管理システムによるバッファ内のデータの変更試行を正しく処理できるファイルシステムに依存しています書き込みのためにキューに入れられます。
ext2、ext3、およびext4ファイルシステム・ドライバは、チェックサムの失敗や論理ブロック・ガードのチェックに失敗しましたというエラーを引き起こすI/Oの間にページが変更されるのを防ぎません。 XFSなどの他のファイルシステムもサポートされています。 (バグID 24361968)
3.7 起動時にコンソールがハングしているように見える
ASPEEDグラフィックス・コントローラを搭載したハードウェアでOracle Linux 6を起動すると、udev
を起動した後に起動プロセス中にコンソールがハングアップしているように見えることがあります。 ただし、システムは正常に起動しており、アクセス可能です。 回避策は、nomodeset
を/etc/grub.conf
のカーネル・ブート・パラメータとして追加します。 (バグID 22389972)
3.8 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)
3.9 DTraceの問題
以下はDTraceの既知の問題です:
-
USDTプローブ定義での引数の宣言は、
enum
、struct
、union
などの派生型を使用して宣言できません。 -
次のコンパイラの警告は、
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.10 エラー、他のホストがすでにアドレス 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.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_profile
を0
に設定します。 または、log_num_srq
を16
に設定します。 この問題に対する優先解決策は、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 PCI再スキャン後に/dev
ディレクトリにNVMeデバイスが見つかりません
NVM Express(NVMe)アダプタ・カード・デバイスのPCIバスを取り外し、PCIバスの再スキャンを実行すると、/dev
ディレクトリの下にNVMeアダプタ・カード・デバイスが見つかりません。
この問題の回避策は、PCIバスの再スキャンを実行する前に、NVMeアダプタ・カード・デバイスが接続されているPCIスロットも削除することです。 (バグID 26610285)
3.14 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.15 オープン・ファイル記述(OFD)のロックがNFSv4マウントでサポートされていない
NFSは、OFDロックを処理するように設計されていません。 (バグID 22948696)。
3.16 Oracle VM Server 16 GBのQLogic FC HBAのMSI-X割り込み割り当てに失敗しました
Intel ixgbe
/ixgbevf
とQLogic qla2xxx
ドライバは、Oracle VM Server 3.4を実行しているシステムで16 GB QLogic Fibre Channel HBAを使用している場合、MSI-Xリソースを競合します。 その結果、両方のドライバがシステムで使用され、ixgbe
/ixgbevf
ドライバに許可される仮想関数(VF)デバイスの最大数を作成しようとすると、割り込み割り当ての失敗が発生します。最後のVFデバイス。
この問題は、QLogic 16GBカード(FCファームウェアv 8.07.71以降)に最新のOracleサポートされているファームウェアを使用することで完全に解決されます。 (バグID 25952728、26916827 )
3.17 QLogic FC HBAドライバ・モジュールの手動アンロード中にカーネルがクラッシュする可能性がある
UEK R4 update 6を実行しているOracle Sun Server X4-2上のOracle 7101674 16 GB HBAモデル用のQLogic Fibre Channel (FC)ホスト・バス・アダプタ(HBA)ドライバ・モジュールを手動でアンロードしているときに、カーネル・クラッシュが発生することがあります。 (バグID 27248515)
3.18 起動時にRDMAサービスが開始されない
ibacm
サービスは起動時に起動するが、rdma
サービスは起動しないため、システムの起動時にibacm
サービスの起動に失敗したことを示すエラーが表示されます。 このエラーは、システムのブート直後に/var/log/ibacm.log
にも記録されます。
この問題を回避するには、service ibacm startコマンドを実行して、起動するたびにibacm
サービスを手動で開始します。
(バグID 26883485および27043535)
3.19 SDPのパフォーマンスの低下
InfiniBandネットワーク上のTCPに代わるRDMAを提供するために設計されたSockets Direct Protocol(SDP)は、UEK R4u2以降のような最新のカーネルでパフォーマンスが低下することが知られています。 このプロトコルに関して実施している開発はありません。
このプロトコルのライブラリはまだこのカーネルに使用可能ですが、サポートは限定されています。 より安定した代替案として、InfiniBand上でIPに加えてTCPを使用することを検討する必要があります。 (バグID 22354885)
3.20 共有受信キュー(SRQ)はRDSの実験的な機能であり、既定では無効になっています
rds_rdma
モジュール内のリソース使用量を最適化するSRQ関数は、試験的なものであり、デフォルトでは無効になっています。 rds_ib_srq_enabled
フラグを設定することでこの機能を有効にすると、警告メッセージが表示されます。 (バグID 23523586)
3.21 rds_rdma
モジュールのアンロードまたは削除がサポートされていない
rds_rdma
モジュールをロードした後は、rmmodまたはmodprobe -rを使用してそのモジュールを削除できません。 rds_rdma
モジュールのアンロードはサポートされておらず、カーネル・パニックを引き起こす可能性があります。 このモジュールに対してmodule_unload_allowed
フラグを設定しないでください。 (バグID 23580850)