Forum Discussion

zjx's avatar
zjx
Level 2
13 years ago

need understand vxrpint concat for mutiple plex

Hi,

I am having difficuty to understand vxprint output:

v-bash-4.1# vxprint
Disk group: testdg

TY NAME         ASSOC        KSTATE   LENGTH   PLOFFS   STATE    TUTIL0  PUTIL0
dg testdg       testdg       -        -        -        -        -       -

dm testdg01     disk_1       -        16710624 -        -        -       -
dm testdg02     disk_2       -        16710624 -        -        -       -

v  datavol1     fsgen        DISABLED 16710624 -        EMPTY    -       -
pl dataplex1    datavol1     DISABLED 16710624 -        EMPTY    -       -
sd testdg01s0   dataplex1    ENABLED  8355312  0        -        -       -
sd testdg02s0   dataplex1    ENABLED  8355312  8355312  -        -       -
pl dataplex2    datavol1     DISABLED 16710624 -        EMPTY    -       -
sd testdg01s1   dataplex2    ENABLED  8355312  0        -        -       -
sd testdg02s1   dataplex2    ENABLED  8355312  8355312  -        -       -

 

the volume datavol1 was create by:

vxmake -g testdg -U fsgen vol datavol1 plex=dataplex1,dataplex2

size caculation should be :

testdg01s0  = 4G, testdg02s0  = 4G, ---dataplex1

testdg01s1  = 4G, testdg02s1  = 4G, ---dataplex2.

how come total datavol1 size only shows 8G, it should be 16 isn't it?

 

 

 

  • Plexes means mirrors, so you have an 8GB volume continaing 2 plexes so 2 copies of the data, each of 8GB - each plex contains 2 subdisks of 4GB each.  So you have a mirrored volume so you need 16GB of storage to give you an 8GB volume.

    For conversion into MB divide by 2048:

    16710624 / 2048 = 8159 (divide again by 1024 to get MB)

    Mike

  • Thanks for reply Mike,

    then how to concat two plex? vxmake -g testdg -U fsgen vol datavol1 plex=dataplex1,dataplex2 layout=concat did not take by the system, how about if I specify three or more plexs?

    eg .dataplex3 = 4G.

    vxmake -g testdg -U fsgen vol datavol1 plex=dataplex1,dataplex2, dataplex3, in this case how the size be caculated.

     

     

  • The vxmake command you gave would make a 3-way mirror - so the volume would not be any bigger.  If you want a non-mirroed concat then you must have 1 plex which can have several subdisks on different disks.  You should use vxassist, not vxmake as vxmake is very low-level and prone to errors, as you have created a mirror when you didn't want it and also it is a bad mirror as one copy has subdisks on disks testdg01 testdg02 and so does the other copy, so if you lost disk testdg01, then you would loose both halves of the mirror!

    So using vxassist the command would be something like:

    vxassist -g testdg make datavol 16g testdg01 testdg02

    I say "something like" as you dont actually have enough space for 16GB, so you should run:

    vxassist -g testdg maxsize testdg01 testdg02

    and this give the max size in MB and cylinders - I usuall take a few MB off the max size to create volume (use m suffix for MB) to leave space for possible future DCOs (small logs to help with mirror resyncs and snapshots).

    Note you don't need to specify layout=concat, because this is the default and you don't need to specify disks at the end as there are no other disks the volume could go on.

    Mike

  • Any specific reason why you would like to use vxmake vs using the vxassist command? Thanks.