I am having difficuty to understand vxprint output:
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)
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.