PowerPath AIX: sys/errno.h 22(EINVAL)에 정의된 오류 코드와 함께 응용 프로그램 충돌 및 LVM_IO_FAIL

Summary: 2개의 가상 HBA가 있는 NPIV 구성에서 1개의 가상 HBA가 작동 중지되고 I/O에 대한 경로가 하나 남아 있더라도 sys/errno.h가 22(EINVAL)로 설정된 오류 코드가 있는 errpr에 LVM_IO_FAIL 로깅됩니다. 이러한 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 소프트웨어: PowerPath for AIX(모든 릴리스)

PowerPath에서 관리하는 다중 경로 구성에서 한 경로가 중단되고 다른 경로를 사용할 수 있어도 애플리케이션이 중단됩니다. 그리고 "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는 일반적으로 errno 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(Logical Track Group)가 디스크 드라이버 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 (256kB) < LTG (1024kB) (0x100000) .. 문제가 발생합니다.

이 구성에서 일부 hdisk는 "max_transfer"가 0x100000로 설정되었고 다른 hdisk는 0x40000로 설정되었습니다(다른 ODM 릴리스에서 생성되었을 수 있음). 모든 경로를 사용할 수 있는 경우 항상 max_transfer가 0x100000로 설정된 모든 hdiskpower의 hdisk 중 하나가 존재하여 I/O를 완료할 수 있습니다. 그러나이 hdisk를 더 이상 사용할 수 없게 되자 max_transfer 0x40000로 설정된 디스크에만 액세스할 수 있었습니다. 문제를 일으킵니다.

 

Resolution

이 문제를 해결하려면 hdisk의 "max_transfer" 속성을 LTG 크기보다 크거나 같은 값으로 설정해야 합니다. LTG = 1024kB인 경우 문제를 해결하기 위해 다음을 실행했습니다.

# 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.