AIX striped LV - lslv stripe width has wrong value

Hello all.

I have a volume group with 8 PV's, and a logical volume striped across these 8 volumes.

However, an lslv is showing:

STRIPE WIDTH:       9
STRIPE SIZE:        64k

There's really only eight disks, so how can the stripe width be 9?

ODM also showed this:

# odmget CuAt | grep -p data01lv | grep -p '"9"'
CuAt:
        name = "data01lv"
        attribute = "stripe_width"
        value = "9"
        type = "R"
        generic = "DU"
        rep = "r"
        nls_index = 1100

CuAt:
        name = "data01lv"
        attribute = "upperbound"
        value = "9"
        type = "R"
        generic = "DU"
        rep = "r"
        nls_index = 646

So I updated the ODM to change the 9 to 8, but the lslv still shows 9.

I've extended the VG with eight new disks, but obviously when I try to change the LV upperbound limit, get the error:

# chlv -u 16 data01lv
0516-1441 chlv: Striped logical volume upperbound can only be an even multiple of the striping width.
0516-704 chlv: Unable to change logical volume data01lv.

Any suggestions about how I can fix this would be greatly appreciated. I suppose one option would be to add ten disks and change the upperbound to 18, but that's missing the point somewhat!

oslevel -s
5300-08-04-0844

Many thanks.

Did not had that problem yet.
When changing it from 9 to 8 in the ODM, did you do that by smit/chlv/odmchange? After the change, did you try to do a savebase and then reboot maybe?
Else to make sure I'd backup the VG, recreate the VG/LV and restore it, if no one comes up with a hack, of course.

try lspv is there really 8 disks?

Hi zaxxon,

I used odmget/odmchange to update it.

I was about to run savebase as you suggested, but noticed this:

# lsvg -M data01vg
data01vg
0516-304 : Unable to find device id 00c9f44e00004c0000000103d13ca2e0.1 in the Device
        Configuration Database.

It's the same for every VG (even rootvg!).

In the ODM I see:

CuAt:
        name = "data01lv"
        attribute = "lvserial_id"
        value = "s"
        type = "R"
        generic = "D"
        rep = "n"
        nls_index = 648

what I suspect should be more like:

CuAt:
        name = "data01lv"
        attribute = "lvserial_id"
        value = "00c9f44e00004c0000000103d13ca2e0.1"
        type = "R"
        generic = "D"
        rep = "n"
        nls_index = 648

(and it's the same for every LV)

I don't know what happened here, or when. A restore of ODM from an old backup fixed this.

With the ODM looking OK again, I ran savebase, and now need to schedule a reboot.

Failing that I'll back it up, create it anew.

Thanks for the help.

Hi wwwzviadi,
Yes, there's definately 8 disks. Everything shows this (lspv, lsvg -p, lslv -l, etc.)

Playing around, it appears what might have happened (a long time ago!), goes something like:

# mkvg -fSy scottvg hdisk71 hdisk72 hdisk73 hdisk74
scottvg
# mklv -t jfs2 -y scottlv -S 64K scottvg 1536 hdisk71 hdisk72 hdisk72 hdisk73 hdisk74
scottlv
# lslv scottlv
LOGICAL VOLUME:     scottlv                VOLUME GROUP:   scottvg
LV IDENTIFIER:      00c9f44e00004c000000012593214e8c.1 PERMISSION:     read/write
VG STATE:           active/complete        LV STATE:       closed/syncd
TYPE:               jfs2                   WRITE VERIFY:   off
MAX LPs:            1540                   PP SIZE:        16 megabyte(s)
COPIES:             1                      SCHED POLICY:   striped
LPs:                1540                   PPs:            1540
STALE PPs:          0                      BB POLICY:      relocatable
INTER-POLICY:       maximum                RELOCATABLE:    no
INTRA-POLICY:       middle                 UPPER BOUND:    5
MOUNT POINT:        N/A                    LABEL:          None
MIRROR WRITE CONSISTENCY: on/ACTIVE
EACH LP COPY ON A SEPARATE PV ?: yes (superstrict)
Serialize IO ?:     NO
STRIPE WIDTH:       5
STRIPE SIZE:        64k
DEVICESUBTYPE : DS_LVZ

Didn't know it was possible!

Thanks.

Let us know if the restore did it. Good luck!