PowerPath AIX: アプリケーションがクラッシュし、sys/errno.h 22 (EINVAL) で定義されているエラーコードでLVM_IO_FAILする

Summary: 2 つの仮想 HBA を持つ NPIV 構成では、1 つの仮想 HBA がダウンし、I/O 用のパスが 1 つ残っているにもかかわらず、LVM_IO_FAIL が errpr に記録され、ERROR CODE AS DEFINED IN sys/errno.h が 22 (EINVAL) に設定されます。これらのLVMエラーにより、ボリュームを使用しているアプリケーションがクラッシュします。この問題は、NPIV以外の環境でも発生する可能性があります。 ...

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

パスの喪失

環境:
Dell Software: PowerPath for AIX(任意のリリース)

PowerPathによって管理される複数パス構成では、1つのパスがダウンし、他のパスが使用可能であっても、アプリケーションがダウンします。また、"ERROR CODE AS DEFINED IN sys/errno.h" が 22 に設定されたLVM_IO_FAILが記録されます。

「summ」でデコードすると、次のようにエラーが表示されます。

107769 Apr 12 08:57:21 LVDD       P LVM_IO_FAIL         LV 8000002C00000003 PV 800000250000001A Block 20016620 EINVAL

(すべてのパスでのエラーに起因する実際のLVM_IO_FAILは、通常、エラー番号5(EIO)に関連付けられています...これはここでは当てはまりません)

LABEL:        LVM_IO_FAIL
IDENTIFIER:    E86653C3

Date/Time:       Sun Apr 12 10:09:28 2020
Sequence Number: 108111
Machine Id:      0XXXXXXXXXXX
Node Id:         snode1
Class:           H
Type:            PERM
WPAR:            Global
Resource Name:   LVDD
Resource Class:  NONE
Resource Type:   NONE
Location:

Description
I/O ERROR DETECTED BY LVM

Probable Causes
POWER, DRIVE, ADAPTER, OR CABLE FAILURE

    Recommended Actions
    RUN DIAGNOSTICS AGAINST THE FAILING DEVICE

Detail Data
PHYSICAL VOLUME DEVICE MAJOR/MINOR
8000 0025 0000 0029
ERROR CODE AS DEFINED IN sys/errno.h
          22
BLOCK NUMBER
             392149792
LOGICAL VOLUME DEVICE MAJOR/MINOR
8000 002D 0000 0001
PHYSICAL BUFFER TRANSACTION TIME
                     0
RESIDUAL COUNT
               1048576
NUMBER OF BLOCKS
               1048576
I/O TYPE
USER DATA
SENSE DATA
0000 0000 0002 EBF7 00F6 D020 0000 4C00 0000 013D 10F0 F4AD 00F6 D020 3831 80BE
0000 0000 0000 0000

 

Cause

このエラーは、アップストリーム(FS/LVM)のI/Oバッファーがディスク ドライバーに転送されていない場合に生成されます。(ここではPowerPath - ただし、この問題はMPIO環境でも発生する可能性があります)hdiskpower)。

IBMの用語では、このLVM I/Oエラー(EINVAL)は、VG LTGサイズ(LVM I/Oバッファー)とディスク max_transfer サイズまたはアダプター max_xfer_size(ここではNPIV)が一致していない可能性があるため、PCM (powerpath)がLVMからのI/O要求を処理できない場合に報告されます。

論理トラック グループ(LTG)がディスク ドライバー max_transfer サイズより大きい場合、I/Oを処理できず、ernoを22(EINVAL)に設定してLVM_IO_FAILが生成されます

このケースでは、次のことがありました(お客様の個人データは変更されています)。

VOLUME GROUP:       vgdata1                  VG IDENTIFIER:  00f6d02000004c0000000145a924a9d9
VG STATE:           active                   PP SIZE:        256 megabyte(s)
VG PERMISSION:      read/write               TOTAL PPs:      36387 (9315072 megabytes)
MAX LVs:            512                      FREE PPs:       746 (190976 megabytes)
LVs:                3                        USED PPs:       35641 (9124096 megabytes)
OPEN LVs:           3                        QUORUM:         7 (Enabled)
TOTAL PVs:          13                       VG DESCRIPTORS: 13
STALE PVs:          0                        STALE PPs:      0
ACTIVE PVs:         13                       AUTO ON:        yes
MAX PPs per VG:     127000
MAX PPs per PV:     5080                     MAX PVs:        25
LTG size (Dynamic): 1024 kilobyte(s)         AUTO SYNC:      no
HOT SPARE:          no                       BB POLICY:      relocatable
PV RESTRICTION:     none                     INFINITE RETRY: no
DISK BLOCK SIZE:    512                      CRITICAL VG:    no
FS SYNC OPTION:     no                       CRITICAL PVs:   no

および

# lsattr -El hdisk25

PR_key_value   none               Persistant Reserve Key Value     True
clr_q          yes                Device CLEARS its Queue on error True
location                          Location Label                   True+
lun_id         0x0                Logical Unit Number ID           False
lun_reset_spt  yes                FC Forced Open LUN               True
max_coalesce   0x100000           Maximum Coalesce Size            True
max_retries    5                  Maximum Number of Retries        True
max_transfer   0x40000            Maximum TRANSFER Size            True
node_name      0x5000144041111111 FC Node Name                     False
pvid           none               Physical volume identifier       False
q_err          no                 Use QERR bit                     True
q_type         simple             Queue TYPE                       True
queue_depth    32                 Queue DEPTH                      True+
reassign_to    120                REASSIGN time out value          True
reserve_policy no_reserve         Reserve Policy                   True
reset_delay    0                  Reset Delay                      True
rw_timeout     30                 READ/WRITE time out value        True
scsi_id        0x72ff40           SCSI ID                          False
start_timeout  60                 START UNIT time out value        True
ww_name        0xc001448111111111 FC World Wide Name               False

ここでは、max_transfer = 0x40000 (256 kB) < LTG (1024 kB) (0x100000) ..が問題の原因となっています。

構成では、一部のhdiskは「max_transfer」が0x100000に設定され、他のhdiskは0x40000に設定されていました(おそらく異なるODMリリースで生成されています)。すべてのパスが使用可能な場合は、max_transferが0x100000に設定されているすべてのhdiskpowerのhdiskが常に1つ存在し、I/Oを完了できます。しかし、このhdiskが使用できなくなると、max_transferが0x40000に設定されたディスクにのみアクセス可能になりました...問題の原因。

 

Resolution

この問題を解決するには、hdiskの「max_transfer」属性をLTGサイズ以上の値に設定する必要があります。LTG = 1024 kBの場合、問題を修正するために次のコマンドを実行しました。

# for i in `lsdev -Cc disk |grep -i hdiskp |awk '{print $1}'`
do
chdev -l $i -a max_transfer=0x100000 -P
done
# for i in `lsdev -Cc disk |grep -i EMC |awk '{print $1}'`
do
chdev -l $i -a max_transfer=0x100000 -P
done
# reboot

 

Additional Information

このKBは、errnoが5(EIO)に設定されているLVM_IO_FAILには適用されません。

 

Affected Products

PowerPath for AIX

Products

PowerPath for AIX
Article Properties
Article Number: 000081958
Article Type: Solution
Last Modified: 04 Nov 2025
Version:  4
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.